Package: hoep
Hoep is a Python binding for theHoedownMarkdown library.InstallHoep is available on PyPI so installation is only a quickpipaway.$ pip install hoepUnicodeHoep only accepts and returnsunicodeobjects in Python 2 andstrobjects in Python 3. This goes for custom renderers as well. All callbacks receive and must returnunicodeorstrobjects, respective to the Python version.Basic UsageUsing Hoep is pretty straightforward. You can either use therendermodule function or theHoepmodule class. The latter is more efficient if you are rendering multiple documents in a single go.# -*- coding: utf-8 -*-from__future__importunicode_literalsimporthoepashextensions=h.EXT_STRIKETHROUGHrender_flags=h.HTML_SMARTYPANTS# Method form.html=h.render('Some ~~bold~~ __"strong"__ text.',extensions,render_flags)# Class form.md=h.Hoep(extensions,render_flags)html=md.render('Some ~~bold~~ __"strong"__ text.')ExtensionsYou can enable multiple extensions by bitwise ORing them.EXT_AUTOLINK: Automatically parse URLs into links.EXT_DISABLE_INDENTED_CODE: Disables indented code blocks.EXT_FENCED_CODE: Enables fenced code blocks.EXT_FOOTNOTES: EnablesMarkdown Extra style footnotes.EXT_HIGHLIGHT: Enables ==marking== text.EXT_LAX_SPACING: Removes the need for an empty line between Markdown and raw HTML.EXT_NO_INTRA_EMPHASIS: Disables emphasis_between_words.EXT_QUOTE: “Quotes” are translated into<q>tags.EXT_SPACE_HEADERS: ATX style headers require a space after the opening number sign(s).EXT_STRIKETHROUGH: Enables ~~striking~~ text.EXT_SUPERSCRIPT: Enables super^script.EXT_TABLES: EnablesMarkdown Extra style tables.EXT_UNDERLINE: Translates<em>tags into<u>tags.Render flagsYou can enable multiple render flags by bitwise ORing them.HTML_ESCAPE: All HTML is escaped.HTML_EXPAND_TABS: Tabs are expanded to spaces.HTML_HARD_WRAP: Line breaks are translated into<br>tags.HTML_SAFELINK: Only links to safe protocols are allowed.HTML_SKIP_HTML: All HTML tags are stripped.HTML_SKIP_IMAGES: Images are ignored.HTML_SKIP_LINKS: Links are ignored.HTML_SKIP_STYLE:<style>tags are stripped.HTML_SMARTYPANTS: Enables SmartyPants.HTML_TOC: Anchors are added to headers.HTML_USE_XHTML: Renders XHTML instead of HTML.Custom rendererBy subclassing theHoepclass, you can create a custom renderer overriding various callbacks.# -*- coding: utf-8 -*-from__future__importunicode_literalsimporthoepashclassMyRenderer(h.Hoep):def__init__(self,extensions=0,render_flags=0):# If you override the `__init__` function, you must call# the parent class's or bad things will happen.super(MyRenderer,self).__init__(extensions,render_flags)self.replace='[redacted]'defstrikethrough(self,text):returnself.replacemd=MyRenderer(h.EXT_STRIKETHROUGH)html=md.render('Some ~~bold~~ __"strong"__ text.')CallbacksDocument levelpreprocess(str markdown)doc_header()doc_footer()postprocess(str html)Block levelblock_code(str text, str language)block_html(str text)block_quote(str text)footnotes(str text)footnote_def(str text, int number)header(str text, int level)hrule()list(str text, bool ordered)list_item(str text, bool ordered)paragraph(str text)table(str header, str body)table_row(str text)table_cell(str text, int flags)Span levelautolink(str link, bool is_email)codespan(str text)double_emphasis(str text)emphasis(str text)footnote_ref(int number)highlight(str text)image(str link, mixed title, str alt)line_break()link(str link, mixed title, str content)quote(str text)raw_html_tag(str tag)strikethrough(str text)superscript(str text)triple_emphasis(str text)underline(str text)Low-levelentity(str entity)normal_text(str text)SupportIf you run into any issues or have any questions, either open anissueor hop in#mynton irc.freenode.net.