gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-docs] 01/03: omit deep section names


From: gnunet
Subject: [GNUnet-SVN] [taler-docs] 01/03: omit deep section names
Date: Wed, 18 Sep 2019 18:52:01 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository docs.

commit e0ffb439998894f368f24fcea8fbdec4fad00a99
Author: Florian Dold <address@hidden>
AuthorDate: Wed Sep 18 18:49:53 2019 +0200

    omit deep section names
---
 _exts/taler_sphinx_theme/__init__.py | 27 +++++++++++++++++++++++++--
 _exts/tsref.py                       |  5 ++++-
 2 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/_exts/taler_sphinx_theme/__init__.py 
b/_exts/taler_sphinx_theme/__init__.py
index 9ac8f38..2d3c61c 100644
--- a/_exts/taler_sphinx_theme/__init__.py
+++ b/_exts/taler_sphinx_theme/__init__.py
@@ -17,7 +17,8 @@ def setup(app):
     """Setup conntects events to the sitemap builder"""
     app.connect('html-page-context', add_html_link)
     app.connect('build-finished', create_sitemap)
-    app.set_translator('html', HTMLTranslator)
+    app.set_translator('html', MyHTMLTranslator)
+    app.set_translator('html-linked', MyHTMLTranslator)
     app.sitemap_links = []
     app.add_html_theme('taler_sphinx_theme', 
path.abspath(path.dirname(__file__) + "/guzzle_sphinx_theme"))
 
@@ -53,7 +54,7 @@ def html_theme_path():
     return [os.path.dirname(os.path.abspath(__file__))]
 
 
-class HTMLTranslator(SphinxHTMLTranslator):
+class MyHTMLTranslator(SphinxHTMLTranslator):
     """
     Handle translating to bootstrap structure.
     """
@@ -141,3 +142,25 @@ class HTMLTranslator(SphinxHTMLTranslator):
 
     def visit_container(self, node):
         self.body.append(self.starttag(node, 'div', CLASS='docutils'))
+
+    def add_secnumber(self, node):
+        # type: (nodes.Element) -> None
+        if node.get('secnumber'):
+            numbers = list(map(str, node['secnumber']))
+            if len(numbers) <= 3:
+                self.body.append('.'.join(numbers) + self.secnumber_suffix)
+        elif isinstance(node.parent, nodes.section):
+            if self.builder.name == 'singlehtml':
+                docname = self.docnames[-1]
+                anchorname = "%s/#%s" % (docname, node.parent['ids'][0])
+                if anchorname not in self.builder.secnumbers:
+                    anchorname = "%s/" % docname  # try first heading which 
has no anchor
+            else:
+                anchorname = '#' + node.parent['ids'][0]
+                if anchorname not in self.builder.secnumbers:
+                    anchorname = ''  # try first heading which has no anchor
+            if self.builder.secnumbers.get(anchorname):
+                numbers = list(self.builder.secnumbers[anchorname])
+                if len(numbers) <= 3:
+                    self.body.append('.'.join(map(str, numbers)) +
+                                     self.secnumber_suffix)
diff --git a/_exts/tsref.py b/_exts/tsref.py
index ae0e924..daeb08c 100644
--- a/_exts/tsref.py
+++ b/_exts/tsref.py
@@ -171,7 +171,10 @@ class LinkFilter(Filter):
                 defname = make_id('tsref-type-' + value);
                 t = copy_token(ttype)
                 if defname in id_to_doc:
-                    current_docname = self.app.builder._current_docname
+                    if hasattr(self.app.builder, "_current_docname"):
+                        current_docname = self.app.builder._current_docname
+                    else:
+                        current_docname = "(unknown-doc)"
                     docname = id_to_doc[defname]
                     uri = self.app.builder.get_relative_uri(current_docname, 
docname)
                     href = uri + "#" + defname

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]