wikijs-metabot/README.md

2.0 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 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.