(((meta ((content . "Other Markup Languages") (name . "title"))) (meta ((content . "manual") (name . "role"))) (meta ((content . "#manual #zettelstore") (name . "tags"))) (meta ((content . "zmk") (name . "syntax"))) (meta ((content . "00001000000000 00001006020000 00001007031200 00001007031300 00001007031400 00001012920513 00001012920522") (name . "back"))) (meta ((content . "00001000000000 00001006020000 00001007031200 00001007031300 00001007031400 00001012920513 00001012920522") (name . "backward"))) (meta ((content . "1") (name . "box-number"))) (meta ((content . "(c) 2020-present by Detlef Stern ") (name . "copyright"))) (meta ((content . "20210126175300") (name . "created"))) (meta ((content . "00000000000092 00000000000100 00001007000000 00001008010000 00001008010500 00001008050000 00001012920510 00001014000000") (name . "forward"))) (meta ((content . "en") (name . "lang"))) (meta ((content . "EUPL-1.2-or-later") (name . "license"))) (meta ((content . "20260701175706") (name . "modified"))) (meta ((content . "20260701175706") (name . "published"))) (meta ((content . "public") (name . "visibility")))) (p (a ((href . "00001007000000")) "Zettelmarkup") " is not the only markup language you can use to define your content." " " "Zettelstore is quite agnostic with respect to markup languages." " " "Of course, Zettelmarkup plays an important role." " " "However, with the exception of zettel titles, you can use any (markup) language that is supported:") (ul (li "CSS") (li "HTML template data") (li "Image formats: GIF, PNG, JPEG, SVG, WEBP") (li "Markdown") (li "Plain text, not further interpreted")) (p "The " (a ((href . "00001006020000#syntax")) "metadata key") " " (kbd "syntax") " specifies which markup language / data format should be used." " " "If it is not given, it defaults to " (@L (@H "“") "plain" (@H "”")) "." " " "The following syntax values are supported:") (dl (dt (a ((id . "css")) (@L (@H "“") "css" (@H "”")))) (dd (p "A " (a ((href . "https://www.w3.org/Style/CSS/") (rel . "external")) "Cascading Style Sheet") ", to be used when rendering a zettel as HTML.")) (dt (a ((id . "draw")) (@L (@H "“") "draw" (@H "”")))) (dd (p "A " (a ((href . "00001008050000")) "language") " to " (@L (@H "“") "draw" (@H "”")) " a graphic by using some simple Unicode characters.")) (dt (a ((id . "gif")) (@L (@H "“") "gif" (@H "”"))) "; " (a ((id . "jpeg")) (@L (@H "“") "jpeg" (@H "”"))) "; " (a ((id . "jpg")) (@L (@H "“") "jpg" (@H "”"))) "; " (a ((id . "png")) (@L (@H "“") "png" (@H "”"))) "; " (a ((id . "webp")) (@L (@H "“") "webp" (@H "”")))) (dd (p "The formats for pixel graphics." " " "Typically the data is stored in a separate file and the syntax is given in the meta-file, which has the same name as the zettel identifier and has no file extension." (sup ((id . "fnref:1")) (a ((class . "zs-noteref") (href . "#fn:1") (role . "doc-noteref")) "1")))) (dt (a ((id . "html")) (@L (@H "“") "html" (@H "”")))) (dd (p "Hypertext Markup Language, will not be parsed further." " " "Instead, it is treated as " (a ((href . "#text")) (@L (@H "“") "text" (@H "”"))) ", but will be encoded differently for " (a ((href . "00001012920510")) "HTML format") " (same for the " (a ((href . "00001014000000")) "web user interface") ").") (p "Since HTML from unknown sources may contain security-related problems, zettel with this syntax are treated as an empty zettel, unless the startup configuration value for " (a ((href . "00001004010000#insecure-html")) (kbd "insecure-html")) " is set to at least the value " (@L (@H "“") "html" (@H "”")) ".") (p "For security reasons, equivocal elements will not be encoded in the HTML format / web user interface." " " "The " (code "< script ...>") " tag is an example." " " "See " (a ((href . "00001008010000#security-aspects")) "security aspects of Markdown") " for some details.")) (dt (a ((id . "js")) (@L (@H "“") "js" (@H "”")))) (dd (p "JavaScript, will not be parsed further." " " "It is treated as plain " (a ((href . "#text")) (@L (@H "“") "text" (@H "”"))) ", except for a different " (@L (@H "“") "Content-Type" (@H "”")) " when retrieved via the API.")) (dt (a ((id . "markdown")) (@L (@H "“") "markdown" (@H "”"))) ", " (a ((id . "md")) (@L (@H "“") "md" (@H "”"))) ", " (a ((id . "commonmark")) (@L (@H "“") "commonmark" (@H "”"))) ", " (a ((id . "cmark")) (@L (@H "“") "cmark" (@H "”"))) ", " (a ((id . "emark")) (@L (@H "“") "emark" (@H "”")))) (dd (p "For those who desperately need " (a ((href . "https://daringfireball.net/projects/markdown/") (rel . "external")) "Markdown") ", Zettelstore supports multiple Markdown dialects, including " (a ((href . "00001008010500")) "CommonMark") "." " " "See " (a ((href . "00001008010000")) "Use Markdown within Zettelstore") " for details.")) (dt (a ((id . "none")) (@L (@H "“") "none" (@H "”")))) (dd (p "Only the metadata of a zettel is used." " " "Useful for displaying the full metadata." " " "For example, the " (a ((href . "00000000000100")) "runtime configuration zettel") " uses this syntax." " " "The zettel content is ignored.")) (dt (a ((id . "svg")) (@L (@H "“") "svg" (@H "”")))) (dd (p (a ((href . "https://www.w3.org/groups/wg/svg/") (rel . "external")) "Scalable Vector Graphics") ".")) (dt (a ((id . "sxn")) (@L (@H "“") "sxn" (@H "”")))) (dd (p "S-Expressions, as implemented by " (a ((href . "https://t73f.de/r/sx/") (rel . "external")) "Sx") ", are often used to specify templates when rendering a zettel as HTML for the " (a ((href . "00001014000000")) "web user interface") " (with the help of sxhtml).")) (dt (a ((id . "text")) (@L (@H "“") "text" (@H "”"))) ", " (a ((id . "plain")) (@L (@H "“") "plain" (@H "”"))) ", " (a ((id . "txt")) (@L (@H "“") "txt" (@H "”")))) (dd (p "Plain text that must not be interpreted further.")) (dt (a ((id . "zmk")) (@L (@H "“") "zmk" (@H "”")))) (dd (p (a ((href . "00001007000000")) "Zettelmarkup") "."))) (p "The actual values are also listed in a zettel named " (a ((href . "00000000000092")) "Zettelstore Supported Parser") ".") (p "If you specify something else, your content will be interpreted as plain text."))