Authoring Documentation
Write effective documentation using Markdown and Zensical features. Follow Documentation Principles for consistency.
Current Docs Layout
The repository maintains docs under docs/ and docs/dev/.
docs/index.md- Documentation homedocs/dev/contributing/authoring-documentation.md- Authoring guidancedocs/dev/setup/index.md- Developer setupdocs/dev/contributing/naming-conventions.md- Naming conventions for code identifiersdocs/dev/contributing/documentation-principles/- Standards and rules
Markdown Essentials
File structure:
- One H1 per file (page title)
- H2 for sections, H3 for subsections (don't go deeper)
- Fenced code blocks with language identifiers
Links & References:
| Type | Format | Use When |
|---|---|---|
| Internal docs | [Link Text](path/to/file.md) |
Linking to other docs |
| Source code | Full GitHub link to the target file | Referencing code in passing |
| External | [Link Text](https://url.com) |
Third-party resources |
For complete Markdown syntax, see Zensical Reference.
Admonitions (Callouts)
Use ???+ for collapsible blocks (expanded by default):
???+ note "Optional Title"
Block content here.
Core types: note, tip, info, warning, danger, question, success
When to use:
- Use for prerequisites, warnings, best practices, and status labels
- Avoid for regular content, minor points, and replacing structure
Example:
???+ warning "Destructive Action"
This will delete data permanently.
For advanced admonitions, see Zensical Guide.
Tables
Use for structured data. Keep simple (3-5 columns ideal):
| Column A | Column B | Column C |
|----------|----------|----------|
| Data 1 | Data 2 | Data 3 |
Style Guidelines
| Guideline | Good | Avoid |
|---|---|---|
| Voice | Direct, active: "Run this command" | Passive: "Command should be run" |
| Clarity | Define acronyms once | Use undefined abbreviations |
| Code examples | Show context: cd docs then run command |
Isolated commands without setup |
| Consistency | Use same terms throughout | Mix terminology |
| Characters | Prefer keyboard-friendly punctuation for consistency; use em dashes (—), emojis, and other non-QWERTY symbols sparingly | Overusing decorative symbols or mixing punctuation styles without purpose |
Before Committing
mise run docs
Verify:
- Broken links
- Formatting correct
- Code blocks render
- Admonitions display
- Tables aligned
- No encoding artifacts (for example, replacement characters like
�) - Follows documentation principles
- Matches current code (no fiction)
See Also
- Documentation Principles - Core standards
- Zensical Markdown - Full syntax reference
- Zensical Admonitions - Advanced callouts