((META (EMPTY-STRING title "CommonMark") (WORD role "manual") (TAG-SET tags ("#manual" "#markdown" "#zettelstore")) (WORD syntax "zmk") (ZID-SET back ("00001006000000" "00001008000000" "00001008010000" "00001012920513")) (ZID-SET backward ("00001006000000" "00001007000000" "00001007031200" "00001008000000" "00001008010000" "00001012920513")) (NUMBER box-number "1") (STRING copyright "(c) 2020-present by Detlef Stern ") (TIMESTAMP created "20220113183435") (ZID-SET forward ("00001007000000" "00001007031200" "00001007040200" "00001007050000")) (WORD lang "en") (EMPTY-STRING license "EUPL-1.2-or-later") (TIMESTAMP modified "20250115200458") (TIMESTAMP published "20250115200458") (URL url "https://commonmark.org/") (WORD visibility "public")) (BLOCK (PARA (LINK-EXTERNAL () "https://commonmark.org/" (TEXT "CommonMark")) (TEXT " is a Markdown dialect, an ") (LINK-EXTERNAL () "https://xkcd.com/927/" (TEXT "attempt")) (TEXT " to unify all the different, divergent dialects of Markdown by providing an unambiguous syntax specification for Markdown, together with a suite of comprehensive tests to validate implementation.")) (PARA (TEXT "Time will show, if this attempt is successful.")) (PARA (TEXT "However, CommonMark is a well specified Markdown dialect, in contrast to most (if not all) other dialects.") (SOFT) (TEXT "Other software adopts CommonMark somehow, notably ") (LINK-EXTERNAL () "https://github.github.com/gfm/" (TEXT "GitHub Flavored Markdown")) (TEXT " (GFM).") (SOFT) (TEXT "But they provide proprietary extensions, which makes it harder to change to another CommonMark implementation if needed.") (SOFT) (TEXT "Plus, they sometimes build on an older specification of CommonMark.")) (PARA (TEXT "Zettelstore supports the latest CommonMark ") (LINK-EXTERNAL () "https://spec.commonmark.org/0.31.2/" (TEXT "specification version 0.31.2 (2024-01-28)")) (TEXT ".") (SOFT) (TEXT "If possible, Zettelstore will adapt to newer versions when they are available.")) (PARA (TEXT "To provide CommonMark support, Zettelstore uses currently the ") (LINK-EXTERNAL () "https://github.com/yuin/goldmark" (TEXT "Goldmark")) (TEXT " implementation, which passes all validation tests of CommonMark.") (SOFT) (TEXT "Effectively, Markdown and CommonMark are super-sets of HTML.") (SOFT) (TEXT "Internally, CommonMark is translated into ") (LINK-ZETTEL () "00001007000000" (TEXT "Zettelmarkup")) (TEXT ".") (SOFT) (TEXT "Since Zettelmarkup supports HTML content only at the block level via ") (LINK-ZETTEL () "00001007031200" (TEXT "Inline Zettel")) (TEXT ", most uses of HTML within a CommonMark zettel are not translated as expected.") (SOFT) (TEXT "Instead, inline level HTML is translated into ") (LINK-ZETTEL () "00001007040200#literal-text" (TEXT "literal text")) (TEXT " with a ") (LINK-ZETTEL () "00001007050000" (TEXT "generic attribute")) (TEXT " set to ") (LITERAL-CODE () "html") (TEXT ".")) (PARA (TEXT "Therefore, Zettelstore itself will not pass the CommonMark test suite fully.") (SOFT) (TEXT "However, no CommonMark language element except inline HTML will fail to be encoded as HTML.") (SOFT) (TEXT "In most cases, the differences are not visible for a user, but only by comparing the generated HTML code."))))