Several improvements to the HTML NEWS version:
* rename to "Changelog"
* recognize more issue links
* add NEWS as a dependency for Sphinx
diff --git a/Doc/tools/sphinxext/pyspecific.py b/Doc/tools/sphinxext/pyspecific.py
index 9304461..1808e28 100644
--- a/Doc/tools/sphinxext/pyspecific.py
+++ b/Doc/tools/sphinxext/pyspecific.py
@@ -149,10 +149,9 @@
import re
import codecs
-from docutils.statemachine import string2lines
-from sphinx.util.nodes import nested_parse_with_titles
-issue_re = re.compile('Issue #([0-9]+)')
+issue_re = re.compile('([Ii])ssue #([0-9]+)')
+whatsnew_re = re.compile(r"(?im)^what's new in (.*?)\??$")
class MiscNews(Directive):
has_content = False
@@ -166,8 +165,10 @@
source = self.state_machine.input_lines.source(
self.lineno - self.state_machine.input_offset - 1)
source_dir = path.dirname(path.abspath(source))
+ fpath = path.join(source_dir, fname)
+ self.state.document.settings.record_dependencies.add(fpath)
try:
- fp = codecs.open(path.join(source_dir, fname), encoding='utf-8')
+ fp = codecs.open(fpath, encoding='utf-8')
try:
content = fp.read()
finally:
@@ -176,8 +177,9 @@
text = 'The NEWS file is not available.'
node = nodes.strong(text, text)
return [node]
- content = issue_re.sub(r'`Issue #\1 <http://bugs.python.org/\1>`__',
+ content = issue_re.sub(r'`\1ssue #\2 <http://bugs.python.org/\2>`__',
content)
+ content = whatsnew_re.sub(r'\1', content)
# remove first 3 lines as they are the main heading
lines = content.splitlines()[3:]
self.state_machine.insert_input(lines, fname)
diff --git a/Doc/whatsnew/news.rst b/Doc/whatsnew/changelog.rst
similarity index 86%
rename from Doc/whatsnew/news.rst
rename to Doc/whatsnew/changelog.rst
index 2f81ed3..680d110 100644
--- a/Doc/whatsnew/news.rst
+++ b/Doc/whatsnew/changelog.rst
@@ -1,6 +1,6 @@
-+++++++++++
-Python News
-+++++++++++
++++++++++
+Changelog
++++++++++
.. raw:: html
diff --git a/Doc/whatsnew/index.rst b/Doc/whatsnew/index.rst
index a06849b..bc1206b 100644
--- a/Doc/whatsnew/index.rst
+++ b/Doc/whatsnew/index.rst
@@ -24,10 +24,10 @@
2.1.rst
2.0.rst
-The "Python News" is a HTML version of the file :source:`Misc/NEWS` which
-contains *all* nontrivial changes to Python.
+The "Changelog" is a HTML version of the file :source:`Misc/NEWS` which
+contains *all* nontrivial changes to Python for the current version.
.. toctree::
- :maxdepth: 1
+ :maxdepth: 2
- news.rst
+ changelog.rst