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:
|
|
|
|
|
|
|
|
```markdown
|
|
|
|
<!-- \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:
|
|
|
|
|
|
|
|
```markdown
|
|
|
|
<!-- \pagelist tags: ["top", "new"] -->
|
|
|
|
```
|
|
|
|
|
|
|
|
Liste der 10 zuletzt bearbeiteten Seiten:
|
|
|
|
|
|
|
|
```markdown
|
|
|
|
<!-- \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
|
2022-09-23 10:14:22 +00:00
|
|
|
|
|
|
|
## 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
|
|
|
|
```
|