From faf67e43dff6c16aba6df68dbfb490daaa0ff584 Mon Sep 17 00:00:00 2001 From: Robert Göhler Date: Sun, 29 Dec 2019 10:21:10 +0100 Subject: Sphinx: prepare tex layout --- docs/_ext/vyos.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 4 deletions(-) (limited to 'docs/_ext') diff --git a/docs/_ext/vyos.py b/docs/_ext/vyos.py index 7ef88d0a..71b039d1 100644 --- a/docs/_ext/vyos.py +++ b/docs/_ext/vyos.py @@ -11,19 +11,28 @@ def setup(app): 'https://phabricator.vyos.net/', '' ) app.add_role('vytask', vytask_role) + app.add_role('cfgcmd', cmd_role) + app.add_role('opcmd', cmd_role) print(app.config.vyos_phabricator_url) + app.add_node( + inlinecmd, + html=(inlinecmd.visit_span, inlinecmd.depart_span), + latex=(inlinecmd.tex, inlinecmd.tex), + text=(inlinecmd.visit_span, inlinecmd.depart_span) + ) + app.add_node( CmdDiv, html=(CmdDiv.visit_div, CmdDiv.depart_div), - latex=(CmdDiv.visit_div, CmdDiv.depart_div), + latex=(CmdDiv.tex, CmdDiv.tex), text=(CmdDiv.visit_div, CmdDiv.depart_div) ) app.add_node( CmdHeader, html=(CmdHeader.visit_div, CmdHeader.depart_div), - latex=(CmdHeader.visit_div, CmdHeader.depart_div), + latex=(CmdHeader.tex, CmdHeader.tex), text=(CmdHeader.visit_div, CmdHeader.depart_div) ) app.add_node(CfgcmdList) @@ -44,6 +53,7 @@ class CfgcmdList(nodes.General, nodes.Element): class OpcmdList(nodes.General, nodes.Element): pass +import json class CmdHeader(nodes.General, nodes.Element): @@ -53,7 +63,15 @@ class CmdHeader(nodes.General, nodes.Element): @staticmethod def depart_div(self, node=None): - self.body.append('\n') + # self.body.append('\n') + self.body.append('' % ( + 'Permalink to this Command')) + + @staticmethod + def tex(self, node=None): + pass class CmdDiv(nodes.General, nodes.Element): @@ -66,6 +84,31 @@ class CmdDiv(nodes.General, nodes.Element): def depart_div(self, node=None): self.body.append('\n') + @staticmethod + def tex(self, node=None): + pass + + +class inlinecmd(nodes.inline): + + @staticmethod + def visit_span(self, node): + self.body.append(self.starttag(node, 'span')) + + @staticmethod + def depart_span(self, node=None): + self.body.append('\n') + + @staticmethod + def tex(self, node=None): + print('=====================') + #print(json.dumps(dir(self))) + print('---------------------') + print((self.visit_inline)) + exit() + #self.body.append('\\chapter') + pass + class CfgcmdlistDirective(Directive): @@ -114,7 +157,7 @@ class CmdDirective(SphinxDirective): title_nodes, messages = self.state.inline_text(title_text, self.lineno) - title = nodes.inline(title_text, '', *title_nodes) + title = inlinecmd(title_text, '', *title_nodes) target['classes'] += [] title['classes'] += [cfgmode] heading_element.append(target) @@ -202,3 +245,8 @@ def vytask_role(name, rawtext, text, lineno, inliner, options={}, content=[]): node = nodes.reference( rawtext, utils.unescape(str(text)), refuri=ref, **options) return [node], [] + + +def cmd_role(name, rawtext, text, lineno, inliner, options={}, content=[]): + node = nodes.literal(text, text) + return [node], [] -- cgit v1.2.3