gmisub - Subscribe to Gemini pages
gmisub is an aggregator for Gemtext feeds formatted according to the
Subscribing to Gemini pages specification
It takes a list of Gemini URLs and extracts the feed entries. These are output to a file in order of date in a similar style to CAPCOM.
Example
Generated output
List of feeds used to generate output
Installation
Dependencies:
- A POSIX-like system and a C11 compiler
- BearSSL
- scdoc
gmni
$ git clone https://git.sr.ht/~callum/gmisub
$ cd gmisub
$ make
# make install
Usage
Once you have it installed have a read of gmisub(1).
As an example I use this script to aggregate the feeds listed in gmifeeds.gmi, include only the posts from the last month, and add a header to the start of the output.
#!/bin/sh
cd /srv/gemini/
OLDEST=$(date +%Y%m%d --date='1 month ago')
/usr/local/bin/gmisub -h gmisub-header.gmi -d $OLDEST gmifeeds.gmi gmisub-aggregate-new.gmi
if [ -s "gmisub-aggregate-new.gmi" ]
then
# file has data
cp gmisub-aggregate-new.gmi gmisub-aggregate.gmi
else
echo file is empty
fi
I also have this line in the gemini user's crontab which runs the script every 6 hours and saves logging information to a file.
0 */6 * * * /home/gemini/do-gmisub > ~/gmisub.log 2>&1