Age | Commit message (Collapse) | Author |
|
We try not to escape punctuation unless we absolutely have
to. So, `)` and `.` are no longer escaped whenever they
occur after digits; now they are only escaped if they are
geuninely in a position where they'd cause a list item.
This required a couple changes to render.c.
- `renderer->begin_content` is only set to false AFTER a
string of digits at the beginning of the line. (This is
slightly unprincipled.)
- We never break before a numeral (also slightly unprincipled).
|
|
|
|
following list or code block.
This has several advantages. First, the two blank lines breaks
out of list syntax is still controversial in CommonMark.
And it isn't used in other implementations. HTML comments
will always work.
Second, two blank lines breaks out of all lists; an HTML
comment can be used to break out of just one level of nesting.
|
|
This makes the output compatible with more implementations.
|
|
This is more portable.
Closes #90.
|
|
|
|
Closes #97.
This was also checked against the #82 case with asan.
|
|
|
|
This just moves some code around so it makes more sense
to read, and in the man page.
|
|
API change.
I've found in using the API that this is very often
wanted.
|
|
It's sufficient to check that the info string is empty.
Indeed, those who use the API may well create a code block
with an info string without explicitly setting 'fenced'.
|
|
This did not allow for the possibility that a node
might have no containing block, causing the commonmark
renderer to segfault if passed an inline node with no
block parent.
|
|
The old versions raw_inline and raw_block were being used,
and this led to incorrect xml output.
|
|
|
|
Conforms to latest change in spec.
|
|
We no longer use a whitelist of valid schemes.
|
|
|
|
Closes #96.
|
|
to ease backwards compatibility.
|
|
in a reference link. (Spec change.)
|
|
when they're at the beginning of a block, e.g.
> \- foo
|
|
This is like `begin_line` except that it doesn't trigger
production of the prefix. So it can be set after an initial
prefix (say `> `) is printed by the renderer, and consulted
in determining whether to escape content that has a special
meaning at the beginning of a line.
Used in the commonmark renderer.
|
|
|
|
|
|
API change. Sorry, but this is the time to break things,
before 1.0 is released. This matches the recent changes to
CommonMark.dtd.
|
|
Check for offset greater than string length.
|
|
If the input is null, we can just return 0.
|
|
Ultimately I think we can get rid of parser->curline and
avoid an unnecessary allocation per line.
|
|
Closes #79. Thanks to Mathieu Bridon for the patch.
|
|
Now we render `[foo](#bar)` as `\protect\hyperlink{bar}{foo}`.
|
|
|
|
|
|
1.0 - looking forward. We don't guarantee stability in
this until 1.0 is actually released, however.
|
|
This fixes the heap buffer overflow reported in #82.
Closes #82.
|
|
|
|
This change also changes some of these constants' numerical values,
but nothing should change in the API if you use the constants
themselves. It should now be clear in the man page which
options affect parsing and which affect rendering.
Closes #88.
|
|
CMARK_NODE_HRULE -> CMARK_NODE_THEMATIC_BREAK.
However we've defined the former as the latter to keep
backwards compatibility.
See jgm/CommonMark 8fa94cb460f5e516b0e57adca33f50a669d51f6c
|
|
Defined CMARK_NODE_HEADER to CMARK_NODE_HEADING to ease
the transition.
|
|
See jgm/CommonMark commit 0cdbcee4e840abd0ac7db93797b2b75ca4104314
Note that we have defined
cmark_node_get_header_level = cmark_node_get_heading_level
and
cmark_node_set_header_level = camrk_node_set_heading_level
for backwards compatibility in the API.
|
|
See jgm/CommonMark#87.
|
|
Otherwise we get failures of roundtrip tests.
|
|
|
|
|
|
rather than NULL, as previously documented...
|
|
Instead of using their `as.literal` content, we now
give each custom node *two* literal fields, one to
be printed on entering the node (before rendering
the children, if any), the other on exiting (after
rendering children).
This gives us the flexibility to have custom nodes
with children.
|
|
|
|
|
|
These are passed through verbatim by all writers, with no
escaping.
They are never generated by the parser, and do not correspond
to CommonMark elements. They are designed to be inserted by
filters that postprocess the AST. For example, a filter might
convert specially marked code blocks to svg diagrams in HTML
and tikz diagrams in LaTeX, passing these through to the renderer
as a RAW_BLOCK.
|
|
|
|
|