Hypa is a text format I designed for writing hypertext documents. I could write directly in HTML, Gemini, or other formats, but there are many symbols to remember, and I find the syntax gets in my way. I wanted to experiment with a plaintext format that compiles into my own minimal HTML design. Existing methods for writing hypertext felt unintuitive, so I created hypa by writing in a way that felt natural to me. Here's the specification:
Each line of text delimited by a newline character is parsed individually to decide what data type the text is.
The @ character at the start of a line indicates the text is a link definition. All characters included in the URL should be URL encoded.
The ? character at the start of a line indicates a label for an immediately prior link line. This line is regular text when the previous line isn't a link.
The # character at the start of a line is used for comments. Comments are ignored by the parser and are used for notes. A single # indicates a single line comment. Everything between a pair of ### is all comment, including new lines.
Empty and whitespace lines are ignored by the parser.
Everything else is text.