Project layout

A site is a project root with a config file and a few directories. The root is the directory that holds the config file; relative paths in the config resolve against it.

my-docs/
├── tryck.config.yaml    site settings
├── content/             Markdown pages and their assets
├── static/              files copied to the site root
├── layouts/             template overrides (optional)
├── plugins/             script plugins (optional)
├── themes/              theme folders (optional)
└── dist/                build output (written by tryck build)

content/

Every .md file in content/ becomes a page. Directories become sidebar sections. A folder name or file name with a numeric prefix like 01- sets its order and is dropped from the URL.

content/
├── index.md                    → /
└── 01-guide/
    ├── _index.md               → /guide/
    ├── 01-install.md           → /guide/install/
    └── diagram.png             → /guide/diagram.png

Non-Markdown files are copied next to the pages. See Pages and URLs for the full mapping.

static/

Files in static/ are copied to the site root unchanged. Use it for robots.txt, images, fonts, or a stylesheet you link from a layout. A file in static/ with the same path as a built-in theme file replaces it.

layouts/

Optional html/template files that override the built-in layouts file by file. A file named layouts/doc.html replaces the built-in doc layout; layouts/partials/header.html replaces the header partial. Files not overridden keep their built-in version. Templates in layouts/directives/ add custom directives. See Layouts and templates.

plugins/

Optional JavaScript files, one plugin each, that add data to pages, change their HTML or write extra files. See Script plugins.

themes/

Theme folders, each holding theme.yaml, layouts/ and static/. Point theme.path at one to reuse a whole look. See Theme folders.

tryck.config.yaml

The site's settings. Every key has a default, so the file can be very small. See the config file reference.

dist/

The output of tryck build. It is cleaned before every build by default (build.cleanOutput), and pages are written as <url>/index.html so links work without a trailing-slash redirect. Add dist/ to .gitignore.