💾 Archived View for talon.computer › log › init captured on 2023-11-14 at 07:40:56. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-09-08)

-=-=-=-=-=-=-

init

2023-08-14

I'm creating space again for sharing things here. Organizing these bytes with my text editor so that maybe... with the right amount of intention... and a lot of luck... words of value may fall from my fingertips to tickle your brain.

Mostly it'll just be noodlings about technology since that's what I'm usually thinking about when I'm maintaining this capsule. Speaking of which allow me explain how things work around here just a bit...

I am using the plain-text Gemini syntax to create the content along with some light Go templating. That latter part is the most complicated bit (besides maybe understanding Atom Syndication/RSS, and that's a settled template more or less.)

Gemini

Gemini Specification

Gemini is a networking protocol but more importantly it's a standardized syntax for writing plain-text stuff. It is hyper minimal in that there are only these types of "formatting":

It is line-oriented so there's only one type of formatting per line, inline links are not valid and a newline indicates a possible new formatting type. Usually an empty line is used to visually distinguish paragraphs.

I appreciate that

it respects

my poetic

line breaks. Unlike markdown

Go templates

The one thing about these I find annoying are trying to get whitespace right. I never know if I should use {{- or -}} or not and end up building and checking a bunch when developing templates.

Go template docs

kiln has nice documentation in the man page about all the available template functions and variables. For this log's index (which is almost entirely a Go template generated file) I utilized {{ path.Base }} to create relative links to each post.

The other lil nuance was putting _index.gmi in the content/log/ folder which has kiln pickup on the template stuff and is a way to supply frontmatter variables to the template as well as some content if you want which will be available in the template as {{ .Content }}.

In general these templates are simply to abstract the boilerplate and keep the capsule navigable by always having a header and footer, they are not much more complex than that.

repository for this capsule

Publishing

After kiln build puts together the Gemini templates and then runs them through gmi-web, I rsync the html (by having SSH keys setup and running make publish in my capsule repository) to my small single-board computer (a popular brand I don't wish to advertise but you can guess) where it is served by Caddy... among some other home networking details that maybe I'll write about somewhere else some other time!

kiln - static site generator

And that's how I self host this tiny lil capsule. Thanks for reading!

↰ all posts

/pictures/dividers/pixel-flowers.gif

talon.computer

CC BY-NC 4.0