cubicweb/ext/markdown.py
changeset 11057 0b59724cb3f2
parent 10012 8c2c6fdd8d56
equal deleted inserted replaced
11052:058bb3dc685f 11057:0b59724cb3f2
       
     1 from __future__ import absolute_import
       
     2 import markdown
       
     3 
       
     4 import logging
       
     5 
       
     6 log = logging.getLogger(__name__)
       
     7 
       
     8 
       
     9 def markdown_publish(context, data):
       
    10     """publish a string formatted as MarkDown Text to HTML
       
    11 
       
    12     :type context: a cubicweb application object
       
    13 
       
    14     :type data: str
       
    15     :param data: some MarkDown text
       
    16 
       
    17     :rtype: unicode
       
    18     :return:
       
    19       the data formatted as HTML or the original data if an error occurred
       
    20     """
       
    21     md = markdown.Markdown()
       
    22     try:
       
    23         return md.convert(data)
       
    24     except:
       
    25         import traceback; traceback.print_exc()
       
    26         log.exception("Error while converting Markdown to HTML")
       
    27         return data