Webrings with Openring

Lately my fascination has moved towards the IndieWeb. Maintaining your online identity and data independently of big corporations is Own and preserve your own data. My website has a simple webring at the bottom of every Readers can discover even more interesting content.
“Webrings allow ringbearers to create a network of blogs around a shared goal where readers can choose the next, previous, and random blog in the ring.”
Openring is a neat
Openring is an open source program
written in Golang that generates a webring from a series
of RSS
feed links.
that allows you to generate a webring. Pass
a series of RSS
links as arguments to openring
in addition to a template and
it generates an html
file that can be included anywhere on a web page. This is
particularly nice for static site generators.
openring \
-s https://example.com/feed1.xml \
-s https://example.com/feed2.xml \
-s https://example.com/feed3.xml \
< template.html \
> output.html
It’s a matter of making my own template and including it within my custom The original template is quickly adapted to use the Bulma CSS Framework.
<section class="webring">
<h3>On the Web</h3>
<section class="articles">
<div class="columns is-tablet is-centered">
{{ range .Articles }}
<div class="column is-4">
<div class="tile is-ancestor">
<div class="tile is-parent">
<article class="tile is-child box is-shadowless">
<h2><a href="{{ .Link }}" target="_blank" rel="noopener" class="serif is-size-4">{{ .Title }}</a></h2>
<p class="summary">{{ .Summary }}</p>
<small class="source is-block">by <a href="{{ .SourceLink }}">{{ .SourceTitle }}</a></small>
<small class="date has-text-grey-dark">{{ .Date | date }}</small>
</article>
</div>
</div>
</div>
{{end}}
</div>
</section>
<p class="attribution has-text-right">Generated by <a href="https://git.sr.ht/~sircmpwn/openring">Open Ring</a></p>
</section>
This website uses Hugo to generate static content. It’s as
simple as including the generated .html
in the Go HTML
template. Done.
{{- partial "openring.html" . -}}
Drone is a decent
Drone is a
continuous delivery tool that is super lightweight and highly
flexible.
tool. Add a configuration step to fetch openring
and
generate the webring on every build.
---
- name: openring
image: debian:stretch-slim
commands:
- chmod +x openring
- >
./openring
-s https://drewdevault.com/feed.xml
-s https://mxb.dev/feed.xml
-s https://www.taniarascia.com/rss.xml
< generators/openring/template.html
> generators/hugo/themes/tdro/layouts/partials/openring.html
Openring is integrated into the website’s deployment pipeline. The build
A precompiled binary is downloaded to
demonstrate. A local binary would speed up this step
considerably.
is roughly 40
seconds. Not too
We can compile the Go binary from
source, but that would slow down the deployment process.

This was easy to integrate and as more knowledge is gained about the IndieWeb, new features will be added to the site.