h1: Introducing Dentmark p: Dentmark is an indentation-delimited markup language that can be imported into other Python projects and configured/customized to suit your needs. p: b: (Edit this Dentmark source to show the rendered results) h3: Syntax p: Dentmark's syntax is very simple, and very easy to learn. ul: li: Each line begins with either a string, or tag name followed by a ':' li: Each line under the tag name is a child element of that tag li: The first text child under a tag can follow the tag on the same line. This is useful for tags that only have one child (like these li elements) li: Any line beginning with a '#' is ignored li: If whitespace is not desired following a tag element, a '-' can be used on either side of the tag name to indicate where whitespace should be 'trimmed' (this is demonstrated below) h3: Demo and Quickstart Guide p: This is a paragraph. Lines can be added separately here. They will appear as one paragraph in the rendered result. p: You can also put the first line on the same line as the element. Other lines must be indented, like this one. Here's another line. This is b: bold text. This is i: italic text, and this text is s: strikethrough You don't have to put text in paragraphs. Other block elements are available too. Here are some lists: ul: li: first item li: second item Now for an ordered one: ol: li: first item li: second item p: Here's a: a link to url: https://github.com/rylito/dentmark the Dentmark source code on GitHub. Links can also have an optional title a: like this url: https://github.com/rylito/dentmark title: Dentmark Repo Here's a table: table: tr: td: hello align: right td: there rowspan: 2 tr: td: another tr: td: this spans 2 cols and is kind of long colspan: 2 # This is a comment. It won't render anything p: Let's include an image! # Also, the title and alt child tags of img are optional img: https://mope.nyc3.cdn.digitaloceanspaces.com/media/4/assets/imgs/dentmark_logo.png title: Dentmark Logo alt: Some alternate text p: You can add your own tags to do whatever you want. Here's one that's included in the default configuration for embedding youtube videos. youtube: UkGBWMqBtEE # optional attributes height: 315 width: 560 p: Preformatted text is also supported any text with an indent level greater than that of the 'pre' tag will rendered with whitespace intact, like so: pre: this is some preformatted text That's it for preformatted text. Now we're back to normal behavior. h3: Typographical Enhancements p: Single and Double quotes will be replaced by HTML entities representing opening and closing quotes. For example: The boy said, "I like to run!". This works for single quotes too: Here is a single-quoted 'word'. This sentence---with some aside---will use emdash. This sentence trails off to demonstrate how 3 dots will be replaced by an ellipsis entity... h3: Annotations and Footnotes p: The default tag definitions a8n: allow for annotations. fn: This is the footnote for the first annotation This could be useful for a8n: blogs fn: Speaking of blogs, check out a-: mine url: https://pontifi.co . It is rendered with Dentmark! and things like that Note that the 'fn' (footnote) will not be rendered in-line here, but placed at the end of the document. h3: Trimming Whitespace p: Usually, it's helpful to have whitespace after an element like b: this bold text. However, in some cases, this is not desired. For example, the last words in sentences should be followed immediately by b: a period . Since this period is not part of the text that 'belongs' to the 'b' tag, there is some whitespace before it. To get rid of it, you can b-: do this . The '-' sign after the 'b' tag name indicates that whitespace after this inline element should be trimmed. p: If you need to force a line break, the 'br' tag is available. br: This line is in the same paragraph but is now on a new line. p: Here's an 'hr' hr: p: Now for the footnotes.