docs: sync sphinx build config with ndn-cxx, improve README.md

Replace custom redmine_issue extension with sphinx.ext.extlinks

Change-Id: Ie6995fd418e4e355cc193b68423899fc029d93ce
diff --git a/docs/conf.py b/docs/conf.py
index 99b993a..60dd74f 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,39 +1,53 @@
 # -*- coding: utf-8 -*-
 #
-# NFD documentation build configuration file, created by
-# sphinx-quickstart on Wed Mar  7 19:23:56 2018.
+# Configuration file for the Sphinx documentation builder.
 #
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# http://www.sphinx-doc.org/en/master/config
 
-import datetime
-import os
-import sys
+# -- Path setup --------------------------------------------------------------
 
 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.insert(0, os.path.abspath('.'))
+#
+import os
+import sys
+# sys.path.insert(0, os.path.abspath('.'))
 
 
-# -- General configuration ------------------------------------------------
+# -- Project information -----------------------------------------------------
+
+project = u'Named Data Networking Forwarding Daemon (NFD)'
+copyright = u'Copyright © 2014-2019 Named Data Networking Project.'
+author = u'Named Data Networking Project'
+
+# The short X.Y version
+#version = ''
+
+# The full version, including alpha/beta/rc tags
+#release = ''
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+today_fmt = '%Y-%m-%d'
+
+
+# -- General configuration ---------------------------------------------------
 
 # If your documentation needs a minimal Sphinx version, state it here.
 #
-# needs_sphinx = '1.0'
+needs_sphinx = '1.1'
 
 # Add any Sphinx extension module names here, as strings. They can be
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
 extensions = [
+    'sphinx.ext.extlinks',
     'sphinx.ext.todo',
-    'redmine_issue'
 ]
 
 def addExtensionIfExists(extension):
@@ -41,10 +55,8 @@
         __import__(extension)
         extensions.append(extension)
     except ImportError:
-        sys.stderr.write("Extension '%s' in not available. "
+        sys.stderr.write("Extension '%s' not found. "
                          "Some documentation may not build correctly.\n" % extension)
-        sys.stderr.write("To install, use \n"
-                         "  sudo pip install %s\n" % extension.replace('.', '-'))
 
 if sys.version_info[0] >= 3:
     addExtensionIfExists('sphinxcontrib.doxylink')
@@ -53,65 +65,25 @@
 # if os.getenv('GOOGLE_ANALYTICS', None):
 #     addExtensionIfExists('sphinxcontrib.googleanalytics')
 
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix(es) of source filenames.
-# You can specify multiple suffix as a list of string:
-#
-# source_suffix = ['.rst', '.md']
-source_suffix = '.rst'
-
 # The master toctree document.
 master_doc = 'index'
 
-# General information about the project.
-project = u'NFD - Named Data Networking Forwarding Daemon'
-copyright = u'2014-%d, Named Data Networking Project' % datetime.date.today().year
-author = u'Named Data Networking Project'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-# version = u''
-# The full version, including alpha/beta/rc tags.
-# release = u''
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#
-# This is also used if you do content translation via gettext catalogs.
-# Usually you set "language" from the command line for these cases.
-language = None
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
 
 # List of patterns, relative to source directory, that match files and
 # directories to ignore when looking for source files.
-# This patterns also effect to html_static_path and html_extra_path
+# This pattern also affects html_static_path and html_extra_path.
 exclude_patterns = []
 
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
 
-# If true, `todo` and `todoList` produce output, else they produce nothing.
-todo_include_todos = False
-
-
-# -- Options for HTML output ----------------------------------------------
+# -- Options for HTML output -------------------------------------------------
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 #
-# html_theme = 'alabaster'
 html_theme = 'named_data_theme'
 
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#
-# html_theme_options = {}
-
 # Add any paths that contain custom themes here, relative to this directory.
 html_theme_path = ['.']
 
@@ -121,13 +93,7 @@
 html_static_path = ['_static']
 
 
-# -- Options for HTMLHelp output ------------------------------------------
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'nfd-docs'
-
-
-# -- Options for LaTeX output ---------------------------------------------
+# -- Options for LaTeX output ------------------------------------------------
 
 latex_elements = {
     # The paper size ('letterpaper' or 'a4paper').
@@ -151,47 +117,46 @@
 # (source start file, target name, title,
 #  author, documentclass [howto, manual, or own class]).
 latex_documents = [
-    ('index', 'nfd-docs.tex', u'NFD - Named Data Networking Forwarding Daemon Documentation',
-     u'Named Data Networking Project', 'manual'),
+    ('index', 'nfd-docs.tex', u'Named Data Networking Forwarding Daemon (NFD)',
+     author, 'manual'),
 ]
 
 
-# -- Options for manual page output ---------------------------------------
+# -- Options for manual page output ------------------------------------------
 
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('manpages/nfd', 'nfd', u'Named Data Networking Forwarding Daemon', '', 1),
-    ('manpages/nfdc', 'nfdc', u'Interact with NFD management', '', 1),
-    ('manpages/nfdc-status', 'nfdc-status', u'Show NFD status', '', 1),
-    ('manpages/nfdc-face', 'nfdc-face', u'Show and manipulate NFD faces', '', 1),
-    ('manpages/nfdc-route', 'nfdc-route', u'Show and manipulate NFD routes', '', 1),
-    ('manpages/nfdc-cs', 'nfdc-cs', u'Show and manipulate NFD Content Store', '', 1),
-    ('manpages/nfdc-strategy', 'nfdc-strategy', u'Show and manipulate NFD strategy choices', '', 1),
-    ('manpages/nfd-status', 'nfd-status', u'Comprehensive report of NFD status', '', 1),
-    ('manpages/nfd-status-http-server', 'nfd-status-http-server', u'NFD status HTTP server', '', 1),
-    ('manpages/ndn-autoconfig-server', 'ndn-autoconfig-server', u'NDN auto-configuration server', '', 1),
-    ('manpages/ndn-autoconfig', 'ndn-autoconfig', u'NDN auto-configuration client', '', 1),
-    ('manpages/ndn-autoconfig.conf', 'ndn-autoconfig.conf', u'NDN auto-configuration client configuration file', '', 5),
-    ('manpages/nfd-autoreg', 'nfd-autoreg', u'NFD auto-registration server', '', 1),
-    ('manpages/nfd-asf-strategy', 'nfd-asf-strategy', u'NFD ASF strategy', '', 7),
+    ('manpages/nfd',            'nfd',              'the Named Data Networking Forwarding Daemon',          [], 1),
+    ('manpages/nfdc',           'nfdc',             'interact with NFD management from the command line',   [], 1),
+    ('manpages/nfdc-status',    'nfdc-status',      'show NFD status',                                      [], 1),
+    ('manpages/nfdc-face',      'nfdc-face',        'show and manipulate NFD\'s faces',                     [], 1),
+    ('manpages/nfdc-route',     'nfdc-route',       'show and manipulate NFD\'s routes',                    [], 1),
+    ('manpages/nfdc-cs',        'nfdc-cs',          'show and manipulate NFD\'s Content Store',             [], 1),
+    ('manpages/nfdc-strategy',  'nfdc-strategy',    'show and manipulate NFD\'s strategy choices',          [], 1),
+    ('manpages/nfd-status',     'nfd-status',       'show a comprehensive report of NFD\'s status',         [], 1),
+    ('manpages/nfd-status-http-server', 'nfd-status-http-server',   'NFD status HTTP server',               [], 1),
+    ('manpages/ndn-autoconfig-server',  'ndn-autoconfig-server',    'auto-configuration server for NDN',    [], 1),
+    ('manpages/ndn-autoconfig',         'ndn-autoconfig',           'auto-configuration client for NDN',    [], 1),
+    ('manpages/ndn-autoconfig.conf',    'ndn-autoconfig.conf',      'configuration file for ndn-autoconfig',    [], 5),
+    ('manpages/nfd-autoreg',            'nfd-autoreg',              'NFD automatic prefix registration daemon', [], 1),
+    ('manpages/nfd-asf-strategy',       'nfd-asf-strategy',         'NFD ASF strategy',                     [], 7),
 ]
 
+# If true, show URL addresses after external links.
+#man_show_urls = True
 
-# -- Options for Texinfo output -------------------------------------------
 
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-#  dir menu entry, description, category)
-texinfo_documents = []
-
+# -- Custom options ----------------------------------------------------------
 
 doxylink = {
-    'nfd' : ('NFD.tag', 'doxygen/'),
+    'nfd': ('NFD.tag', 'doxygen/'),
+}
+
+extlinks = {
+    'issue': ('https://redmine.named-data.net/issues/%s', 'issue #'),
 }
 
 if os.getenv('GOOGLE_ANALYTICS', None):
     googleanalytics_id = os.environ['GOOGLE_ANALYTICS']
     googleanalytics_enabled = True
-
-redmine_project_url = 'https://redmine.named-data.net/'