Python sphinx.util.compat 模块,Directive() 实例源码

我们从Python开源项目中,提取了以下2个代码示例,用于说明如何使用sphinx.util.compat.Directive()

项目:adaptivemd    作者:markovmodel    | 项目源码 | 文件源码
def setup(app):
    setup.app = app
    setup.config = app.config
    setup.confdir = app.confdir

#    app.add_stylesheet('css/md.css')

    app.add_config_value('pandoc_from', ['markdown', 'mediawiki'], 'env')

    # Directive pandoc:: [file.ext]
    app.add_directive('pandoc', MakePandocDirective(''))

    # Directive [type]:: [file.xyz] where type can be a pandoc type
    # like 'markdown', 'mediawiki'
    for from_type in setup.config.pandoc_from:
        app.add_directive(from_type, MakePandocDirective(from_type))

    return {
        'parallel_read_safe' : True,
        'parallel_write_safe' : True
    }
项目:docs    作者:hasura    | 项目源码 | 文件源码
def create_template_factory(app):
    class TemplateDefinition(Directive):
        has_content = True
        required_arguments = 1
        optional_arguments = 1
        final_argument_whitespace = True
        option_spec = {'yaml': directives.flag}

        def run(self):
            name = self.arguments[0]
            defined_in = self.state.document.current_source
            source_path = self.state.document.get('source')

            # Register this directive as existing in the current document.
            if not source_path in REGISTERED:
                REGISTERED[source_path] = set()

            if not name in REGISTERED[source_path]:
                template = '\n'.join(self.content)
                is_yaml = 'yaml' in self.options
                directive = create_directive(name, template, defined_in, is_yaml)
                app.add_directive(name, directive)

                REGISTERED[source_path].add(name)

            return []

    return TemplateDefinition