[ANN] twinwiki, a Gemini wiki edited with sed commands

Hannu Hartikainen hannu.hartikainen+gemini at gmail.com
Sun Jul 5 23:49:55 BST 2020


I'm announcing my first proper piece of Gemini software: twinwiki!

The general idea is that a single line of input[1] works for very few text
editing interfaces, yet most of us know one: sed. Mostly people use a very
small subset of sed. Here I've implemented a slightly larger subset and I
feel you could actually edit pages quite well if the browser showed line

To get a feel, please try out this test instance:

Feel free to create new pages and edit the existing ones. All page changes
can be reverted. Pages cannot be deleted. I.e. if you're able to break
something, it's my fault.

The basic wiki features exist: you can edit, create pages, view history,
see an index of pages and read help.

Some caveats:
- Navigating back to a /_edit?<sed_command> URL will redo the edit, which
is mostly not what you tried to do. This will probably be an issue on many
gemini applications; browsers will need to consider it if applications
become a thing.
- The sed syntax is not fully POSIX even for the implemented parts:
whitespace after commands is taken literally; regex syntax is the one from
the Rust regex crate.

The project page (git repo, mailing lists, ticket tracker) is at

Any comments, contributions etc. are welcome. I hope this will give other
people other ideas about possible user interfaces.


[1] A sed command containing newlines will probably work, too, as long as
it's percent-encoded properly (ie. \n = %0A). However, the Gemini spec
suggests that the input should not contain newlines: "The requested
resource accepts a line of textual user input." Is it a bad sin to send
multiple lines?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20200706/b713b8ec/attachment.htm>

More information about the Gemini mailing list