adzialocha / hoffnung3000

Platform for decentralized, anonymized, self-curated festivals
https://hoffnung3000.de
GNU Affero General Public License v3.0
36 stars 8 forks source link

Jekyll theme & plugin for archiving festivals #61

Closed sandreae closed 3 years ago

sandreae commented 5 years ago

How best can instances of H3K be archived when they are over?

adzialocha commented 4 years ago

One option would be to disable signup in the admin config and just leave the software running. This is surely not ideal, as users could still change content but also there is no other option I can think of right now ..

sandreae commented 3 years ago

Dragging this issue from the vaults.

I'm starting to build a new general website for Antiuniversity (which uses the H3K platform for festivals, 2020 fest here) and wanted it to include festival archives somehow. A very easy method I'm trying is curl getting all events and places from the live festival platform and dumping these as json files into the _data folder of a Jekyll site. I think this could be a really neat and simple way of creating a festival archive site. There could be a Jekyll or github repo template one could use. I'll update on progress once I've done some more work on this. :+1:

sandreae commented 3 years ago

Thoughts/comments welcome in the mean time ;-p

sandreae commented 3 years ago

I'm trying out using ruby gems for extending Jekyll themes with the functionality we need:

https://github.com/sandreae/jekyll-hoffnung3000 https://rubygems.org/gems/jekyll-hoffnung3000

If you install the gem you can then run this from the command line and get your events:

bundle exec jekyll hoffnung3000 events

So far the gem pulls down events from a running h3k instance into the _data folder. It is only tested with "free" festivals atm but I think with some slight tweaking it would work for ticketed festivals too, just with slightly less info available.

Want to extend it to work for places and site metadata too.

sandreae commented 3 years ago

Got places method now too :sparkles: :sparkles: :sparkles:

$ bundle exec jekyll hoffnung3000 places
sandreae commented 3 years ago

I'm parsing the data into a new json format, what do you think of these? I figured in the raw state there was too much for what the archive site needs.

events

[
    {
        "title": "Anti-Capitalist Knitting",
        "description": "Anti-Capitalist Knitting is an experimental knitting workshop with an emphasis on sustainability, focusing on exploring materials and using simple techniques to create artwork........",
        "date": "2020-06-06",
        "time": {
            "from": "2020-06-06T10:00:00.000Z",
            "to": "2020-06-06T12:00:00.000Z"
        },
        "organiser": {
            "name": "Name of Organiser",
        },
        "place": {
            "id": 1,
            "name": "museum of neoliberalism [online location]",
            "description": "A small, free museum about how an obscure and extreme ideological cult of the 1970s rose to power and now shapes our lives in dramatic and often terrible ways......",
            "area": "London"
        },
        "imageUrl": "https://image-url/medium.jpg",
        "tags": [
            "Workshop",
            "Art",
            "Anticapitalism",
            "Mental-health",
            "Gender",
            "Feminism"
        ],
        "websiteUrl": "https://event-website.org"
    }
]

places

[
    {
        "id": 1,
        "title": "Place name",
        "description": "Description of this place",
        "street": "1 Street",
        "cityCode": "XXX123",
        "city": "City",
        "country": "Country",
        "imageUrl": "https://image-url/medium.jpg"
    }
]
sandreae commented 3 years ago

aaaaand an exceedingly simple theme which uses the above gem as a plugin: https://github.com/sandreae/hoffnung3000-jekyll-theme

sandreae commented 3 years ago

Haha, already on v0.1.5, we now have:

$ bundle exec jekyll hoffnung3000 meta

which gives us:

{
  "title": "Festival Title",
  "description": "Festival Description"
}
adzialocha commented 3 years ago

I've added the tool to the README.md :+1: