Skip to content

opend.config.yaml reference

Every field of the project configuration file, with its default and rules.

FieldDefaultMeaning and rules
release required The version this branch documents, such as 0.1 or 2.1. The hosted build also requires it to be a version number: its major part is the release line (its major and minor parts on a repository with minor lines), so 1.4 readers keep getting the 1.x docs after 2.0 is published.
map required The root map for the site navigation and keys, such as maps/docs.ditamap.
publications [] Bookmaps (or maps) published as PDFs. Their file names must be unique, because each is served at /pdf/<file name>.pdf.
attributes {} The allowed values of each filtering attribute, such as product: [core, hosted, embed]. Keys must be filtering attributes: product, feature, audience, platform, otherprops, props or deliveryTarget. release must not be listed: it takes version ranges. Each value is a single token of letters, digits, _, ., : and -.
buildFilter none A DITAVAL file applied to every reader at build time. See Filter at build time with DITAVAL.
theme none A stylesheet loaded after the built-in styles on every page, in the help panel and in PDFs. See Theme the site, the panel and PDFs.
logo none An image shown before the site title in the page header: an .svg, .png, .jpg, .jpeg, .gif or .webp file. It is drawn 28 pixels high and is decorative, because the title follows it. An SVG logo can carry its own prefers-color-scheme rule for dark mode, as this site's theme/logo.svg does.
pdf the standard template How publications print: a built-in template (standard, report, compact or handbook) and any of its settings to change, such as pageSize, cover or footer. See Choose a PDF template.
site none How the hosted site is set up, applied by the hosted build: releaseRefs, releaseLines, access, publicEntitlements and versionPicker, each optional and with the admin API's values. The CLI only validates it. See Set the site up from opend.config.yaml.
title Documentation The site title in the page header and the PDF cover. Set it to an empty string to use the root map's title instead.

Example

title: OpenD Documentation
release: '0.1'
map: maps/docs.ditamap
publications:
  - maps/admin-guide.bookmap
  - maps/author-guide.bookmap
attributes:
  product: [core, hosted, embed]
  feature: [early-access]
  audience: [author, admin, developer, internal]
buildFilter: filters/publish.ditaval
theme: theme/site.css
logo: theme/logo.svg
pdf:
  template: standard
  footer: OpenD {release}
site:
  releaseRefs: [main, 'v*']
  access: public
  publicEntitlements: { products: [core], version: latest }
  versionPicker: { mode: live }

Quote the release. Unquoted, YAML reads 0.1 as a number, and the config is rejected.

Every path must stay inside the docs root: no leading / and no ... Mistakes are reported as invalid-config.