blob: 3ca869a87da5092d9381edf77ded870a4e6cc677 [file] [log] [blame] [view]
User Guide
==========
The @PLUGIN@ plugin serves project documentation as HTML pages. Project
documentation can be written in different syntaxes, e.g. as
[Markdown](http://daringfireball.net/projects/markdown/) or
[Asciidoc](http://www.methods.co.nz/asciidoc/userguide.html).
By default the entry point to the project documentation is a
`README.md` file in the root directory of a project. Another index file
may be [configured](config.md#webIndexFile).
If a project contains the index file in its root directory then a link
to the project documentation is displayed for it in the
[project list](@URL@#/admin/projects/).
![Screenshot1](images/project-list-with-doc-links.png)
Clicking on the documentation icon opens the rendered HTML of the
index file in a new tab.
![Screenshot2](images/rendered-readme.png)
If a project is selected the project documentation is also available
from the `Projects` menu.
![Screenshot3](images/project-documentation-menu.png)
The documentation is served from the tip of the default branch.
The documentation for other branches is available from the project
branches screen.
![Screenshot4](images/project-branches-list-with-doc-links.png)
When reviewing documentation changes a preview of the rendered HTML is
available for project documentation files. This allows to detect any
formatting issues quickly. The preview is available from the
side-by-side diff view and it is opened in a new tab.
![Screenshot5](images/side-by-side-diff-view-with-preview.png)
The URL scheme of the plugin allows to access the HTML of all project
documentation files in the project from any revision (branch or
commit). The project name and the revision must be URL encoded.
```
/@PLUGIN@/project/<project>/rev/<revision>/<file>
```
E.g.:
```
/@PLUGIN@/project/dev%2Ftools%2Fcode-checks/rev/stable-1.3/docs/faq.md
```
A project documentation file can contain links to other project
documentation files which are contained in the project.
```
The installation is described in the [installation guide](install-guide.md).
```
Images that are stored in the project can be included into the project
documentation, but they are only rendered if the image mimetype is
configured on the Gerrit server as a
[safe mimetype](../../../Documentation/config-gerrit.html#mimetype).
```
![Screenshot](images/screenshot.png)
```
By default inline HTML blocks as well as inline HTML tags may be
[suppressed](config.md#formatterAllowHtml) by formatters. If
suppressed both will be accepted in the input but not be contained in
the output.
Project documentation files may include the following macros which are
automatically replaced when the HTML pages are generated.
* `\@URL@`: The web URL of the Gerrit server.
* `\@PROJECT@`: The name of the project from which the documentation is shown.
* `\@PROJECT_URL@`: The web URL of the project from which the documentation is shown.
* `\@REVISION@`: The abbreviated ID of the revision from which the documentation is shown.
* `\@GIT_DESCRIPTION@`: The output of `git describe` on the revision
from which the documentation is shown, or the abbreviated ID of the
revision if no names are found.
The plugin provides several [formatters](about.md#formatters) for
different project documentation syntaxes. The formatters can be
[configured](config.md#projectConfig) on project level and for some
formatters the CSS can be [customized](config.md#projectCss).