2
4
Fork
You've already forked ocular_webring
8
A webring of small galleries with rss feeds.
  • Lua 93.4%
  • CSS 5.9%
  • Shell 0.7%
2026年06月21日 09:57:22 +02:00
lib Added the webring script that builds the webring on the server 2026年05月27日 21:26:02 +02:00
media Added the webring script that builds the webring on the server 2026年05月27日 21:26:02 +02:00
.gitignore Added the webring script that builds the webring on the server 2026年05月27日 21:26:02 +02:00
README.md Updated readme 2026年05月27日 21:55:04 +02:00
webring Added the webring script that builds the webring on the server 2026年05月27日 21:26:02 +02:00
webring.lua Set MAX_IMGS_PER_PAGE to 36 2026年05月28日 07:27:48 +02:00
webring.txt moved file location around 2026年06月17日 17:12:43 +02:00

Ocular Webring

The ocular webring is a collection of small image feed galleries with rss feeds. It is inspired by subversive.pics and has grown into a sibling webring.

Join

To join the webring, clone this repository and edit webring.txt. Add a new line for your entry in the following format:

https://gallery.space/ : https://gallery.space/rss.xml : gallery name

Then create a pull request.

To create your own gallery, you can use ocular, a tiny static gallery generator written in Lua.
It will take care of all image size and rss conventions for you.
Alternatively, you might want to check out IMGRAM MINI, a miniscule static gallery.

Once you add your gallery to the webring, it will automatically be federated over time by other galleries using ocular.

RSS Conventions

The generated RSS feed should be optimized towards compatibility with feed readers. It uses

  • RSS version 2.0
  • Atom XML namespace
  • RFC 822 date format that is always UTC (e.g. 2026年1月31日 14:03:00 +0000)

It is recommended for the channel to use the following elements:

  • <atom:link> metadata for feed readers
  • <title> title of the gallery
  • <link> link to the root of the gallery
  • <description> description of the gallery
  • <language> a locale like en-US
  • <lastBuildDate> RFC 822 date when the gallery was updated the last time
  • <item> for each entry

Minimum Item Requirements

For your rss.xml to aggregate with the webring, each <item> must contain the following elements:

<item>
	<title>Image Title</title>
	<link>Link to Blog post or image</link>
	<description><img src="https://link/to/image.jpg"></description>
	<pubDate>2026年2月01日 18:21:24 +0000</pubDate>
</item>

The <description> element must contain an <img> tag with an url in the src attribute. The <pubDate> must be an RFC 822 date when the image was published.

Additionally, it is recommended to add the following attributes to an <img> tag:

  • class="webring" identifier
  • data-timestamp timestamp in POSIX time (a.k.a. Unix timestamp or epoch time)
  • data-thumb url to the preview image

The <img> may contain more elements, but they all must come after the class="webring" attribute. For the aggregation to work, the attributes must be in the correct order and written as a single line, like so:

<img class="webring" src="full path to image" data-timestamp="timestamp" data-thumb="full path to thumbnail" + anything else>

Other Conventions

  • The textual description can follow after the <img> element inside the <description> element.
  • There can be multiple images in the <description> tag, but at least one of them must contain the class="webring" attribute.
  • An alt attribute is optional (but recommended), as well as a thumbnail using data-thumb="https://path/to/thumbnail.jpg" inside the <img> tag.

Image Sizes

To keep the loading times and used bandwith within reasonable amount, please downscale and compress your images.

Please make sure your that the larger side of

  • high-res images max. 960px and below 300kb
  • thumbnail images max. 256px and below 50kb

Thumbnails are not required if the high-res images stay below 300kb, but they are still highly encouraged.