2.2 KiB
WikiJs Metabot
Ein Skript was die Page-Listings auf https://wiki.ctdo.de automatisch aktuell hält
Verwendung
Um auf einer Wiki-Seite ein Page-Listing hinzuzufügen muss der Seite das metapage
-Tag hinzugefügt
werden und an der gewünschten Stelle ein Kommentar folgender Form eingefügt werden:
<!-- \pagelist QUERY -->
Dabei muss QUERY
eine Parameterlist für die PageQuery::list
-Methode der WikiJs-GraphQL-API sein.
Folgende Parameter werden unterstützt:
limit: Int
orderBy: Enum CREATED | ID | PATH | TITLE | UPDATED
orderByDirection: Enum ASC | DESC
tags: [String]
locale: String
creatorId: Int
authorId: Int
Beispiele
Liste aller Seiten die mit den Tags top
und new
versehen sind:
<!-- \pagelist tags: ["top", "new"] -->
Liste der 10 zuletzt bearbeiteten Seiten:
<!-- \pagelist orderBy: UPDATED, orderByDirection: DESC, limit: 10 -->
Details
- Mehrere Parameter müssen mit einem Komma getrennt werden
- Mehrere Tags im
tags
-Parameter müssen ebenfalls mit Komma getrennt werden - Parameter vom Typ
String
müssen in doppelte Anführungszeichen"
eingeschlossen werden - Parameter vom Typ
Int
und vom TypEnum
müssen ohne Anführungszeichen angegeben werden
Features und Einschränkungen
Zur Rekursionsvermeidung können leider die mit metapage
getaggten Seiten nicht selbst in den
Page-Listings auftauchen.
Eine Seite welche die zuletzt aktualisierten Seiten enthält, kann also nur Seiten enthalten welche
nicht mit metapage
getaggt sind.
Seiten deren Pfad mit einem Unterstrich _
beginnt werden ebenfalls nie in Page-Listings angezeigt.
Das wird beispielsweise auf der Topictreff-Seite verwendet damit das Topic-Template nicht unter den
neuen Topics aufgelistet wird.
Ausführen des Bots
Damit der Bot Seiten bearbeiten darf muss die Umgebungsvariable CTDO_WIKIJS_API_KEY
auf einen
gültigen Api-Key gesetzt sein.
Api-Keys für das WikiJs können hier generiert werden: https://wiki.ctdo.de/a/api.
Docker commands
Docker Container für den Bot bauen:
docker build -t wikijs-metabot .
Docker container ausführen:
docker run -it -e CTDO_WIKIJS_API_KEY wikijs-metabot