kc3-lang/md4c

Branch :


Log

Author Commit Date CI Message
64bf660a 2019-12-13 13:24:08 Make the UTF-8 mode the default one. It was already the default when building with our CMakeLists.txt but it seems that for projectswich are just embedding our sources into their build so this change only affects projects embedding direcly our source files into their project.
e3b14bbe 2019-12-11 18:27:04 render_html.c: Minor clean-up.
6666db6d 2019-12-11 17:40:04 render_html.c: Unify HTML escaping and URL escaping.
753d916f 2019-12-11 14:55:10 README.md: Few more minor wording improvements.
6835cdd5 2019-12-11 14:30:59 README.md: A grammer fix.
e0bbf449 2019-12-11 14:27:24 README.md: Update the README. * Improve some wording. * Add Documentation secion. * Add FAQ section. * Add link to markdown-wasm.
43bfa54d 2019-12-10 12:11:40 md2html.c: Fix printing input file name when output cannot be opened. (#99)
db8e9fac 2019-12-06 04:13:23 README.md: Add logos to the badges.
4e2b37e4 2019-11-29 12:58:41 Bump version to 0.4.2.
46f25f0b 2019-11-12 21:48:26 md_analyze_emph: Call md_resolve_range() with proper chain. Errorneously, we have called md_resolve_range() with mark chain derived from the closer mark. In the case that the opener and closer marks differ in length (and we have split one or the other), we pass in an incorrect chain, which may lead to strange behavior in subsequent analysis. Fixes #98.
78764217 2019-11-04 15:36:51 Bump version to 0.4.1 and fix CHANGELOG.md.
a6b37216 2019-11-04 15:30:17 Bump version to 0.4.0.
e336e640 2019-11-04 15:20:59 Add support for Wiki links (#92) With a new flag MD_FLAG_WIKILINKS, recoginize wiki-style links as [[foo]] and [[foo|bar]]. Update also the HTML renderer accordingly, to output a custom HTML tag <x-wikilink> when seeing it.
ef85cfc2 2019-11-04 15:05:07 Simplify parsing of tables (#97) We do so by removing the function md_is_table_row(). md_is_table_row() did some crazy inline parsing to detect whether the line contains at least one pipe which is not inside a code span or other high-priority inline element. This was very complicated under the hood and to was actually breaking the clean design which separates block analysis parse and inline analysis of each block contents. We now just use the table underline for determining the block is table and its properties like e.g. the column count. This means a paragraph now cannot interrupt a table. This is a change in a behavior but likely acceptable one as it actually brings the behavior closer to behavior of tables in cmark-gfm in this regard. Last but not least, it seems to prevent adoption of other useful features, for about that, see the discussion in PR #92.
993c7b9b 2019-11-03 23:32:46 Render LaTeX math into HTML as a tag <x-equation>... ... instead of <equation>. This is to highlight that it is not a standard HTML tag.
13a5a4b4 2019-11-03 22:21:18 README.md: Update link to commonmark-d.
e97d0250 2019-11-03 13:44:29 Link label comparision fixes. * md_link_label_cmp: To match the labels, the loop has to reach ends of the labels for both of them. * md_link_label_cmp_load_fold_info: Collapse consequtive whitespace into a single ' ' for the label comparison purposes. Fixes #96.
0354e1ab 2019-10-04 22:34:08 md_is_container_mark: Ordered list mark requires at least one digit. Fixes #95.
64a63d53 2019-10-03 20:21:00 README.md: Add link to commonmark-d as a port of MD4C for D language.
728f2af4 2019-10-03 20:09:33 md_build_ref_def_hashtable: Do not allocate more memory then needed. Fixes #94.
ae5ca894 2019-07-12 08:44:53 md2html/CMakeLists.txt: Use INSTALL(TARGETS) instead of INSTALL(PROGRAMS). Fixes #88.
97606369 2019-07-07 11:19:21 Fix the last test case in latex-math.txt.
9e8b3548 2019-07-07 11:16:23 Simplify some assertions.
099ce69b 2019-07-07 11:15:44 Add missing file into git.
2e965941 2019-07-07 10:59:20 Add/improve docs for the LaTeX math spans.
8bac86aa 2019-07-07 09:46:10 Added support for LaTeX math (#87) Addresses #86.
f0de1990 2019-06-24 21:56:50 Add man page for md2html program (#85) Fixes #56
410bb419 2019-06-19 17:04:48 Bump version to 0.3.4.
b2e60066 2019-05-30 15:59:22 README.md: Shorten an URL to improve line wrapping.
ce8b5d94 2019-05-27 22:16:35 md_analyze_line: Blockquote with blank line can interrupt a paragraph. Fixes #83.
7d1cfbc1 2019-05-23 22:50:37 CHANGELOG.md: Fix some wording.
c4e6ddc3 2019-05-20 21:27:20 md2html/render_html.h: Add extern "C" when included in C++. Seems some people desire to use the HTML renderer in C++ projects, so lets make this as the 1st step in making it easy :-)
346874e0 2019-05-20 21:03:47 Add and fill MD_BLOCK_CODE_DETAIL::fence_char accordingly. For the case of indented code block, it is left zeroed. Fixes #81
97dd1ba8 2019-05-20 14:16:48 Fix gcc warning at -Wpedantic. md4c.c:184:14: warning: ISO C forbids forward references to enumâ types [-Wpedantic] Fixes #79
4d926435 2019-05-19 22:40:08 md_analyze_line: Disallow the strcspn() optiomization path... for other platforms then Linux. glibc has well-optimized implementation which provides good boost, but (as measured one Windows), it can be also relatively small to our own path below. We can always enable that path for more platforms, if we get some data showing it has good impact.
0344a077 2019-05-19 22:10:17 md_analyze_line: Fix the fast path if the input contains zero character.
56f8bbb1 2019-05-19 15:12:32 Implement/improve some optimizations, both in the parser and HTML renderer.
f281db0b 2019-05-19 11:51:10 CHNANGELOG.md: Minor typo and wording fixes.
51386164 2019-05-19 11:46:26 md_link_label_cmp: Fix handling non-trivial folding info. Fixes #78.
4f6a9e54 2019-05-19 10:46:26 Update Unicode support to 12.1. * scipts/build_*_map.py: Implement helper pythonic scripts used to generate some Unicode search maps and data for helper Unicode functions used in MD4C. This should simplify updating to future Unicode versions. * md_get_unicode_fold_info: Use data generated by the scripts. * md_is_unicode_whitespace__: Ditto. * md_is_unicode_punct__: Ditto.
267e82df 2019-05-16 22:59:45 md_is_[hex|dec]_entity_contents: Fix maximal entity length. Spec. version 0.29 limits the decimal character length to at most 7 decimal digits and hexadecimal character length to at most 6 hexadecimal digits. Fixes #77.
aca5c27f 2019-05-16 22:48:08 test/spec.txt: Update from upstream head.
64a1bc37 2019-05-15 23:25:05 test/coverage.txt: Sort the regression test cases by the issue number.
ef64fd38 2019-05-13 10:46:50 render_html.c: Improve RENDER_LITERAL to not cause warnings in MSVC 2017.
04c65c4c 2019-05-13 10:45:38 Build: Improve CMakeLists.txt compatibility with MSVC 2017.
e091d160 2019-05-11 00:40:28 Fix previous incomplete commit.
51da223b 2019-05-11 00:11:44 Minor cleanup. * md_analyze_line: Use while() loop instead of bunch of gotos. * Remove some manual optimizations. The optimizing skills of compilers have improved in the recent years. With gcc 8.3 at -O3 there is no measurable change.
d7a8ede0 2019-05-10 10:36:45 Bump version to 0.3.3.
74636f3b 2019-05-08 11:07:15 md_scan_for_html_closer: Fix typo in a comment.
919a0cc9 2019-05-08 07:38:33 test/*.txt: Fix some formatting.
1757ff55 2019-05-07 23:10:46 test/spec_tests.py: Make ready for spec.txt from cmark-gfm project. This allows easier checking of our GFM dialect compatibility.
e43f73a3 2019-05-07 22:36:29 CHANGELOG.md: Supplement description of the issue #76.
83047d3e 2019-05-07 22:24:29 md_analyze_permissive_url_autolink: Improve. * Fix domain recognition so that it has to have at least two dot-delimited components. * Fix handling if parenthesis so that they have to form balanced pairs; i.e. the first ')' not having a preceding opener ends the path. Fixes #76.
f8ed51c9 2019-05-05 16:11:21 md_analyze_line: Simplify. Move some common code from multiple branches to one (and more appropriate) place.
609dfb0b 2019-05-05 15:56:51 md_analyze_line: Treat blank lines inside a HTML block more carefully... ... with respect to the parent list containers. Fixes #10 (but now really).
5cf2000a 2019-05-05 11:23:14 Build: Fix a few sign-comparison issues This will fix a couple of issues where the GCC compiler (in strict mode) is complaining with "error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]".
95279131 2019-04-30 00:32:36 When undoing complete block from ctx->block_bytesp[], reset ctx->current_block properly. Fixes #74.
19504cad 2019-04-29 22:24:23 Revert "Build: With gcc and clang, enforce -std=c90." This reverts commit 716b6ca4448318df900eb22bb7a31499a827d905. Rationale: snprintf() not available in C90, so -std=c90 causes warnings on Linux.
d4d10915 2019-04-29 19:03:16 Improve parsing of inline raw HTML. * Isolate some common code for scanning HTML closer into a new function so most HTML scanner functions reuse the same code. * Improve the scanning for the closer so that on failure we remember the range where no closer is present. So any later scanning attempts may fail early. Fixes #73.
716b6ca4 2019-04-17 15:01:03 Build: With gcc and clang, enforce -std=c90. See #71. This forces us to be more conservative in the future code changes, and make us more friendly mainly to some embedded compilers who are often behind the current state of art. Fix also related warnings and errors, as provided by gcc 8.1.0.
d9a5a6f6 2019-04-17 14:18:14 Fix errors and warnings on INTEGRITY compiler It seems to be applying C90 (?) rules: initializers must be compile-time constants. Fixes #71.
7a6bf33c 2019-04-08 19:56:23 Bump version to 0.3.2
29dfdd91 2019-04-08 19:45:50 README.md and CHANGELOG.md: Update for spec 0.29.
d7920b9c 2019-04-08 19:35:06 Merge pull request #67 from mity/spec-0.29 This merges all changes for CommonMark specification 0.28 -> 0.29 transition.
98850288 2019-04-08 19:31:57 md_is_html_block_start_condition: Do not recognize <meta>. This change is mandated by specifiction 0.29.
734a7c82 2019-04-08 11:00:39 Allow link ref. defs. at the beginning of SeText headers.
5b78f295 2019-04-08 11:00:27 test/spec.txt: Update from upstream head.
b7d3c1a3 2019-04-05 08:53:27 Fix handling EOLs inside a code span.
8994c382 2019-04-05 08:19:01 md_is_code_span: Follow new spec rules for space trimming.
2a7b97ed 2019-04-05 08:18:54 test/spec.txt: Update from upstream head.
b8586987 2019-04-03 08:28:27 md_collect_mark: Add missing 'continue' to '~' branch. Fixes #69.
30bf5667 2019-03-27 02:04:49 md_is_link_destination: Use first char as an indicator... ... type of link destination we should try. If it is '<', then try only <>-styled link destination.
855a1bfc 2019-03-27 02:04:24 test/spec.txt: Update from upstream head.
cccfb3d7 2019-03-26 16:59:52 md_is_html_block_start_condition: Fix starting condition 1 when EOF follows. Fixes #68
13672154 2019-03-26 15:10:12 md_is_container_mark: Check the indentation is not too big... If it is then it is rather an indented code block.
94c86fe2 2019-03-26 14:45:23 Revert "Fix problematic link destinations with angle brackets." The updated specification now explicitly requests the behavior we implemented before fixing #24. This reverts commit 2e0a74ba990e291ef4eace047d50af05ca81daef. Also remove associated regression test as it is no longer valid.
0959975a 2019-03-26 14:01:02 md_analyze_emph: Follow specs changes to the "rule of three".
003a551d 2019-03-26 13:51:03 Remove left-over commented out code.
6e49193e 2019-03-26 13:44:55 md_is_link_title: Link title must be delimited from link destination with a whitespace.
98968e22 2019-03-26 13:33:05 Update spec.txt from upstream head. (I previously used an updated revision of it by mistake.)
8f04d113 2019-03-26 13:06:21 md_is_link_destination_A: Link destination in <> can contain spaces.
44762161 2019-03-26 12:58:22 md_is_code_span: New rules for eating whitespace... ... after the opening and before the closing marker of a code span.
eb6a221e 2019-03-26 11:58:17 md_is_opening_code_fence: Allow backtick... ... in info string of tilde-based fence.
1edd0c9c 2019-03-26 11:49:25 test/spec.txt: Update to current upstream HEAD.
a80e2e1a 2019-03-18 00:49:55 md_is_setext_underline: Remove useless duplicated code.
1a248650 2019-03-16 09:39:00 Fix building with MD4C_USE_UTF16.
2670043f 2019-03-13 07:50:34 Bump version to 0.3.1
2dd96ab4 2019-03-12 09:56:11 Fix O(n^2) in handling the "rule of three". We had to break the list of potential '*' openers into multiple ones so we do not have to walk it when looking for matching length due to the "rule of three" for intraword delimiter runs. Fixes #63.
b2108652 2019-03-11 21:13:15 md_analyze_line: Fix O(n^2) in thematic break handling. Fixes #66.
37104fc2 2019-03-11 20:26:58 md_is_code_span: Fix crash at EOF. Fixes #65.
966b8e39 2019-03-11 19:56:46 md_is_link_title: Stop on ')' lin ()-style title. Fixes #60.
fc27108e 2019-03-11 19:55:08 test/pathological_tests.py: Output test durations.
53f65852 2019-03-11 19:03:34 test/spec.txt: Little update. Somehow we were having little different spec.txt version that the one from CommonMark repo tag 0.28. But we still pass all its compliance test suite.
089174b5 2019-03-11 13:59:53 CHANGELOG.md: Update.
17c9b32b 2019-03-10 18:23:39 Move autolink detection into md_collect_marks(). It has to be done at the same time as raw inline HTML and code spans.
685b7144 2019-03-10 11:20:39 Move codespan detection from md_analyze_backtick() into... md_is_code_span(), called from md_collect_marks(). We have to do this at the same time as detecting raw inline HTML to follow CommonMark priority requirements. Also it is done very differently now: When scanning for the closer mark, we remember (the latest) position of potential closers for all other lengths as well. This means that: (1) If we find it, we reduced the task because all subsequent scan shall begin after the closer. (2) If we do not find it, then we have to reach the end of the block and hence we then know (for every allowed marker length) the position of last such backtick sequence. (3) That makes the guaranty that any subsequent call with either succeed in its scan (and reduce the task even further); or that we shall be able to detect instantly there is no suitable closer. I.e. every call either reduces the task by O(n) scan (1); or collects all the data in O(n) because (2) happens at most once; or fails in O(1) (3). This makes O(n) guaranty of the function complexity. Fixes #59.
0cb61205 2019-03-10 10:50:23 Move raw inline HTML detection from md_analyze_lt_qt() into md_collect_marks(). Fixes #58: For resolving raw inline HTML the function tried closer with all potential openers, because raw HTML can have '<' inside of an attribute. However this caused O(n^2) for input like "<><><><><><><>...". We solved by handling raw HTML in earlier stage, directly in md_collect_marks(), where we can scan linerary forward. Fixes #61: As a side effect, this also fixes the issue that MD_FLAG_NOHTMLSPANS disabled also recognition of CommonMark autolinks.
cbae1793 2019-02-18 11:55:17 md_analyze_line: Fix propagation of uninitialized variable. Actually it should not be harmful because the consumer should use the variable MD_CONTAINER::task_mark_off only when MD_CONTAINER::is_task flag is set and it that case the task_mark_off _is_ initialized. (CID 1476829)
30cfd4e3 2019-02-13 12:27:21 appveyor.yml: Fix syntax.
e43ac60a 2019-02-13 12:25:27 appveyor.yml: CMake 3.13.3 seems to always equire path to project root.