浏览代码

Made fix for quote characters with SmartPants + parsed literal blocks conditional on Sphinx version.

This hs been fixed upstream in releases >= 1.0.8 (issue 647.)

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16952 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Ramiro Morales 13 年之前
父节点
当前提交
b95c06d423
共有 1 个文件被更改,包括 12 次插入11 次删除
  1. 12 11
      docs/_ext/djangodocs.py

+ 12 - 11
docs/_ext/djangodocs.py

@@ -16,7 +16,7 @@ except ImportError:
         except ImportError:
             json = None
 
-from sphinx import addnodes, roles
+from sphinx import addnodes, roles, __version__ as sphinx_ver
 from sphinx.builders.html import StandaloneHTMLBuilder
 from sphinx.writers.html import SmartyPantsHTMLTranslator
 from sphinx.util.console import bold
@@ -139,16 +139,17 @@ class DjangoHTMLTranslator(SmartyPantsHTMLTranslator):
     def depart_desc_parameterlist(self, node):
         self.body.append(')')
 
-    #
-    # Don't apply smartypants to literal blocks
-    #
-    def visit_literal_block(self, node):
-        self.no_smarty += 1
-        SmartyPantsHTMLTranslator.visit_literal_block(self, node)
-
-    def depart_literal_block(self, node):
-        SmartyPantsHTMLTranslator.depart_literal_block(self, node)
-        self.no_smarty -= 1
+    if sphinx_ver < '1.0.8':
+        #
+        # Don't apply smartypants to literal blocks
+        #
+        def visit_literal_block(self, node):
+            self.no_smarty += 1
+            SmartyPantsHTMLTranslator.visit_literal_block(self, node)
+
+        def depart_literal_block(self, node):
+            SmartyPantsHTMLTranslator.depart_literal_block(self, node)
+            self.no_smarty -= 1
 
     #
     # Turn the "new in version" stuff (versionadded/versionchanged) into a