Skip to content

Latest commit

 

History

History
142 lines (98 loc) · 4.32 KB

style_guide.rst

File metadata and controls

142 lines (98 loc) · 4.32 KB

Nextcloud manuals style guide

This is a work in progress

See the Documentation README for information on setting up your documentation build environment

See reStructuredText Primer for a complete Sphinx/RST markup reference.

This is the official style guide for the Nextcloud Administration and User manuals. Please follow these conventions for consistency, and easier proofreading and copyediting.

When you are writing your text, make it as literal and specific as possible. Put yourself in the place of the person who is using Nextcloud and looking for instructions on performing a task. Don't make them guess, but spell out every step in order, and tell exactly what buttons to click or what form fields to fill out. Give complete information; for example, when configuring a timeout value be sure to say if it is in seconds or some other value. Say config.php rather than "the configuration file". When you are describing features of a GUI administration form use the exact literal names of buttons, form fields, and menus. Specify if menus are dropdown, right-click, left-click, or mouseover.

Page filenames

Use lowercase filenames with underscores, for example file_name_config.rst.

Page titles and headings

There are many ways to markup headings and subheadings. This is the official Nextcloud way. Use sentence case. Three levels is enough; if you find that you want more, then re-think the organization of your text:

==============
Page title, h1
==============

Subhead, h2
-----------

Subhead, h3
^^^^^^^^^^^

This is how they render:

Page title, h1

Subhead, h2

Subhead, h3

Labels and code

Elements in a GUI configuration form are in bold, and should be described as literally as possible, so that your description matches what your reader sees on the screen. For example, on the User listing page describe the various elements like these examples:

**Username** field
**Password** field
**Groups** dropdown menu
**Create** button
**Full Name** field
**Quota** dropdown menu

This is how they render:

Username field

Password field

Groups dropdown menu

Create button

Full Name field

Quota dropdown menu

User listings and administration page.

Figure 1: The Nextcloud user listing and administration page.

Use double-backticks for inline code and command examples:

``sudo -u www-data php occ files:scan --help``
``maintenance:install``

This is how they render:

sudo -u www-data php occ files:scan --help

maintenance:install

When you are giving hyperlinks as examples, use double-backticks rather than creating a live hyperlink:

``https://example.com``

Images

Use lowercase with hyphens for image names, for example image-name.png.

Images should be in .png format. Keep your screenshots focused on the items you are describing. When you need an image of something large like a configuration form on the Nextcloud admin page, narrow your Web browser to fold the fields into a smaller space, because a long skinny graphic is not very readable. Think square.

Both images and figures must have brief and descriptive alt tags and all figures must have captions with figure numbers. Sphinx RST markup does not have a tag for figure numbers, so you must use the caption element. You may use simple numbering like "Figure 1, Figure 2", or add a caption. Captions must follow a blank line and be italicized, like this example:

.. figure:: images/users-config.png
   :alt: User listings and administration page.

   *Figure 1: The Nextcloud user listing and administration page.*

Images must go into a sub-directory of the directory containing your manual page. Currently the manuals have both a single master images directory, and image directories local to each chapter. A single master images directory is difficult to maintain and inevitably becomes cluttered with obsolete images. Eventually the single master directories will be gone.

Example URL

Use https://example.com in your examples where you want to include an URL.