|
| 1 | +--- |
| 2 | +collaborating_projects: |
| 3 | + - freifunk |
| 4 | +desc: "Modernize the freifunk.net WordPress theme with responsive design, dark mode support, and current development standards" |
| 5 | +developers_involved: |
| 6 | + - andibraeu |
| 7 | +difficulty: medium |
| 8 | +size: "175 hours" |
| 9 | +status: open |
| 10 | +initiatives: |
| 11 | + - GSoC |
| 12 | + - GSoC 2026 |
| 13 | +issues: |
| 14 | + - "https://github.com/freifunk/www.freifunk.net/tree/master/wp-plugins" |
| 15 | +markdown: freifunk-wordpress-theme.md |
| 16 | +mentors: |
| 17 | +- name: andibraeu |
| 18 | + contact: |
| 19 | + github: andibraeu |
| 20 | + email: "ab+gsoc2024@andi95.de" |
| 21 | + other_chat_options: ["https://matrix.to/#/@andibraeu:bau-ha.us"] |
| 22 | +name: "Freifunk WordPress Theme: Modernization and Responsive Redesign" |
| 23 | +requirements: |
| 24 | + - "WordPress Theme Development" |
| 25 | + - "PHP" |
| 26 | + - "CSS/SCSS, Responsive Design" |
| 27 | + - "JavaScript" |
| 28 | +tags: |
| 29 | + - GSoC2026 |
| 30 | + - wordpress |
| 31 | + - php |
| 32 | + - css |
| 33 | + - responsive |
| 34 | + - dark-mode |
| 35 | + - frontend |
| 36 | +--- |
| 37 | + |
| 38 | +The WordPress theme for [freifunk.net](https://freifunk.net) is now 13 years old and based on the Twenty Twelve theme. Many aspects of the theme no longer follow current WordPress development standards, and the design has not been adapted for mobile devices or larger displays. |
| 39 | + |
| 40 | +## Motivation |
| 41 | + |
| 42 | +We want to modernize the freifunk.net WordPress theme while preserving its visual identity: |
| 43 | + |
| 44 | +* The current theme is based on Twenty Twelve and uses outdated coding practices |
| 45 | +* The design is not responsive and does not adapt to mobile devices or larger screens |
| 46 | +* We want to add dark mode support to improve user experience |
| 47 | +* Theme updates should be detectable by WordPress (optional: via GitHub releases or a custom update mechanism) |
| 48 | +* Several custom plugins exist in the [wp-plugins directory](https://github.com/freifunk/www.freifunk.net/tree/master/wp-plugins) that need to be reviewed and integrated |
| 49 | + |
| 50 | +## Project Goals |
| 51 | + |
| 52 | +The goal of this project is to modernize the freifunk.net WordPress theme with the following objectives: |
| 53 | + |
| 54 | +1. **Refactoring**: Update the theme codebase to follow current WordPress theme development standards and best practices |
| 55 | +2. **Responsive Design**: Implement a mobile-first responsive design that works across all device sizes |
| 56 | +3. **Dark Mode**: Add dark mode support with a user toggle, respecting system preferences |
| 57 | +4. **Theme Versioning**: Implement a versioning mechanism so WordPress can detect available updates (optional: via GitHub releases or update checker library) |
| 58 | +5. **Plugin Review**: Review and ensure compatibility with existing plugins from the repository |
| 59 | +6. **Documentation**: Create comprehensive documentation for theme customization and maintenance |
| 60 | + |
| 61 | +## Milestones |
| 62 | + |
| 63 | +### Preparation/Bonding |
| 64 | + |
| 65 | +* Set up a local WordPress development environment with the current theme |
| 66 | +* Analyze the existing theme structure and identify outdated patterns |
| 67 | +* Document all customizations and deviations from the Twenty Twelve base theme |
| 68 | +* Review the existing plugins in the wp-plugins directory |
| 69 | +* Create a detailed refactoring plan with prioritized tasks |
| 70 | + |
| 71 | +### Coding Period |
| 72 | + |
| 73 | +* Refactor the theme structure to follow current WordPress standards |
| 74 | +* Implement responsive CSS using a mobile-first approach |
| 75 | +* Add CSS custom properties (variables) for theming and dark mode support |
| 76 | +* Implement dark mode toggle with localStorage persistence and system preference detection |
| 77 | +* Set up theme versioning mechanism for update detection |
| 78 | +* Test the theme across different browsers and devices |
| 79 | +* Write documentation on: |
| 80 | + * How the theme is structured |
| 81 | + * How to customize the theme |
| 82 | + * How dark mode works |
| 83 | + * How updates are detected and applied |
| 84 | + |
0 commit comments