Termin
Auf der Website c3d2.de können Ankündigungen/Events in Form von News und kürzeren Event-Hinweisen und in den Kalender erfolgen.
Dazu kann für dauerhafte Termine ein externer Kalender im Format iCalendar im Makefile eingebunden werden oder einzelne News und Events verfasst werden.
Die notwendigen Informationen sind:
- Bezeichnung
- Datum Beginn
- Ort
Optional sind:
- Uhrzeit Beginn
- Datum Ende
- Uhrzeit Ende
- Link für weitere Informationen
- Link für Ortsinformationen oder Anfahrt/Karte
- Kommentare
News only:
- Veröffentlichungszeitpunk
- person2blame
- Weiterer Beschreibungstext
Publikation
Im Makefile eingetragene iCal-Feeds (das 1. Beispiel war `https://nix-meetup.c3d2.de/feed/ics`) werden automatisch publiziert solange der Feed aktuell gehalten wird.
Das Einreichen von Terminen und News kann per Formular via E-Mail erfolgen.
Die Publikation erfolgt durch berechtigte Nutzer über das Repo c3d2-web und wird mit XML eingetragen sowie per XSLT (Beschränkung: Version 1.0, Przessor: xsltproc, Erweiterungen mit --dumpextensions
ermittelbar) automatisiert etwa alle 3 Stunden (s. Woodpecker) mit der gesamten Website neu gebaut.
XML Schema
Simple Event
Als Abschnitt innerhalb der Datei content/events.xml
des Repo c3d2-web .
<event title="Howto: Termine"><!-- Title as event dscription --> <start>2015-10-09</start><!-- Date-Time-Group as ISO YYYY-MM-DD["T"hh:mm:ss] --> <end></end><!-- optional Date-Time-Group as ISO YYYY-MM-DD["T"hh:mm:ss] --> <location><link href="http://www.c3d2.de/space.html">HQ im Zentralwerk</link>, Riesaer Str. 32, 01127 Dresden</location><!-- Place/Address Information, link-elm optional --> <link>https://wiki.c3d2.de/w/index.php?title=Diskussion:Termin</link><!-- (offsite) Information Link --> </event>
News/Ankündigung
Eine dedizierte Datei in contente/news/
. Der Name sollte dem Schema eventtype-YYYYMMDD-gruppenbezeichnung-einzelbezeichnung.xml
folgen, s.a. vorhandene News im Verzeichnis.
- event-20151007-opendata.xml
<?xml version="1.0" encoding="UTF-8"?><!-- copy: XML version, encoding --> <!DOCTYPE item SYSTEM "http://www.c3d2.de/dtd/c3d2web.dtd"><!-- copy: DTD --> <item date="2015-10-07T13:24:00" title="Open-Data Treffen" author="tranquillo"><!-- edit: publication date/time, public title, author (your name) --> <image title="OpenDataDresden/OKLab-DD">opendata4x.png</image><!-- edit: optional image --> <event><!-- copy: event object --> <start>2015-10-07T19:00:00</start><!-- edit: event date and optional time --> <location><link href="http://www.c3d2.de/space.html">HQ im Zentralwerk</link>, Riesaer Str. 32, 01127 Dresden</location><!-- edit: event location/place/address and optional link --> </event> <p><!-- edit: XML description, allowed tags(attributes): p(class), blockquote, pre, ul, li, div(class), link(href) --> Das nächste reguläre Treffen des <link href="http://codefor.de/dresden/">hiesigen Open Knowledge Labs</link>. </p> <ul>Weitere Links: <li><link href="http://pad.okfn.org/p/oklab-dresden">das Einstiegspad</link></li> <li><link href="http://www.meetup.com/de/OK-Lab-Dresden">Meetup</link></li> </ul> </item>
Hinweise zu XML Entities
xsltproc
kennt nur: < > & ' "
, andere Entities sind entweder HTML und müssten erst definiert werden, oder – was wir hier gerne tun – werden direkt mit Codepunkten gemäß Unicode-Tabelle angegeben. Prominentes Beispiel:
würde nicht geparst werden, deshalb schreiben wir  
. Andere beliebte Beispiele wären  
statt  
und anstatt ­
eben ­
.
Lokale Voraussetzungen
Was man üblicherweise auf einem Linux BSD hat: git, (gnu)make, shell, (GNU) core/textutils, xsltproc/libxslt; etwas komfortabler mit nix und direnv.
Icons
Die Icons im Kalender werden nur für den Kalender auf der Website eingebaut. Sie priorisieren Orte und Räume im HQ und Zentralwerk.