In KB4IT you never maintain an index by hand. The properties you write at the top of each document are the index.
A page for each property and each value
Take three documents:
| Document | Category | Tag |
|---|---|---|
restore-postgresql.md |
Procedure | backup, postgresql |
check-backups.md |
Procedure | backup |
disk-full.md |
Incident | postgresql |
KB4IT builds:
Category.html, listing the valuesProcedureandIncident.Category_Procedure.html, listing the two procedures.Tag.html, plusTag_backup.htmlandTag_postgresql.html.
Add a property to one document and its pages appear on the next build. Remove the last document that uses a value and its page goes away.
Your vocabulary, your structure
There is no fixed list of properties. A team that writes runbooks may use Server, Product and Team; a reading list may use Author and Genre. Whatever you use consistently becomes the way readers browse the site.
A few habits keep the navigation clean:
- Use the same spelling every time:
PostgreSQLandPostgresqlare two values. - Prefer a specific property to a generic tag:
Product: nginxgives readers a Product menu, whileTag: nginxhides it among other tags. - Keep property names singular:
Tag, notTags.
Properties that do not get pages
Titlecomes from the#heading and is never a property page.Datesorts documents and feeds calendars; it has no value pages.- Properties listed in
ignored_keysinrepo.jsonstay in the documents but get no pages. Use it for values that are unique per document, such as a ticket number.
Rebuilds follow your properties
When you change a property, KB4IT recompiles the document and every page that lists it, so a renamed category never leaves stale lists behind. This is why changing properties takes a little longer than changing text.