예제 #1
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms(
         [BibliographyTransform, ShowUrlsTransform, LaTeXFootnoteTransform])
     transformer.apply_transforms()
예제 #2
0
파일: __init__.py 프로젝트: nwf/sphinx
    def apply_post_transforms(self, doctree, docname):
        # type: (nodes.Node, unicode) -> None
        """Apply all post-transforms."""
        try:
            # set env.docname during applying post-transforms
            self.temp_data['docname'] = docname
            if hasattr(doctree, 'settings'):
                doctree.settings.env = self

            transformer = SphinxTransformer(doctree)
            transformer.add_transforms(self.app.post_transforms)
            transformer.apply_transforms()
        finally:
            self.temp_data.clear()

        # allow custom references to be resolved
        self.app.emit('doctree-resolved', doctree, docname)
예제 #3
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([
         BibliographyTransform, ShowUrlsTransform, LaTeXFootnoteTransform,
         LiteralBlockTransform, DocumentTargetTransform,
         IndexInSectionTitleTransform
     ])
     transformer.apply_transforms()
예제 #4
0
파일: toctree.py 프로젝트: rds0751/odfo
    def process_only_nodes(self, doctree):
        # type: (nodes.Node) -> None
        # Lazy loading
        from sphinx.transforms import SphinxTransformer
        from sphinx.transforms.post_transforms import OnlyNodeTransform

        transformer = SphinxTransformer(doctree)
        transformer.set_environment(self.env)
        transformer.add_transform(OnlyNodeTransform)
        transformer.apply_transforms()
예제 #5
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([BibliographyTransform,
                                 ShowUrlsTransform,
                                 LaTeXFootnoteTransform])
     transformer.apply_transforms()
예제 #6
0
파일: toctree.py 프로젝트: nwf/sphinx
    def process_only_nodes(self, doctree):
        # type: (nodes.Node) -> None
        # Lazy loading
        from sphinx.transforms import SphinxTransformer
        from sphinx.transforms.post_transforms import OnlyNodeTransform

        transformer = SphinxTransformer(doctree)
        transformer.set_environment(self.env)
        transformer.add_transform(OnlyNodeTransform)
        transformer.apply_transforms()
예제 #7
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([BibliographyTransform,
                                 ShowUrlsTransform,
                                 LaTeXFootnoteTransform,
                                 LiteralBlockTransform,
                                 DocumentTargetTransform,
                                 IndexInSectionTitleTransform])
     transformer.apply_transforms()
예제 #8
0
파일: __init__.py 프로젝트: yegle/sphinx
    def apply_post_transforms(self, doctree, docname):
        # type: (nodes.Node, unicode) -> None
        """Apply all post-transforms."""
        try:
            # set env.docname during applying post-transforms
            self.temp_data['docname'] = docname

            transformer = SphinxTransformer(doctree)
            transformer.set_environment(self)
            transformer.add_transforms(self.app.post_transforms)
            transformer.apply_transforms()
        finally:
            self.temp_data.clear()

        # allow custom references to be resolved
        self.app.emit('doctree-resolved', doctree, docname)
예제 #9
0
파일: __init__.py 프로젝트: vnmabus/sphinx
    def apply_post_transforms(self, doctree: nodes.document, docname: str) -> None:
        """Apply all post-transforms."""
        try:
            # set env.docname during applying post-transforms
            backup = copy(self.temp_data)
            self.temp_data['docname'] = docname

            transformer = SphinxTransformer(doctree)
            transformer.set_environment(self)
            transformer.add_transforms(self.app.registry.get_post_transforms())
            transformer.apply_transforms()
        finally:
            self.temp_data = backup

        # allow custom references to be resolved
        self.events.emit('doctree-resolved', doctree, docname)
    def fixup_node(node):
        # super dirty hack to get converters to run on stored AST nodes
        try:
            # set env.docname during applying post-transforms
            backup = copy(env.temp_data)
            env.temp_data['docname'] = docname

            transformer = SphinxTransformer(node)
            transformer.set_environment(env)
            transformer.add_transforms(app.registry.get_post_transforms())
            transformer.apply_transforms()
        except ExtensionError:
            import pdb
            pdb.post_mortem()
        finally:
            env.temp_data = backup
예제 #11
0
    def new_document(self) -> nodes.document:
        """Creates a new document object which having a special reporter object good
        for logging.
        """
        document = super().new_document()

        # substitute transformer
        document.transformer = SphinxTransformer(document)
        document.transformer.set_environment(self.settings.env)

        # substitute reporter
        reporter = document.reporter
        document.reporter = LoggingReporter.from_reporter(reporter)

        return document
예제 #12
0
    def new_document(self):
        # type: () -> nodes.document
        """Creates a new document object which having a special reporter object good
        for logging.
        """
        document = standalone.Reader.new_document(self)

        # substitute transformer
        document.transformer = SphinxTransformer(document)
        document.transformer.set_environment(self.env)

        # substitute reporter
        reporter = document.reporter
        document.reporter = LoggingReporter.from_reporter(reporter)

        return document
예제 #13
0
    def new_document(self) -> nodes.document:
        """
        Creates a new document object which has a special reporter object good
        for logging.
        """
        document = super().new_document()
        document.__class__ = addnodes.document  # replace the class with patched version

        # substitute transformer
        document.transformer = SphinxTransformer(document)
        document.transformer.set_environment(self.settings.env)

        # substitute reporter
        reporter = document.reporter
        document.reporter = LoggingReporter.from_reporter(reporter)

        return document
예제 #14
0
    def apply_post_transforms(self, doctree, docname):
        # type: (nodes.Node, unicode) -> None
        """Apply all post-transforms."""
        try:
            # set env.docname during applying post-transforms
            backup = copy(self.temp_data)
            self.temp_data['docname'] = docname

            transformer = SphinxTransformer(doctree)
            transformer.set_environment(self)
            transformer.add_transforms(self.app.registry.get_post_transforms())
            transformer.apply_transforms()
        finally:
            self.temp_data = backup

        # allow custom references to be resolved
        self.app.emit('doctree-resolved', doctree, docname)
예제 #15
0
파일: latex.py 프로젝트: yukukky-old/sphinx
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([SubstitutionDefinitionsRemover])
     transformer.apply_transforms()
예제 #16
0
파일: __init__.py 프로젝트: wwwa/sphinx
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.apply_transforms()
예제 #17
0
파일: latex.py 프로젝트: the-yeti/sphinx
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([SubstitutionDefinitionsRemover])
     transformer.apply_transforms()