def parseText(text): g = MarkdownGrammar() resultSoFar = [] result, rest = g.parse(text, resultSoFar=resultSoFar, skipWS=False) v = SimpleVisitor(g) print(result[0].render()) return v.visit(result)
def main(text): g = MarkdownGrammar() resultSoFar = [] result, rest = g.parse(text, resultSoFar=resultSoFar, skipWS=False) # print rest.encode('gbk'), result[0].render() # print '--------------------------' # print SimpleVisitor().visit(result).encode('gbk') # print '--------------------------' v = MarkdownHtmlVisitor(template, tag_class, g) print v.template(result).encode('utf8')
def parseHtml(text, template=None, tag_class=None, block_callback=None, init_callback=None): template = template or '' tag_class = tag_class or {} g = MarkdownGrammar() resultSoFar = [] result, rest = g.parse(text, resultSoFar=resultSoFar, skipWS=False # ,root=g['dl_dd_2'] ) v = MarkdownHtmlVisitor(template, tag_class, g, block_callback=block_callback, init_callback=init_callback) print(result[0].render()) return v.template(result)
# return '' if __name__ == '__main__': text = """ ## Web的挑战 * 前端展示 * 后端处理 * 异步处理 * 批量处理 ## 前端展示 ## ### html5 ### 増加了更多的语义,如article, section, sidebar, header, footer等,増加了视频支持,本地存储,canvas,websocket等。 http://slides.html5rocks.com ``` <!DOCTYPE html> ``` """ g = MarkdownGrammar() result, rest = g.parse(text, resultSoFar=[], skipWS=False) # print rest.encode('gbk'), result[0].render() # t = TutCVisitor(g) # new_text = t.visit(result, True) # print new_text, t.max_id # result, rest = g.parse(new_text, resultSoFar=[], skipWS=False) print rest.encode('gbk'), result[0].render() result = RevealVisitor(grammar=g).visit(result, True) # result = TutTextVisitor(t.max_id, g).visit(result, True) print 'xxxxxxxxxxxxxx', result