filament is a lightweight markup dialect designed for seol and implemented by forester. it uses text files with a ".fil" extension by convention.
filament is born of a desire for a permanent format for my recorded information. it is designed in the spirit of permacomputing.
seolfilament's markup dialect is designed to be: very simple and lightweight, easy to implement, easy to efficiently translate into other markup languages, and easy for humans to read and remember syntax.
the gemini protocol is a major inspiration for filament. some decisions were made to allow more direct translation into gemtext (links only on their own line, for example).
gemtext
# heading
## sub heading
### sub sub heading
=>t arbitrary text
=>p page optional readable name
=>l http://url.com readable name
=>l gemini://citation.gmi readable name
=>i assets/image.jpg width
---
[triple backticks]
block ->
line
| block line
line ->
exp EOL
exp ->
heading
| text
| link
| image
| rule
| mono
| LITERAL
heading ->
h1
| h2
| h3
h1 ->
HEADING LITERAL
h2 ->
SUBHEADING LITERAL
h3 ->
SUBSUBHEADING LITERAL
text ->
TEXT LITERAL
mono ->
MONOTOGGLE
link ->
page_link
| ext_link
page_link ->
PAGELINK alt
ext_link ->
EXTLINK url alt
image ->
IMAGE url width
alt ->
LITERAL
url ->
TOK
width ->
TOK
rule ->
RULE
HEADING -> "#"
SUBHEADING -> "##"
SUBSUBHEADING -> "###"
TEXT -> "=>t"
PAGELINK -> "=>p"
EXTLINK -> "=>l"
IMAGE -> "=>i"
RULE -> "---"
MONOTOGGLE -> [triple backtick]
LITERAL ->
LITERAL TOK
| TOK
| EMPTY
EOL -> "\n"
EMPTY -> ""
TOK -> [token]
<><><>
BY-NC-SA 4.0