kc3-lang/md4c

Branch :


Log

Author Commit Date CI Message
00a70fea 2019-02-10 22:59:49 Bump version to 0.3.0
8e01a769 2019-02-10 22:58:42 Implement task lists. (#50) Fixes #30.
0b95bcc9 2019-02-09 19:03:05 Fix installation path of pkgconfig file. If the package is compiled on a multiarch-enabled distribution (Debian and derivatives) the resulting md4c.pc file will have a m-a path in it. In this case it's better to install into LIBDIR.
b9fcd470 2019-02-09 11:01:56 CHANGELOG.md: Update.
d32aa2e0 2019-02-09 10:40:52 Fix conflict in parsing permissive autolinks and ordinary links. The issues is caused by the fact that we do not know exact position of permissive auto-link in time of md_collect_marks() because there is no syntax to mark its end on the 1st place. This causes that eventually, the closer mark in ctx->marks[] can be out-of-order somewhat. As a consequence, if some other mark range (e.g. ordinary link) shadows the auto-link, the closer mark may be left outside the shadowed range and survive till the phase when we generate the output. We fix by using an extra mark flag to remember we did really output the opener mark, and output the closer only in such case. Fixes #53.
f1f2f306 2019-02-09 09:40:25 md_analyze_permissive_url_autolink: Minor cleanup.
bfca107d 2019-02-08 09:23:20 Build: Allow again building MD4C as static lib. * On Windows, we build static lib by default, as there is no /usr/lib counterpart. * On other systems the shared lib is the default. * Use option BUILD_SHARED_LIBS to override it: $ cmake -DBUILD_SHARED_LIBS=ON path_to_root # to build shared lib $ cmake -DBUILD_SHARED_LIBS=OFF path_to_root # to build static lib
69fcc953 2019-02-07 16:04:16 Remove useless instructions. (#52) The library is built as a shared library by default. Adding a static configuration requires some more work, and probably not really needed, most people will just embed the code.
5f33d933 2019-02-07 15:54:25 Build md4c as a shared library. (#49) Build md4c as a shared library. - Define the current version in the main CMakeLists.txt, so it can be used within the project. - Define VERSION, SOVERSION and PUBLIC_HEADER as target properties. - Be able to install both libmd4c and md2html. - Create a pkg-config file. Fixes #48
c340e78b 2019-02-06 04:59:26 md_analyze_inlines: Simplify the code path for table_mode.
a6cf8ff6 2019-02-06 04:36:01 CHANGELOG.md: Small update.
67401e70 2019-02-06 04:31:25 md_analyze_inlines: Resolve table cell boundaries before links. This brings some corner cases closer to cmark-gfm. Also fixes #51.
00236fc7 2019-02-05 12:59:44 Update years in the files changed this year and in LICENSE.md.
03f58685 2019-02-05 10:13:34 md4c.h: Rename and refactorize MD_RENDERER struct. * Rename MD_RENDERER to MD_PARSER. (Typedef to provide the original name is provided to minimize disruption of existing code.) * Reorder its members to make better sense. * Add abi_version member (hopefully, it shall never be needed ;-) * Update md2html utility to deal with the change. Rationale: This is done in order to prepare for long-term maintenance of ABI compatibility, as there is no work-in-progress to be buildable as shared lib, and be included in some Linux distros.
162b5fe3 2019-02-05 10:05:49 Add CHANGELOG.md.
a505f696 2019-02-03 14:30:06 md_process_table_row: Enforce that all trable raws have the same count of cells. The count of columns is derived from the table header underline. If any other table line (i.e. the header line, or body line) has too few cells, additional empty cells are generated automatically. If the line has too many cells, the bogus ones are silently ignored. This allows consumers to be more simplistic; and it also seems to match behavior of Github more closely.
69e914b1 2019-02-03 13:29:47 README.md: Minor wording enhancements.
da511fa4 2019-02-03 00:45:20 md_is_entity_str(): Fix using bad offset and buffer overflow situation. Fixes #47.
7d8f253f 2018-11-18 11:24:37 md_enter_leave_span_a: Fix calling md_free_attribute() on uninitialized data. (Coverity issue CID 1475544)
e6a51bd6 2018-07-12 03:37:09 Add "-Wall" to CFLAGS when using Clang as compiler See also: * https://cmake.org/cmake/help/v3.12/variable/CMAKE_LANG_COMPILER_ID.html * https://cmake.org/cmake/help/v3.12/variable/CMAKE_COMPILER_IS_GNUCC.html
2f79185b 2018-06-11 18:40:48 Bump version to 0.2.7.
8fc692ba 2018-06-11 18:17:26 md_rollback: Do not touch TABLECELLBOUNDARIES chain. This chain is not normal opener/closer inline mark chain. Fixes #42.
5710bfec 2018-06-11 14:13:28 Fix/simplify handling of end-of-file special mark. Fixes #43.
e6e2ea4c 2018-06-11 11:43:47 md_analyze_line: Fix mixing list and table parsing. If table header underline is not nested the same way as the preceding line (i.e. the wannabe table header line), then it cannot form a table. Fixes #41.
cb7ecd71 2018-05-30 00:29:01 Bump version to 0.2.6.
4ef024fb 2018-05-29 23:30:02 md_process_inlines: Fix link/image closers spanning over multiple lines. Fixes #40.
99a55689 2018-05-29 22:42:24 md_is_inline_link_spec_helper: Link destination is mandatory... ... unless it is omitted also with the title.
e5feaf2c 2018-05-29 19:42:13 md_is_named_entity_contents: Fix buffer overflow. Fixes #38.
469873ee 2018-05-29 19:06:39 md_is_link_label: Prevent read from lines[] beyond its size. Fixes #37.
7deaccf6 2018-05-29 18:32:10 md_is_link_label: Fix if the link label contains just backslash escapes. The function did not remember the label start line index, leading to bad consequences. Fixes #39.
387bd020 2018-05-28 23:09:09 Fix misleading comment.
00ca0604 2018-05-28 22:03:49 Bump version to 0.2.5
bf022cb6 2018-05-28 21:14:45 Fix md_split_simple_pairing_mark(). When splitting a mark into two, make sure each of them gets the right share od dummies for case that we will have to split once more. Fixes #36.
e7b84d65 2018-05-28 21:09:32 pathological_tests.py: Fix test compatibility with Windows.
81e2a5ca 2018-04-12 17:03:37 pathological_tests.py: Test deeply nested lists.
21d6cc9d 2018-04-12 12:03:18 md2html.c: Fix possible overflow in membuf_grow().
26c5268e 2018-04-12 11:51:21 md2html.c: Add newline to some error messages.
fdc1d61e 2018-04-11 19: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-28 08:21:21 md_build_attr_append_substr: Fix +1 allocation error. Fixes #33.
e0002e2b 2017-12-27 09:45:34 md4c.h: Fix some copy&paste errors in comments.
3cf6637b 2017-12-10 16:11:36 run-tests.sh: Use 'py' utility if available.
8bb5e2dc 2017-09-29 23:42:36 md4c.h: Fix typo in an #error message.
c3c1f9b0 2017-09-29 23:37:31 README.md: Minor fix.
afc779f9 2017-09-11 11: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-11 10:55:21 md_build_attribute: Handle U+0000 character.
bad11ede 2017-08-31 14:49:18 Fix path in codecov.yml
44fc7cf2 2017-08-30 16:06:44 Merge branch 'master' of https://github.com/mity/md4c
7906f4ee 2017-08-30 16:05:27 Add codecov.yml to ignore test dir in coverage reports.
8bfb6785 2017-08-28 16: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-28 16:14:04 render_html: Add a new line after <ol>. This makes the behavior more consistent with <ul>.
19b24bdd 2017-08-16 18:15:19 Simplify the pathological test "many references".
07cec7dc 2017-08-16 16:34:50 Add regression test for #24.
2e0a74ba 2017-08-16 16:01:45 Fix problematic link destinations with angle brackets. Fixes #24.
9b8058d5 2017-08-13 11:47:18 .travis.yml: Make sure we make a debug build. This should be more friendly to code coverage analysis.
a2d8c37b 2017-08-13 11:24:24 README.md: Improve badge labels.
71aa92db 2017-08-13 11:03:47 .travis.yml: Install python3 for running tests.
944139e5 2017-08-13 10:57:12 Create code coverage report by lcov.
4f4bbcaa 2017-08-13 10:47:48 Migrate code coverage reporting from coveralls.io to codecov.io.
17ad25ee 2017-08-03 11: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-02 00:41:14 Bump version to 0.2.3.
70925cac 2017-08-02 00:40:27 README.md: Upgrade CommonMark version to 0.28.
25228d5d 2017-01-08 09: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.
ee3bee1a 2017-08-02 00:37:18 Upgrade to CommonMark specification 0.28.
a847f552 2017-01-08 09: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>
938460d5 2017-07-24 21:17:53 Improve/unify output of test scripts.
c52a50a3 2017-07-24 21:07:09 pathological_tests.py: Add test for reference definition lookup.
f0103c16 2017-07-25 00: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-25 00:08:51 md_analyze_marks: Make the function inline.
61d38ef4 2017-07-24 23:59:23 md_analyze_marks: Remove unneeded parameters.
c51fb310 2017-07-24 23: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-24 20:17:50 pathological_tests.py: Allow short option -p as a synonym of --program.
f4f7b223 2017-07-24 20:15:09 pathological_tests.py: Allow Windowish line ends.
26f14899 2017-07-24 19:27:27 Add pathological_tests.py from cmark.
ad4f28bb 2017-07-24 20: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-24 19:42:57 md_collect_marks: Minor refactorization of emhasis handler.
70d73941 2017-07-22 00:56:23 md_build_attribute: Propagate NULL string if attribute is empty.
ca098547 2017-07-20 15:54:00 Avoid heap allocations when building trivial MD_ATTRIBUTE.
a638a422 2017-07-18 19: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-18 18:50:07 Merge branch 'hash'
cfbce759 2017-07-18 18: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-17 08:50:04 Refactor: Isolate dictionary of reference defintions.
07c5dba9 2017-07-18 18:02:00 Remove unused structure member.
4e831dc1 2017-07-15 18:40:38 Add 2017 into copyright notes.
f2821cbd 2017-07-14 17:10:45 md_analyze_permissive_email_autolink: Make it compatible with CMark-gfm.
a83db2b7 2017-07-14 16:49:42 README.md: Minor update.
1bc7f3a8 2017-07-14 02:22:15 render_url_escaped: Fix escaping of ampersand. This affected generating href attribute if links or src attribute of images.
f3f9404e 2017-07-14 02: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-13 19:18:03 Get rid of unneeded MD_LINK_REF_DEF::index.
302cd5f8 2017-07-13 18: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-13 16:23:45 entity_lookup: Make it return UTF-32 codepoints. And adapted callers accordingly. Fixes #12.
25a156ee 2017-07-12 23:30:14 Implement strikethrough extension.
d84dcec8 2017-07-12 22: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-12 22:52:58 md2html/md2html.c: Add options for Markdown dialect. Added support for options --commonmark and --github.
71d74e9f 2017-05-04 16:33:56 Merge branch 'master' of https://github.com/mity/md4c
921602b3 2017-05-04 16:21:34 md_is_link_reference_definition: Do not store multiple link definitions with same label.
19980907 2017-03-19 22:19:28 use typedef structs that are compatible with both c and c++
aeaff18e 2017-01-04 16:41:46 Bump version to 0.2.2
ea83b7f6 2017-01-04 21:57:49 md_analyze_simple_pairing_mark: Fix gcc warning.
8999e184 2017-01-04 14:40:44 Fix "rule of three" for emphasis resolution (issue #14).
c63909df 2017-01-04 15:04:09 When splitting emphasis opener mark, we have to retain 'dummy' marks available for more splitting in the future (issue #15).