Seiten-Dateiformat
Möglicherweise haben Sie viele Dokumente, die Sie gern mit einem lokalen Programm in ein Format umwandeln möchten, das PmWiki anzeigen kann.
Sie könnten
- jedes dieser Dokumente öffnen und deren Inhalt mit Hilfe von Markieren, Kopieren und Einfügen in jeweils eine neue Wikiseite einbauen oder
- den Text vorab umformatieren und mit Ihrem FTP-Programm hochladen.
Format
Nur zwei Zeilen sind in der Datei wirklich notwendig.
version=pmwiki-2.1.0 urlencoded=1 text=Markup text
"urlencoded=1" sagt PmWiki, dass die Werte urlkodiert (urlencoded) sind. Der aktuelle Wert von "version" spielt keine Rolle, solange nur irgendwo in der Zeile "urlencoded=1" auftaucht. Die Zeile muss aber mit "version=" beginnen.
"text=" muss den mit Markups versehenen Text (Quelltext) enthalten, wobei
- die Zeilenumbrüche in '%0a' und
- die Prozentzeichen in '%25'
umgewandelt sein müssen.
Damit die Suche und die (:pagelist :)
-Markups funktionieren, müssen Sie sicherstellen, dass die Dateinamen mit einem Großbuchstaben beginnen.
Damit die (:pagelist link=...:)
-Markups in anderen Seiten diese Seite auflisten, ist ein drittes Attribut notwendig.
targets=GroupName1.Pagename1,GroupName2.Pagename2,...
"targets=" ist eine kommagetrennte Liste aller Verweise in dieser Seite auf andere Seiten (ohne Leerzeichen nach den Kommata).
Seitenformatattribute
Schlüssel, die in einer nackten PmWiki-Datei erscheinen könnten:
- version=
- die Version von PmWiki, die beim Speichern der Datei verwendet wurde,
- agent=
- des Autors Browser, mit dem die Seite erstellt und gespeichert wurde
- author=
- der letzte Autor, der den Text gespeichert hat
- charset=
- der Zeichensatz (character encoding) des Seitentextes
- csum=
- Zusammenfassung der Änderungen, die beim Speichern angegeben wurde
- ctime=
- die Seitenerstellungszeit
- description=
- Beschreibung der Seite; wird benutzt, um
<meta name='description' />
auszufüllen, wenn das via(:description Text zu Beschreibung der Seite:)
gesetzt wurde - host=
- die IP-Nummer des Rechners, von dem aus der letzte Autor gespeichert hat (bei einem anonymen Autor wird diese statt des Autors im Kopf der Versionen angezeigt)
- name=
- der Name der Seite (z. B.
Main.WikiSandbox
) - passwdattr
- verschlüsselte Version des Passwortes, das nötig ist, um die Attribute der Seite zu ändern
- passwdedit
- verschlüsselte Version des Passwortes, das nötig ist, um den Text zu bearbeiten
- passwdread
- verschlüsselte Version des Passwortes, das nötig ist, um den Text zu lesen
- passwdupload
- verschlüsselte Version des Passwortes, das nötig ist, um Dateien hochzuladen
- rev=
- gibt an, wie oft die Seite bearbeitet und geändert wurde
- targets=
- Die Ziele der Verweise in dieser Seite
- text=
- der mit Markups versehene WikiText (Quelltext)
- time=
- die Zeit der letzten Speicherung als Unix-Zeitstempel (Sekunden seit dem 1. Januar 1970 um 00:0000 Uhr UTC)
- title=
- der Seitentitel, der per Seitentitel-Markup gesetzt wurde
(:title Der Seitentitel:)
. - newline=
- das Zeichen, das für einen Zeilenumbruch benutzt wird (überholt)
- updatedto=
- die Version, auf die PmWiki mittels
upgrades.php
upgedatet wurde (nur in SiteAdmin.Status)
Darunter sehen Sie Einträge, die die Versionen der Seiten dokumentieren (engl. history).
Eine Seite für die Veröffentlichung erzeugen
Ein einfacher Weg eine Wikiseitendatei zu erzeugen, um sie für die Veröffentlichung zu verwenden (z. B. mit einem Rezept oder einem Skin), ist die Seie mit PmWiki zu erzeugen und anschließend mit einem Texteditor alle Zeilen zu löschen außer version, text, und ctime. Beispiel:
version=pmwiki-2.1.0 ordered=1 urlencoded=1 text=This is a line.%0aThis is another. ctime=1142030000
Seitenversionen im Auge behalten
Innerhalb der Seitendatei speichert PmWiki die letzte Version des Quelltextes und nutzt diese, um die Seite zu erzeugen. Die Seitenversionen werden als eine Folge von Unterschieden zwischen der letzten Version der Seite und der jeweils vorigen Seite notiert.
PmWiki setzt normalerweise die Versionshistorie an das Ende jeder Seitendatei in umgekehrter chronologischer Reihenfolge und setzt den "order=1" Eintrag in den Kopf. Wenn eine Operation nur die letzte Version der Seite benötigt, wird PmWiki mit dem Einlesen der Datei und dem Verarbeiten der Seite an der Stelle aufhören, wo die Historie beginnt, und spart dadurch möglicherweise viel Zeit und Speicher. Wenn das "ordered=1"-Kennzeichen fehlt, macht PmWiki keine Annahmen über die Reihenfolge der Einträge in der Seitendatei und verarbeitet die gesamte Datei.
Die Schlüssel werden von einem Doppelpunkt begrenzt, nicht von einem Gleichheitszeichen. Den Schlüsseln folgt ein Zeitstempel und nach einem Gleichheitszeichen der Wert (z. B. host:1303973339=192.168.1.101
). Die zu einer Änderung (zusammen) gehörenden Schlüssel haben alle den gleichen Zeitstempel.
- autor:
- der Autor, der diese Änderung (die neue Fassung) geschrieben hat
- csum:
- = die Zusammenfassung, die der Autor beim Speichern der neuen Fassung angegeben hat
- diff:
- = die Unterschiede zwischen der vorigen und der neuen Fassung des Textes (siehe auch diff-Format)
- host:
- = die IP-Nummer des Rechners, von dem aus die Änderungen vorgenommen wurden (bei einem anonymen Autor wird diese statt des Autors im Kopf der Versionen angezeigt)
Seiten von/aus Textdateien laden
Siehe Cookbook: Import text. → Importiere Textdateien als PmWiki-Seiten.
Unix-Werkzeug zum Extrahieren von Wikitexten
Dieses einzeilige sed-Kommando extrahiert den Text einer PmWiki-2.x-Datei und gibt ihn aus (kann als alias deklariert werden, z. B. pmcat):
sed -n 's/^text=//; s/%0a/\n/gp; s/%3c/</gp; s/%25/%/gp' GroupName.PageName
Das folgende Unix-Skript (getestet auf MacOSX) extrahiert und dekodiert den aktuellen Text einer Wikidatei:
#!/bin/tcsh # wtext - extract wiki text # # wtext wikifile > output set fn = "$1" if ("$fn" == "") then echo "need input file parameter" exit 999 endif if (! -f $fn) then echo "$fn does not exist" exit 999 endif rm sedin.$$ >& /dev/null set ch = `grep ^newline= $fn | cut -d= -f2` if ("$ch" == "") set ch = "%0a" cat <<eof > sedin.$$ s/^text=// s/$ch/\ /g s/%3c/</g s/%25/%/g eof grep "^text=" "$1" | sed -f sedin.$$ rm sedin.$$ >& /dev/null
Siehe auch
- Cookbook:AdminByShell Eine Sammlung von 'shell tools', die SysAdmins von PmWiki eine große Hilfe sein könnten (englisch)
- Cookbook:PageTopStore Eine Alternative zum Speichern von Seiten, die Seiteninhalte nicht verwürfelt, wenn sie von außerhalb von PmWiki angesehen werden (englisch)
Kategorien: PmWiki Developer
Übersetzung von PmWiki.PageFileFormat, Originalseite auf PmWikiDe.PageFileFormat — Retroenlaces
Zuletzt geändert: | PmWikiDe.PageFileFormat | am 20.09.2022 |
PmWiki.PageFileFormat | am 19.09.2022 |