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.content contains the raw content body (HTML or otherwise)
  • page.toc is 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
KeyTypeDefaultDescription
enabledboolfalseMaster toggle for the feature
include_frontmatterboolfalseInclude the YAML frontmatter block in raw output
default_formatstringhtmlhtml 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/guide serves the rendered HTML page
  • /docs/guide.md serves the raw markdown source with Content-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.