Gemipedia: a Gemini interface to Wikipedia
2022-05-10 | #gemipedia #wikipedia #cgi | @Acidus
Today I'm releasing Gemipedia, a Gemini interface to Wikipedia focused on an awesome reading experience.
Features:
- Supports fuzzy matching for finding articles
- Groups all the links to additional articles by section, and separate "References" pages for each section
- Gallery View, which pulls all media like images and video out into a separate view
- Supports tables, including cells that span multiple rows or columns, by converting them to ASCII art tables inside of preformatted sections
- Supports math formulas, by fetches the original SVG images and converting them on the fly to PNG
- Always up-to-date, by using a live interface to Wikipedia API's, with a caching layer to improve speed and reduce load on Wikipedia
- PDF export for offline reading
Why?
2 reasons:
- 1: I love reading content on Wikipedia
- 2: The only functioning Wikipedia interface in Gemini is primitive, both for reading (content is missing or rendered poorly), and navigating (no links on articles, no way to click through a redirect page). I found it unusable.
If I wanted to read Wikipedia content on Gemini, I would need build my own interface.
Distraction-free Encyclopedias
Months ago I read a great piece by Marginalia, "Thoughts on the linkpocalypse" where they compare Encarta' Microsoft's CDROM-based encyclopedia from the mid-1990's with Wikipedia. Specifically about their hyperlinks-to-content ratios, and the resulting effect on focus.
So Marginalia built "Highly Readable Encyclopedia":
This is an encyclopedia based on Wikipedia's database, that strips away most links and almost all visual clutter to provide a more book-like reading experience with fewer distractions.
Building an interface to Wikipedia is easy. Building an interface to Wikipedia that is usable, let alone enjoyable to read, is hard. That's because of how complex Wikipedia content can be. You can't just use a generic HTML -> Gemtext library on top of Wikipedia and call it "done." Marginalia's article got me thinking about how to streamline the text to provide a great reading experience. Highly Readable encyclopedia is a good starting point. However it discards some valuable information (like images, and infoboxes), and it's also HTML, so it can supports rendering that a Gemini-first interface never could.
Instead I spent the last month diving into Wikipedia content, how it is structured, and figuring out how to restructure that.
For example, many Wikipedia articles achieve multi-column content by using a