- HTML 86.2%
- Shell 8%
- JavaScript 2.4%
- Python 1.7%
- CSS 1.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| changelog | ||
| changelog_en | ||
| changelog_eo | ||
| css | ||
| docs | ||
| docs_en | ||
| docs_eo | ||
| fonts | ||
| images | ||
| index_en | ||
| index_eo | ||
| js | ||
| scripts | ||
| vendor/fontawesome | ||
| .dockerignore | ||
| .htaccess | ||
| _redirects | ||
| changelog.html | ||
| changelog_en.html | ||
| changelog_eo.html | ||
| docker-compose.yml | ||
| Dockerfile | ||
| docs.html | ||
| docs_en.html | ||
| docs_eo.html | ||
| index.html | ||
| index_en.html | ||
| index_eo.html | ||
| install.sh | ||
| nginx.conf | ||
| README.md | ||
| README_FR.md | ||
AnarcosyndicalismeBOOK — Landing Page & Documentation Portal
The official showcase, installation portal, and interactive documentation for the open-source activist digital library CMS.
Overview
This repository hosts the Landing Page and Official Documentation Portal for AnarcosyndicalismeBOOK. It is designed to introduce the CMS ecosystem, guide self-hosters through multiple deployment methods, and provide comprehensive documentation in French, English, and Esperanto, as well as 42 high-fidelity downloadable PDF manuals.
Key Features:
- Interactive Installation Terminal: Live command selector with one-click copy for Docker (with integrated CAP captcha), automated Bash installer, native PHP/MariaDB, and YunoHost.
- Multilingual Documentation: Interactive online documentation available in French (
docs.html), English (docs_en.html), and Esperanto (docs_eo.html). - 42 High-Fidelity PDF Manuals: A complete, printable A4 instruction booklet generated using WeasyPrint across 42 languages, featuring dynamic language selection and cache-busting download buttons.
- Synchronized Changelog: Real-time release logs synchronized with official Codeberg releases (
changelog.html,changelog_en.html,changelog_eo.html). - Privacy-Friendly & Lightweight: Zero tracking cookies, zero external dependencies, fonts served locally or via privacy-focused CDNs, and strict Content Security Policies.
- Modern Responsive Design: Clean typography with Inter, Outfit, and JetBrains Mono, supporting seamless mobile, tablet, and desktop viewing.
Repository Structure
anarcosyndicalismebook-landing/
├── index.html # Landing page (French)
├── index_en.html # Landing page (English)
├── index_eo.html # Landing page (Esperanto)
├── docs.html # Full documentation (French)
├── docs_en.html # Full documentation (English)
├── docs_eo.html # Full documentation (Esperanto)
├── docs/index.html # French documentation route mirror
├── docs_en/index.html # English documentation route mirror
├── docs_eo/index.html # Esperanto documentation route mirror
├── changelog.html # Changelog (French)
├── changelog_en.html # Changelog (English)
├── changelog_eo.html # Changelog (Esperanto)
├── changelog/index.html # French changelog route mirror
├── changelog_en/index.html # English changelog route mirror
├── changelog_eo/index.html # Esperanto changelog route mirror
├── install.sh # Interactive automated installer script
├── Dockerfile # Production Nginx image with multi-arch support
├── docker-compose.yml # Docker Compose configuration (Port 8006)
├── nginx.conf # Nginx server configuration with PDF anti-cache headers
├── pdf/ # 42 localized user manuals in PDF (WeasyPrint generated)
├── scripts/
│ └── generate_manuals.py # Automation script to compile all 42 PDF manuals
├── css/ # Stylesheets and layout definitions
├── js/ # Terminal simulation, scrollspy, and dynamic changelog
└── images/ # SVG logos, UI screenshots, and visual assets
Deployment & Local Testing
1. Run locally with Docker Compose
To build and run the landing page locally:
docker compose up -d --build
Once started, the landing page is accessible at:
http://localhost:8006
The Docker examples follow the official production Compose file: permissions
are prepared at startup, then docker/create-admin.php is run once after
MariaDB is ready. The script detects an existing administrator and preserves
its password. Self-signed certificate exceptions remain disabled by default
(SMTP_ALLOW_SELF_SIGNED=false and CALIBRE_ALLOW_SELF_SIGNED=false).
The documentation is accessible at:
- French:
http://localhost:8006/docs.html(orhttp://localhost:8006/docs/) - English:
http://localhost:8006/docs_en.html(orhttp://localhost:8006/docs_en/) - Esperanto:
http://localhost:8006/docs_eo.html(orhttp://localhost:8006/docs_eo/)
2. Multi-Architecture Docker Build
The production Docker image is built for linux/amd64, linux/arm64, and linux/arm/v7 and pushed to Docker Hub:
docker buildx build \
--platform linux/amd64,linux/arm64,linux/arm/v7 \
-f Dockerfile \
-t liberchat/anarcosyndicalismebook-landing:latest \
-t liberchat/anarcosyndicalismebook-landing:1.3.1 \
--push .
3. Regenerating the 42 PDF Manuals
The user manuals are generated directly from the CMS HTML help files using WeasyPrint:
python3 scripts/generate_manuals.py --version 1.3.1
This updates all 42 files inside pdf/manuel_<lang>.pdf with localized covers, tables of contents, and CSS page counters.
Server Configuration
Nginx Anti-Cache Configuration
PDF files are served with headers that prevent browser caching issues when a new version is released:
location ~* \.pdf$ {
expires -1;
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
}
License & Attribution
- License: Released under the MIT License.
- Mission: Free knowledge for all. Anti-capitalist, anti-authoritarian digital library infrastructure.