mirror of https://github.com/python/cpython
Add a filterable HTML version of Misc/NEWS to the docs "whatsnew" section.
This commit is contained in:
parent
eea74276cc
commit
2cac28b37e
|
@ -8,6 +8,23 @@
|
||||||
{% block extrahead %}
|
{% block extrahead %}
|
||||||
<link rel="shortcut icon" type="image/png" href="{{ pathto('_static/py.png', 1) }}" />
|
<link rel="shortcut icon" type="image/png" href="{{ pathto('_static/py.png', 1) }}" />
|
||||||
{% if not embedded %}<script type="text/javascript" src="{{ pathto('_static/copybutton.js', 1) }}"></script>{% endif %}
|
{% if not embedded %}<script type="text/javascript" src="{{ pathto('_static/copybutton.js', 1) }}"></script>{% endif %}
|
||||||
|
{% if pagename == 'whatsnew/news' %}
|
||||||
|
<script type="text/javascript">
|
||||||
|
function dofilter() {
|
||||||
|
var el = document.getElementById('searchbox');
|
||||||
|
var string = el.value.toLowerCase();
|
||||||
|
var litags = document.getElementsByTagName('li')
|
||||||
|
for (var idx = 0; idx < litags.length; idx++) {
|
||||||
|
var li = litags[idx];
|
||||||
|
if (li.innerHTML.toLowerCase().indexOf(string) >= 0) {
|
||||||
|
li.style.display = '';
|
||||||
|
} else {
|
||||||
|
li.style.display = 'none';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
{{ super() }}
|
{{ super() }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block footer %}
|
{% block footer %}
|
||||||
|
|
|
@ -145,6 +145,45 @@ class DeprecatedRemoved(Directive):
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
# Support for including Misc/NEWS
|
||||||
|
|
||||||
|
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]+)')
|
||||||
|
|
||||||
|
class MiscNews(Directive):
|
||||||
|
has_content = False
|
||||||
|
required_arguments = 1
|
||||||
|
optional_arguments = 0
|
||||||
|
final_argument_whitespace = False
|
||||||
|
option_spec = {}
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
fname = self.arguments[0]
|
||||||
|
source = self.state_machine.input_lines.source(
|
||||||
|
self.lineno - self.state_machine.input_offset - 1)
|
||||||
|
source_dir = path.dirname(path.abspath(source))
|
||||||
|
try:
|
||||||
|
fp = codecs.open(path.join(source_dir, fname), encoding='utf-8')
|
||||||
|
try:
|
||||||
|
content = fp.read()
|
||||||
|
finally:
|
||||||
|
fp.close()
|
||||||
|
except Exception:
|
||||||
|
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)
|
||||||
|
# remove first 3 lines as they are the main heading
|
||||||
|
lines = content.splitlines()[3:]
|
||||||
|
self.state_machine.insert_input(lines, fname)
|
||||||
|
return []
|
||||||
|
|
||||||
|
|
||||||
# Support for building "topic help" for pydoc
|
# Support for building "topic help" for pydoc
|
||||||
|
|
||||||
pydoc_topic_labels = [
|
pydoc_topic_labels = [
|
||||||
|
@ -276,3 +315,4 @@ def setup(app):
|
||||||
app.add_description_unit('2to3fixer', '2to3fixer', '%s (2to3 fixer)')
|
app.add_description_unit('2to3fixer', '2to3fixer', '%s (2to3 fixer)')
|
||||||
app.add_directive_to_domain('py', 'decorator', PyDecoratorFunction)
|
app.add_directive_to_domain('py', 'decorator', PyDecoratorFunction)
|
||||||
app.add_directive_to_domain('py', 'decoratormethod', PyDecoratorMethod)
|
app.add_directive_to_domain('py', 'decoratormethod', PyDecoratorMethod)
|
||||||
|
app.add_directive('miscnews', MiscNews)
|
||||||
|
|
|
@ -23,3 +23,11 @@ anyone wishing to stay up-to-date after a new release.
|
||||||
2.2.rst
|
2.2.rst
|
||||||
2.1.rst
|
2.1.rst
|
||||||
2.0.rst
|
2.0.rst
|
||||||
|
|
||||||
|
The "Python News" is a HTML version of the file :source:`Misc/NEWS` which
|
||||||
|
contains *all* nontrivial changes to Python.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
news.rst
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
+++++++++++
|
||||||
|
Python News
|
||||||
|
+++++++++++
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Filter entries by content:
|
||||||
|
<input type="text" value="" id="searchbox" style="width: 50%" onchange="dofilter()">
|
||||||
|
<input type="submit" value="Filter" onclick="dofilter()">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
.. miscnews:: ../../Misc/NEWS
|
||||||
|
|
Loading…
Reference in New Issue