wikijs-metabot/README.md

2.0 KiB

WikiJs Metabot

Ein Skript was die Page-Listings auf https://wiki.ctdo.de automatisch befüllt. Das Repo enthält außerdem die Konfiguration für ein kleines Topictreff-Form mit dem man neue Tops anlegen kann.

Verwendung

Um auf einer Wiki-Seite ein Page-Listing hinzuzufügen muss in den Metadaten der Seite der Inhalt von metapage.js.html als Skript gesetzt werden. Dann kann an der gewünschten Stelle ein HTML-Element folgender Form eingefügt werden:

<ul class="pagelist" data-query="QUERY"></ul>

Dabei muss QUERY eine Parameterliste 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:

<ul class="pagelist" data-query="tags: ['top', 'new']"></ul>

Liste der 10 zuletzt bearbeiteten Seiten:

<ul
  class="pagelist"
  data-query="orderBy: UPDATED, orderByDirection: DESC, limit: 10"
></ul>

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 einfache Anführungszeichen ' eingeschlossen werden
  • Parameter vom Typ Int und vom Typ Enum müssen ohne Anführungszeichen angegeben werden

Features und Einschränkungen

Seiten deren Pfad mit einem Unterstrich _ beginnt werden als versteckt interpretiert und nicht in Page-Listings angezeigt. Das wird beispielsweise auf der Topictreff-Seite verwendet damit das Topic-Template nicht unter den neuen Topics aufgelistet wird.

Bei gesetzten Limits kommt es vor, dass weniger Seiten als angegeben aufgelistet werden. Das scheint ein Bug im WikiJs zu sein wodurch manche Seiten nicht in dem Ergebnis zurückgegeben aber trotzdem gezählt werden.