# WikiJs Metabot Ein Skript was die Page-Listings auf [https://wiki.ctdo.de](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: ```text ``` Dabei muss `QUERY` eine Parameterlist für die `PageQuery::list`-Methode der WikiJs-GraphQL-API sein. Folgende Parameter werden unterstützt: ```text 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: ```text ``` Liste der 10 zuletzt bearbeiteten Seiten: ```text ``` ### 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](https://wiki.ctdo.de/a/api). ### Docker commands Docker Container für den Bot bauen: ```sh docker build -t wikijs-metabot . ``` Docker container ausführen: ```sh docker run -it -e CTDO_WIKIJS_API_KEY wikijs-metabot ```