Log

Author Commit Date CI Message
Martin Mitas 6709a869 2020-01-16T17:09:41 MD_LINK_ATTR: Add flag title_needs_free. Use the flag to prpagate to md_resolve_links() whether the retrieved link title needs to be freed by the caller or not. Fixes #105.
Martin Mitas 4eb4e1dc 2020-01-16T16:34:00 CHANGELOG.md: Remove the record for #104 because previous versions were not affected.
Martin Mitas 403043bb 2020-01-16T16:15:08 md_mark_chain_append: Set next of the tail mark to -1. Fixes #104.
Martin Mitas 12175f74 2020-01-10T19:37:26 md2html.c: Improve --html output.
Martin Mitáš e6661f23 2020-01-10T19:27:10 Implement an underline extension. (#103) Closes #101.
Martin Mitas cafe872c 2020-01-10T16:13:32 md_analyze_link_contents: Simplify.
Martin Mitas 82d7d087 2020-01-10T15:48:00 Rework/improve recognition of strike-through spans. Closes #102.
Martin Mitas 78850528 2020-01-07T00:33:05 Update copyright note year.
Martin Mitas 561f52e0 2020-01-05T18:33:46 md_is_autolink_email: Fix an off-by-one error. Fixes #100.
Martin Mitas 1a984d23 2020-01-05T18:07:37 Minor code formatting clean-up.
Martin Mitas fa75676e 2020-01-02T15:09:57 md_build_ref_def_hashtable: Minor cleanup. * Add some comments. * Make complex hastable buckets start at 2 records instead of 4. Some experiments show there may be about 20% collisions in documents with too many reference links but the buckets rarely need more then the 2 records so it is just a memory wasting.
Martin Mitas 9b0014e4 2020-01-02T14:30:53 CHANGELOG.md: Minor wording improvement.
Martin Mitas c9a3e1e9 2020-01-02T14:14:01 Make md_strchr() macro calling strchr() (or wcschr())... ... instead of providing our own implementation.
Martin Mitas e1216dae 2020-01-02T14:04:01 Simplify/unify some temp. string buffer memory management.
Martin Mitas b3739a42 2019-12-28T20:21:00 md_is_html_block_start_condition: Fix the MD4C_USE_UTF16 mode. The function was calling md_ascii_case_eq() incorrectly with a number of bytes instead of characters. This could lead to invalid memory accesses and/or mis-detection of raw HTML blocks in the special MD4C_USE_UTF16 builds on Windows.
Martin Mitas 64210986 2019-12-16T00:25:13 README.md: Add section about SW using MD4C.
Martin Mitas b06f912a 2019-12-14T14:06:46 README.md: Add missing info about wikilinks extension.
Martin Mitas 2eeff387 2019-12-13T20:45:20 README.md: Yet another minor update.
Martin Mitas 92175c48 2019-12-13T18:25:45 README.md: Few more wording improvements.
Martin Mitas b9fc0221 2019-12-13T13:49:48 README.md: Minor wording changes and typo fixes.
Martin Mitas 3f5ef0b6 2019-12-13T13:41:53 CHANGELOG.md: Fix a typo.
Martin Mitas 64bf660a 2019-12-13T13: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.
Martin Mitas e3b14bbe 2019-12-11T18:27:04 render_html.c: Minor clean-up.
Martin Mitas 6666db6d 2019-12-11T17:40:04 render_html.c: Unify HTML escaping and URL escaping.
Martin Mitas 753d916f 2019-12-11T14:55:10 README.md: Few more minor wording improvements.
Martin Mitas 6835cdd5 2019-12-11T14:30:59 README.md: A grammer fix.
Martin Mitas e0bbf449 2019-12-11T14:27:24 README.md: Update the README. * Improve some wording. * Add Documentation secion. * Add FAQ section. * Add link to markdown-wasm.
niblo 43bfa54d 2019-12-10T12:11:40 md2html.c: Fix printing input file name when output cannot be opened. (#99)
Martin Mitas db8e9fac 2019-12-06T04:13:23 README.md: Add logos to the badges.
Martin Mitas 4e2b37e4 2019-11-29T12:58:41 Bump version to 0.4.2.
Martin Mitas 46f25f0b 2019-11-12T21: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.
Martin Mitas 78764217 2019-11-04T15:36:51 Bump version to 0.4.1 and fix CHANGELOG.md.
Martin Mitas a6b37216 2019-11-04T15:30:17 Bump version to 0.4.0.
niblo e336e640 2019-11-04T15: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.
Martin Mitáš ef85cfc2 2019-11-04T15: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.
Martin Mitas 993c7b9b 2019-11-03T23: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.
Martin Mitas 13a5a4b4 2019-11-03T22:21:18 README.md: Update link to commonmark-d.
Martin Mitas e97d0250 2019-11-03T13: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.
Martin Mitas 0354e1ab 2019-10-04T22:34:08 md_is_container_mark: Ordered list mark requires at least one digit. Fixes #95.
Martin Mitas 64a63d53 2019-10-03T20:21:00 README.md: Add link to commonmark-d as a port of MD4C for D language.
Martin Mitas 728f2af4 2019-10-03T20:09:33 md_build_ref_def_hashtable: Do not allocate more memory then needed. Fixes #94.
Martin Mitas ae5ca894 2019-07-12T08:44:53 md2html/CMakeLists.txt: Use INSTALL(TARGETS) instead of INSTALL(PROGRAMS). Fixes #88.
Martin Mitas 97606369 2019-07-07T11:19:21 Fix the last test case in latex-math.txt.
Martin Mitas 9e8b3548 2019-07-07T11:16:23 Simplify some assertions.
Martin Mitas 099ce69b 2019-07-07T11:15:44 Add missing file into git.
Martin Mitas 2e965941 2019-07-07T10:59:20 Add/improve docs for the LaTeX math spans.
Tilman Roeder 8bac86aa 2019-07-07T09:46:10 Added support for LaTeX math (#87) Addresses #86.
Craig Barnes f0de1990 2019-06-24T21:56:50 Add man page for md2html program (#85) Fixes #56
Martin Mitas 410bb419 2019-06-19T17:04:48 Bump version to 0.3.4.
Martin Mitas b2e60066 2019-05-30T15:59:22 README.md: Shorten an URL to improve line wrapping.
Martin Mitas ce8b5d94 2019-05-27T22:16:35 md_analyze_line: Blockquote with blank line can interrupt a paragraph. Fixes #83.
Martin Mitas 7d1cfbc1 2019-05-23T22:50:37 CHANGELOG.md: Fix some wording.
Martin Mitas c4e6ddc3 2019-05-20T21: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 :-)
Martin Mitas 346874e0 2019-05-20T21: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
Martin Mitas 97dd1ba8 2019-05-20T14:16:48 Fix gcc warning at -Wpedantic. md4c.c:184:14: warning: ISO C forbids forward references to enumâ types [-Wpedantic] Fixes #79
Martin Mitas 4d926435 2019-05-19T22: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.
Martin Mitas 0344a077 2019-05-19T22:10:17 md_analyze_line: Fix the fast path if the input contains zero character.
Martin Mitas 56f8bbb1 2019-05-19T15:12:32 Implement/improve some optimizations, both in the parser and HTML renderer.
Martin Mitas f281db0b 2019-05-19T11:51:10 CHNANGELOG.md: Minor typo and wording fixes.
Martin Mitas 51386164 2019-05-19T11:46:26 md_link_label_cmp: Fix handling non-trivial folding info. Fixes #78.
Martin Mitas 4f6a9e54 2019-05-19T10: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.
Martin Mitas 267e82df 2019-05-16T22: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.
Martin Mitas aca5c27f 2019-05-16T22:48:08 test/spec.txt: Update from upstream head.
Martin Mitas 64a1bc37 2019-05-15T23:25:05 test/coverage.txt: Sort the regression test cases by the issue number.
Martin Mitas ef64fd38 2019-05-13T10:46:50 render_html.c: Improve RENDER_LITERAL to not cause warnings in MSVC 2017.
Martin Mitas 04c65c4c 2019-05-13T10:45:38 Build: Improve CMakeLists.txt compatibility with MSVC 2017.
Martin Mitas e091d160 2019-05-11T00:40:28 Fix previous incomplete commit.
Martin Mitas 51da223b 2019-05-11T00: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.
Martin Mitas d7a8ede0 2019-05-10T10:36:45 Bump version to 0.3.3.
Martin Mitas 74636f3b 2019-05-08T11:07:15 md_scan_for_html_closer: Fix typo in a comment.
Martin Mitas 919a0cc9 2019-05-08T07:38:33 test/*.txt: Fix some formatting.
Martin Mitas 1757ff55 2019-05-07T23:10:46 test/spec_tests.py: Make ready for spec.txt from cmark-gfm project. This allows easier checking of our GFM dialect compatibility.
Martin Mitas e43f73a3 2019-05-07T22:36:29 CHANGELOG.md: Supplement description of the issue #76.
Martin Mitas 83047d3e 2019-05-07T22: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.
Martin Mitas f8ed51c9 2019-05-05T16:11:21 md_analyze_line: Simplify. Move some common code from multiple branches to one (and more appropriate) place.
Martin Mitas 609dfb0b 2019-05-05T15: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).
Andrew Lindesay 5cf2000a 2019-05-05T11: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]".
Martin Mitas 95279131 2019-04-30T00:32:36 When undoing complete block from ctx->block_bytesp[], reset ctx->current_block properly. Fixes #74.
Martin Mitas 19504cad 2019-04-29T22: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.
Martin Mitas d4d10915 2019-04-29T19: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.
Martin Mitas 716b6ca4 2019-04-17T15: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.
Shawn Rutledge d9a5a6f6 2019-04-17T14:18:14 Fix errors and warnings on INTEGRITY compiler It seems to be applying C90 (?) rules: initializers must be compile-time constants. Fixes #71.
Martin Mitas 7a6bf33c 2019-04-08T19:56:23 Bump version to 0.3.2
Martin Mitas 29dfdd91 2019-04-08T19:45:50 README.md and CHANGELOG.md: Update for spec 0.29.
Martin Mitáš d7920b9c 2019-04-08T19:35:06 Merge pull request #67 from mity/spec-0.29 This merges all changes for CommonMark specification 0.28 -> 0.29 transition.
Martin Mitas 98850288 2019-04-08T19:31:57 md_is_html_block_start_condition: Do not recognize <meta>. This change is mandated by specifiction 0.29.
Martin Mitas 734a7c82 2019-04-08T11:00:39 Allow link ref. defs. at the beginning of SeText headers.
Martin Mitas 5b78f295 2019-04-08T11:00:27 test/spec.txt: Update from upstream head.
Martin Mitas b7d3c1a3 2019-04-05T08:53:27 Fix handling EOLs inside a code span.
Martin Mitas 8994c382 2019-04-05T08:19:01 md_is_code_span: Follow new spec rules for space trimming.
Martin Mitas 2a7b97ed 2019-04-05T08:18:54 test/spec.txt: Update from upstream head.
Martin Mitas b8586987 2019-04-03T08:28:27 md_collect_mark: Add missing 'continue' to '~' branch. Fixes #69.
Martin Mitas 30bf5667 2019-03-27T02: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.
Martin Mitas 855a1bfc 2019-03-27T02:04:24 test/spec.txt: Update from upstream head.
Martin Mitas cccfb3d7 2019-03-26T16:59:52 md_is_html_block_start_condition: Fix starting condition 1 when EOF follows. Fixes #68
Martin Mitas 13672154 2019-03-26T15:10:12 md_is_container_mark: Check the indentation is not too big... If it is then it is rather an indented code block.
Martin Mitas 94c86fe2 2019-03-26T14: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.
Martin Mitas 0959975a 2019-03-26T14:01:02 md_analyze_emph: Follow specs changes to the "rule of three".
Martin Mitas 003a551d 2019-03-26T13:51:03 Remove left-over commented out code.
Martin Mitas 6e49193e 2019-03-26T13:44:55 md_is_link_title: Link title must be delimited from link destination with a whitespace.