HexOS docs are written to be:
Friendly
Clear
Accessible to a wide variety of people including those with:
Some ways of writing are much simpler to translate and easier to understand for non-native English speakers. We can avoid phrases which, while feeling natural to native English speakers, can be confusing when translated literally or read by people with a different language background or cultural references.
"HexOS is your gateway to self-hosting" > "HexOS makes self-hosting easier"
The word "gateway" is being used figuratively and the reader may understand the individual words but not the intended meaning.
“HexOS is running TrueNAS under the hood” > “HexOS runs on top of TrueNAS”
The phrase "under the hood" is an idiom borrowed from cars meaning something hidden or working in the background. This meaning may not be obvious to all readers.
"Type the password and open sesame! Your files will appear." > "Type the password and you will see your files."
"Open sesame", from Ali Baba and the Forty Thieves, is often used to describe something magically opening. However, readers unfamiliar with this cultural reference may be wondering why sesame seeds are involved in their NAS setup!
When directly quoting from the HexOS user interface please follow the exact wording and capitalization. Use bold for the words quoted. For example:
Click Continue
When describing navigation through a menu, each item should be in bold with a non-bold > between. For example:
Apps > Immich
HexOS and TrueNAS are capitalized like this. When directly quoting from the UI please follow the exact wording and capitalization.
For headings, sentence case is used: the first letter of the first word is capitalized and otherwise only proper nouns are capitalized. Even if quoting from the UI in a heading, sentence case is used.
Here are the words used to describe the HexOS user interface and the methods of interacting with it.
Below is the Processor card in the System tray.
Cards display extra information, in this case CPU usage and temperature. If there is only a single action with no additional information, then the element is called a button, not a card.

Clicking the Processor card opens the Processor info panel

Click the New Folder button

This opens the Create folder dialog. Click the Access tab.

The HexOS docs use American English and spelling, for example:
On the rare occasions when a command is described, please use the inline code format curl ipinfo.io/ip
Here are a range of standard callouts for use within documentation with examples of their use. These are important for consistency for the reader. To add a callout to the docs use the blockquote feature of the editor.
Callout text is usually formatted as "bold word: text explanation"
To create a Warning callout select the Warning blockquote from the editor drop down. It looks like this in markdown:
> **Warning:** text is here
{.is-warning}
and this is what the reader sees:
Warning: text is here
The error callout is used for danger, and is the most critical and is used mainly for situations which could cause data loss and other critical outcomes. For example:
Danger: You must have backups of your data. Without adequate backups you could permanently lose data at several points during this process.
This is for important risks or common pitfalls where, for example, time could be wasted or permanent changes made. For example
Warning: Encryption can only be enabled during folder creation and cannot be disabled once the folder is created.
The success callout is used for requirements. This is when an earlier stage or task is required for the next step to work correctly, but where danger or warning are not needed. For example:
Requirement: Make sure you have updated TrueNAS to the correct version before proceeding.
This is for additional context or information that needs to be highlighted to users. Perhaps something they should know before starting a task or a common issue that is non-critical. For example:
Info: System folder locations can only be modified if no apps are using them.
This is for a helpful pointer for the reader. It may be in response to a common problem, misunderstanding or pre-emptive troubleshooting step. For example:
Tip: If boot fails, check that HexOS is at the top in your BIOS boot device order. The instructions are at the top of this guide.
This is for direct references to troubleshooting pages or links to get support directly. For example:
Help: If you have any doubts or questions, please contact HexOS support: this step is critical to get right.
This callout is used to thank community members who worked on a guide, or to encourage readers to get involved in working on HexOS documentation writing.
For example a thank you should be added at the top of each community guide:
Thank you: lnkd and ShinobiRen for the original guide
And the following should be added to the bottom of each page:
Contribute: to help to improve HexOS documentation join the #Docs channel on Discord today! Send feedback, suggestions or contribute a guide.
In HexOS docs each instruction/action is provided as text, followed by a screenshot in a dropdown box.
The screenshots are taken with surrounding UI elements included, to help orient the user.
Filenames are carefully chosen both to keep the wiki organized and to serve as acceptable alt-text for those accessing the docs with a screen reader.
Together, these make the docs accessible to a wide variety of HexOS users.
Please take screenshots as follows:


When taking screenshots for HexOS documentation you may wish to hide the following:
You must not show any of the following in HexOS documentation:
In the latter two cases, please use copyright free content as placeholders or blur any images.
By default images display at their full width, which can make large screenshots overwhelm a page. Add a size class in curly braces directly after the image markdown to cap its width and center it:
{.medium .framed}
Available classes:
| Class | Effect |
|---|---|
{.small} |
Max width 320px, centered |
{.medium} |
Max width 560px, centered |
{.large} |
Max width 800px, centered |
{.framed} |
Border, rounded corners, and drop shadow |
Classes combine inside a single set of braces — {.medium .framed} is the recommended style for UI screenshots. Note that a second set of braces will not work: write {.medium .framed}, not {.medium}{.framed}.
You don't need to remember the class names: the markdown editor toolbar has an image size menu (the image icon between the blockquote menu and the bullet list button). Place your cursor immediately after the image markdown, open the menu, and pick a size — with or without a frame — and it inserts the classes for you.
Small, framed:

Medium, framed:

When adding a screenshot, please add the image to the correct folder.
Folders can be identified by their name, which should be the same as the page name (or similar)

If you are writing a new guide please create a matching folder for the images. Hyphens between words must be used (instead of spaces) as otherwise images in the folder will not show in the documentation. Please name the folder carefully as folder names cannot be easily edited.
The filename of the screenshot is important as it:
Screenshot filenames should be all lower case with hyphens between words.
They should be short, descriptive, and specific enough to work as both a filename and default alt text.
For example, use new-folder-button.png rather than screenshot3.png. Not every detail included is needed, for example select-storage-folder.png is more useful than storage-screen-with-menu-and-cursor.png.
If needed the alt-text may be edited further by changing the text within the square brackets

The html needed to put the screenshot in the dropdown is as follows:
<summary> Choose folder </summary>

</details>
the central element {.medium .framed} is automatically generated by the editor when adding an image to the page. The space after </summary> is important, without it the image will not display. Check that the image is displaying inside the dropdown each time, with even a small error, only the url will display.
By contributing you are agreeing to make your work available to the public under CC BY-SA 4.0 and to grant Eshtek, Inc. a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license to it. Read all about the license here.