本文整理汇总了Python中docutils.nodes.General方法的典型用法代码示例。如果您正苦于以下问题:Python nodes.General方法的具体用法?Python nodes.General怎么用?Python nodes.General使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类docutils.nodes
的用法示例。
在下文中一共展示了nodes.General方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_simple_html_directive
# 需要导入模块: from docutils import nodes [as 别名]
# 或者: from docutils.nodes import General [as 别名]
def create_simple_html_directive(name, pre, post,
has_content=True, match_titles=False):
"""
Creates a node class, directive class and setup method for the given
parameters.
:param name: String representing the RST directive to add.
:param pre: String representing HTML to come before directive content.
:param post: String representing HTML to come after directive content.
:param has_content: Boolean indicating whether the directive accepts
a content block.
:param match_titles: Boolean indicating whether headings and titles may
be included in the block contained within this directive.
"""
node_class = type(
name.replace('-', '_'), (nodes.General, nodes.Element), {}
)
def visit_html(self, node):
self.body.append(pre)
def depart_html(self, node):
self.body.append(post)
def run_directive(self):
node = node_class()
if has_content:
text = self.content
self.state.nested_parse(text, self.content_offset,
node, match_titles=match_titles)
# FIXME: This should add more stuff.
self.state.document.settings.record_dependencies.add(__file__)
return [node]
directive_class = type(name.title() + 'Directive', (Directive,), {
"has_content": has_content,
"run": run_directive,
})
def setup(app):
app.add_node(node_class,
html=(visit_html, depart_html))
app.add_directive(name, directive_class)
return node_class, directive_class, setup