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