Documentation Style Guide#
This guide defines the standards for writing and maintaining rsyslog documentation. It ensures a consistent, professional style across all .rst files and helps contributors produce high-quality documentation.
General Principles#
Audience: Primarily system administrators and developers. Content should also remain accessible to intermediate users.
Tone: Professional, clear, and concise. Avoid personal references or conversational language.
Focus: Prioritize actionable guidance (e.g., how to configure, troubleshoot, or understand rsyslog).
Language: Use plain English. Avoid jargon and colloquialisms.
Consistency: Every page should follow the same structure, terminology, and heading style.
File Structure and TOC#
Master TOC: The index.rst file is the single entry point. Avoid using filesystem order.
Preferred Topic Order:
Introduction / Quick Start
Configuration Basics
Modules & Advanced Topics
Troubleshooting
Reference & API
Community & Support
Legacy Resources
Use explicit ordering in .. toctree:: (avoid :glob:).
Headings#
Use underline-only adornments (no overlines). Assign a character per level:
= Level 1 (document title)
- Level 2
~ Level 3
^ Level 4
“ Level 5
+ Level 6
Keep titles concise (≤ 60 characters).
Text Formatting#
Line Length: Wrap lines at 80 characters.
Code Blocks: Use :: or explicit code blocks (e.g., .. code-block:: bash).
Inline Code: Use double backticks, e.g.,
rsyslog.conf.Links: Use inline links: rsyslog mailing list .
Bold vs. Italic: - Bold: For UI elements or emphasized terms. - Italic: For alternative terms or emphasis.
Cross-Referencing#
Use :ref: for internal cross-links, e.g.,
See :ref:`troubleshooting`..Use consistent anchors, e.g.,
.. _troubleshooting:.
Sections#
Introduction/Overview - Describe what the feature/module is and why it is needed. - Include minimal examples.
Configuration
Use rainerscript syntax for modern examples.
Comment key parameters.
Support & Community
Recommend modern resources first: AI assistant, GitHub Discussions, mailing list.
Move outdated resources to Legacy Resources.
Legacy Content#
Archive outdated guides and tutorials in legacy/.
Use:
.. note:: This content is archived and may be outdated.
Licensing & Legal#
Keep licensing information in licensing.rst.
Use:
For license details, see :doc:`licensing`.
Examples and Code#
Provide minimal, complete examples.
Always specify language:
sudo systemctl restart rsyslog
Maintenance#
Review docs at every release for outdated content.
Check for deprecated parameters and move them to Legacy.
Run make linkcheck to verify links.
Metadata and JSON-LD#
Add a
.. meta::block near the top of each page to keep HTML meta tags and JSON-LD in sync. Populate at least:description:and:keywords:, and set:author:when the page has a specific owner... meta:: :author: Ada Writer :description: One-line summary reused in JSON-LD and previews. :keywords: rsyslog, queues, reliability
FAQ pages (
faq/*.rst) automatically emitFAQPageJSON-LD. Write each question as the section title and keep the answer in the section body so the extractor can pair them correctly.Generative AI assistants should preserve existing
.. meta::blocks, update only the specific fields required for a change, and avoid inventing authors when none are provided.
Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project
Contributing: Source & docs: rsyslog source project
© 2008–2026 Rainer Gerhards and others. Licensed under the Apache License 2.0.