wikijs-metabot/README.md

79 lines
2.2 KiB
Markdown
Raw Normal View History

2022-09-23 10:05:34 +00:00
# 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:
2022-09-23 10:16:47 +00:00
```text
2022-09-23 10:05:34 +00:00
<!-- \pagelist QUERY -->
```
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:
2022-09-23 10:16:47 +00:00
```text
2022-09-23 10:05:34 +00:00
<!-- \pagelist tags: ["top", "new"] -->
```
Liste der 10 zuletzt bearbeiteten Seiten:
2022-09-23 10:16:47 +00:00
```text
2022-09-23 10:05:34 +00:00
<!-- \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](https://wiki.ctdo.de/a/api).
2022-09-23 10:15:45 +00:00
### 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
```