blob: 22cf93077959d82380a89ea3d1879e6367de47db [file] [log] [blame]
Daniel Dunbar75083eb2012-04-19 16:31:19 +00001LLVM Documentation
2==================
3
Sean Silvaccb80192013-01-02 02:31:51 +00004LLVM's documentation is written in reStructuredText, a lightweight
5plaintext markup language (file extension `.rst`). While the
6reStructuredText documentation should be quite readable in source form, it
Sean Silvaba78f0b2013-02-27 18:48:42 +00007is mostly meant to be processed by the Sphinx documentation generation
8system to create HTML pages which are hosted on <http://llvm.org/docs/> and
9updated after every commit. Manpage output is also supported, see below.
Daniel Dunbar75083eb2012-04-19 16:31:19 +000010
Sean Silvaccb80192013-01-02 02:31:51 +000011If you instead would like to generate and view the HTML locally, install
12Sphinx <http://sphinx-doc.org/> and then do:
Daniel Dunbar75083eb2012-04-19 16:31:19 +000013
Sean Silvaccb80192013-01-02 02:31:51 +000014 cd docs/
15 make -f Makefile.sphinx
16 $BROWSER _build/html/index.html
Daniel Dunbar75083eb2012-04-19 16:31:19 +000017
Sean Silvaccb80192013-01-02 02:31:51 +000018The mapping between reStructuredText files and generated documentation is
19`docs/Foo.rst` <-> `_build/html/Foo.html` <-> `http://llvm.org/docs/Foo.html`.
20
21If you are interested in writing new documentation, you will want to read
22`SphinxQuickstartTemplate.rst` which will get you writing documentation
23very fast and includes examples of the most important reStructuredText
24markup syntax.
Sean Silvaba78f0b2013-02-27 18:48:42 +000025
26Manpage Output
27===============
28
29Building the manpages is similar to building the HTML documentation. The
30primary difference is to use the `man` makefile target, instead of the
31default (which is `html`). Sphinx then produces the man pages in the
32directory `_build/man/`.
33
34 cd docs/
35 make -f Makefile.sphinx man
36 man -l _build/man/FileCheck.1
37
38The correspondence between .rst files and man pages is
39`docs/CommandGuide/Foo.rst` <-> `_build/man/Foo.1`.
40These .rst files are also included during HTML generation so they are also
41viewable online (as noted above) at e.g.
42`http://llvm.org/docs/CommandGuide/Foo.html`.