Simple and minimal, always
Lorem ipsum...
This is a link
This guide provides an overview of the content that should be included in the Zammad documentation, as well as formatting and style guidelines to ensure clarity and readability.
The first sections are about general information and rules. A section with examples follows at the end.
If you have questions, feel free to ask in our community. If you want to contribute, you may also want to have a look at our contribution page or ask in an issue to get started.
The documentation is written assuming that users have a basic understanding of web browser usage and common software design concepts. This means for example that features are described in detail, but not on a level of how to open a dropdown field.
The Zammad administrator additionally should have a basic technical understanding and should also know the workflows and communication processes in its company.
For self-hosted instances, system administrators should also be familiar with Linux system administration basics. Access to the host system (e.g. via SSH) and administrative permissions are taken for granted for system administrators.
The documentation aims to include information about:
Regarding the level of detail, the audience assumptions should be considered. Because one of the goals of Zammad is to be intuitive and user friendly, there is no need to describe each click in detail. However, important steps should be included. The readers should achieve their goals as quickly and easily as possible without having to read a lot.
Due to the fact that a documentation can't cover everything (otherwise it would be on a code-like detail level), the relevance has to be considered. If parts with a common use case are missing, it should be intended to include them in the documentation.
The next sections cover general things to consider writing the documentation. After these you can find a section with some examples about how to format and structure the content.
.md
.>
as separator and format path in italics, e.g. Settings > Channels > Chat.The documentation stack includes automated checks (linting) to ensure compliance with the style guide and common rules for Markdown files. To check if your changes are compliant, run pnpm lint
to perform the check. Some of the recognized problems can be even fixed automatically by running pnpm lint:fix
. Make sure to run the check before committing your changes. Otherwise the build of the documentation will fail.
The used linting has some built in rules which you can find in the official repository. Some important rules and customized ones are mentioned below.
```
(backticks) for fenced code blocks, followed by a mandatory language tag, e.g. ruby
or sh
. If no language is applicable, use plain
.-
for bullet point lists (unordered lists) like this one._
around the text for italics and **
for bold (e.g. _italic_
vs. **bold**
).h1
heading as title.Type | Highlighting in documentation | Markdown syntax |
---|---|---|
Labeled buttons | Sign in | `Sign in` |
Fields and UI elements | Name | **Name** |
Locations/paths | Settings > Channels > Email | _Settings > Channels > Email_ |
Keyboard shortcuts | x | [[x]] |
Add button | + | ::+:: |
Delete button | ✕ | ::x:: |
Action menu | ︙ | ::a:: |
Every documentation file must include exactly one title on top level (like # Title
). Levels below should always contain at least two sections. If only one section exists, consider merging it with the higher-level content.
Example:
# Title of page
## Section 1
### Section 1.1
### Section 1.2
## Section 2
This section title uses a badge of the type "warning". There are other badges available, see https://vitepress.dev/reference/default-theme-badge#usage.
Text/title to add a badge <Badge type="warning" text="custom text" />
INFO
This is an info box.
::: info
This is an info box.
:::
TIP
This is a tip.
::: tip
This is a tip box.
:::
WARNING
This is a warning.
::: warning
This is a warning box.
:::
DANGER
This is a dangerous warning.
::: warning
This is a dangerous warning.
:::
This is a details block.
Usage:
::: details Box title shown in collapsed state
This is the content shown in the expanded state.
:::
First Term <Badge type="info" text="tag1" />
: This is the definition of the first term
with another line.
To highlight different options or variants, clickable boxes can be used.
The definition of the content is done via frontmatter, see following example (reflects the boxes above):
features:
- icon: 🛠️
title: Simple and minimal, always
details: Lorem ipsum...
link: https://zammad.com
linkText: This is a link
target: _blank
- icon:
src: /assets/logo.svg
title: Another cool feature
details: Lorem ipsum...
link: https://zammad.com
- icon:
dark: /assets/logo-flat-dark.svg
light: /assets/logo-flat-light.svg
title: Another cool feature
details: Lorem ipsum...
link: https://zammad.com
To place it within the content area, simply insert the reference <VPDocFeatures />
at the point where it has to be rendered.