def setup(app):
#app.add_autodocumenter(RuleDocumenter)
app.add_directive('snakemakerule', snakemake_rule_directive, True, (0,0,0))
# Add visit/depart methods to HTML-Translator:
def visit_perform(self, node):
# Ideally, we should use sphinx but this is a simple temporary solution
from docutils import core
from docutils.writers.html4css1 import Writer
w = Writer()
try:
res = core.publish_parts(node.rule_docstring, writer=w)['html_body']
self.body.append('<div class="snakemake">' + res + '</div>' )
node.children = []
except Exception as err:
print(err)
self.body.append('<div class="snakemake"> no docstring </div>' )
def depart_perform(self, node):
node.children = []
def visit_ignore(self, node):
node.children = []
def depart_ignore(self, node):
node.children = []
app.add_node(snakemake_rule,
html=(visit_perform, depart_perform),
latex=(visit_ignore, depart_ignore))
评论列表
文章目录