Introduced unique, descriptive titles to the legal, membership, privacy, and terms templates to improve SEO and user navigation. Previously, these pages inherited a generic title from the base template. Now, each page specifies its own title block, enhancing browser tab legibility and potentially boosting page rankings in search engine results.
Revised the primary theme color to a more vibrant shade and adjusted related style variables for consistency across the UI. This change enhances the visual appeal and user experience by introducing a fresher, more engaging color palette. Updated variables include primary, secondary, success, info, warning, and danger colors along with their associated text, background, and border utilities to ensure coherence throughout the application's design.
Updated the organization's name to include its full title "Verein zur
Förderung von Privatsphäre und digitaler Souveränität" and added the
Central Register of Associations (ZVR) Number across legal, privacy, and
terms templates to comply with disclosure requirements. Reformatted
content for better readability, ensuring consistent paragraph line
breaks and removing redundant whitespaces. These changes aim to enhance
transparency regarding the website's managing entity and make the policy
texts more accessible to users.
Implemented a shared base HTML template to DRY up the markup across the service’s various pages, including the index, legal, privacy, and terms pages. This centralizes common elements like headers, footers, and imports, facilitating easier updates and consistency in design across the platform. Existing content from these individual pages is now extending the base template, adhering to best practices in templating and reducing code duplication.
Refactored the website to serve dynamic content using Flask, replacing static HTML pages. This allows for the centralized management of service data through a JSON file. Optimizations include:
- Added a .gitignore file to exclude Python and Flask-specific temporary files.
- Migrated static assets into an organized directory structure to facilitate Flask's static file serving.
- Removed redundant HTML files and created Flask template versions with dynamic content rendering.
- Introduced Caddy server configuration for the new Flask architecture, including headers for security and CORS policy, and reverse proxy settings for route handling.
With these changes, website maintenance and updates are simplified, allowing for service information to be updated in a single location (`services.json`), which then propagates to the user-facing pages automatically.