apphelp builds the help of an application, like the site you are reading. The same files work opened from disk, on a web server under any path such as GitHub Pages, and inside the application.

What you get
- A sidebar of sections, built from the pages'
SectionandOrder. - Search that runs in the browser, with filters, and needs no server.
- A Topics page listing pages by feature.
- Help ids: the application opens
go.html?id=renameand lands on the right page or section. ?embed=1hides the header and sidebar, for a help viewer inside the application.- Strict checks: a page with a missing or unknown property fails the build, so the help never ships half written.
Page properties
| Key | Required | Meaning |
|---|---|---|
DocType |
yes | Tutorial, How-to guide, Reference or Explanation; a page without it is left out |
Section |
yes | Sidebar group |
Order |
yes | Position in the section; sections follow their lowest Order |
Summary |
yes | One sentence, at most 160 characters, for search results and lists |
Feature |
yes | One or more values from the Feature vocabulary |
Layout |
no | faq, tips or troubleshooting, see below |
HelpId |
no | Ids the application opens with go.html?id=<id> |
Keyword |
no | Words readers search for that the text does not use |
Level |
no | From the Level vocabulary |
Since |
no | Version that introduced the feature; pages for the current version are listed as new |
Related |
no | Pages listed first under Related pages |
index.md is the home page and needs none of them. search.md, topics.md, go.md and 404.md are reserved.
Layouts
Layout |
Each ## heading becomes |
|---|---|
faq |
A question that opens on click |
tips |
A card |
troubleshooting |
A problem, with ### Cause and ### Fix styled |
Tutorials number their ## steps by themselves.
Settings
The apphelp block of repo.json:
"apphelp": {
"strict": true,
"lang": "en",
"accent": "#0f766e",
"about": false,
"contract": "config/contract.txt",
"vocabulary": {
"Feature": ["Getting started", "Documents", "Settings"],
"Level": ["basic", "advanced"]
}
}
| Key | Meaning |
|---|---|
strict |
true by default: metadata problems and help ids pointing nowhere fail the build |
lang |
Language of the pages |
accent |
Accent colour |
about |
true adds an about page |
contract |
A file listing, one per line, the help ids and anchors the application opens; a missing one fails the build |
vocabulary |
Allowed values per property |
labels |
Your own texts for the interface |
Edit links use "git": true and git_server without https://, for example github.com.
Start a help site
kb4it create apphelp myapp/help
The sample shows every page type. Use kb4it verify myapp/help/config/repo.json while writing: it reports every page that breaks a rule. The help of MiAZ and this site are built with apphelp; their sources are good examples.