All pages
On this page
Reference
View as MarkdownHelpers, configuration and errors.
View helpers
| Helper | Returns |
|---|---|
andromeda_content(entry) | the rendered body, ready to output |
andromeda_toc(entry, min: 2, max: 3) | a nested table of contents from the headings |
andromeda_meta_tags(entry, url: nil) | <title>, description and canonical tags |
andromeda_image_url(image) | the URL of an :image attribute |
Outside a view, entry.html and entry.headings give the same data.
Configuration
Andromeda.configure do |config|
config.content_path = "app/content"
config.entry_namespace = "Content"
config.components_path = "app/views/content_components"
config.build_path = ".andromeda"
config.highlight_theme = "github.dark"
endAnything that would change how content is interpreted — the parser, GFM, smart punctuation — is deliberately not configurable: those follow Astro’s defaults so that copied content behaves the same.
Errors
| Error | When |
|---|---|
Andromeda::SyntaxError | Markdown or MDX could not be parsed; carries file, line and column |
Andromeda::ValidationError | frontmatter does not match the schema; lists every problem at once |
Andromeda::EntryNotFound | find missed; suggests near-miss ids |
Andromeda::BuildMissing | production, and this entry was never built |
Andromeda::BuildError | a build failed; lists every failing file |
Astro compatibility
Andromeda targets Astro 7 and later, and parses with Sätteri, the engine Astro 7 uses by default. The goal is that copied content loads and displays, not that the HTML matches byte for byte: syntax highlighting uses Rouge rather than Shiki, and images are served by the asset pipeline.
Not supported: Astro pages and routing, islands and client:*, remark/rehype
plugins, and arbitrary JavaScript in MDX.
Last updated September 24, 2026