Docs plugin

Manages documentation pages, nested arbitrarily deep — see Content hierarchy. Renders as HTML, Markdown or PDF depending on the requested format (Accept header, or .md/.pdf suffix) — see PDF and Markdown export for what the last two add, including bundling a whole section into one file with ?full=1.

Configuration (services.yaml)

Enabled under derafu.content.config.plugins.docs:

parameters:
    derafu.content.config:
        plugins:
            docs:
              path: 'resources/content/docs'
              sidebarDepth: 5
Option Type Default Description
path string resources/content/docs Directory scanned for docs, relative to the website root.
include array of glob patterns ['**.{markdown,md}'] Files considered content, relative to path.
exclude array of glob patterns [] Files excluded even if matched by include.
sidebarPath bool true Whether to show the sidebar, auto-generated from the content hierarchy. There is no support for a custom, manually curated sidebar file — sort/label docs via sidebar_position/sidebar_label in their frontmatter instead.
sidebarCollapsible bool true Whether sidebar categories can be collapsed.
sidebarCollapsed bool true Whether sidebar categories start collapsed.
sidebarDepth int 5 Maximum nesting depth shown in the sidebar.
showLastUpdateAuthor bool true Whether to show who last updated the doc.
showLastUpdateTime bool true Whether to show when the doc was last updated.
breadcrumbs bool true Whether to show breadcrumbs above the doc.
tags array of strings, or string [] Predefined tags for the docs.
onInlineTags ignore|log|warn|throw warn What to do when a doc uses a tag that isn’t in the predefined tags list.

Content frontmatter

Docs use the generic content frontmatter, plus a few fields read directly by the docs template (not part of the shared schema, but supported the same way via arbitrary metadata):

Field Type Default Description
show_title bool false Renders # {title} at the top of the body — useful together with hide_title: true if you want the title placed differently than the default heading.
show_description bool false Renders the description right below the title inside the body.
iframe string none URL embedded as a full-width <iframe> below the content.
openapi string none URL of an OpenAPI/Swagger spec; renders a full Swagger UI below the content instead of (or in addition to) the Markdown body.
show_source bool false Shows the raw source of the file (Markdown or Twig) in a code block below the content.
show_children bool false Renders a card grid linking to this doc’s direct children (title + description), useful for section landing pages.

hide_table_of_contents keeps the generic default (false) for this plugin.

On this page

Last updated on 10/10/2026 by Anonymous