(((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 00001007031200 00001007031300 00001007031400 00001007040200 00001012920513 00001012920522 00001017000000 00001018000000") (name . "back"))) (meta (@ (content . "00001000000000 00001004010000 00001006020000 00001007031200 00001007031300 00001007031400 00001007040200 00001008050000 00001012920513 00001012920522 00001017000000 00001018000000") (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 00001004010000 00001006020000 00001007000000 00001008010000 00001008010500 00001008050000 00001012920510 00001014000000") (name . "forward"))) (meta (@ (content . "en") (name . "lang"))) (meta (@ (content . "EUPL-1.2-or-later") (name . "license"))) (meta (@ (content . "20240413160242") (name . "modified"))) (meta (@ (content . "20240413160242") (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") (li "Markdown") (li "Plain text, not further interpreted")) (p "The " (a (@ (href . "00001006020000#syntax")) "metadata key") " " (@L (@H "“") (kbd "syntax") (@H "”")) " specifies which markup language / data format should be used." " " "If it is not given, it defaults to " (kbd "plain") "." " " "The following syntax values are supported:") (dl (dt (a (@ (id . "css")) (kbd "css"))) (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")) (kbd "draw"))) (dd (p "A " (a (@ (href . "00001008050000")) "language") " to " (@L (@H "“") "draw" (@H "”")) " a graphic by using some simple Unicode characters.")) (dt (a (@ (id . "gif")) (kbd "gif")) "; " (a (@ (id . "jpeg")) (kbd "jpeg")) "; " (a (@ (id . "jpg")) (kbd "jpg")) "; " (a (@ (id . "png")) (kbd "png")) "; " (a (@ (id . "webp")) (kbd "webp"))) (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")) (kbd "html"))) (dd (p "Hypertext Markup Language, will not be parsed further." " " "Instead, it is treated as " (a (@ (href . "#text")) "text") ", 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 . "markdown")) (kbd "markdown")) ", " (a (@ (id . "md")) (kbd "md"))) (dd (p "For those who desperately need " (a (@ (href . "https://daringfireball.net/projects/markdown/") (rel . "external")) "Markdown") "." " " "Since the world of Markdown is so diverse, a " (a (@ (href . "00001008010500")) "CommonMark") " parser is used." " " "See " (a (@ (href . "00001008010000")) "Use Markdown within Zettelstore") ".")) (dt (a (@ (id . "none")) (kbd "none"))) (dd (p "Only the metadata of a zettel is " (@L (@H "“") "parsed" (@H "”")) "." " " "Useful for displaying the full metadata." " " "The " (a (@ (href . "00000000000100")) "runtime configuration zettel") " uses this syntax." " " "The zettel content is ignored.")) (dt (a (@ (id . "svg")) (kbd "svg"))) (dd (p (a (@ (href . "https://www.w3.org/TR/SVG2/") (rel . "external")) "Scalable Vector Graphics") ".")) (dt (a (@ (id . "sxn")) (kbd "sxn"))) (dd (p "S-Expressions, as implemented by " (a (@ (href . "https://t73f.de/r/sx") (rel . "external")) "Sx") "." " " "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")) (kbd "text")) ", " (a (@ (id . "plain")) (kbd "plain")) ", " (a (@ (id . "txt")) (kbd "txt"))) (dd (p "Plain text that must not be interpreted further.")) (dt (a (@ (id . "zmk")) (kbd "zmk"))) (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."))