Sync sphinx build config with ndn-cxx, improve README.md

Change-Id: Ib47bbe35f41b3a23523c0f66d7e5f321d7f82c2e
diff --git a/.waf-tools/sphinx_build.py b/.waf-tools/sphinx_build.py
index e61da6e..b44a54f 100644
--- a/.waf-tools/sphinx_build.py
+++ b/.waf-tools/sphinx_build.py
@@ -44,28 +44,28 @@
     task.inputs.append(conf)
 
     confdir = conf.parent.abspath()
-    buildername = getattr(self, "builder", "html")
-    srcdir = getattr(self, "srcdir", confdir)
-    outdir = self.path.find_or_declare(getattr(self, "outdir", buildername)).get_bld()
-    doctreedir = getattr(self, "doctreedir", os.path.join(outdir.abspath(), ".doctrees"))
+    buildername = getattr(self, 'builder', 'html')
+    srcdir = getattr(self, 'srcdir', confdir)
+    outdir = self.path.find_or_declare(getattr(self, 'outdir', buildername)).get_bld()
+    doctreedir = getattr(self, 'doctreedir', os.path.join(outdir.abspath(), '.doctrees'))
 
     task.env['BUILDERNAME'] = buildername
     task.env['SRCDIR'] = srcdir
     task.env['DOCTREEDIR'] = doctreedir
     task.env['OUTDIR'] = outdir.abspath()
-    task.env['VERSION'] = "version=%s" % self.VERSION
-    task.env['RELEASE'] = "release=%s" % self.VERSION
+    task.env['VERSION'] = 'version=%s' % self.version
+    task.env['RELEASE'] = 'release=%s' % getattr(self, 'release', self.version)
 
     import imp
     confData = imp.load_source('sphinx_conf', conf.abspath())
 
-    if buildername == "man":
+    if buildername == 'man':
         for i in confData.man_pages:
             target = outdir.find_or_declare('%s.%d' % (i[1], i[4]))
             task.outputs.append(target)
 
             if self.install_path:
-                self.bld.install_files("%s/man%d/" % (self.install_path, i[4]), target)
+                self.bld.install_files('%s/man%d/' % (self.install_path, i[4]), target)
     else:
         task.outputs.append(outdir)
 
diff --git a/README.md b/README.md
index ab9b378..daf3dde 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,38 @@
 # NDN Essential Tools
 
+![Language](https://img.shields.io/badge/C%2B%2B-14-blue.svg)
 [![Build Status](https://travis-ci.org/named-data/ndn-tools.svg?branch=master)](https://travis-ci.org/named-data/ndn-tools)
+![Latest Version](https://img.shields.io/github/tag/named-data/ndn-tools.svg?color=darkkhaki&label=latest%20version)
 
-**ndn-tools** is a collection of essential tools for
-[Named Data Networking](http://named-data.net/).
-These tools are recommended to be installed on all NDN nodes.  
+**ndn-tools** is a collection of basic tools for [Named Data Networking](https://named-data.net/).
 Tools in this collection include:
 
-* [peek](tools/peek): transmit a single packet between a consumer and a producer
-* [chunks](tools/chunks): segmented file transfer between a consumer and producer
-* [ping](tools/ping): test reachability between two nodes
-* [dump](tools/dump): analyze traffic on wire
-* [dissect](tools/dissect): inspect TLV structure of NDN packet format
-* [dissect-wireshark](tools/dissect-wireshark): Wireshark extension to inspect TLV structure of NDN
-  packets
+* [peek](tools/peek): transmit a single Interest/Data packet between a consumer
+  and a producer
+* [chunks](tools/chunks): segmented file transfer between a consumer and a producer
+* [ping](tools/ping): test reachability between two NDN nodes
+* [dump](tools/dump): capture and analyze live traffic on an NDN network
+* [dissect](tools/dissect): inspect the TLV structure of an NDN packet
+* [dissect-wireshark](tools/dissect-wireshark): Wireshark extension to inspect
+  the TLV structure of NDN packets
 
-See [INSTALL.md](INSTALL.md) for build instructions.
+## Installation
 
-If you are new to the NDN software community, please read the
-[Contributor's Guide](https://github.com/named-data/NFD/blob/master/CONTRIBUTING.md).  
-Please file bug reports and feature requests on
-[ndn-tools Redmine site](https://redmine.named-data.net/projects/ndn-tools).  
-You may contribute code on [NDN Gerrit](https://gerrit.named-data.net).
-GitHub pull requests are not accepted.
+See [`INSTALL.md`](INSTALL.md) for build instructions.
+
+## Reporting bugs
+
+Please submit any bug reports or feature requests to the
+[ndn-tools issue tracker](https://redmine.named-data.net/projects/ndn-tools/issues).
+
+## Contributing
+
+You're encouraged to contribute to ndn-tools!  If you are new to the NDN
+software community, please read [`README-dev.md`](README-dev.md) and the
+[Contributor's Guide](https://github.com/named-data/NFD/blob/master/CONTRIBUTING.md)
+to get started.
+
+## License
+
+ndn-tools is an open source project licensed under the GPL version 3.
+See [`COPYING.md`](COPYING.md) for more information.
diff --git a/manpages/conf.py b/manpages/conf.py
index 18c5985..bb5132f 100644
--- a/manpages/conf.py
+++ b/manpages/conf.py
@@ -1,18 +1,70 @@
-# General information about the project.
-project = u'NDN Essential Tools'
+# -*- coding: utf-8 -*-
+#
+# Configuration file for the Sphinx documentation builder.
+#
+# 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
 
+# -- 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.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = u'NDN Essential Tools'
+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.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 = [
+]
+
+# The master toctree document.
 master_doc = 'index'
 
-# -- 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 = [
-    ('ndnpeek', 'ndnpeek', 'simple consumer to send one Interest and expect one Data', None, 1),
-    ('ndnpoke', 'ndnpoke', 'simple producer to publish one Data', None, 1),
-    ('ndnping', 'ndnping', 'reachability testing client', None, 1),
-    ('ndnpingserver', 'ndnpingserver', 'reachability testing server', None, 1),
-    ('ndndump', 'ndndump', 'traffic analysis tool', None, 8),
-    ('ndnputchunks', 'ndnputchunks', 'producer program with content segmentation', None, 1),
-    ('ndn-dissect', 'ndn-dissect', 'NDN packet format inspector', None, 1),
+    ('ndnpeek',         'ndnpeek',          'simple consumer to send one Interest and expect one Data', [], 1),
+    ('ndnpoke',         'ndnpoke',          'simple producer to publish one Data',          [], 1),
+    ('ndnping',         'ndnping',          'reachability testing client',                  [], 1),
+    ('ndnpingserver',   'ndnpingserver',    'reachability testing server',                  [], 1),
+    ('ndnputchunks',    'ndnputchunks',     'producer program with content segmentation',   [], 1),
+    ('ndndump',         'ndndump',          'traffic analysis tool',                        [], 8),
+    ('ndn-dissect',     'ndn-dissect',      'NDN packet format inspector',                  [], 1),
 ]
+
+# If true, show URL addresses after external links.
+#man_show_urls = True
diff --git a/manpages/wscript b/manpages/wscript
deleted file mode 100644
index e1093a4..0000000
--- a/manpages/wscript
+++ /dev/null
@@ -1,10 +0,0 @@
-def build(bld):
-    if not bld.env['SPHINX_BUILD']:
-        return
-    bld(features='sphinx',
-        builder='man',
-        outdir='.',
-        config='./conf.py',
-        source=bld.path.ant_glob('*.rst'),
-        install_path='${MANDIR}/',
-        VERSION=bld.env['VERSION'])
diff --git a/wscript b/wscript
index 0af89ba..3f41bcb 100644
--- a/wscript
+++ b/wscript
@@ -76,7 +76,17 @@
 
     bld.recurse('tools')
     bld.recurse('tests')
-    bld.recurse('manpages')
+
+    if bld.env.SPHINX_BUILD:
+        bld(features='sphinx',
+            name='manpages',
+            builder='man',
+            config='manpages/conf.py',
+            outdir='manpages',
+            source=bld.path.ant_glob('manpages/*.rst'),
+            install_path='${MANDIR}',
+            version=VERSION_BASE,
+            release=VERSION)
 
 def version(ctx):
     # don't execute more than once