diff options
Diffstat (limited to 'WikiTrans/wiki2html.py')
-rw-r--r-- | WikiTrans/wiki2html.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/WikiTrans/wiki2html.py b/WikiTrans/wiki2html.py index 81b918f..7c71602 100644 --- a/WikiTrans/wiki2html.py +++ b/WikiTrans/wiki2html.py @@ -140,12 +140,31 @@ class HtmlTagNode(WikiTagNode): def format(self): if self.tag == 'code': self.parser.nested += 1 s = self.content.format() self.parser.nested -= 1 return '<pre><code>' + s + '</code></pre>' #FIXME + elif self.tag == 'ref': + n = self.idx+1 + return '<sup id="cite_ref-%d" class="reference"><a name="cite_ref-%d" href=#cite_note-%d">%d</a></sup>' % (n,n,n,n) + elif self.tag == 'references': + s = '<div class="references">\n' + s += '<ol class="references">\n' + n = 0 + for ref in self.parser.references: + n += 1 + s += ('<li id="cite_note-%d">' + \ + '<span class="mw-cite-backlink">' + \ + '<b><a href="#cite_ref-%d">^</a></b>' + \ + '</span>' + \ + '<span class="reference-text">' + \ + ref.content.format() + \ + '</span>' + \ + '</li>\n') % (n,n) + s += '</ol>\n</div>\n' + return s else: s = '<' + self.tag if self.args: s += ' ' + str(self.args) s += '>' s += self.content.format() @@ -174,13 +193,13 @@ class HtmlWikiMarkup (WikiMarkup): FIXME: 1. See WikiMarkup for a list 2. [[official position]]s : final 's' gets after closing </a> tag. Should be before. """ nested = 0 - + references = [] def __init__(self, *args, **kwargs): super(HtmlWikiMarkup, self).__init__(*args, **kwargs) self.token_class['LINK'] = HtmlLinkNode self.token_class['TMPL'] = HtmlLinkNode self.token_class['REF'] = HtmlRefNode self.token_class['IT'] = HtmlFontNode |