From ca6e49360be1b7d25b0ff4c11473063ffc05f1e7 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Tue, 26 May 2009 23:41:24 -0400 Subject: First successful coversion .rst -> .px -> .html --- doc/_ext/px_xlator.py | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'doc/_ext') diff --git a/doc/_ext/px_xlator.py b/doc/_ext/px_xlator.py index 65cb7610..7bc3d69a 100644 --- a/doc/_ext/px_xlator.py +++ b/doc/_ext/px_xlator.py @@ -6,25 +6,32 @@ def setup(app): app.add_builder(PxBuilder) -class PxTranslator(SmartyPantsHTMLTranslator): +BaseHtmlXlator = SmartyPantsHTMLTranslator +class PxTranslator(BaseHtmlXlator): """Adjust the HTML translator into a .px translator. """ def __init__(self, *args, **kwargs): - SmartyPantsHTMLTranslator.__init__(self, *args, **kwargs) + BaseHtmlXlator.__init__(self, *args, **kwargs) #self.document.reporter.debug_flag = 1 - + # To make the doc title be h0 (skipped), and the next h1. + self.initial_header_level = 0 + def visit_section(self, node): self.section_level += 1 def depart_section(self, node): self.section_level -= 1 + def visit_title(self, node): + if self.section_level == 1: + raise nodes.SkipNode + else: + BaseHtmlXlator.visit_title(self, node) # TODO: get history from here? def visit_field_list(self, node): - #self.document.reporter.debug_flag = 1; # This should go somewhere else. raise nodes.SkipNode def depart_field_list(self, node): pass @@ -35,14 +42,10 @@ class PxTranslator(SmartyPantsHTMLTranslator): def visit_field_body(self, node): pass def depart_field_body(self, node): pass - def xx_visit_Text(self, node): - self.body.append("XX") - SmartyPantsHTMLTranslator.visit_Text(self, node) - def visit_literal_block(self, node): if node.rawsource != node.astext(): # most probably a parsed-literal block -- don't highlight - return BaseTranslator.visit_literal_block(self, node) + return BaseHtmlXlator.visit_literal_block(self, node) lang = self.highlightlang if node.has_key('language'): # code-block directives @@ -51,7 +54,14 @@ class PxTranslator(SmartyPantsHTMLTranslator): self.body.append(self.encode(node.rawsource)) self.body.append('\n') raise nodes.SkipNode - + + def visit_desc_parameterlist(self, node): + self.body.append('(') + self.first_param = 1 + def depart_desc_parameterlist(self, node): + self.body.append(')') + + class PxBuilder(StandaloneHTMLBuilder): name = 'px' @@ -63,3 +73,8 @@ class PxBuilder(StandaloneHTMLBuilder): self.out_suffix = '.px' self.link_suffix = '.html' + + self.px_uri = "/code/coverage/" + + def get_target_uri(self, docname, typ=None): + return self.px_uri + docname + self.link_suffix -- cgit v1.2.1