Swapped the listings for Invidious and Piped, including their descriptions and status, to reflect current service offerings and operational status accurately. Enhanced the UI layout in the base template for better navigation and clarity in service support actions. Membership and donation information has been expanded to include details on statute access, association joining methods, and legal requirements for data storage, emphasizing transparency and community involvement. Privacy policy updates include clarified data collection practices, usage specifics, and storage details, aligning with legal standards and user expectations. Also, terms of service now include provisions against harassment, aligning with community guidelines and safety.
These changes aim to improve user experience, ensure up-to-date information, and highlight the organization's commitment to privacy, transparency, and community safety.
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.