Skip to content

schemeorg-community/planet.scheme.org

Repository files navigation

Planet Scheme

Overview

Planet Scheme is a feed aggregator for the Scheme community, written in Gauche Scheme. It fetches RSS and Atom feeds listed in config.scm, merges and sorts the entries, and generates index.html, atom.xml, and rss20.xml.

Local development

Fetch feeds and generate output:

make fetch

Copy static files and serve locally:

make serve

Then visit http://localhost:8080/.

Add or update a feed

Edit config.scm and add a feed entry:

(feed (url "https://example.com/feed.xml")
      (name "Author Name"))

Cron

A cron job for updating the page is defined at /etc/cron.d/scheme-prod-planet:

0 0-23/6 * * * prod-planet /production/planet/cron.sh

Deploy

  • Make your change to the Planet Scheme git repo at git@github.com:schemeorg/planet.scheme.org.git.
  • Upload to the server:
    ./upload.sh
        
  • If you get file permission errors, run this on tuonela.scheme.org/, then run upload.sh again:
    chmod g+w /production/planet/ /production/planet/config.scm
        
  • Build the Docker image on planet.scheme.org:
    cd /production/planet/
    make docker-build
        

Fetch feeds and generate new page

cd /production/planet/
make docker-build
make docker-deploy

Releases

Packages

Contributors

Languages