Giter Site home page Giter Site logo

docs's Introduction

NethServer documentation

Sphinx documentation sources for docs.nethserver.org_.

The docs sources are under administrator-manual/en/ directory. You can find only English (en) here because translated paragraphs are handled by Transifex. Under the same directory there are some specials 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.

Documentation available here:

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/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

You can also use the traditional way by cloning the docs repository (https://github.com/nethesis/nethserver-docs ) to your machine and sending patches to the mailing list.

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 informations are explained on :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 and *important* word.

Add notes with

.. note:: Highlight this text

Add warnings with

.. warning:: Warning text fragments

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

Do not use NethServer name inside documentation. Any time you need to add the product name, use the product macro:

|product| has this amazing feature!

Output will be:

NethServer has this amazing feature!

The same applies to download_site macro.

Use semantic markup whenever possible. Recommended RST roles are:

  • guilabel
  • file
  • command
  • menuselection

Remember to emphasize system object with :dfn:, only the first time you mention them inside a section. For example if you are naming a system user:

The :dfn:`admin` user is mighty powerful.

Also take care of indexing important content. You must index a word only one time per section:

The :dfn:`admin` user is mighty powerful.
Remember to change the :index:`admin` password.

The output will be a paragraph where the first admin word will be italic, the latter will use standard font but it will be indexed.

See also: http://sphinx-doc.org/markup/inline.html

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

hunspell -d en_US <filename>

Cockpit inline documentation

Cockpit can display inline documentation directly from the online manual using the system-doc API. The paragraph to be served as inline documentation must be enclosed inside a container element.

The container must have a unique name in the form ui-<section> like ui-portforward-syntax.

Example:

.. container:: ui-test-section

   Text example

   * **First element**: description of element
   * **Second element**: can contain ``special text``

Note: the container element can't contain a title.

Conditional sections

You can use the only tag to include some sections inside only inside the community or enterprise manual.

Use this syntax:

.. only:: <tag>

   my conditional text

Where tag can be:

  • nscom for community manual
  • nsent for enterprise manual

Pushing translations

After any commit, remember to push the new strings to Transifex:

make gettext
tx push -s

Build documentation

Whenever there are modifications, a build process will be launched from Read the Docs site.

If you wish to build documentation locally on your machine, make sure to install all Sphinx packages.

On Fedora 24 or later use:

sudo dnf install python2-sphinx python2-sphinx-bootstrap-theme

Then, install all required modules:

sudo pip install -r ./administrator-manual/en/nsent/requirements.txt

First clone the repository, enter language directory and type

make html

Output files will be generated inside the _build directory.

To specify an alternative configuration (i.e. nsent) type

make SPHINXOPTS="-t nsent" html

Localization workflow

To submit the English manual version to Transifex run:

make gettext && tx push -s

When the resources has been translated on Transifex run:

tx pull -a

To build a localized manual (for instance, Italian):

make -e SPHINXOPTS="-D language='it' -t nscom" html

Substitute nscom with nsent or any other tag corresponding to a documentation spin.

Remember to commit any change to .po files (also newly added files), and push commits to GitHub. The ReadTheDocs build is triggered automatically.

When creating new rst files, remember also to add them as new resources to Transifex by manually editing .tx/config.

Upgrading developer manual

Developer manual is now hosted at https://github.com/NethServer/dev

docs's People

Contributors

alepolidori avatar amygos avatar anafdez avatar andre8244 avatar andrea-marchionni avatar cotosso avatar dale-cliett avatar davideprincipi avatar dnutan avatar edospadoni avatar etino avatar federicoballarini avatar filippocarletti avatar gischupa avatar gsanchietti avatar hunv avatar ilvo avatar indra6oc avatar jobezic avatar just-some-tall-bloke avatar lucagasparini avatar markvnl avatar mrmarkuz avatar mtraeumner avatar nrauso avatar stell0 avatar stephdl avatar tonyco97 avatar victormoreno avatar willzen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.