33 lines
868 B
Python
Raw Normal View History

import markdown
from pygments import highlight
from pygments.lexers import guess_lexer
from pygments.formatters import HtmlFormatter
class MarkdownRenderer:
def __init__(self):
self.formatter = HtmlFormatter(
style='default',
noclasses=False,
cssclass='highlight'
)
self.md = markdown.Markdown(
extensions=[
'codehilite',
'fenced_code',
'tables',
'nl2br',
'sane_lists'
],
extension_configs={
'codehilite': {
'css_class': 'highlight',
'linenos': False,
'guess_lang': False
}
}
)
def render(self, markdown_text: str) -> str:
return self.md.convert(markdown_text)