Featherdown Cheatsheet
This is a concise compilation of all Featherdown operators, here divided into three major types: Mono, Mirror and Minimalist operators.
Labels TEXT, MATH, JS mark some places where it would be unwise to overload the operators, as they already carry meaning per se. Label TBA means an operator is under consideration.
Mono-operators
These operators require a single symbol, at specific positions, possibly repeated.
Symbol | Name | Start of line | Inline as prefix | Inline surrounding | Multiline fencing (3+) |
---|---|---|---|---|---|
* | asterisk | - | MATH | ** ** bold | - |
/ | slash | - | LINKS | // // italic | - |
_ | underscore | - | LINKS | __ __ underline | ___________ horizontal rule |
~ | tilde | - | - | ~~ ~~ strikethrough | ~~~ redacted section TBA |
+ | plus | - | MATH | ++ ++ newly added text | ´+++ newly added section TBA |
^ | circumflex | - | ^ short superscript | ^^ ^^ long superscript | ^^^ footnotes section |
¨ | umlaut | - | ¨ short subscript | ¨¨ ¨¨ long subscript | - |
@ | at sign | - | @ known person | @@ , @@ list of known people or @@@ @@@ contact button | @@@ announce TBA |
´ | acute | - | - | ´´ ´´ code snippet | ´´´ code block |
: | colon | - | ::: label | : : emoji | - |
| | vertical bar | | admonition | - | || || spoiler | ||| polycolumn |
› | greater than | › blockquote | MATH | - | - |
# | hash sign | # , ## … ATX heading | # input label | ## , ## input labels | ### Setex heading (lvl. 1) |
= | equal | - | MATH | == == highlight | === Setex heading (lvl. 3) |
- | minus | - unnumbered list item | MATH | TEXT | --- Setex heading (lvl. 5) |
Only an alphanumeric expression (with dash or underscore) can follow an operator used as a prefix. However, a surrounded expression may contain spaces and all other characters, except the operator itself.
Multiline fencing operators require always at least three equal symbols at the beginning of the line, the rest of the line is free and may be used fro options.
Mirror operators
The following mirror-operators are often used:
Symbol | Operator | Effect | Rationale |
---|---|---|---|
[ ] | square brackets (single) | links | akin to wikipedia links |
[1] | square brackets (single, number inside) | short footnote links | the format actually used in academic writing |
[[ ]] | square brackets (double) | keyboard or action shortcut explanation | visually resembles a keyboard key |
(( )) | parenthesis (double) | caption or image size | essentially a caption is an aside, so parenthesis would be mildly appropriate |
{{}} | curly brackets (double) | writes enclosed expression exactly as typed, i.e. verbatim | - |
The following operators are, with some exceptions, excluded:
Symbol | Operator | Reason for exclusion | Exceptions |
---|---|---|---|
‹ › | lesser-greater (single) | compatibility with html tags | - |
{ } | curly brackets (single) | compatibility with javascript objects and JSON | - |
( ) | parenthesis (single) | compatibility with normal text | common typographical replacements like © (c) |
« » | guillemets (single) | not easily accessible on english keyboards | shorthands/direct function calls (advanced feature) |
Minimalist operators
Minimalist operators require no more characters than the information itself they reference. Convenient!
Example | Operator | Effect |
---|---|---|
https://example.com | outer link (auto) | auto outer link |
image.png | image path | inline image |
page.title | page property | shorthands |
site.name | site properties | shorthands |
1st | auto-superscripted correct ordinal | ordinals |
03/06/2023 | auto-formatted date | dates |
** 06/09/2023 ** change | changestream (bold date + text) | changestream |
These can be escaped with the verbatim operator if needed.
Poly operators
The only operators using two distinct unrelated symbols are:
- even-level Setex headings, visually meaningful.
- pipes
|
, when separating arguments within links and shorthands. - buttons
[]›››
Poly operators are less ergonomic to type and harder to memorise, and thus were avoided as much as possible.
Unused operators
The following symbols were excluded for operators because they already carry sufficient meaning.
Symbol | Incompatibility |
---|---|
backslash \ | JS |
question mark ? | TEXT |
exclamation mark ! | TEXT, factorial MATH |
commas , | TEXT, vectors MATH |
full stop . | TEXT, decimals MATH, subsetting JS |
apostrophes ’ | TEXT, strings JS |
quotation mark ” | TEXT, strings JS |
alphanumerics ABC...89 | TEXT, symbols MATH |
currencies $£€... | TEXT |
ordinals º | TEXT |
semicolon ; | TEXT |