Commits

grasbauer  committed 3ff5222

replace underscore

  • Participants
  • Parent commits 09917e2

Comments (0)

Files changed (1)

File sphinxext/underscore.py

+#only because in zope a name starting with underscrore isn't possible
+#stolen from: http://www.mail-archive.com/sphinx-dev@googlegroups.com/msg01626.html
+
+import os
+import shutil
+
+
+def setup(app):
+    app.connect('html-page-context', change_pathto)
+    app.connect('build-finished', move_private_folders)
+
+def change_pathto(app, pagename, templatename, context, doctree):
+    """
+    Replace pathto helper to change paths to folders with a leading
+    underscore.
+    """
+    pathto = context.get('pathto')
+    def gh_pathto(otheruri, *args, **kw):
+        if otheruri.startswith('_'):
+            otheruri = otheruri[1:]
+        return pathto(otheruri, *args, **kw)
+    context['pathto'] = gh_pathto
+
+def move_private_folders(app, e):
+    """
+    remove leading underscore from folders in in the output folder
+    """
+    def join(dir):
+        return os.path.join(app.builder.outdir, dir)
+
+    for item in os.listdir(app.builder.outdir):
+        if item.startswith('_') and os.path.isdir(join(item)):
+            shutil.move(join(item), join(item[1:]))
+