InterWiki: historyczna wersja
Podgląd
To jest dokumentacja pliku https://wandystan.eu/varia/intermap.txt
Co to jest InterWiki?
InterWiki to metoda linkowania do artykułów znajdujących się na innych stronach typu wiki przy użyciu krótkiego identyfikatora danego wiki. Przykładowo, używając składni typu [[Example:Tytuł strony]] (MediaWiki, PmWiki), [[Example>Tytuł strony]] (System Stron Wandejskich, DokuWiki), czy Example:"Tytuł strony" (UseModWiki) możemy zalinkować do artykułu znajdującego się pod adresem https://example.org/wiki/Tytuł_strony.
Główną zaletą takiego sposobu linkowania jest to, że jeżeli adres podlinkowanej witryny zmieni się, niepotrzebna jest aktualizacja linków na każdej stronie.
Czym jest plik intermap.txt?
Jest to plik, w którym zawarte są identyfikatory mikronacyjnych stron typu wiki (ale nie tylko), wraz z prefiksami oraz sufiksami dołączanymi do tytułu artykułu, aby uzyskać jego adres strony internetowej.
Składa się on z oddzielonych znakami nowej linii rekordów, składających się z oddzielonych znakiem spacji kolejno:
- Identyfikatora strony, zaczynającego się wielką literą i zawierającego jedynie bezdiakrytyczne znaki alfabetu łacińskiego oraz kropki;
- Prefiksu adresu strony internetowej;
- (opcjonalnie) Sufiksu adresu strony internetowej.
Dodatkowo, w pierwszej linijce zawsze zamieszczony jest adres niniejszego artykułu dokumentującego ten plik. Linijka ta jako jedyna zawsze zaczyna się kropką.
Format pliku jest zgodny z formatem InterMap używanym m. in. przez UseModWiki.
Jak używać pliku intermap.txt?
Należy ustawić cykliczne wykonywanie skryptu (np. za pomocą crona, czasomierzy systemd), który:
- Pobiera plik
intermap.txtz https://wandystan.eu/varia/intermap.txt; - Konwertuje go na format właściwy dla zainstalowanego systemu wiki (alternatywnie: wstawia dane w nim zawarte do bazy danych);
- Zapisuje go we właściwej lokalizacji.
Przykład takiego skryptu można znaleźć poniżej:
#! /bin/sh
#
# Any copyright is dedicated to the Public Domain.
# http://creativecommons.org/publicdomain/zero/1.0/
#
target=/path/to/the/wiki/installation/localmap.txt
trap 'rm -f "$target.tmp"' EXIT
test "$(
exec 3>&1
{
curl -fsS https://wandystan.eu/varia/intermap.txt
echo $? >&3
} | while IFS=' ' read -r moniker prefix suffix
do
case $moniker in
.*)
continue
esac
# Change the line below to fit your wiki system
printf '%s: %s$1%s\n' "$moniker" "$prefix" "$suffix"
done > "$target.tmp"
)" -eq 0 || exit 1
mv -f "$target.tmp" "$target"