This plugin is used in production since January 2021. Please contact me at contact@marc-antoinea.fr 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 :
{% assign options="my-group,my_tag,my_awesome_tag" %}
{% mobilizonAgenda options %}
{% if forloop.length == 0 %}
<p>We did not find any event.</p>
{% 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 %}
Add these lines into your _config.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.