Browse Source

Tweak the new Sphinx plugin's documentation

Loïc Hoguin 7 years ago
parent
commit
c5701e2301
1 changed files with 31 additions and 36 deletions
  1. 31 36
      doc/src/guide/sphinx.asciidoc

+ 31 - 36
doc/src/guide/sphinx.asciidoc

@@ -1,21 +1,21 @@
 [[sphinx]]
 [[sphinx]]
 == Sphinx documentation
 == Sphinx documentation
 
 
-Erlang.mk includes targets for running
+Erlang.mk includes targets for running the
 http://www.sphinx-doc.org/[Sphinx documentation generator], which can produce
 http://www.sphinx-doc.org/[Sphinx documentation generator], which can produce
 documentation in various formats, like HTML, man pages, Texinfo, LaTeX, and
 documentation in various formats, like HTML, man pages, Texinfo, LaTeX, and
 others.
 others.
 
 
 === Writing Sphinx documentation
 === Writing Sphinx documentation
 
 
-Sphinx generates documentation form a set of
+Sphinx generates documentation from a set of
 http://www.sphinx-doc.org/en/stable/rest.html[reST] documents. There is
 http://www.sphinx-doc.org/en/stable/rest.html[reST] documents. There is
 a http://www.sphinx-doc.org/en/stable/tutorial.html[quick start guide] on
 a http://www.sphinx-doc.org/en/stable/tutorial.html[quick start guide] on
 Sphinx' website. For Erlang.mk, we'll set up a minimal environment instead.
 Sphinx' website. For Erlang.mk, we'll set up a minimal environment instead.
 
 
 === Basic setup
 === Basic setup
 
 
-By default, Erlang.mk expects Sphinx documentation to be placed in 'doc'
+By default, Erlang.mk expects Sphinx documentation to be placed in the 'doc'
 directory, with 'doc/conf.py' config file in particular. The file contains
 directory, with 'doc/conf.py' config file in particular. The file contains
 information about the project, among the other things.
 information about the project, among the other things.
 
 
@@ -34,7 +34,6 @@ It points to a 'doc/index.rst' document. A simple skeleton includes a table of
 contents for all documentation, and links to generated index of terms and
 contents for all documentation, and links to generated index of terms and
 a search page:
 a search page:
 
 
-[literal]
 ----
 ----
 My Project
 My Project
 ==========
 ==========
@@ -56,7 +55,6 @@ Indices and tables
 The skeleton above has a link to one other page, 'doc/other_page.rst'. Simple
 The skeleton above has a link to one other page, 'doc/other_page.rst'. Simple
 header with some text will do for now:
 header with some text will do for now:
 
 
-[literal]
 ----
 ----
 Other Page
 Other Page
 ==========
 ==========
@@ -64,7 +62,7 @@ Other Page
 Lorem ipsum dolor sit amet...
 Lorem ipsum dolor sit amet...
 ----
 ----
 
 
-The files above are enough to build HTML documentation to 'html' directory.
+The files above are enough to build HTML documentation to the 'html' directory.
 
 
 [source,bash]
 [source,bash]
 $ make docs     # all the docs, including EDoc and AsciiDoc if applicable
 $ make docs     # all the docs, including EDoc and AsciiDoc if applicable
@@ -72,32 +70,31 @@ $ make sphinx   # Sphinx docs specifically
 
 
 === Erlang.mk configuration
 === Erlang.mk configuration
 
 
-Default Erlang.mk settings are equivalent to adding to project's makefile
-following lines:
+Erlang.mk defaults to the following configuration:
 
 
 [source,make]
 [source,make]
 SPHINX_FORMATS = html
 SPHINX_FORMATS = html
 SPHINX_SOURCE = doc
 SPHINX_SOURCE = doc
 
 
-To change the location of Sphinx sources, you need to set `$(SPHINX_SOURCE)`
-variable. 'conf.py' file should also be placed in that directory, unless you
+To change the location of Sphinx sources, you need to set the `$(SPHINX_SOURCE)`
+variable. The 'conf.py' file should also be placed in that directory, unless you
 specify `$(SPHINX_CONFDIR)`.
 specify `$(SPHINX_CONFDIR)`.
 
 
-Variable `$(SPHINX_OPTS)` allows to provide options to `sphinx-build`, which
+The variable `$(SPHINX_OPTS)` allows to provide options to `sphinx-build`, which
 is particularly useful for `-D name=value` options. You can even forego
 is particularly useful for `-D name=value` options. You can even forego
-'doc/conf.py' file, using `-D name=value` in combination with `-C` option,
-though you will need to manually call `make sphinx` or add `sphinx` target to
-dependencies of `docs`.
+'doc/conf.py' file, using `-D name=value` in combination with the `-C` option,
+though in this case you will need to manually call `make sphinx` or add the
+`sphinx` target to dependencies of `docs`.
 
 
-`$(SPHINX_FORMATS)` variable lists formats to generate. By default only HTML
-is generated, but it can also include man pages or LaTeX document for building
-PDF. See
-http://www.sphinx-doc.org/en/stable/invocation.html#cmdoption-sphinx-build-b[description of `-b` option]
-for `sphinx-build` for list of known formats.
+The `$(SPHINX_FORMATS)` variable lists formats to generate. By default only HTML
+is generated, but it can also build man pages or LaTeX documents which can later
+be converted to PDF. See the
+http://www.sphinx-doc.org/en/stable/invocation.html#cmdoption-sphinx-build-b[description of the `-b` option]
+for `sphinx-build` for a list of known formats.
 
 
 Formats are by default generated to a directory called after the format
 Formats are by default generated to a directory called after the format
 ('html' for HTML, 'man' for man pages, and so on). To change this behaviour
 ('html' for HTML, 'man' for man pages, and so on). To change this behaviour
-for specific format, you can set `$(sphinx_$(format)_output)` variable, e.g.
+for a specific format, you can set the `$(sphinx_$(format)_output)` variable, e.g.
 `$(sphinx_html_output)` for 'html' or `$(sphinx_man_output)` for 'man'.
 `$(sphinx_html_output)` for 'html' or `$(sphinx_man_output)` for 'man'.
 There are also `$(sphinx_$(format)_opts)` variables for setting `sphinx-build`
 There are also `$(sphinx_$(format)_opts)` variables for setting `sphinx-build`
 options for a single format only.
 options for a single format only.
@@ -105,7 +102,7 @@ options for a single format only.
 === Generating man pages
 === Generating man pages
 
 
 To generate man pages, you need to include `man` in `$(SPHINX_FORMATS)` in
 To generate man pages, you need to include `man` in `$(SPHINX_FORMATS)` in
-your makefile and define `man_pages` option in 'doc/conf.py':
+your Makefile and define the `man_pages` option in 'doc/conf.py':
 
 
 [source,python]
 [source,python]
 ----
 ----
@@ -114,21 +111,19 @@ man_pages = [
 ]
 ]
 ----
 ----
 
 
-As http://www.sphinx-doc.org/en/stable/config.html#options-for-manual-page-output[Sphinx documentation]
-says, the structure is following:
+As the
+http://www.sphinx-doc.org/en/stable/config.html#options-for-manual-page-output[Sphinx documentation]
+indicates, the structure is:
 
 
-* 'doc_name' is the path to man page's source (relative `$(SPHINX_SOURCE)`),
+* `doc_name` is the path to the man page's source (relative `$(SPHINX_SOURCE)`),
   without the '.rst' suffix
   without the '.rst' suffix
-* 'page_name' is the name of resulting man page, which will be used as a base
-  for output file name and will be included in generated man page
-* 'Manpage Title' is a short, one-line description, which will be included in
-  generated man page on a position that's used by `apropos` command
-* 'Page Author' (or more of them) will be included in autogenerated 'AUTHOR'
-  section, and leaving this field empty disables generating 'AUTHOR' section
-* '1' is the number of section of the man page
-
-With the above configuration (and Erlang.mk defaults), 'doc/doc_name.rst' will
+* `page_name` is the name of the resulting man page, which will be used as a base
+  for the output file name and will be included in the generated man page
+* `Manpage Title` is a short, one-line description, which will be included in
+  the generated man page on a position that's used by the `apropos` command
+* `Page Author` (or more of them) will be included in the autogenerated `AUTHOR`
+  section. Leaving this field empty disables generating the `AUTHOR` section
+* `1` is the man page section number
+
+With the above configuration (and Erlang.mk's defaults), 'doc/doc_name.rst' will
 be used to generate 'man/page_name.1'.
 be used to generate 'man/page_name.1'.
-
-NOTE: You probably want to include a link to the man page in other
-documentation, possibly in 'doc/index.rst'.