From a5f1df6946ab90d1f9c79e859a943beb225a963e Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 3 Jan 2010 19:38:17 +0100 Subject: [PATCH 01/10] Mark code blocks as Python. --- doc/ext/appapi.rst | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/ext/appapi.rst b/doc/ext/appapi.rst index 6864d6bac..cdec3d52a 100644 --- a/doc/ext/appapi.rst +++ b/doc/ext/appapi.rst @@ -56,9 +56,11 @@ the following public API: given as keyword arguments: the keyword must be one or more of ``'html'``, ``'latex'``, ``'text'``, the value a 2-tuple of ``(visit, depart)`` methods. ``depart`` can be ``None`` if the ``visit`` function raises - :exc:`docutils.nodes.SkipNode`. Example:: + :exc:`docutils.nodes.SkipNode`. Example: - class math(docutils.nodes.Element) + .. code-block:: python + + class math(docutils.nodes.Element): pass def visit_math_html(self, node): self.body.append(self.starttag(node, 'math')) @@ -98,7 +100,9 @@ the following public API: support directive classes otherwise). For example, the (already existing) :dir:`literalinclude` directive would be - added like this:: + added like this: + + .. code-block:: python from docutils.parsers.rst import directives add_directive('literalinclude', literalinclude_directive, From 443eb4e594d032f8fbe13e6c4b41da8bad973465 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 3 Jan 2010 19:40:07 +0100 Subject: [PATCH 02/10] Add "nature" theme, as used by PIP and distribute. --- CHANGES | 4 +- doc/ext/appapi.rst | 8 +- doc/theming.rst | 8 +- sphinx/themes/nature/static/nature.css_t | 229 +++++++++++++++++++++++ sphinx/themes/nature/theme.conf | 4 + 5 files changed, 248 insertions(+), 5 deletions(-) create mode 100644 sphinx/themes/nature/static/nature.css_t create mode 100644 sphinx/themes/nature/theme.conf diff --git a/CHANGES b/CHANGES index 46685a061..9a35b4209 100644 --- a/CHANGES +++ b/CHANGES @@ -17,9 +17,11 @@ Release 1.0 (in development) * #284: All docinfo metadata is now put into the document metadata, not just the author. +* Added new HTML theme ``nature``. + * Added new HTML theme ``agogo``, created by Andi Albrecht. -* Added new minimal theme called scrolls, created by Armin Ronacher. +* Added new HTML theme called scrolls, created by Armin Ronacher. * Added ``html_output_encoding`` config value. diff --git a/doc/ext/appapi.rst b/doc/ext/appapi.rst index 0a3dae8fb..9b2d039c0 100644 --- a/doc/ext/appapi.rst +++ b/doc/ext/appapi.rst @@ -56,7 +56,9 @@ the following public API: given as keyword arguments: the keyword must be one or more of ``'html'``, ``'latex'``, ``'text'``, the value a 2-tuple of ``(visit, depart)`` methods. ``depart`` can be ``None`` if the ``visit`` function raises - :exc:`docutils.nodes.SkipNode`. Example:: + :exc:`docutils.nodes.SkipNode`. Example: + + .. code-block:: python class math(docutils.nodes.Element) @@ -98,7 +100,9 @@ the following public API: support directive classes otherwise). For example, the (already existing) :dir:`literalinclude` directive would be - added like this:: + added like this: + + .. code-block:: python from docutils.parsers.rst import directives add_directive('literalinclude', literalinclude_directive, diff --git a/doc/theming.rst b/doc/theming.rst index c2566ac39..4771dbec5 100644 --- a/doc/theming.rst +++ b/doc/theming.rst @@ -65,9 +65,9 @@ Builtin themes | | | | *scrolls* | *agogo* | +--------------------+--------------------+ -| |traditional| | | +| |traditional| | |nature| | | | | -| *traditional* | | +| *traditional* | *nature* | +--------------------+--------------------+ .. |default| image:: themes/default.png @@ -75,6 +75,7 @@ Builtin themes .. |scrolls| image:: themes/scrolls.png .. |agogo| image:: themes/agogo.png .. |traditional| image:: themes/traditional.png +.. |nature| image:: themes/nature.png Sphinx comes with a selection of themes to choose from. @@ -157,6 +158,9 @@ These themes are: - **headerlinkcolor** (CSS color): Color for the backreference link in headings. +* **nature** -- A greenish theme. There are currently no options beyond + *nosidebar*. + * **traditional** -- A theme resembling the old Python documentation. There are currently no options beyond *nosidebar*. diff --git a/sphinx/themes/nature/static/nature.css_t b/sphinx/themes/nature/static/nature.css_t new file mode 100644 index 000000000..31d9ec622 --- /dev/null +++ b/sphinx/themes/nature/static/nature.css_t @@ -0,0 +1,229 @@ +/** + * Sphinx stylesheet -- nature theme + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Arial, sans-serif; + font-size: 100%; + background-color: #111; + color: #555; + margin: 0; + padding: 0; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 230px; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.document { + background-color: #eee; +} + +div.body { + background-color: #ffffff; + color: #3E4349; + padding: 0 30px 30px 30px; + font-size: 0.9em; +} + +div.footer { + color: #555; + width: 100%; + padding: 13px 0; + text-align: center; + font-size: 75%; +} + +div.footer a { + color: #444; + text-decoration: underline; +} + +div.related { + background-color: #6BA81E; + line-height: 32px; + color: #fff; + text-shadow: 0px 1px 0 #444; + font-size: 0.9em; +} + +div.related a { + color: #E2F3CC; +} + +div.sphinxsidebar { + font-size: 0.75em; + line-height: 1.5em; +} + +div.sphinxsidebarwrapper{ + padding: 20px 0; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Arial, sans-serif; + color: #222; + font-size: 1.2em; + font-weight: normal; + margin: 0; + padding: 5px 10px; + background-color: #ddd; + text-shadow: 1px 1px 0 white +} + +div.sphinxsidebar h4{ + font-size: 1.1em; +} + +div.sphinxsidebar h3 a { + color: #444; +} + + +div.sphinxsidebar p { + color: #888; + padding: 5px 20px; +} + +div.sphinxsidebar p.topless { +} + +div.sphinxsidebar ul { + margin: 10px 20px; + padding: 0; + color: #000; +} + +div.sphinxsidebar a { + color: #444; +} + +div.sphinxsidebar input { + border: 1px solid #ccc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar input[type=text]{ + margin-left: 20px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #005B81; + text-decoration: none; +} + +a:hover { + color: #E32E00; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Arial, sans-serif; + background-color: #BED4EB; + font-weight: normal; + color: #212224; + margin: 30px 0px 10px 0px; + padding: 5px 0 5px 10px; + text-shadow: 0px 1px 0 white +} + +div.body h1 { border-top: 20px solid white; margin-top: 0; font-size: 200%; } +div.body h2 { font-size: 150%; background-color: #C8D5E3; } +div.body h3 { font-size: 120%; background-color: #D8DEE3; } +div.body h4 { font-size: 110%; background-color: #D8DEE3; } +div.body h5 { font-size: 100%; background-color: #D8DEE3; } +div.body h6 { font-size: 100%; background-color: #D8DEE3; } + +a.headerlink { + color: #c60f0f; + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + background-color: #c60f0f; + color: white; +} + +div.body p, div.body dd, div.body li { + line-height: 1.5em; +} + +div.admonition p.admonition-title + p { + display: inline; +} + +div.highlight{ + background-color: white; +} + +div.note { + background-color: #eee; + border: 1px solid #ccc; +} + +div.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +div.topic { + background-color: #eee; +} + +div.warning { + background-color: #ffe4e4; + border: 1px solid #f66; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre { + padding: 10px; + background-color: White; + color: #222; + line-height: 1.2em; + border: 1px solid #C6C9CB; + font-size: 1.1em; + margin: 1.5em 0 1.5em 0; + -webkit-box-shadow: 1px 1px 1px #d8d8d8; + -moz-box-shadow: 1px 1px 1px #d8d8d8; +} + +tt { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ + font-size: 1.1em; + font-family: monospace; +} diff --git a/sphinx/themes/nature/theme.conf b/sphinx/themes/nature/theme.conf new file mode 100644 index 000000000..1cc400446 --- /dev/null +++ b/sphinx/themes/nature/theme.conf @@ -0,0 +1,4 @@ +[theme] +inherit = basic +stylesheet = nature.css +pygments_style = tango From 57c2b553ae94079ee9e6617252d35cb81069f12a Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 3 Jan 2010 19:44:40 +0100 Subject: [PATCH 03/10] Add preview images for nature theme. --- doc/themes/fullsize/nature.png | Bin 0 -> 44469 bytes doc/themes/nature.png | Bin 0 -> 40786 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/themes/fullsize/nature.png create mode 100644 doc/themes/nature.png diff --git a/doc/themes/fullsize/nature.png b/doc/themes/fullsize/nature.png new file mode 100644 index 0000000000000000000000000000000000000000..d42957e3b0589fdfbe85f216ff45c22dd1a624b8 GIT binary patch literal 44469 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 literal 0 HcmV?d00001 diff --git a/doc/themes/nature.png b/doc/themes/nature.png new file mode 100644 index 0000000000000000000000000000000000000000..053970d8ca7d1a6150494e204971465629dd993b GIT binary patch literal 40786 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 literal 0 HcmV?d00001 From fc3113d847fcd74bbff0e86426d9b3921e03b994 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 3 Jan 2010 22:22:33 +0100 Subject: [PATCH 04/10] Fix long line. --- sphinx/environment.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sphinx/environment.py b/sphinx/environment.py index d3e3196ba..d22cf5e49 100644 --- a/sphinx/environment.py +++ b/sphinx/environment.py @@ -1235,7 +1235,8 @@ class BuildEnvironment: # keywords are referenced by named labels docname, labelid, _ = self.labels.get(target, ('','','')) if not docname: - #self.warn(node['refdoc'], 'unknown keyword: %s' % target) + #self.warn(node['refdoc'], + # 'unknown keyword: %s' % target) newnode = contnode else: newnode = nodes.reference('', '') From 46a8290b9512b0747a88b1375ce37b9bbf558431 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 3 Jan 2010 22:24:30 +0100 Subject: [PATCH 05/10] Fix test, adding the new theme. --- tests/test_theming.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_theming.py b/tests/test_theming.py index 6dd5e12c7..be5105a65 100644 --- a/tests/test_theming.py +++ b/tests/test_theming.py @@ -25,7 +25,7 @@ def test_theme_api(app): # test Theme class API assert set(Theme.themes.keys()) == \ set(['basic', 'default', 'scrolls', 'agogo', 'sphinxdoc', - 'traditional', 'testtheme', 'ziptheme', 'epub']) + 'traditional', 'testtheme', 'ziptheme', 'epub', 'nature']) assert Theme.themes['testtheme'][1] is None assert isinstance(Theme.themes['ziptheme'][1], zipfile.ZipFile) From 4c47d2d8e28bbd49a1ac5caf84af17c6e0c291da Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Wed, 6 Jan 2010 11:48:25 +0100 Subject: [PATCH 06/10] #295: Fix escaping of hyperref targets in LaTeX output. --- CHANGES | 2 ++ sphinx/writers/latex.py | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 1f60c6f9c..2cf1b72cb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ Release 0.6.4 (in development) ============================== +* #295: Fix escaping of hyperref targets in LaTeX output. + * #302: Fix links generated by the ``:doc:`` role for LaTeX output. * #286: collect todo nodes after the whole document has been read; diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py index 8a8285ecf..8e1a6a80b 100644 --- a/sphinx/writers/latex.py +++ b/sphinx/writers/latex.py @@ -246,6 +246,9 @@ class LaTeXTranslator(nodes.NodeVisitor): return (HEADER % self.elements + self.highlighter.get_stylesheet() + u''.join(self.body) + FOOTER % self.elements) + def idescape(self, id): + return str(unicode(id).translate(tex_escape_map)) + def visit_document(self, node): self.footnotestack.append(self.collect_footnotes(node)) self.curfilestack.append(node.get('docname', '')) @@ -459,7 +462,7 @@ class LaTeXTranslator(nodes.NodeVisitor): d = self.descstack[-1] d.cls = d.cls.rstrip('.') if node.parent['desctype'] != 'describe' and node['ids']: - hyper = '\\hypertarget{%s}{}' % node['ids'][0] + hyper = '\\hypertarget{%s}{}' % self.idescape(node['ids'][0]) else: hyper = '' if d.count == 0: @@ -750,7 +753,7 @@ class LaTeXTranslator(nodes.NodeVisitor): def visit_term(self, node): ctx = '] \\leavevmode' if node.has_key('ids') and node['ids']: - ctx += '\\hypertarget{%s}{}' % node['ids'][0] + ctx += '\\hypertarget{%s}{}' % self.idescape(node['ids'][0]) self.body.append('\\item[') self.context.append(ctx) def depart_term(self, node): From 9e480add565471ed7940ddd14be86aa4faa2da25 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Wed, 6 Jan 2010 12:07:46 +0100 Subject: [PATCH 07/10] Remove unused statement. --- sphinx/util/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py index 59589b6d9..70e29a837 100644 --- a/sphinx/util/__init__.py +++ b/sphinx/util/__init__.py @@ -408,7 +408,6 @@ def movefile(source, dest): def copytimes(source, dest): """Copy a file's modification times.""" st = os.stat(source) - mode = stat.S_IMODE(st.st_mode) if hasattr(os, 'utime'): os.utime(dest, (st.st_atime, st.st_mtime)) From 975e0175ccc824042664a38aaa2bae0ed4d021c5 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Wed, 6 Jan 2010 15:42:13 +0100 Subject: [PATCH 08/10] Restore compatibility with Pygments >= 1.2. --- CHANGES | 2 ++ sphinx/highlighting.py | 9 ++++++--- sphinx/util/texescape.py | 8 +++++--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 2cf1b72cb..c6004c3f0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ Release 0.6.4 (in development) ============================== +* Restore compatibility with Pygments >= 1.2. + * #295: Fix escaping of hyperref targets in LaTeX output. * #302: Fix links generated by the ``:doc:`` role for LaTeX output. diff --git a/sphinx/highlighting.py b/sphinx/highlighting.py index 3f029dc7a..3de968806 100644 --- a/sphinx/highlighting.py +++ b/sphinx/highlighting.py @@ -20,7 +20,7 @@ except ImportError: # parser is not available on Jython parser = None -from sphinx.util.texescape import tex_hl_escape_map +from sphinx.util.texescape import tex_hl_escape_map_old, tex_hl_escape_map_new try: import pygments @@ -127,7 +127,7 @@ class PygmentsBridge(object): # first, escape highlighting characters like Pygments does source = source.translate(escape_hl_chars) # then, escape all characters nonrepresentable in LaTeX - source = source.translate(tex_hl_escape_map) + source = source.translate(tex_hl_escape_map_old) return '\\begin{Verbatim}[commandchars=@\\[\\]]\n' + \ source + '\\end{Verbatim}\n' @@ -204,7 +204,10 @@ class PygmentsBridge(object): return highlight(source, lexer, self.fmter[bool(linenos)]) else: hlsource = highlight(source, lexer, self.fmter[bool(linenos)]) - return hlsource.translate(tex_hl_escape_map) + if hlsource.startswith(r'\begin{Verbatim}[commandchars=\\\{\}'): + # Pygments >= 1.2 + return hlsource.translate(tex_hl_escape_map_new) + return hlsource.translate(tex_hl_escape_map_old) except ErrorToken: # this is most probably not the selected language, # so let it pass unhighlighted diff --git a/sphinx/util/texescape.py b/sphinx/util/texescape.py index 00d0325c4..737908295 100644 --- a/sphinx/util/texescape.py +++ b/sphinx/util/texescape.py @@ -99,8 +99,9 @@ tex_replacements = [ ] tex_escape_map = {} -tex_hl_escape_map = {} -_new_cmd_chars = {ord(u'\\'): u'@', ord(u'{'): u'[', ord(u'}'): u']'} +tex_hl_escape_map_old = {} # replacement map for Pygments <= 1.1 +tex_hl_escape_map_new = {} # replacement map for Pygments >= 1.2 +_old_cmd_chars = {ord(u'\\'): u'@', ord(u'{'): u'[', ord(u'}'): u']'} def init(): for a, b in tex_replacements: @@ -108,4 +109,5 @@ def init(): for a, b in tex_replacements: if a in u'[]{}\\': continue - tex_hl_escape_map[ord(a)] = b.translate(_new_cmd_chars) + tex_hl_escape_map_new[ord(a)] = b + tex_hl_escape_map_old[ord(a)] = b.translate(_old_cmd_chars) From 86f0e75b75f45328eaa604005ce00d302961ce2a Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Wed, 6 Jan 2010 15:43:31 +0100 Subject: [PATCH 09/10] Remove unused variable. --- sphinx/util/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py index 70e29a837..0b9a1ace0 100644 --- a/sphinx/util/__init__.py +++ b/sphinx/util/__init__.py @@ -277,7 +277,6 @@ def patfilter(names, pat): Return the subset of the list NAMES that match PAT. Adapted from fnmatch module. """ - result = [] if pat not in _pat_cache: _pat_cache[pat] = re.compile(_translate_pattern(pat)) match = _pat_cache[pat].match From 6f1a3b5c3fe474367cace185183c52eecb0c7792 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Wed, 6 Jan 2010 15:51:02 +0100 Subject: [PATCH 10/10] Fix config value names. --- doc/concepts.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/concepts.rst b/doc/concepts.rst index e6d5fa026..d9979d3fc 100644 --- a/doc/concepts.rst +++ b/doc/concepts.rst @@ -124,8 +124,8 @@ tables of contents. The ``toctree`` directive is the central element. In the end, all documents in the :term:`source directory` (or subdirectories) must occur in some ``toctree`` directive; Sphinx will emit a warning if it finds a file that is not included, because that means that this file will not - be reachable through standard navigation. Use :confval:`unused_documents` to - explicitly exclude documents from building, and :confval:`exclude_dirs` to + be reachable through standard navigation. Use :confval:`unused_docs` to + explicitly exclude documents from building, and :confval:`exclude_trees` to exclude whole directories. The "master document" (selected by :confval:`master_doc`) is the "root" of