Muto - Blog - Feed


Gemini is, like, the best thing ever!

Sometime early last year I heard a lot of people talk about something called Gemini, and I thought: "Oh, okay, it's a cleaner Web. Well, we already have that. it's called Gopher!".

But no. It's not Gopher. It's much better! In fact, it's one of the cleanest things I have ever used! Absolutely bonkers. Just… Very, very nice!


Get a gemini client

You can open gemini:// URL's using a gemini client, such as:

You can now browse gemini capsules!


Gemtext

You know how much it sucks to write HTML pages by hand? Yeah, it kind of sucks. I was about to make an example, but it was just too long and I don't want to explain how HTML works.

Instead of HTML, Gemini uses Gemtext, which is insanely clean. Here's a gemtext example:

# My Page!

Hello, welcome to my gemini site! :3

 * I cook
 * I dance
 * I sleep
 * I gaze at the stars

=> poetry.gmi        My poetry
=> https://muto.ca   My website

I have a header, a sentence, a list, and two links. It's so gosh darn clean!

One thing that's particularly nice about Gemtext is that it enforces "longline" paragraphs, whereas Gopher encourages users to stick to 80-columns. I used to use the 80-column rule, but on smaller displays like cellphones or even just narrow emacs frames, hard-wrapped text looks horrible! In Emacs, I've started using visual-line-mode instead of auto-fill-mode for text editing.

Another nice thing about Gemtext is that it's a small spec. I know what I'm working with, I know what I have to work with, and I don't need to look anything up, cause the reference fits on a business card! Gemini only looks at the first few character of every line for one of: #, *, =>, and ``` (well alright, there are a few more, like ###, for an h3 header, but still, it's clean!)


Gemlog index generators

Generating a series of posts for gemlog is really easy, too. This bash script takes the first line of every gemtext file in the current directory, and uses it as the title for the link to that file:

echo "# My Gemini Log

Hi, welcome to my gemini log!
" > index.gmi

for i in $(ls -r [^index]*.gmi); do
 echo -n "=>$i " >> index.gmi
 head -1 "$i" | sed -e 's/# //' >> index.gmi
done

Basically, this creates a welcome message, and then, for ever gemtext file in the directory (excluding index.gmi), take the first line and put it in a link. it works on a reverse-chronological order thanks to ls -r.


Conclusion

I really don't have a whole lot to talk about regarding gemini. Just that it's probably the cutest protocol I've seen in a loooong time! I usually don't like new buzzword protocols, but gemini is just good gosh dangit! It totally spoiled me; I don't like to use Gopher anymore because gemini is so clean!

Anyway, that's all. This is just a big ad but that's alright, cause I want to advertise gemini. People should use it. You should use it. Oh yeah, and when you use it, browse gemini with Elpher!!