Processing Control and Markdown View
By default, Accent CMS runs all page content through the markdown rendering pipeline (parser, shortcode expansion, TOC extraction, syntax highlighting). You can disable markdown processing on a per-page basis using the process frontmatter field.
Disabling Markdown
Set process.markdown to false to pass the content body through to the template as raw HTML without any markdown parsing:
--- title: Design System process: markdown: false --- <div class="design-system"> <h1>This HTML is rendered as-is</h1> <p>No markdown processing, no paragraph wrapping.</p> </div>
When markdown processing is disabled:
page.contentcontains the raw content body (HTML or otherwise)page.tocis empty (no heading extraction runs)- Shortcodes are not expanded (they are part of the markdown pipeline)
- The page still renders inside the theme template (navigation, footer, layout)
- The page is still routable, indexed, and appears in collections
This is useful for pages that contain complex HTML structures (design system demos, embedded applications, landing pages with custom markup) where markdown parsing would interfere with the intended output.
Combining with Iframe
For standalone HTML pages that have their own <html> and <head> elements, use the iframe shortcode instead of disabling markdown. The iframe provides full isolation (separate styles, scripts, DOM), while process.markdown: false is best for HTML fragments that should integrate with the theme layout. See Shortcodes for the iframe shortcode reference.
Markdown View
Accent CMS can expose the raw markdown source of any page to visitors. This opt-in feature is useful for documentation sites where readers want to copy the source, developer-facing sites where markdown is a natural interchange format, or LLM and automation consumers that prefer plain text over HTML.
Enabling Markdown View
Add the markdown_view section to your config.yaml:
content: markdown_view: enabled: true include_frontmatter: false default_format: html
| Key | Type | Default | Description |
|---|---|---|---|
enabled | bool | false | Master toggle for the feature |
include_frontmatter | bool | false | Include the YAML frontmatter block in raw output |
default_format | string | html | html for normal rendering with .md URL access, or markdown for full markdown-only output |
Markdown View is a free feature: it works in accent build and dev serve with no license key. Production serving requires a Standard or Pro license in any case, so Markdown View is available there too.
Viewing Raw Markdown (HTML Mode)
When default_format is html (the default), your site renders HTML as normal. Visitors can view the raw markdown source of any page by appending .md to the URL:
/docs/guideserves the rendered HTML page/docs/guide.mdserves the raw markdown source withContent-Type: text/markdown
The response includes only the content body by default. Set include_frontmatter: true to include the YAML frontmatter block in the output.
Templates receive a page.markdown_url variable containing the .md URL, and a markdown_view_enabled flag for conditional rendering. The default theme includes a “View as Markdown” link in the article footer.
Markdown-Only Mode
When default_format is markdown, the entire site serves markdown output. Page URLs return markdown instead of HTML, rendered through *.md.jinja templates that use the same template engine and variables as HTML templates.
This mode is designed for LLM-friendly documentation, API docs consumed by developer tools, and knowledge bases indexed by RAG pipelines. See the Templating Guide for details on writing .md.jinja templates.
Interaction with .md Extension Redirects
When Markdown View is disabled (the default), .md URLs redirect to their clean counterparts per the clean URL spec. When enabled in HTML mode, .md URLs serve raw markdown instead. When in markdown mode, .md URLs redirect to the clean URL since it already serves markdown.