Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marc-antoinea/jekyll-mobilizon

Plugin to fetch mobilizon events and to create an agenda on your Jekyll website
https://github.com/marc-antoinea/jekyll-mobilizon

agenda jekyll-plugin mobilizon

Last synced: 16 days ago
JSON representation

Plugin to fetch mobilizon events and to create an agenda on your Jekyll website

Awesome Lists containing this project

README

        

# Script to include Mobilizon into Jekyll-website

*This plugin is used in production since January 2021. Please contact me at [email protected] if needed.*

This plugin fetches incoming events for a list of groups in a given mobilizon instance (through graphql api).
Images are fetched too and thumbnailed with `minimagick`. It means that no requests are made to mobilizon except during website compilations.

You can create many agendas based on `groups` and `tags` through the `mobilizonAgenda` Jekyll-tag

**Example** You want to display all events from group `my-group` and all events with tag `my-tag` and all events with tag `my_awesome_tag` :
```html
{% assign options="my-group,my_tag,my_awesome_tag" %}
{% mobilizonAgenda options %}

{% if forloop.length == 0 %}

We did not find any event.


{% else %}
{% include event.html
title=event.title
location=event.location
start_time=event.beginsOn
end_time=event.endsOn
description=event.description
url=event.url
thumbnail=event.thumbnailurl
organizerAvatar=event.organizerAvatar
organizer=event.organizer
groupUrl=event.groupUrl
%}
{% endif %}
{% endmobilizonAgenda %}
```

## How to use it?

Add these lines into your `_config.yml`
```yml
mobilizon_fetch: true # false if you want to deactivate it
mobilizon_url: "https://mobilizon.fr"
mobilizon_cachedir: "mobilizon" # the name of the local folder used to cache the results
mobilizon_timezone: "Europe/Paris" # used to convert the dates
mobilizon_whitelist: # list of the mobilizon groups you want to display on your website
- my_group
- my_second_group
```

Add `mobilizon-agenda.rb` into your `_plugins` folder.