Ein Skript was die Page-Listings im Wiki automatisch aktuell hält https://wiki.ctdo.de/
Go to file
neri 27258f702f add docker commands to readme 2022-09-23 12:15:45 +02:00
.gitignore Initial commit 2022-09-23 12:05:34 +02:00
Dockerfile Initial commit 2022-09-23 12:05:34 +02:00
README.md add docker commands to readme 2022-09-23 12:15:45 +02:00
index.js Initial commit 2022-09-23 12:05:34 +02:00
package.json Initial commit 2022-09-23 12:05:34 +02:00
yarn.lock Initial commit 2022-09-23 12:05:34 +02:00

README.md

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 Typ Enum 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