Writing Techniques We Lose By Using Gemtext
I am now keeping a running list of writing techniques which are impossible to use while using gemtext. Whenever I encounter one (and remember to), I'll add it to this list. There's no particular order.
This collection will hopefully be useful in demonstrating why gemtext's limitations make it frustrating to use as a writer.
I am not including any exploits as part of gemtext's features. Anything that's outside the spec or intended use could be suddenly lost at any time.
I encourage you to pay attention yourself when you are reading something that's not on Gemini to see if you can spot how often you encounter something that would not be possible in gemtext.
1. Nested Lists
Useful for organizing and describing elements in relation to each other.
Markdown example:
* Fruits * Apple * Banana * Vegetables * Cabbage * Potato * Unknown * Tomato
2. Ordered Lists
Useful for describing ordered information.
Plaintext example:
The structure of a turn in Magic the Gathering is as follows: 1. Beginning Phase a. Untap Step b. Upkeep Step c. Draw Step 2. Precombat Main Phase 3. Combat Phase a. Beginning of Combat Step b. Declare Attackers Step c. Declare Blockers Step d. Combat Damage Step e. End of Combat Step 4. Postcombat Main Phase 5. Ending Phase a. Ending Step b. Cleanup Step
3. Character Thoughts
Markdown example:
*Was it two days, or three?* Gregory thought to himself unsurely. "Three days," he finally said with misplaced confidence.
4. Referencing Titles
Markdown examples:
The 1988 film *Tiger On Beat* features a fight scene using chainsaws.
Miguel de Cervantes' *Don Quixote* is often considered to be the first modern novel.
5. Context Links
Inline links are useful for providing optional context to the reader. If they'd like to know something more about what they are reading, they can click to learn more.
TiddlyWiki markup example:
As the war between [[vim|https://www.vim.org/]] and [[emacs|https://www.gnu.org/software/emacs/]] rages on, [[nano|https://nano-editor.org/]] continues to lurk in the background.
6. Emphasis
Markdown example:
Do **not** look in the toilet.
Quotes are **not** for emphasis. They are **not** an acceptable substitute.
7. Comparison Emphasis
Markdown example:
There is a big difference between **mis**information and **dis**information.
8. Inflection Emphasis (Prosodic Stress)
Removing this emphasis literally changes the meaning of the sentence.
"It's one of *those* things, is it?"
Example from Wikipedia, in Markdown:
Markdown examples:
*I* didn't take the test yesterday. (Somebody else did.) I *didn't* take the test yesterday. (I did not take it.) I didn't *take* the test yesterday. (I did something else with it.) I didn't take *the* test yesterday. (I took one of several, or I didn't take the specific test that would have been implied.) I didn't take the *test* yesterday. (I took something else.) I didn't take the test *yesterday.* (I took it some other day.)
"Is it brunch tomorrow?" "No, it's *dinner* tomorrow."
9. Introducing Vocabulary
Useful in technical writing to indicate the introduction of a term that has a specifically defined meaning within the text. Emphasising this on first use prepares the reader for this and improves reading comprehension.
Markdown example:
To **tap** a card, turn it to face 90° clockwise. While a card is in this position, it is considered **tapped.**
10. Linguistics Chat
To highlight when we are talking about a particular part of a word.
Mediawiki wikitext example:
For example, the Spanish verb ''volver'' (to return, come back) has the form ''v'''o'''lví'' in the past tense but ''v'''ue'''lvo'' in the present tense (see [[Spanish irregular verbs]]).
11. Taxonomy
Italics are used to separate out a taxonomic name.
The '''lion''' ('''''Panthera leo''''') is a large [[Felidae|cat]] of the genus ''[[Panthera]]'', native to [[Africa]] and [[India]].
12. Callout, or highlighting
When someone quotes someone and says "emphasis mine" to point out where in the quote is relevant to their point.
13. Algebraic Symbols
Emphasis on these characters help to distinguish its use as mathematical rather than linguistic.
Markdown example:
The solution is *n* = 2. The speed of light, *c*, is approximately equal to 3.00×108 m/s.
14. Sidebar
A sidebar can be used for providing additional information and context to the main writing without disrupting the flow of the main text.
They may also be used as a form of callout box to aid skimming for the important information when used as a reference.
Example from the AsciiDoctor docs:
.Optional Title **** Sidebars are used to visually separate auxiliary bits of content that supplement the main text. TIP: They can contain any type of content. .Source code block in a sidebar [source,js] ---- const { expect, expectCalledWith, heredoc } = require('../test/test-utils') ---- ****
15. Image Captions
Provide more details or a description about an image. Captions are different from alt-text because they are accessible to readers who are sighted and ones using a screen reader.
Markdown example:
![Adam and Rosey stand together in front of the Louvre](/img/20240512_088524.jpg)
16. Natural vs Technical boundaries
Useful to help a reader identify when we are talking about something in a natural language vs a technical language.
Example in Markdown:
You can reduce the size of an ODT file LibreOffice creates by disabling embedding thumbnails. Go to `Tools > Options… > LibreOffice > Advanced > Expert Configuration`. Select the preference named `org.openoffice.Office.Common/Save/Document/GenerateThumbnail`. Double click it to toggle the value to `false`.
AsciiDoctor actually has some macros built in to specifically handle this. This isn't a feature I'd expect from most general writing markup languages, but being built for technical writing, AsciiDoctor tends to go above and beyond.
AsciiDoctor Button and Menu UI Macros
Press the btn:[OK] button when you are finished. Select menu:View[Zoom > Reset] to reset the zoom level to the default setting.
17. Constituent Grammar
Constituents in grammar are multiple words that combine into one meaning.
https://en.wikipedia.org/wiki/Constituent_(linguistics)
Lingthusiasm Constituency episode
In writing, we can represent the boundaries of a constituent in multiple ways.
Markdown example:
*Time* flies like an arrow. *Fruit flies* like a banana.
Being able to define the constituent boundary of *fruit flies* helps clarify to the reader that we are talking about the insect, rather that saying that fruit is flying.
Another popular way is when using hyperlinks. This was already mentioned in the section [Context Links](#5-context-links). The words wrapped for the hyperlink are naturally constituents.
Markdown example:
In [an article by the New York Times](https://www.nytimes.com/fake-article.html), it is stated that...
18. Citations
Most citation styles require italics as part of its formatting.
Various numerical citation styles also require the use of superscript numbers when referencing the citation within the body text.
Markdown examples:
MLA 9th Ed. book citation
Lee, Harper. *To Kill a Mockingbird.* Warner Books ed, Warner Books, 1982.
APA 7th Ed. book citation
Lee, H. (1982). *To kill a mockingbird* (Warner Books ed). Warner Books.
Chicago Manual of Style 17th Ed. book citation
Lee, Harper. *To Kill a Mockingbird.* Warner Books ed. New York: Warner Books, 1982.
Turabian 9th Ed. book citation
Lee, Harper. *To Kill a Mockingbird.* Warner Books ed. New York: Warner Books, 1982.
IEEE book citation (used by Wikipedia)
[1] H. Lee, *To Kill a Mockingbird,* Warner Books ed. New York: Warner Books, 1982.
Association for Computer Machinery citation
[1] Harper Lee. 1982. *To Kill a Mockingbird* (Warner Books ed ed.). Warner Books, New York.
19. Poetry
The lack of whitespace control makes formatting poetry impossible.
Plaintext example:
Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore— While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. “’Tis some visitor,” I muttered, “tapping at my chamber door— Only this and nothing more.” — "The Raven", by Edgar Allen Poe
20. Large Tables
You can get away with small tables by manually building them in code blocks, but if lines get too long in a code block, you start to get inconsistent behavior.
Lagrange makes the text smaller and smaller until it's nearly unreadable, then lets the text run off the page.
If a client were to enable word wrap, rows and cells would lose all meaning and render as a garbled mess.
21. Removed/Deleted Text
Strikethrough can be used to show something which once used to be there, but has since been revoked. This is useful for transparency and a historical record, while making it obvious to the reader that it is no longer to be considered part of the intended text.
BBCode example:
[s]Cathy has stolen from the cookie jar and will be punished.[/s] New evidence has revealed Cathy is innoccent. She will no longer be charged for stealing cookies.
22. Double Meaning
It can also be used for humor.
Github Flavored Markdown example:
Next, grate the cheese with a ~~sponge ruiner~~ cheese grater.
23. Hushed Tone
A strikethrough can also be used to indicate something someone might say in a hushed tone.
Tiddlywiki wikitext example:
No one likes raisin cookies! ~~Okay, I might like raisin cookies.~~
24. Spoiler Text
Sometimes we want to talk about things while giving others the chance to opt out of seeing it until later.
Discord Markdown example:
Citizen Cane spoilers: ||Rosebud was his sled.||
25. Punchlines
BBCode example:
Why did the ghost chicken cross the road? [spoiler]To get to the other side.[/spoiler]
26. Content Warnings
Discord Markdown example:
WARNING: Potty humor ||pee pee poo poo farts||
27. Quiet Text
Like, actual quiet text. A textual representation of something quiet. A smaller font size, which in this example uses subscript text.
Tiddlywiki WikiText example:
Rainbow Dash flies back and forth with the attitude of a drill instructor. "Now, what have we learned?" The soft-spoken Fluttershy stands before her looking determined. "Loss of control." "Good." "Screaming and hollering." "Yes, and most importantly…" "Passion!" Rainbow zips down to the ground to face her. "Right! So now that you know the elements of a good cheer, let's hear one! Fluttershy takes in a breath, then lets out a ",,Yay.,," Rainbow Dash facehoofs. “Ugh. You're going to cheer for me like that? Louder." ",,Yay.,," "Louder!" ",,Yay!,," "''LOUDERRRR!''" Fluttershy rears back, taking the deepest breath she can, then unleashes a ",,Yaaay..!,," Rainbow Dash groans and falls back dramatically onto the ground in defeat. Fluttershy looks at her with concern. "Too loud..?"
28. Fate Aspects
When writing about the Fate RPG, it's common to use formatting to denote when talking about an aspect. Since aspects can often be naturally interwoven into text, it's a courtesy to the reader to denote where an aspect starts and ends.
The common style for doing this is with italics, and sometimes bolded as well if an additional layer of distinction is necessary.
Quotes are not an acceptable substitute here, because they do not mix with dialogue.
Markdown example:
The GM offers the players a compel. "Because you are charging recklessly through an area *Trapped From Top to Bottom,* it makes sense you'd end up triggering one on your way out."
29. Bacon's Cipher
A substitution cipher created by Francis Bacon. The cipher text is hidden inside another text by grouping letters into groups of 5, then selectively bolding letters inside. The pattern of bolded letters translate to a particular letter.
https://en.wikipedia.org/wiki/Bacon's_cipher
30. Indented Paragraph Style
Paragraphs past the first are traditionally given an indentation on the first line to aid the reader in distinguishing where a new paragraph has begun. In digital media, this is usually done using a tab.
Plain text example:
I called all the others on the phone after I got done morphing back into my normal body. Tobias took off on his own, saying he'd hook up with us later at Cassie's farm. I was on the kitchen phone with Cassie when Tom came in. "Oh, there you are," he said. I covered the mouthpiece. "Yeah. Tobias said you were looking for me before." "I just wanted you to shut your dog up," Tom said. He turned a chair around backward and straddled it. I hesitated. For some reason I didn't want to talk to Cassie with Tom listening in. "I'll just see you there in a couple hours, okay?" I told Cassie. I hung up.
In this example, some browsers may incorrectly indent the entire paragraph. It's difficult to give a proper example within gemtext.
31. Hanging Indented Paragraph Style
A hanging indent is a paragraph where every line except the first is indented. This style of formatting is often used for citations and definitions.
/knowledge/