Home | History | Annotate | Download | only in docs
      1 LLVM Documentation
      2 ==================
      3 
      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.
     10 
     11 If you instead would like to generate and view the HTML locally, install
     12 Sphinx <http://sphinx-doc.org/> and then do:
     13 
     14     cd docs/
     15     make -f Makefile.sphinx
     16     $BROWSER _build/html/index.html
     17 
     18 The mapping between reStructuredText files and generated documentation is
     19 `docs/Foo.rst` <-> `_build/html/Foo.html` <-> `http://llvm.org/docs/Foo.html`.
     20 
     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
     24 markup syntax.
     25 
     26 Manpage Output
     27 ===============
     28 
     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/`.
     33 
     34     cd docs/
     35     make -f Makefile.sphinx man
     36     man -l _build/man/FileCheck.1
     37 
     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`.
     43 
     44 Checking links
     45 ==============
     46 
     47 The reachability of external links in the documentation can be checked by
     48 running:
     49 
     50     cd docs/
     51     make -f Makefile.sphinx linkcheck
     52