[ANN] Sophon, a wiki protocol and implementation
- 🗣️ From: Frederick Yin (fkfd (a) macaw.me)
- 📅 Sent: 2020-12-19 15:05
- 📧 Message 1 of 1
Hi List,
I have been developing a new wiki protocol for Gemini over the past few
weeks and core, basic functions are finally implemented. On the
protocol's eponymous implementation, a user can do the following:
- see what pages there are on a server
- read a wiki page
- edit a section of a wiki page
(that't it)
The core concepts are that, a wiki page must following an order of some
kind and must not be in a state of anarchy. For example, section levels
only go as deep as Gemini header levels go (2nd- and 3rd-level for
sections and subsections), and that the contents of a page is editable
through a diff algorithm that generates and parses a unidiff-like
string (in this implementation, diff-match-patch:
https://github.com/google/diff-match-patch/).
Sophon also copied a few characteristics from MediaWiki in that a "meta"
section can be present before a ToC. Other features will be introduced
later.
The git repository is https://git.sr.ht/~fkfd/sophon
You can try it out by running test/demo_client.py in the repo, with flag
"-s gemini://fkfd.me". (Availability is temporary.)
This is my first project in Go, so please point out if any of my
practices are not recommended. However, in that case, it is preferred
that you use the project's mailing list, ~fkfd/gemini at lists.sr.ht.
Thank you for your attention, have a good day.
~fkfd
---
View entire thread.