((p "Any" " " "document" " " "can" " " "be" " " "thought" " " "as" " " "a" " " "sequence" " " "of" " " "paragraphs" " " "and" " " "other" " " (a (@ (href . "00001007030000")) "block-structured" " " "elements") " " "(" (@L (@H "“") "blocks" (@H "”")) ")," " " "such" " " "as" " " (a (@ (href . "00001007030300")) "headings") "," " " (a (@ (href . "00001007030200")) "lists") "," " " "quotations," " " "and" " " "code" " " "blocks." " " "Some" " " "of" " " "these" " " "blocks" " " "can" " " "contain" " " "other" " " "blocks," " " "for" " " "example" " " "lists" " " "may" " " "contain" " " "other" " " "lists" " " "or" " " "paragraphs." " " "Other" " " "blocks" " " "contain" " " (a (@ (href . "00001007040000")) "inline-structured" " " "elements") " " "(" (@L (@H "“") "inlines" (@H "”")) ")," " " "such" " " "as" " " "text," " " (a (@ (href . "00001007040310")) "links") "," " " "emphasized" " " "text," " " "and" " " "images.") (p "With" " " "the" " " "exception" " " "of" " " "lists" " " "and" " " "tables," " " "the" " " "markup" " " "for" " " "blocks" " " "always" " " "begins" " " "at" " " "the" " " "first" " " "position" " " "of" " " "a" " " "line" " " "with" " " "three" " " "or" " " "more" " " "identical" " " "characters." " " "List" " " "blocks" " " "also" " " "begin" " " "at" " " "the" " " "first" " " "position" " " "of" " " "a" " " "line," " " "but" " " "may" " " "need" " " "one" " " "or" " " "more" " " "identical" " " "character," " " "plus" " " "a" " " "space" " " "character." " " (a (@ (href . "00001007031000")) "Table" " " "blocks") " " "begin" " " "at" " " "the" " " "first" " " "position" " " "of" " " "a" " " "line" " " "with" " " "the" " " "character" " " (@L (@H "“") (code "|") (@H "”")) "." " " "Non-list" " " "blocks" " " "are" " " "either" " " "fully" " " "specified" " " "on" " " "that" " " "line" " " "or" " " "they" " " "span" " " "multiple" " " "lines" " " "and" " " "are" " " "delimited" " " "with" " " "the" " " "same" " " "three" " " "or" " " "more" " " "character." " " "It" " " "depends" " " "on" " " "the" " " "block" " " "kind," " " "whether" " " "blocks" " " "are" " " "specified" " " "on" " " "one" " " "line" " " "or" " " "on" " " "at" " " "least" " " "two" " " "lines.") (p "If" " " "a" " " "line" " " "does" " " "not" " " "begin" " " "with" " " "an" " " "explicit" " " "block" " " "element." " " "the" " " "line" " " "is" " " "treated" " " "as" " " "a" " " "(implicit)" " " "paragraph" " " "block" " " "element" " " "that" " " "contains" " " "inline" " " "elements." " " "This" " " "paragraph" " " "ends" " " "when" " " "a" " " "block" " " "element" " " "is" " " "detected" " " "at" " " "the" " " "beginning" " " "of" " " "a" " " "next" " " "line" " " "or" " " "when" " " "an" " " "empty" " " "line" " " "occurs." " " "Some" " " "blocks" " " "may" " " "also" " " "contain" " " "inline" " " "elements," " " "e.g." " " "a" " " "heading.") (p "Inline" " " "elements" " " "mostly" " " "begins" " " "with" " " "two" " " "non-space," " " "often" " " "identical" " " "characters." " " "With" " " "some" " " "exceptions," " " "two" " " "identical" " " "non-space" " " "characters" " " "begins" " " "a" " " "formatting" " " "range" " " "that" " " "is" " " "ended" " " "with" " " "the" " " "same" " " "two" " " "characters.") (p "Exceptions" " " "are:" " " "links," " " "images," " " "edits," " " "comments," " " "and" " " "both" " " "the" " " (@L (@H "“") "en-dash" (@H "”")) " " "and" " " "the" " " (@L (@H "“") "horizontal" " " "ellipsis" (@H "”")) "." " " "A" " " "link" " " "is" " " "given" " " "with" " " (code (@ (class . "language-zmk")) "[[...]]") "," " " "an" " " "images" " " "with" " " (code (@ (class . "language-zmk")) "{{...}}") "," " " "and" " " "an" " " "edit" " " "formatting" " " "with" " " (code (@ (class . "language-zmk")) "((...))") "." " " "An" " " "inline" " " "comment," " " "beginning" " " "with" " " "the" " " "sequence" " " (code (@ (class . "language-zmk")) "%%") "," " " "always" " " "ends" " " "at" " " "the" " " "end" " " "of" " " "the" " " "line" " " "where" " " "it" " " "begins." " " "The" " " (@L (@H "“") "en-dash" (@H "”")) " " "(" (@L (@H "“") "–" (@H "”")) ")" " " "is" " " "specified" " " "as" " " (code (@ (class . "language-zmk")) "--") "," " " "the" " " (@L (@H "“") "horizontal" " " "ellipsis" (@H "”")) " " "(" (@L (@H "“") "..." (@H "”")) ")" " " "as" " " (code (@ (class . "language-zmk")) "...") (sup (@ (id . "fnref:1")) (a (@ (class . "zs-noteref") (href . "#fn:1") (role . "doc-noteref")) "1")) ".") (p "Some" " " "inline" " " "elements" " " "do" " " "not" " " "follow" " " "the" " " "rule" " " "of" " " "two" " " "identical" " " "character," " " "especially" " " "to" " " "specify" " " (a (@ (href . "00001007040330")) "footnotes") "," " " (a (@ (href . "00001007040340")) "citation" " " "keys") "," " " "and" " " "local" " " "marks." " " "These" " " "elements" " " "begin" " " "with" " " "one" " " "opening" " " "square" " " "bracket" " " "(" (@L (@H "“") (code "[") (@H "”")) ")," " " "use" " " "a" " " "character" " " "for" " " "specifying" " " "the" " " "kind" " " "of" " " "the" " " "inline," " " "typically" " " "allow" " " "to" " " "specify" " " "some" " " "content," " " "and" " " "end" " " "with" " " "one" " " "closing" " " "square" " " "bracket" " " "(" (@L (@H "“") (code "]") (@H "”")) ").") (p "One" " " "inline" " " "element" " " "that" " " "does" " " "not" " " "begin" " " "with" " " "two" " " "characters" " " "is" " " "the" " " (@L (@H "“") "entity" (@H "”")) "." " " "It" " " "allows" " " "to" " " "specify" " " "any" " " "Unicode" " " "character." " " "The" " " "specification" " " "of" " " "that" " " "character" " " "is" " " "put" " " "between" " " "an" " " "ampersand" " " "character" " " "and" " " "a" " " "semicolon:" " " (code (@ (class . "language-zmk")) "&...;") "." " " "For" " " "example," " " "an" " " (@L (@H "“") "n-dash" (@H "”")) " " "could" " " "also" " " "be" " " "specified" " " "as" " " (code (@ (class . "language-=zmk")) "–") ".") (p "The" " " "backslash" " " "character" " " "(" (@L (@H "“") (code "\\") (@H "”")) ")" " " "possibly" " " "gives" " " "the" " " "next" " " "character" " " "a" " " "special" " " "meaning." " " "This" " " "allows" " " "to" " " "resolve" " " "some" " " "left" " " "ambiguities." " " "For" " " "example," " " "a" " " "list" " " "of" " " "depth" " " "2" " " "will" " " "begin" " " "a" " " "line" " " "with" " " (code (@ (class . "language-zmk")) "** Item 2.2") "." " " "An" " " "inline" " " "element" " " "to" " " "strongly" " " "emphasize" " " "some" " " "text" " " "begin" " " "with" " " "a" " " "space" " " "will" " " "be" " " "specified" " " "as" " " (code (@ (class . "language-zmk")) "** Text**") "." " " "To" " " "force" " " "the" " " "inline" " " "element" " " "formatting" " " "at" " " "the" " " "beginning" " " "of" " " "a" " " "line," " " (code (@ (class . "language-zmk")) "**\\ Text**") " " "should" " " "better" " " "be" " " "specified.") (p "Many" " " "block" " " "and" " " "inline" " " "elements" " " "can" " " "be" " " "refined" " " "by" " " "additional" " " (a (@ (href . "00001007050000")) "attributes") "." " " "Attributes" " " "resemble" " " "roughly" " " "HTML" " " "attributes" " " "and" " " "are" " " "put" " " "near" " " "the" " " "corresponding" " " "elements" " " "by" " " "using" " " "the" " " "syntax" " " (code (@ (class . "language-zmk")) "{...}") "." " " "One" " " "example" " " "is" " " "to" " " "make" " " "space" " " "characters" " " "visible" " " "inside" " " "a" " " "inline" " " "literal" " " "element:" " " (code "1␣+␣2␣=␣3") " " "was" " " "specified" " " "by" " " "using" " " "the" " " "default" " " "attribute:" " " (code "``1 + 2 = 3``{-}") ".") (p "To" " " "summarize:") (ul (li "With" " " "some" " " "exceptions," " " "blocks-structural" " " "elements" " " "begins" " " "at" " " "the" " " "for" " " "position" " " "of" " " "a" " " "line" " " "with" " " "three" " " "identical" " " "characters.") (li "The" " " "most" " " "important" " " "exception" " " "to" " " "this" " " "rule" " " "is" " " "the" " " "specification" " " "of" " " "lists.") (li "If" " " "no" " " "block" " " "element" " " "is" " " "found," " " "a" " " "paragraph" " " "with" " " "inline" " " "elements" " " "is" " " "assumed.") (li "With" " " "some" " " "exceptions," " " "inline-structural" " " "elements" " " "begins" " " "with" " " "two" " " "characters," " " "quite" " " "often" " " "the" " " "same" " " "two" " " "characters.") (li "The" " " "most" " " "important" " " "exceptions" " " "are" " " "links.") (li "The" " " "backslash" " " "character" " " "can" " " "help" " " "to" " " "resolve" " " "possible" " " "ambiguities.") (li "Attributes" " " "refine" " " "some" " " "block" " " "and" " " "inline" " " "elements.") (li "Block" " " "elements" " " "have" " " "a" " " "higher" " " "priority" " " "than" " " "inline" " " "elements.")) (p "These" " " "principles" " " "makes" " " "automatic" " " "recognizing" " " "zettelmarkup" " " "an" " " "(relatively)" " " "easy" " " "task." " " "By" " " "looking" " " "at" " " "the" " " "reference" " " "implementation," " " "a" " " "moderately" " " "skilled" " " "software" " " "developer" " " "should" " " "be" " " "able" " " "to" " " "create" " " "a" " " "appropriate" " " "software" " " "in" " " "a" " " "different" " " "programming" " " "language."))