((META (EMPTY-STRING title "The \"draw\" language") (WORD role "manual") (TAG-SET tags ("#graphic" "#manual" "#zettelstore")) (WORD syntax "zmk") (ZID-SET back ("00001007031300")) (ZID-SET backward ("00001007031300" "00001008000000")) (NUMBER box-number "1") (STRING copyright "(c) 2020-present by Detlef Stern ") (TIMESTAMP created "20220131142036") (ZID-SET forward ("00001008000000")) (WORD lang "en") (EMPTY-STRING license "EUPL-1.2-or-later") (TIMESTAMP modified "20230403123738") (TIMESTAMP published "20230403123738") (WORD visibility "public")) (BLOCK (PARA (TEXT "Sometimes, ") (FORMAT-QUOTE () (TEXT "a picture is worth a thousand words")) (TEXT ".") (SOFT) (TEXT "To create some graphical representations, Zettelmarkup provides a simple mechanism.") (SOFT) (TEXT "Characters like ") (FORMAT-QUOTE () (LITERAL-INPUT () "|")) (TEXT " or ") (FORMAT-QUOTE () (LITERAL-INPUT () "-")) (TEXT " already provide some visual feedback.") (SOFT) (TEXT "For example, to create a picture containing two boxes that are connected via an arrow, the following representation is possible:")) (VERBATIM-CODE () "~~~draw\n+-------+ .-------.\n| Box 1 | ----> | Box 2 |\n+-------+ '-------'\n~~~") (PARA (TEXT "Zettelstore translates this to:")) (BLOB () "svg" "Box 1Box 2") (PARA (TEXT "Technically spoken, the drawing is translated to a ") (LINK-ZETTEL () "00001008000000#svg" (TEXT "SVG")) (TEXT " element.")) (PARA (TEXT "The following characters are interpreted to create a graphical representation.") (SOFT) (TEXT "Some of them will start a path that results in a recognized object.")) (TABLE ((CELL-CENTER (TEXT "Character")) (CELL (TEXT "Meaning")) (CELL-CENTER (TEXT "Path Start"))) ((CELL-CENTER (LITERAL-INPUT () "+")) (CELL (TEXT "Corner")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () "-")) (CELL (TEXT "Horizontal line")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () "|")) (CELL (TEXT "Vertical line")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () "<")) (CELL (TEXT "Left arrow")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () ">")) (CELL (TEXT "Right arrow")) (CELL-CENTER (TEXT "No"))) ((CELL-CENTER (LITERAL-INPUT () "v")) (CELL (TEXT "Down arrow")) (CELL-CENTER (TEXT "No"))) ((CELL-CENTER (LITERAL-INPUT () "^")) (CELL (TEXT "Up arrow")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () ":")) (CELL (TEXT "Dashed vertical line")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () "=")) (CELL (TEXT "Dashed horizontal line")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () ".")) (CELL (TEXT "Rounded corner")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () "'")) (CELL (TEXT "Rounded corner")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () "/")) (CELL (TEXT "North-east diagonal line")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () "\\")) (CELL (TEXT "South-east diagonal line")) (CELL-CENTER (TEXT "Yes"))) ((CELL-CENTER (LITERAL-INPUT () "x")) (CELL (TEXT "A tick on a line")) (CELL-CENTER (TEXT "No"))) ((CELL-CENTER (LITERAL-INPUT () "*")) (CELL (TEXT "A dot on a line")) (CELL-CENTER (TEXT "No")))) (PARA (TEXT "Interpretation of these characters starts at the top left corner and continues depending on the current character.")) (PARA (TEXT "All other characters are treated as text."))))