How avacms/ava works
Ava CMS turns Markdown and HTML files into routed, searchable pages rendered through site themes; its README describes the author-to-index-to-render workflow. The sampled source supports the HTTP entry point, application dispatch, routing, repository/query behavior, rendering, shortcodes, and preview links. Other README-documented capabilities, including bundled plugins and CLI operations, are included at subsystem level where source excerpts were limited; their internal wiring is not inferred.
Main entry points: Application.php Application · Repository.php Content repository · index.php HTTP entry · Engine.php Rendering engine
Components 25
Web delivery
- HTTP entry
public/index.php - Application
core/Application.php - Request and response
core/Http/Request.php - Router
core/Routing/Router.php - Page cache
core/Http/WebpageCache.php
Content system
- Content files
- Content indexer
core/Content/Indexer.php - Index builder
core/Content/Index/IndexBuilder.php - Index store
core/Content/Index/IndexStore.php - Content repository
core/Content/Repository.php - Content parser
core/Content/Parser.php - Search and queries
core/Content/Query.php - Query processing
core/Content/QueryProcessor.php
Rendering and themes
- Rendering engine
core/Rendering/Engine.php - Theme templates
app/themes/default/templates/index.php - Shortcode engine
core/Shortcodes/Engine.php
Extensions
- Plugins and hooks
core/Plugins/Hooks.php - Bundled features
app/plugins - Site configuration
app/config/ava.php
Operations
- CLI commands
core/Cli/Application.php - Preview links
core/Routing/PreviewLinks.php - Storage files
Other components
- Site visitor
- Content author
- CLI user
Connections 27
- Content author → Content files: writes
- Content files → Content indexer: scans
- Content indexer → Index builder: rebuilds
- Index builder → Index store: writes index
- Site visitor → HTTP entry: requests page
- HTTP entry → Request and response: captures request
- HTTP entry → Application: handles request
- Application → Page cache: checks cache
- Application → Router: dispatches route
- Router → Content repository: resolves content
- Content repository → Index store: reads index
- Content repository → Content parser: parses files
- Application → Rendering engine: renders response
- Rendering engine → Shortcode engine: processes shortcodes
- Rendering engine → Theme templates: renders template
- Theme templates → Site visitor: returns HTML
- Search and queries → Content repository: loads items
- Search and queries → Query processing: filters and scores
- Content repository → Storage files: reads index data
- Page cache → Storage files: reads and writes
- Site configuration → Application: configures
- Application → Plugins and hooks: applies hooks
- Bundled features → Plugins and hooks: registers hooks
- CLI user → CLI commands: runs commands
- CLI commands → Content indexer: rebuilds index
- CLI commands → Preview links: creates preview
- Preview links → Content repository: resolves route