Contributing to the docs
How this documentation is written — Markdown files, front matter, page rules and link checks — and how to send a fix or a new page.
Spotted a mistake, an out-of-date label or a missing step? Partners and administrators send fixes to this site, and we welcome them. This page explains how the documentation is made, so your fix fits in straight away.
How the site is built
Every page is a Markdown file in the frontend/docs/content/ folder of the HF Panel source. Folders are the sections
of the sidebar; each file is one page. The address of a page is its path without .md:
| File | Page |
|---|---|
content/control-panel/email/email.md |
/control-panel/email/email/ |
content/tutorials/index.md |
/tutorials/ (a folder's own page) |
Each folder has a _meta.json with its title and the order of its pages:
{ "title": "Email", "order": ["index", "email", "mail-apps"] }
The full rules are in frontend/docs/CONTENT.md. The most important ones follow.
A page
---
title: Email accounts
description: Create mailboxes, change their passwords and quotas, and open them in webmail.
---
One short paragraph: what this is and who uses it.
**Where:** Control Panel › Email › Email accounts
## Create an email account
1. Click **Create**.
- Front matter is required:
title(as in the sidebar) anddescription(one sentence, at most 155 characters). - Don't repeat the title as a
#heading. Sections start with##, then###. - Screen pages start with Where: and the menu path.
- Callouts are blockquotes starting with
**Note:**,**Tip:**,**Important:**or**Warning:**.
Writing rules
- Only what the software really does. Check each label in the panel itself, and write button, field and menu names in bold, exactly as the panel shows them.
- British spelling, short sentences, second person ("you"), present tense.
- Examples use
yourdomain.com,example.comand the usersarahbakes. - Write the publishing company's domain as
hostfog.ioand its name asHostFog Ltd. They are filled in when the site is built. - Product names: HF Panel, Server Admin, Reseller Panel, Control Panel, HF Mail, HF Files, HF Studio, HF Server and HF Tunnel.
- Never compare HF Panel with other products, and never name other control panels.
Links
Link to other pages with absolute paths from the site root, ending in /, for example
[Packages](/server-admin/accounts/packages/). A link to a heading adds its anchor:
/tunnel/own-server/#free-links-for-the-desktop-app.
Every link and anchor is checked when the site is built. A link to a page or heading that doesn't exist stops the build with the page and the target.
Check your change
With Node.js 20.19 or newer, in frontend/docs:
npm ci
npm run build
The build prints the number of pages, or every broken link. Fix them all before you send your change.
Send it
Send the changed files, or a patch, through https://hostfog.io/contact/. Say which page you changed and why,
for example the screen and version where the label differs. Small fixes are as welcome as new pages.