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.

Gemipedia

Features:

Gemipedia is open source

Why?

2 reasons:

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.

Thoughts on the linkpocalypse

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.

High Readability Encyclopedia

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 <TABLE> with a single row, and a few columns to hold the text. Crazy, but Wikipedia is nearly 20 years old, and lots of content is built this way. Blindly converting <TABLE> tags to ASCII art tables would be a terrible reading experience for that kind of content. So instead, I wrote code to detect that, and restructure it into normal text content.

Feedback wanted

Gemipedia has come a long way:

Changelog

There is certainly more work to be done.

TODOs.txt

A big one is to support other languages. Right now, Gemipedia is English only, because I am skipping certain sections that don't make sense (e.g. References, External Links, Bibliography) by looking at the content of a section's heading. That's language specific. Luckily, I found a more modern API that includes section metadata, allowing me to skip those.

Here is my ask of the community:

You can send feedback to me here:

📬 Contact me