summaryrefslogtreecommitdiff
path: root/docs/_ext/vyos.py
diff options
context:
space:
mode:
authorRobert Göhler <github@ghlr.de>2019-12-29 10:21:10 +0100
committerRobert Göhler <github@ghlr.de>2019-12-29 10:21:10 +0100
commitfaf67e43dff6c16aba6df68dbfb490daaa0ff584 (patch)
tree5fd61fb78ffaf1d1a596ec3174695f5991804780 /docs/_ext/vyos.py
parente983a8dabcf40aa38219dcb7933a137ebcc3f869 (diff)
downloadvyos-documentation-faf67e43dff6c16aba6df68dbfb490daaa0ff584.tar.gz
vyos-documentation-faf67e43dff6c16aba6df68dbfb490daaa0ff584.zip
Sphinx: prepare tex layout
Diffstat (limited to 'docs/_ext/vyos.py')
-rw-r--r--docs/_ext/vyos.py56
1 files changed, 52 insertions, 4 deletions
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('</div>\n')
+ # self.body.append('</div>\n')
+ self.body.append('<a class="cmdlink" href="#%s" ' %
+ node.children[0]['refid'] +
+ 'title="%s"></a></div>' % (
+ '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('</div>\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('</span>\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], []