No description
Find a file
2025-11-20 17:25:57 -06:00
.github/workflows Add texlive-latex-base 2025-09-27 16:21:56 -05:00
locales/ru/LC_MESSAGES Update Docs 2025-11-20 17:25:57 -06:00
source Update Docs 2025-11-20 17:25:57 -06:00
.dockerignore add docker support 2025-09-17 17:20:36 -05:00
.gitignore init 2025-09-17 16:15:12 -05:00
docker-compose.prod.yml comment out port 2025-09-17 17:43:07 -05:00
Dockerfile add docker support 2025-09-17 17:20:36 -05:00
Dockerfile.prod Update Dockerfile for documentation build by adding support for Russian language. Include locales directory and update Makefile targets to generate both English and Russian HTML documentation. 2025-09-27 16:09:53 -05:00
make.bat init 2025-09-17 16:15:12 -05:00
Makefile Update 2025-09-27 16:07:52 -05:00
nginx.conf Add production Docker Compose configuration and update Nginx settings for temporary file paths 2025-09-17 17:38:40 -05:00
poetry.lock init 2025-09-17 16:15:12 -05:00
pyproject.toml Add project metadata to pyproject.toml and update GitHub Actions workflow to install dependencies without root 2025-09-17 16:21:12 -05:00
README.md Update 2025-09-27 16:07:57 -05:00

LXMFy Docs

Docs for the LXMFy bot framework. Built using Sphinx and Furo theme.

Building

poetry install --with dev

# Build English documentation (HTML, EPUB, PDF, Text)
make html
make epub
make latexpdf
make text

# Build Russian documentation
make html-ru
make epub-ru
make latexpdf-ru
make text-ru

# Build documentation for any language (replace XX with language code)
make html-XX epub-XX latexpdf-XX text-XX

# Build all formats for all languages (English + all in locales/)
# The GitHub Actions CI does this automatically

Running

make serve

Docker

Local/Development (BusyBox)

docker build -t lxmfy-docs .
docker run -p 8080:8080 lxmfy-docs

Production (Nginx)

docker build -f Dockerfile.prod -t lxmfy-docs:prod .
docker run -p 8080:8080 lxmfy-docs:prod

If using Podman, replace docker with podman.

Translations

How to Add or Update Translations

  1. Generate translation templates:

    make pot
    
  2. For a new language (e.g., fr for French):

    # Create directory structure
    mkdir -p locales/fr/LC_MESSAGES
    
    # Copy and rename template files
    cp build/gettext/*.pot locales/fr/LC_MESSAGES/
    rename 's/\.pot$/.po/' locales/fr/LC_MESSAGES/*.pot
    
    # Translate the msgstr fields in the .po files
    
  3. For existing languages (update translations):

    # Edit locales/*/LC_MESSAGES/*.po files to update translations
    
  4. Build the translated documentation:

    # Build all formats for your language (replace XX with language code)
    make html-XX epub-XX latexpdf-XX text-XX
    
    # GitHub Actions automatically builds all languages and formats
    

Note: The system automatically detects all languages in locales/ and builds all formats for them. Adding a new language requires only creating the translation files - no workflow changes needed!