The Tisty language
A Tisty document is a plain .md file. What it holds is Markdown: CommonMark with GitHub's additions, plus a handful of short words of Tisty's own for what Markdown has no way to say: a pen colour, an underline, an icon, a section that folds. This page lists every one of them: what it is for, how it is written in the file, how it reads, and the small rules that decide when it counts.
Nothing on this page needs learning by heart. The / menu and the bar in the editor write all of it for you; this is what you find if you open the file somewhere else, or want to write it by hand.
At a glance
| What | Written | GitHub | CommonMark |
|---|---|---|---|
| Properties | --- title: tags: … --- | as a table | as a rule and words |
| Headings | # Title … ###### Title | yes | yes |
| Bold, italic, struck, code | **b** *i* ~~s~~ `c` | yes | all but ~~s~~ |
| Underline | ++words++ | no | no |
| Pens | ==words== ==words=={green} | no | no |
| Links | [words](https://…) [words][one] https://… | yes | all but a bare https://… |
| Line breaks | one line per line | joins them | joins them |
| Lists and stages | - item 1. item - [ ] stage | yes | lists, not stages |
| Quotes and callouts | > words > [!NOTE] | yes | quotes, not callouts |
| Collapsible sections | :::details Title … ::: | no | no |
| Tags | #contract | as words | as words |
| Icons | ::dog orange:: | no | no |
| Emoji | 🎉 or :tada: | yes | 🎉 only |
| Other documents and pages |  | no | no |
| Attachments |  | no | no |
| References | [[Name]] [[#2]] | no | no |
| Footnotes | [^1] … [^1]: note | yes | no |
| Code | ```lang title="name" | yes | yes |
| Diagrams | ```mermaid | yes | as code |
| Formulas | ```math $x$ $$x$$ | yes | no |
| Widgets | ```widget | as code | as code |
| Tables | \| a \| b \| | yes | no |
| Page breaks | --- | as a rule | as a rule |
| Comments and entities | <!-- note --> © | yes | yes |
Where the table says no, a reader that follows only GitHub or only CommonMark shows the words exactly as they are written, so nothing is lost: ++words++ stays readable, and ::dog:: is still a dog.