Faui2k17 Generator Repo
In diesem Repo werden alle Komponenten gesammelt, welche für das Bauen der studentischen Seite https://fau2ik17.de benötigt werden.
Zentral hierbei ist der statische Website generator Haunt
(basierend auf GNU Guile, einer Scheme
Implementierung), welches die einzelnen Komponenten verbindet. Folge dem
obigen Link oder lese die haunt.scm
Datei für mehr Informationen dazu.
Nachbauen
Anmerkung: Zum Beitragen (siehe unten) ist prinzipiell nicht notwendig die Seite auch selbst bauen zu müssen, Guile, Haunt oder sonst was installiert zu haben.
Installiere zunächst GNU Guile mit einer Version größer-gleich 2.0 (2011 Veröffentlicht). Dieses sollte in den meisten Paketmanagern zu finden sein.
Wenn Haunt/Guile CommonMark nicht verfügbar sind mit Standard Systempaketmanager (mit ist dieses nur für Guix bekannt), muss man sich von der Website den Quelltext herunterladen.
Dazu wird erstmals notwendig sein Guile CommonMark zu
installieren, wie im README beschrieben, und nachdem sichergestellt
wurde, dass GUILE_LOAD_PATH
auch zu diesem verweist, Haunt zu
installieren.
Dieses bedeutet das die folgenden Befehle in den meisten fällen
Funktionieren sollten (angenommen guile
, make
, autoconf
, ...) sind
zuvor installiert worden:
$ curl -Ls https://files.dthompson.us/haunt/haunt-0.2.4.tar.gz | tar xz
$ cd haunt-0.2.4
$ ./configure --prefix=/usr
$ make
# make install
$ cd ..
$ curl -Ls https://github.com/OrangeShark/guile-commonmark/releases/download/v0.1.2/guile-commonmark-0.1.2.tar.gz | tar xz
$ cd guile-commonmark-0.1.2
$ ./configure --prefix=/usr
$ make
# make install
Struktur
Hier ist alles bis auf die selbst Kurznachrichten zu finden. Diese
werden mittels Git Submodules eingeblendet, und sind unter
faui2k17/posts
hochgeladen.
Die restlichen Dateien sind dann noch:
-
local/: Scheme Bibliotheken welche von
haunt.scm
benötigt werden.Besteht wiederum aus:
-
micronews/paged-blog.scm
: Setzt "Blogformat" mit mehreren Index Seiten um. -
theme.scm
: Beschreibt für Haunt mittels SXML wie Seiten aufgebaut werden sollten. -
common.scm
: Gemeinsame Hilfsfunktionen Funktionen. -
pages.scm
: "Konstante" Seiten, dessen Inhalt nicht als Kurznachrichten angesehen werden sollten. Geschrieben in SXML.
-
-
posts/: Submodule (siehe oben) mit Beiträgen in CommonMark. Siehe auch Haunt Dokumentation zu den Thema.
-
site/ (nicht im Repo): Enthält die generierte HTML Seiten.
-
static/: Alle Dateien die direkt in site kopiert werden sollten, ohne Vor- und Nachverarbeitung.
-
haunt.scm: Beschreibt den Aufbau der Seite. Importiert Bibliotheken aus
local
, und Seiten auspages
.Siehe Haunt Tutorial für mehr Infos.
Beitragen
Grundsätzlich ist jeder eingeladen Beiträge beizutragen,
siehe dafür faui2k17/posts
. In diesem ist jede Datei ein
"Post", welches mit seinem Metadaten zusammen in ein Beitrag auf der
Seite umgewandelt werden.
Dateien sehen darin Grundsätzlich so aus:
title: Name des Artikels
date: 2019-06-03 14:58
author: Max Mustermann
tags: tag1, tag2
---
Inhalt des _Artikels_.
Es ist dabei wichtig zu beachten, dass date
richtig formatiert wird!
Tags sind allgemein erwünscht, da dieses dabei helfen kann Nutzern
ungewollte Inhalte heraus zu filtrieren.
Posts können direkt via Push Requests hinzugefügt werden, oder auch einem Maintainer (z.B.) via Email geschickt werden. Wer Interesse hat öfters beizutragen, kann auch in die GitLab Gruppe hinzugefügt werden.
In der Konsole, kann man durch ausführen von ./newpost.sh
einfach ein
Skelett generieren und im bevorzugtem Text Editor (siehe $EDITOR
)
bearbeiten.