diff options
author | Waylan Limberg <waylan@gmail.com> | 2008-08-09 22:55:44 -0400 |
---|---|---|
committer | Waylan Limberg <waylan@gmail.com> | 2008-08-09 22:55:44 -0400 |
commit | 2b7e391fcd51d3468133f628f2e013574cf16536 (patch) | |
tree | 9aeda2cb0999ecab0531eedb762a7d4f2a233204 /mdx_tables.py | |
parent | b941beb7973025d359f3e7839a5b99ea7f62c534 (diff) | |
download | markdown-2b7e391fcd51d3468133f628f2e013574cf16536.tar.gz markdown-2b7e391fcd51d3468133f628f2e013574cf16536.tar.bz2 markdown-2b7e391fcd51d3468133f628f2e013574cf16536.zip |
reorganized the extensions into a seperate dir. Much cleaner looking file system IMO.
Diffstat (limited to 'mdx_tables.py')
-rw-r--r-- | mdx_tables.py | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/mdx_tables.py b/mdx_tables.py deleted file mode 100644 index 829044c..0000000 --- a/mdx_tables.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python - -""" -Table extension for Python-Markdown -""" - -import markdown -from markdown import etree - -class TablePattern(markdown.Pattern) : - def __init__ (self, md): - markdown.Pattern.__init__(self, r'(^|\n)\|([^\n]*)\|') - self.md = md - - def handleMatch(self, m): - - # a single line represents a row - tr = etree.Element('tr') - - # chunks between pipes represent cells - - for t in m.group(3).split('|'): - - if len(t) >= 2 and t.startswith('*') and t.endswith('*'): - # if a cell is bounded by asterisks, it is a <th> - td = etree.Element('th') - t = t[1:-1] - else: - # otherwise it is a <td> - td = etree.Element('td') - - # add text ot inline section, later it will be - # processed by core - inline = etree.SubElement(td, "inline") - inline.text = t - - tr.append(td) - tr.tail = "\n" - - return tr - - -class TablePostprocessor: - - def _findElement(self, element, name): - result = [] - for child in element: - if child.tag == name: - result.append(child) - result += self._findElement(child, name) - return result - - def run(self, root): - - for element in self._findElement(root, "p"): - for child in element: - if child.tail: - element.tag = "table" - break - - - - -class TableExtension(markdown.Extension): - def extendMarkdown(self, md, md_globals): - md.inlinePatterns.insert(0, TablePattern(md)) - md.postprocessors.append(TablePostprocessor()) - - -def makeExtension(configs): - return TableExtension(configs) - |