Skip to content

Manuals

The manuals app provides institute-scoped documentation. Manuals are organized into categories and pages.

Categories

Each category has: - Institute: Owner institute (tenant-scoped) - Name: Display name - Slug: URL-safe identifier - Language: English or Dutch - Visibility: Public (everyone) or Admin only - Icon: CSS class or emoji - Order: Sort position

Pages

Each page has: - Category: Parent category - Title: Page heading - Slug: URL-safe identifier - Body Markdown: Markdown content with image embedding support - Order: Sort position within category

Image Embedding

Use {{ image:"filename.png" }} in markdown to embed uploaded images.

Images

Uploaded images are scoped per institute.

Public URLs

With path-based tenant routing, the manuals are served at:

/<institute>/manuals/<lang>/               → Category list
/<institute>/manuals/<lang>/<category>/    → Category detail
/<institute>/manuals/<lang>/<category>/<page>/  → Page detail
/<institute>/manuals/<lang>/search/?q=     → Search (JSON API)

Management Commands

# Duplicate manuals from default-institute to all other institutes
python manage.py duplicate_manuals

# Export/import via JSON
# Admin: select categories → Download selected categories (JSON)
# Admin: Upload Manuals → select a .json file