4 LLVM's documentation is written in reStructuredText, a lightweight
5 plaintext markup language (file extension `.rst`). While the
6 reStructuredText documentation should be quite readable in source form, it
7 is mostly meant to be processed by the Sphinx documentation generation
8 system to create HTML pages which are hosted on <http://llvm.org/docs/> and
9 updated after every commit. Manpage output is also supported, see below.
11 If you instead would like to generate and view the HTML locally, install
12 Sphinx <http://sphinx-doc.org/> and then do:
15 make -f Makefile.sphinx
16 $BROWSER _build/html/index.html
18 The mapping between reStructuredText files and generated documentation is
19 `docs/Foo.rst` <-> `_build/html/Foo.html` <-> `http://llvm.org/docs/Foo.html`.
21 If you are interested in writing new documentation, you will want to read
22 `SphinxQuickstartTemplate.rst` which will get you writing documentation
23 very fast and includes examples of the most important reStructuredText
29 Building the manpages is similar to building the HTML documentation. The
30 primary difference is to use the `man` makefile target, instead of the
31 default (which is `html`). Sphinx then produces the man pages in the
32 directory `_build/man/`.
35 make -f Makefile.sphinx man
36 man -l _build/man/FileCheck.1
38 The correspondence between .rst files and man pages is
39 `docs/CommandGuide/Foo.rst` <-> `_build/man/Foo.1`.
40 These .rst files are also included during HTML generation so they are also
41 viewable online (as noted above) at e.g.
42 `http://llvm.org/docs/CommandGuide/Foo.html`.
47 The reachability of external links in the documentation can be checked by
51 make -f Makefile.sphinx linkcheck