- Add pretty representation for the AST for debugging purpose. An extra group
repr
is added for more readable output. - Make a dummy
Document
element if the element to render is not aDocument
instance.
- Rewrite the parsing logic of GFM tables.
- Fixed the dispatching among different renderers for render methods in extensions. Now the GFM renderer supports
MarkdownRenderer
.
- Preserve link references when rendering document as Markdown.
- Fix the sidebar warning in shibuya theme.
- Avoid saving to global variables during parsing. There can be multiple parsers running in parallel.
- Now the
children
attribute for block elements should be a list of child elements. - Move the HTML content of
HTMLBlock
fromchildren
tobody
attribute. - Fixed some built-in extensions that modify class attributes.
- Add a helper class to create extensions, instead of using arbitrary objects to hold partial properties.
- Call
setup_extensions()
when runningrender()
method alone.
- Fix the unpack error when parsing a fenced code block with
codehilite
extension enabled.
- Fix a bug that
Parser.parse_inline()
cannot be called without preceding call ofParser.parse()
. #131 - Fix a rendering bug when line breaks exist in a link text. #126
- Drop support of Python 3.6.
- Update the GFM spec to the latest master branch.
- Fix a precedence issue of parsing strikethroughs in GFM.
- Fix a bug of markdown renderer, the ordered list index isn't increasing. #112
- Fix a crash issue when parsing a list item with NBSP in preceding spaces. #123
- Fix a hanging issue when parsing a text with nested brackets. #124
- Fix a bug that tabs between the list bullet and item are not expanded properly.
- Upgrade from type comments to Py 3.5+ style annotations.
- Forbid delegation to element-specific render methods for AST renderers.
- Add LaTeX renderer to the
marko.ext
namespace.
- Update the implementation to conform with Commonmark 0.30 spec.
- Consider unicode punctuations when judging whether a delimiter is an opener or a closer.
- Prefix parsing is eager now.
- Fix a parsing crash if no newline following the prefix of a block element.
- Unescape html character refs in ASTRenderer result.
- Fix an index error when parsing an incomplete link.
- Remove the duplicate newlines in the output of paragraphs of markdown renderer.
- Drop support of Python 2.7
- Remove the deprecated extension object
- Blacken the code base
- Drop support of Python 3.5
- Fix a bug about rendering image links of
MarkdownRender
- Fix an XSS issue that exists in code language field.
- Fix a bug that backslashes get dropped inside a table cell.
- Fix a bug that the priority of inline elements is not honored.
- Add a new renderer:
marko.md_renderer.MarkdownRenderer
which rerenders the input back to markdown text.
- Add support for specifying extensions in marko CLI.
- Display a help message when prompting for input in marko CLI.
- Fix a bug of list item parsing when mixed whitespace type is used.
- Support arguments for extensions
- Wrap code block with 'highlight' container in codehilite mode.
- Deprecate the extension name with
Extension
suffix, e.g.FootnoteExtension
->Footnote
. And the old names will be removed byv1.0.0
. - Store extra info after the language text in fenced code:
```python myscript.py <-- myscript.py is stored in element print('hello world') ```
- Built-in code highlight extension using pygments.
- Reverse the extension order.
- Add a new extension attribute
elements
. - Improve the CLI, add more options.
- Add type hints for all primary functions.
- Update to comply commonmark spec 0.29.
- Change the extension system.
- Fix TOC rendering when heading level exceeds the max depth.
- Fix CJK regexp for pangu extension.
- Support Python 2.7.
- Fix bugs about extensions.
- Pangu extension.
- Change the entry function to a class, add TOC and footnotes extensions.
- Github flavored markdown and docs.
- Commonmark spec tests.