Skip to content

NethServer/ns8-docs

Folders and files

NameName
Last commit message
Last commit date
Feb 27, 2025
Feb 9, 2024
Feb 10, 2023
Apr 15, 2025
Feb 10, 2023
Jan 22, 2025
Feb 10, 2023
Feb 10, 2023
Apr 15, 2025
Dec 19, 2024
Apr 14, 2025
Apr 15, 2025
Feb 28, 2023
Apr 19, 2024
Jan 22, 2025
Apr 2, 2025
Apr 2, 2025
Nov 19, 2024
Feb 28, 2023
Apr 14, 2025
May 15, 2024
Feb 13, 2024
Dec 9, 2024
Jun 4, 2024
Apr 2, 2025
Apr 3, 2025
Nov 22, 2024
Feb 1, 2024
Nov 4, 2024
Dec 10, 2024
Jun 13, 2024
Feb 16, 2023
Mar 6, 2025
Apr 2, 2025
Apr 19, 2024
Oct 14, 2024
Jan 9, 2025
Oct 10, 2024
Feb 27, 2025
Nov 12, 2024
Aug 29, 2023
Jun 5, 2024
Sep 4, 2023
Feb 1, 2024
May 30, 2024
Mar 6, 2025
Apr 9, 2025
Apr 4, 2025
Feb 17, 2023
Mar 18, 2024
Dec 19, 2024
Jan 2, 2024
Mar 6, 2025
Nov 11, 2024
Apr 2, 2025
Jul 23, 2024
Feb 27, 2024
Apr 15, 2025

Repository files navigation

NS8 documentation

Sphinx documentation sources for NS8 documentation.

Under the root directory there are some special files:

  • conf.py: Sphinx configuration
  • Makefile: Sphinx build makefile
  • index.rst: document structure

All other .rst files are chapters of the manual. If you wish to add a new chapter, create a new file and add it to the index.rst file.

How to contribute

The easiest way to contribute is by forking and editing the repository directly on GitHub:

  • Create a GitHub account if you don't already have it
  • Go to https://github.com/NethServer/ns8-docs and fork the project
  • You can now edit any page using GitHub web interface and see a live preview of the output
  • When you're done, simply create a new pull request
  • A new automatic build is launched after the pull request is merged by a developer

While editing, please follow the guidelines below.

Editing guidelines

The document must start with a title such as

==============
Document title
==============

Make sure to add only one first-level title for each rst file.

Next headers levels are:

First level
===========

Second level
------------

Third level
^^^^^^^^^^^

Fourth level
~~~~~~~~~~~~

To create cross-references set a label before headers, with -section suffix:

.. _mytitle-section:

My title
--------

In other documents refer to "My title" with the :ref: command:

More information can be found at :ref:`mytitle-section`

Use the * character for unordered list

* First element
* Second element

Use a definition list when describing fields

My field
    This is my description

A field description can also contain a bullet list

My field
    This is my description

    * First element
    * Second element

Highlight important words

This is an *important* word.

Add notes with

.. note:: Highlight this text

Add warnings with

.. warning:: Warning text fragment

Other conventions:

  • use double backtick ``, to quote labels and links from the web user interface, e.g. ``some link``
  • use guilabel markup for buttons, e.g. :guilabel:`some label`

You can find more info about RST Inline Markup here: rst-cheatsheet

Use a spell checker program before submitting a pull request. For instance run

hunspell -d en_US <filename>

Build documentation

Whenever there are modifications, a build process will be launched from CI.

If you want to build the documentation locally on your machine, make sure to install the Sphinx package.

On Fedora 37 or later use:

sudo dnf install python3-sphinx python3-pip make

Then clone the repository, change into the cloned directory and install all required extra modules

git clone https://github.com/NethServer/ns8-docs.git
cd ns8-docs
pip install -r requirements.txt

Finally, build the doc:

make html

Localization workflow

The CI will update source translation files after every commit.

To generate po files locally for a new language:

make gettext
sphinx-intl update -p _build/gettext -l it

You can contribute to the translation by accessing [Weblate](https://hosted.weblate.org/projects/ns8/).

Documentation style guidelines

When editing documents, please keep in mind the following guidelines:

Publish procedure

The manual is hosted on ReadTheDocs. The main and latest branches are automatically published each time a commit is pushed, as configured in the project dashboard: https://app.readthedocs.org/projects/ns8-docs/.

  • The main branch is used for testing and staging. Pull requests are merged into main and immediately published at https://docs.nethserver.org/en/main/.

  • The latest branch contains the official, stable documentation and requires a manual step to publish updates. Once all changes in main are approved, run the following command to publish them:

    git push origin main:latest
    

This workflow requires that the push is always a fast-forward in Git terminology.

The official NS8 documentation is available at: https://docs.nethserver.org/en/latest/.