Pages

The page block: id, title, the sites it joins, and the start page.

A page block declares one rendered HTML page. Each page joins one or more sites (its sites field) and holds the content blocks that make up its body. A page's title sets its heading-bar / navigation label, and start = true marks the document entry page.

A page

import <wdoc.wcl>

page index { sites = [:mysite]  start = true
  h1 "My project"
  p "A short intro."
}

Per-site page names

Page names are unique per site, so two different sites can each have a page called index. A page with no sites field is shared with every site.

Cross-page links

Inside any p or span, write a markdown-style link where the URL is a bare page name for an in-site link, or site_name:page_name for a cross-site link. Links to unknown pages are build errors, so renaming a page can't silently break navigation.

p "See [the about page](about) or jump to [the docs](docs:index)."

Examples

A minimal page in a site

The smallest useful document: import the wdoc library, declare one start page, and give it a heading, prose, and a code block.

import <wdoc.wcl>

page index { sites = [:mysite]  start = true
  h1 "My project"
  p "A short intro. See [the docs](docs)."
  code wcl {
    source = <<'WCL'
let greeting = "hello"
WCL
  }
}

Expected: One page named index renders to index.html as the site's start page, with a heading, a paragraph, and a fenced code block.

Related

- wdoc Overview

- Sites and Templates