Public post display controller.
Handles public-facing routes for viewing published posts with multi-language support.
URL patterns: /:language/:group_slug/:post_slug - Slug mode post /:language/:group_slug/:date/:time - Timestamp mode post /:language/:group_slug - Group listing
Architecture
This controller delegates to specialized submodules:
Routing- URL path parsing and segment buildingLanguage- Language detection and resolutionSlugResolution- URL slug resolution and redirectsPostFetching- Post retrieval from cache/databaseListing- Group listing rendering and paginationPostRendering- Post rendering and version handlingTranslations- Translation link buildingFallback- 404 handling and smart fallback chain
Summary
Functions
Displays a post, group listing, or all groups overview.
Functions
Displays a post, group listing, or all groups overview.
Path parsing determines which action to take:
- [] -> Invalid request (no group specified)
- [group_slug] -> Group listing
- [group_slug, post_slug] -> Slug mode post
- [group_slug, date] -> Date-only timestamp (resolves to single post or first post)
- [group_slug, date, time] -> Timestamp mode post