Seiten-Dateiformat

für die Liste aller Seiten

Administratoren (FTP)

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.

Zusätzlich kodiert PmWiki beim Schreiben der Seiten '<' als '%3c' (zur Unterstützung der Sicherheit), aber es ist nicht zwingend notwendig, das '<'-Zeichen zu kodieren, damit die Seite gelesen werden kann.
Weitere Umwandlungen könnten in Zukunft dazu kommen.

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,
in der gleiche Zeile dahinter ggf.:
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. Import text files as PmWiki pages → 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 für die Liste aller Seiten


Übersetzung von PmWiki.PageFileFormat,   Originalseite auf PmWikiDe.PageFileFormat   —   Rückverweise

Zuletzt geändert:   PmWikiDe.PageFileFormatam 20.09.2022
 PmWiki.PageFileFormatam 19.09.2022