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