|
81e2a5ca
|
2018-04-12T17:03:37
|
|
pathological_tests.py: Test deeply nested lists.
|
|
21d6cc9d
|
2018-04-12T12:03:18
|
|
md2html.c: Fix possible overflow in membuf_grow().
|
|
26c5268e
|
2018-04-12T11:51:21
|
|
md2html.c: Add newline to some error messages.
|
|
fdc1d61e
|
2018-04-11T19:47:11
|
|
In md_is_atxheader_line(), set *p_end on success.
This prevents reiteration over the ATX header prefix in the caller.
|
|
0d1a41a4
|
2018-03-28T08:21:21
|
|
md_build_attr_append_substr: Fix +1 allocation error.
Fixes #33.
|
|
e0002e2b
|
2017-12-27T09:45:34
|
|
md4c.h: Fix some copy&paste errors in comments.
|
|
3cf6637b
|
2017-12-10T16:11:36
|
|
run-tests.sh: Use 'py' utility if available.
|
|
8bb5e2dc
|
2017-09-29T23:42:36
|
|
md4c.h: Fix typo in an #error message.
|
|
c3c1f9b0
|
2017-09-29T23:37:31
|
|
README.md: Minor fix.
|
|
afc779f9
|
2017-09-11T11:07:05
|
|
Avoid initializing strings with literals without '\0' terminator.
It improves maintainability of the code and it should also fix some
MSVC2015 warnings (see #26).
|
|
5f47a5cb
|
2017-09-11T10:55:21
|
|
md_build_attribute: Handle U+0000 character.
|
|
bad11ede
|
2017-08-31T14:49:18
|
|
Fix path in codecov.yml
|
|
44fc7cf2
|
2017-08-30T16:06:44
|
|
Merge branch 'master' of https://github.com/mity/md4c
|
|
7906f4ee
|
2017-08-30T16:05:27
|
|
Add codecov.yml to ignore test dir in coverage reports.
|
|
8bfb6785
|
2017-08-28T16:16:59
|
|
render_html: Get rid of global variable.
This is a residue which by mistake survived the isolation of the
rendering code in the c850843c12468c6bd500b4c1d86653bdac5628d4.
|
|
dc3dde78
|
2017-08-28T16:14:04
|
|
render_html: Add a new line after <ol>.
This makes the behavior more consistent with <ul>.
|
|
19b24bdd
|
2017-08-16T18:15:19
|
|
Simplify the pathological test "many references".
|
|
07cec7dc
|
2017-08-16T16:34:50
|
|
Add regression test for #24.
|
|
2e0a74ba
|
2017-08-16T16:01:45
|
|
Fix problematic link destinations with angle brackets.
Fixes #24.
|
|
9b8058d5
|
2017-08-13T11:47:18
|
|
.travis.yml: Make sure we make a debug build.
This should be more friendly to code coverage analysis.
|
|
a2d8c37b
|
2017-08-13T11:24:24
|
|
README.md: Improve badge labels.
|
|
71aa92db
|
2017-08-13T11:03:47
|
|
.travis.yml: Install python3 for running tests.
|
|
944139e5
|
2017-08-13T10:57:12
|
|
Create code coverage report by lcov.
|
|
4f4bbcaa
|
2017-08-13T10:47:48
|
|
Migrate code coverage reporting from coveralls.io to codecov.io.
|
|
17ad25ee
|
2017-08-03T11:59:25
|
|
CMakeLists.txt: Do not force -O2 in the release build.
With newer gcc (7.1), -O3 and -O2 makes real difference in the resulted
performance. On my Linux machine it makes about 10% when tested
with Cmark's `make bench`.
|
|
3571c2f0
|
2017-08-02T00:41:14
|
|
Bump version to 0.2.3.
|
|
70925cac
|
2017-08-02T00:40:27
|
|
README.md: Upgrade CommonMark version to 0.28.
|
|
25228d5d
|
2017-01-08T09:25:10
|
|
md_is_link_destination_B: Apply new spec rules for parenthesis.
The specification now allows nesting parenthesis inside a link destination
as long as opening and closing ones are balanced.
|
|
a847f552
|
2017-01-08T09:14:49
|
|
md_process_inlines: Apply new spec rules for emph/strong emph.
The spec now states that for
***foo***
we have to genarate
<em><strong>foo</strong></em>
instead of
<strong><em>foo</em></strong>
|
|
ee3bee1a
|
2017-08-02T00:37:18
|
|
Upgrade to CommonMark specification 0.28.
|
|
c52a50a3
|
2017-07-24T21:07:09
|
|
pathological_tests.py: Add test for reference definition lookup.
|
|
938460d5
|
2017-07-24T21:17:53
|
|
Improve/unify output of test scripts.
|
|
f0103c16
|
2017-07-25T00:26:43
|
|
MD_MARK structure: Do not limit prev/next members to 24 bits.
For normal kind of input, using full 32 bits makes no big difference.
And limiting those members to 24 bits was maybe a security issue.
That implied a limit of 2 ** 24 == 16,777,216 marks per a single block.
As big as it may seem, malicious input may contain more. And if the
input is carefully crafted, the mark chains could theoretically form a
circles due to some overflows in these members, which could maybe make
the parser to never finish.
|
|
591b2d21
|
2017-07-25T00:08:51
|
|
md_analyze_marks: Make the function inline.
|
|
61d38ef4
|
2017-07-24T23:59:23
|
|
md_analyze_marks: Remove unneeded parameters.
|
|
c51fb310
|
2017-07-24T23:14:05
|
|
md_analyze_marks: Walk only required range of the marks.
This changes causes that when recursing to analysis of link contents,
only the marks between the link opener and closer are iterated in
md_analyze_marks().
Fixes #22
|
|
a27aefde
|
2017-07-24T20:17:50
|
|
pathological_tests.py: Allow short option -p as a synonym of --program.
|
|
f4f7b223
|
2017-07-24T20:15:09
|
|
pathological_tests.py: Allow Windowish line ends.
|
|
26f14899
|
2017-07-24T19:27:27
|
|
Add pathological_tests.py from cmark.
|
|
ad4f28bb
|
2017-07-24T20:09:23
|
|
md_analyze_simple_pairing_mark: Fix the "rule of three".
If the first emphasis opener is refused due the rule of three, a previous
opener is examined. However the variable opener_orig_size_module3 was not
(re)set accordingly.
Fixes #21.
|
|
e351a1d5
|
2017-07-24T19:42:57
|
|
md_collect_marks: Minor refactorization of emhasis handler.
|
|
70d73941
|
2017-07-22T00:56:23
|
|
md_build_attribute: Propagate NULL string if attribute is empty.
|
|
ca098547
|
2017-07-20T15:54:00
|
|
Avoid heap allocations when building trivial MD_ATTRIBUTE.
|
|
a638a422
|
2017-07-18T19:04:08
|
|
md_build_ref_def_hashtable: Fix variable conflict.
By copy&paste error, we have used two nested loops to use the same
iterator.
|
|
6bc0b861
|
2017-07-18T18:50:07
|
|
Merge branch 'hash'
|
|
cfbce759
|
2017-07-18T18:01:02
|
|
Rework ref. def. dictionary.
It now uses FNV1a and we now sort/bsearch only contents of single bucket.
Additionally we fix #20 by disabling the invalid ref. definitions during
hashtable build.
|
|
ff524e91
|
2017-07-17T08:50:04
|
|
Refactor: Isolate dictionary of reference defintions.
|
|
07c5dba9
|
2017-07-18T18:02:00
|
|
Remove unused structure member.
|
|
4e831dc1
|
2017-07-15T18:40:38
|
|
Add 2017 into copyright notes.
|
|
f2821cbd
|
2017-07-14T17:10:45
|
|
md_analyze_permissive_email_autolink: Make it compatible with CMark-gfm.
|
|
a83db2b7
|
2017-07-14T16:49:42
|
|
README.md: Minor update.
|
|
1bc7f3a8
|
2017-07-14T02:22:15
|
|
render_url_escaped: Fix escaping of ampersand.
This affected generating href attribute if links or src attribute of
images.
|
|
f3f9404e
|
2017-07-14T02:06:23
|
|
Improve URL autolinks extension.
It is now much more compatible to Cmark-gfm.
With the flag MD_FLAG_PERMISSIVEWWWAUTOLINKS, we now also support the
WWW autolinks (when the http: scheme is omitted).
|
|
8818ff14
|
2017-07-13T19:18:03
|
|
Get rid of unneeded MD_LINK_REF_DEF::index.
|
|
302cd5f8
|
2017-07-13T18:54:34
|
|
Improve lookup of link reference definitions.
At the cost of remembering all reference definitions (even when having
same label), we improved the lookup from O(n) to O(log(n)).
This also fixes potential DOS attack by providing input with thousandslink
reference definitions and references to them.
|
|
82c0eb53
|
2017-07-13T16:23:45
|
|
entity_lookup: Make it return UTF-32 codepoints.
And adapted callers accordingly.
Fixes #12.
|
|
25a156ee
|
2017-07-12T23:30:14
|
|
Implement strikethrough extension.
|
|
d84dcec8
|
2017-07-12T22:53:54
|
|
md4c/md4c.h: MD_DIALECT_GITHUB does not imply MD_FLAG_PERMISSIVEATXHEADERS.
Since migration to Cmark-gfm, github.com does not accept them anymore.
|
|
aa51e86f
|
2017-07-12T22:52:58
|
|
md2html/md2html.c: Add options for Markdown dialect.
Added support for options --commonmark and --github.
|
|
71d74e9f
|
2017-05-04T16:33:56
|
|
Merge branch 'master' of https://github.com/mity/md4c
|
|
921602b3
|
2017-05-04T16:21:34
|
|
md_is_link_reference_definition: Do not store multiple link definitions with same label.
|
|
19980907
|
2017-03-19T22:19:28
|
|
use typedef structs that are compatible with both c and c++
|
|
aeaff18e
|
2017-01-04T16:41:46
|
|
Bump version to 0.2.2
|
|
ea83b7f6
|
2017-01-04T21:57:49
|
|
md_analyze_simple_pairing_mark: Fix gcc warning.
|
|
8999e184
|
2017-01-04T14:40:44
|
|
Fix "rule of three" for emphasis resolution (issue #14).
|
|
c63909df
|
2017-01-04T15:04:09
|
|
When splitting emphasis opener mark, we have to retain 'dummy' marks available for more splitting in the future (issue #15).
|
|
3c28a8b8
|
2017-01-04T14:29:50
|
|
md_rollback: Do not play with the mark flag MD_MARK_LEAF.
And remove the flag altogether.
|
|
3688e0fc
|
2017-01-01T23:52:27
|
|
md_link_label_eq: Remove harmful anti-optimization.
|
|
ca5da63d
|
2017-01-01T22:02:33
|
|
md_collect_marks: Optimize in case of 8-bit encodings by eliminating some branches in the fast path.
|
|
443ee515
|
2017-01-01T21:39:48
|
|
md_collect_marks: Optimize the fast path by making its loops tighter.
|
|
7cb7f65c
|
2017-01-01T18:20:25
|
|
md_collect_marks: Optimize fast path by some manual loop unrolling.
|
|
2726b7cb
|
2017-01-01T17:40:02
|
|
Minor code cleanup.
|
|
9c644b40
|
2017-01-01T17:26:36
|
|
md_analyze_line: Optimize scanning for end of line.
|
|
f1a63f1c
|
2017-01-01T16:18:42
|
|
md_process_table_row: Fix possible errorneous free() on an error path.
|
|
1a8ce93d
|
2016-12-28T00:02:23
|
|
Add macros MD_DIALECT_COMMONMARK and MD_DIALECT_GITHUB.
|
|
52712384
|
2016-12-27T22:47:03
|
|
When parsing tables, pipes inside a link/image/code span cannot make cell boundary (issue #7).
|
|
72173b3f
|
2016-12-21T19:17:07
|
|
Propagate to renderer more info about lists (issue #13).
Make MD_BLOCK_OL_DETAIL and MD_BLOCK_UL_DETAIL (new structure) expose more
info about the lists.
In particular flag whether the list is tight or loose, and info about the
fundamental chartacter making the list item marks.
|
|
a9582fa4
|
2016-12-16T11:23:34
|
|
.travis.yml: Add md2html to coveralls upload.
|
|
ba686ec3
|
2016-12-16T10:16:17
|
|
render_html.c: Fix build with MSVC.
|
|
c377f567
|
2016-12-16T10:06:07
|
|
Add some versioning info.
* md4c.h now contains macros MD_VERSION_xxxx.
* md2html has option --version.
(Of course those shall have some meaningful values only when we introduce
some release process.)
|
|
c9ef8ccb
|
2016-12-16T09:59:03
|
|
render_html.c: Unify use of char versus MD_CHAR.
|
|
c850843c
|
2016-12-16T09:47:06
|
|
md2html: Isolate HTML renderer into render_html.c (issue #8).
|
|
232ceeac
|
2016-12-16T00:11:23
|
|
md_analyze_line: A list item can begin with at most one blank line (issue #6).
Hacky. I very dislike it, but it brings us full CommonMark 0.27
compliance.
Hallelujah.
|
|
3ec2a195
|
2016-12-15T23:57:58
|
|
md_analyze_backtick: Ensire that code span opener and closer do not overlap.
|
|
f9b4cb8f
|
2016-12-15T16:47:41
|
|
md_process_inlines: Fix when an expanded mark shadows some nested marks (issue #11).
|
|
c235a02e
|
2016-12-15T13:18:48
|
|
test/coverage.txt: Add some tests for higher code coverage.
|
|
a38c79db
|
2016-12-15T11:29:31
|
|
md_build_attr_append_substr: Fix leak on an error path (CID 1389262).
|
|
a725fee3
|
2016-12-14T16:51:24
|
|
md_enter_child_containers: Fix crash (issue #10).
Calling md_push_container_bytes() may result in ending a current block
which may result in removing some contents from ctx->block_bytes when
removing some lines with link reference definitions.
This in effect means we have to end the block explicitly before storing
the offset into the ctx->block_bytes.
|
|
c085ab5c
|
2016-12-12T23:23:51
|
|
Implement support for entities outside normal text flow (issue #5).
* Change API (md4c.h) to propagate different substring type info to renderer.
* Implement/refactor related code in the parser.
* Adapt renderer (md2html) to the new API.
|
|
ba29d007
|
2016-12-12T23:31:59
|
|
md_is_link_reference_definition: Fix handling of multiline label (issue #9).
|
|
a4d4f463
|
2016-12-12T18:04:14
|
|
README.md: Improve wording.
|
|
09ae8609
|
2016-12-07T23:56:47
|
|
Handle images more like links.
Remove MD_SPAN_IMG_DETAIL::alt. Instead, the contents of the image is
propagated to the renderer via MD_RENDERER::text() callback.
* This fixes handling of entities inside the image text (issue #4).
* It simplifies parsing and, more importantly, it better distingusshes
what is responsibility of parser or renderer respectively.
* This allows more flexibility on renderers side. Renderer who do not
* really support images can just output the image content as any
other text.
The cost is a renderer into HTML (if it wants to render image contents
into the attribute ALT of the IMG tag), has to handle images with more
care. Typically such renderer has to track whether it is inside an image,
and if so, then render span enter/leave as an empty string.
|
|
b7f37ae6
|
2016-12-07T23:24:17
|
|
README.md: Minor update.
|
|
6d35c73c
|
2016-12-07T18:29:02
|
|
Minor cleanup.
|
|
f0175cfc
|
2016-12-07T15:08:41
|
|
md_do_normalize_string: Fix checking whether we are done.
|
|
8f754776
|
2016-12-07T15:00:51
|
|
md_setup_fenced_code_detail: Fix size of temp. buffer.
|
|
4405d797
|
2016-12-07T14:29:49
|
|
md_analyze_line: Fix prioritization of "brother" list item detection.
|
|
45a10271
|
2016-12-07T13:43:54
|
|
md_do_normalize_string: Fix handling of escaped backslash ("\\").
|
|
29284842
|
2016-12-07T13:22:16
|
|
Handle escapes in code fence info string.
|
|
75cee13e
|
2016-12-07T13:04:29
|
|
Handle escape sequences in link titles.
|