Benutzer-Werkzeuge

Webseiten-Werkzeuge


thoschwiki:dokuwiki:interwikilinkshortcuts

Dies ist eine alte Version des Dokuments!


eigene InterWiki-Links

Die Ursprungsidee des InterWiki war die Schaffung eines großen, über das gesamte Internet verteilten Wikis. Heute ist es jedoch eher ein schneller Weg von einem Wiki in ein anderes zu verweisen.

Im DokuWiki wird dies durch eine vordefinierte Verknüpfung des Wiki-Seitennamens mittels Shortcut getrennt durch das > Zeichen erreicht.

Beispiel:

[[wp>Wiki]] Link zur englischsprachigen Wikipedia,
[[wpde>Wiki]] Link zur deutschsprachigen Wikipedia

Die InterWiki Shortcuts werden in der Datei conf/interwiki.conf definiert (aktuelle Version im GitHub-Repository).

Das Format der interwiki config Datei lautet:

<shortcut>      <url zum wiki>

Diese Funktion lässt sich nicht nur für Verlinkungen auf Wikis nutzen, sondern für Verlinkungen auf alle Web-Sites, die einen streng strukturierten Aufbau der URLs haben.

Anlegen eigener Shortcuts

Eine Änderung oder Ergänzung der Datei conf/interwiki.conf ist durchaus möglich, jedoch gehen die selbst angelegten Shortcuts beim Update des DokuWikis verloren. Daher sollten eigene Shortcuts in der Datei conf/interwiki.local.conf abgelegt werden werden.

Details können der Hilfseite InterWiki Links entnommen werden.

Im Verzeichnis lib/images/interwiki sind Grafikdateien, die namensgleich zu den Shortcuts sind, abgelegt. Diese Dateien werden als Icon neben dem InterWiki-Link angezeigt.

Laut Dokumentation können diese Dateien gegen eigene Dateiversionen ausgetauscht werden. Sie sollten im Format 16×16 Pixel sowie als PNG- oder GIF-Datei vorliegen.

Bei einer Änderung der Dateien soll der Cache geleert werden:

rm -rf <path-to-dokuwiki>/data/cache/*

Es ist möglich, auf diesem Weg auch Icons für eigene InterWiki-Shortcuts zu integrieren.

Beim Einsatz des DokuWiki in einem Docker-Container ist – zumindest bei linuxserver/dokuwiki – zu beachten, dass sich das Verzeichnis lib/images/interwiki außerhalb des vorgesehenen Volumes befindet und somit bei jedem Neuerstellen des Containers mit den Werten aus dem Image überschrieben wird.

Um dieses Problem zu lösen, habe ich ein zusätzliches Volume eingeführt, dass unter lib/images im Container gemountet wird. Dies führt jedoch dazu, dass das bestehende Verzeichnis mit den System-Icons durch das gemountete Volume überdeckt wird. Zum initialen „Befüllen“ habe ich ein Helfer-Script geschrieben, das

  1. einen zusätzlichen, minimalen DokuWiki-Container generiert, bei dem das Volume für die Icons das Verzeichnis lib/images nicht überdeckt
  2. per docker exec innerhalb des Containers die System-Icons in das Volume kopiert (sowie die Rechte berichtigt) sowie
  3. den Hilfs-Container beendet und zerstört
#!/bin/sh
#
# Helper script to copy the icons from an complete container into
# the volume which will contain and persist the icons
 
echo "Start Container..."
 
# Minimal container w/o port etc. and mounted 'images' volume
docker run \
  --name=dokuwikihelper \
  -d \
  --rm \
  -e PUID=2000 \
  -e PGID=2000 \
  -e TZ=Europe/Berlin \
  -v /path/to/DockerData/DokuWiki/images:/images \
  linuxserver/dokuwiki
 
 
echo
echo "Kopiere Dateien..."
# Copy icons to mounted volume
# ('cp -a /app/dokuwiki/lib/images/* /images' did not work...)
docker exec -it dokuwikihelper cp -a /app/dokuwiki/lib/images /
# Change owner to 'abc' which is used to run DokuWiki in the container
# to prevent that 'root' is the owner
docker exec -it dokuwikihelper chown abc:abc -R /images
 
echo
echo "ls -axl /path/to/DockerData/DokuWiki/images"
ls -axl /path/to/DockerData/DokuWiki/images
 
echo
echo "Stoppe Container..."
docker stop dokuwikihelper
 
echo "Die eigenen Icons sind noch nach /path/to/DockerData/DokuWiki/images"
echo "bzw. /path/to/DockerData/DokuWiki/images/interwiki zu kopieren und"
echo "ggf. die Dateirechte anzupassen."

Erstellte eigene Shortcuts

DockerHub

DockerHub ist ein Repository für Docker-Images. Die URLs haben zwei Strukturen:

URL Nutzung
https://hub.docker.com/u/<Username>
Link auf Übersichtsseite eine Benutzers
https://hub.docker.com/r/<Username>/<Repository>
Link auf Repository

Wird bei einem Link für ein Repository nur der Username, aber nicht der Repository-Name vorgegeben, dann wir der Seitenaufruf vom DockerHub-Webserver automatisch in das Format für eine Benutzerseite umgeschrieben:

https://hub.docker.com/r/<Username> => https://hub.docker.com/u/<Username>

Daraus lässt sich der folgende shortcut ableiten:

dockerhub   https://hub.docker.com/r/{NAME}

Neben dem InterWiki-Link wird eine Grafik angezeigt, die aus dem Favicon von Docker abgeleitet wurde.

Beispiel:

linuxserver/dokuwiki

GitHub

GitHub ist ein auf Git basierender netzbasierter Dienst zur Versionskontrolle.

GitHub hat einen sehr klar strukturierten URL-Aufbau:

https://github.com/<Username>/<Repository>

Die Benutzerseite kann unter Weglassen des Repository-Namens erreicht werden. Durch Anfügen weiterer Bestandteile können auch zielgerichtet einzelne Teile des Repositories (z.B. Dateien, Issues, Wiki) adressiert werden.

Daraus lässt sich der folgende shortcut ableiten:

github     https://github.com/{NAME}

Neben dem InterWiki-Link wird eine Grafik angezeigt, die aus dem Favicon von GitHub abgeleitet wurde.

Beispiel:

thoschworks

Credits

Diese Seite verwendet Textauszüge aus der Hilfeseite InterWiki Links.

thoschwiki/dokuwiki/interwikilinkshortcuts.1596362528.txt.gz · Zuletzt geändert: 02.08.2020 12:02 von thosch