46b2f17acc
- Add MkDocs Material docs build stage to Dockerfile and Dockerfile.local - Mount pre-built docs as static files at /help/ in FastAPI (app/main.py) - Add app/views/help.py with /help → /help/ permanent redirect route - Register help router in app/views/__init__.py - Add Help nav link to base.html (public + app nav, desktop + mobile) - Create how-to guides: HP printer, ScanSnap, watched folder, email ingestion, mobile scanning - Update mkdocs.yml with How-To Guides section and Material theme palette - Add optional docs service (squidfunk/mkdocs-material) to docker-compose.yaml with docs profile - Add mkdocs-material to requirements-dev.txt - Add /docs_build to .gitignore - Add tests for help view (8 tests, 100% coverage on help.py) Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
28 lines
736 B
Python
28 lines
736 B
Python
"""
|
|
Help documentation view routes.
|
|
|
|
Serves the built MkDocs documentation site at /help.
|
|
The static site is built during the Docker image build and placed at docs_build/.
|
|
"""
|
|
|
|
import logging
|
|
import pathlib
|
|
|
|
from fastapi import Request
|
|
from fastapi.responses import RedirectResponse
|
|
|
|
from app.views.base import APIRouter
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
router = APIRouter()
|
|
|
|
# Path to the built MkDocs documentation
|
|
_DOCS_BUILD_DIR = pathlib.Path(__file__).parents[2] / "docs_build"
|
|
|
|
|
|
@router.get("/help", include_in_schema=False)
|
|
async def help_redirect(request: Request) -> RedirectResponse:
|
|
"""Redirect /help to /help/ so the MkDocs index is served correctly."""
|
|
return RedirectResponse(url="/help/", status_code=301)
|