Ein zentraler Clou der Wikis ist die Einfachheit, mit der man Verweise ('hyper links') auf andere Seiten in den Text einer Seite einfügen kann. PmWiki bietet verschiedene Mechanismen zur Erzeugung solcher Verweise.
Verweise zu anderen Seiten des Wikis
Um einen Verweis zu einer anderen Seite zu setzen, stellt man einfach den Namen jener Seite in doppelte eckige Klammern -- wie in [[Wiki Sandbox]]
oder [[Installation]]
. Aus diesen Formatierungsanweisungen erzeugt PmWiki Verweise auf die Seiten Wiki Sandbox? bzw. Installation.
Dies geschieht, indem PmWiki bei Text in doppelten eckigen Klammern den ersten Buchstaben jedes Worts durch einen Großbuchstaben ersetzt, die Leer- und Sonderzeichen (wie z.B. die Tilde '~') zwischen ihnen streicht und die resultierende Zeichenkette dann als Namen der Seite verwendet, zu der der Verweis führt. Ein Verweis zu einer Seite kann also auf verschiedene Weise geschrieben werden -- [[Wiki sandbox]]
, [[wiki sandbox]]
und [[WikiSandbox]]
verweisen alle auf die selbe Seite, nämlich WikiSandbox.
Mit anderen Worten: Wenn eine Seite angelegt wird, wird das Ziel des Verweises nach obigen Kriterien erzeugt, der Text des Verweises aber exakt so angezeigt, wie er eingegeben wurde.
An einen Verweis kann eine Nachsilbe angehängt werden, der Teil des Verweistextes, aber nicht des Ziels wird. So ist [[wiki sandbox]]es
ein Verweis zu WikiSandbox, wird jedoch als wiki sandboxes? dargestellt.
Um Text, der nicht dargestellt werden soll, können Klammern gesetzt werden. [[(wiki) sandbox]]
verweist auf WikiSandbox und wird dargestellt als sandbox?.
Schließlich kann man den Verweistext mit Hilfe eines senkrechten Striches (|) völlig unabhängig vom Seitennamen angeben. So verweist [[WikiSandbox | Spielplatz]]
auf WikiSandbox, wird jedoch als Spielplatz? angezeigt. Mit einem Pfeil (->
) kann die Reihenfolge von Verweis und Text umgekehrt werden: [[Spielplatz -> WikiSandbox]]
wird ebenfalls zu (Spielplatz?).
Einige Sites erkennen auch WikiWörter, wo im Text auftretende WikiWörter automatisch als Verweis auf eine Seite gleichen Namens behandelt werden. Dies hängt von der Konfiguration der jeweiligen PmWiki-Installation ab.
Abgekürzte Verweise
Die Verwendung spezieller Zeichen (etwa von Umlauten) in Seitennamen ist zwar unter PmWiki kein grundsätzliches Problem, aber manchmal unterscheiden sich die Zeichensätze zwischen dem Rechner, von dem aus eine Seite bearbeitet wird, und dem Rechner, der zum Lesen der Seite genutzt wird. Insbesondere mit UTF-8 kann es dann zu Problemen kommen. Insofern ist es besser, keine Sonderzeichen für Seitennamen zu verwenden und sich stattdessen auf ASCII-Zeichen zu beschränken. Jede Seite kann eine (:title <name>:)-Direktive enthalten um den lokalisierten Titel anstelle des Seitennamens anzuzeigen. Für diesen Fall sind die folgenden Tipps nützlich:
[[SeitenName|+]]
erzeugt einen Verweis auf SeitenName und nutzt den Titel dieser Seite als Verweistext -- z.B. wird auf der Seite PmWikiFr/Sandbox mittels der Direktive (:title Bac à Sable:) ein Titel definiert, so dass der Verweis [[DocumentationIndex|+]] folgendermaßen dargestellt wird: Dokumentations-Index.
[[SeitenName|#]]
erzeugt einen Referenz-Verweis wie folgt (vgl. unten): [1].
[[!SeitenName]]
erzeugt einen Verweis auf SeitenName in der Gruppe Category. Siehe Kategorien.
Signaturen
[[~Autor]]
erzeugt einen Verweis auf die Autor in der Gruppe Profiles. PmWiki erzeugt einen solchen Verweis automatisch für den aktiven Autor, wenn es irgendwo im Wiki-Quelltext auf drei aufeinanderfolgende Tilden stößt (~
~
~
). Das Hinzufügen eine vierten Tilde führt dazu, dass das aktuelle Datum und die aktuelle Uhrzeit hinzugefügt werden.
Verweise auf bestimmte Stellen (Ankerpositionen) einer Seite
Um in einer Seite eine Stelle oder Lesezeichen zu definieren, zu der/dem direkt gesprungen werden kann, wird [[#name]]
verwendet. Dies erzeugt einen "Anker", welcher die Stelle auf der Seite eineindeutig kennzeichnet. Um an diese Stelle zu springen, können folgende Anweisungen verwendet werden:
[[#name|Verweistext]]
innerhalb der gleichen Seite, oderSeitenName#name
or[[SeitenName#name|Verweistext]]
für eine Stelle auf einer anderen Seite- Die Form
[[SeitenName(#name)]]
ist nützlich, um den Ankertext im Link zu verbergen.
Beispielsweise ist dies ein Verweis auf den Abschnitt Intermaps weiter unten.
Hinweise:
- Der Anker selbst muss mit einem Buchstaben beginnen, nicht mit einer Ziffer,
- Ein Verweis auf einen Anker muss dem Anker in Groß- und Kleinschreibung gleichen. Der Internet Explorer mag zwar hinsichtlich der Großschreibung unempfindlich sein, aber Firefox ist es nicht. Beispielsweise ist weiter unten ein Anker namens "
[[#robots]]
" definiert; ein Verweis wie[[#Robots | Robots]]
funktioniert im IE, nicht aber in Firefox: Robots. - Leerzeichen sind in einem Anker nicht erlaubt:"
[[#mein anker]]
" funktioniert nicht, "[[#meinanker]]
" schon. - Alle Ankernamen in einer Seite müssen einzigartig sein.
Links auf Aktionen
Um auf eine bestimmte Aktion für die aktuelle Seite zu verweisen, benutzt man [[{$FullName}?action=actionname|linkname]]
.
Beispiele:
[[{$FullName}?action=edit|Edit]]
zum Ändern oder[[{$FullName}?action=diff|differences]]
für die Auflistung von Versionen.
Links aus dem Wiki heraus
Verweise auf externe Websites (URLs)
Verweise auf externe Netzseiten fangen einfach mit einer Buchstabenfolge wie 'http:', 'ftp:', usw. an. So verlinken http://www.google.de/
und [[http://www.google.de/]]
beide zu Google. Wie weiter oben beschrieben, kann ein Autor den Verweistext genau bezeichnen, indem er vom Senkrechtstrich oder der Zeichenfolge mit dem Pfeil Gebrauch macht -- zum Beispiel [[http://www.google.de/ | Google]]
und [[Google -> http://www.google.de]]
.
Wenn die externe URL Klammern () enthält, lassen sich diese vor einer (Fehl-)Interpretation durch PmWiki schützen, indem man ( '(' und ) ')' verwendet.
Es ist möglich, einen "Tooltiptitel" des externen Verweises einzufügen, indem man ihn dem Verweis in Anführungszeichen anfügt.
[[http://www.pmwiki.org/"Home of PmWiki"|link]] |
Das Rezept Cookbook:FixURL macht es einfach, Klammern und andere Sonderzeichen in Verweisadressen zu codieren.
Verweise auf lokale Dateien
Nicht alle Browser folgen solchen Verweisen (von einigen Internet-Explorer-Versionen wird berichtet, sie täten es).. Man kann auf Dateien in lokalen Dateisystemen verweisen, indem man die dem Pfad der Dateien als Präfix 'file:///'
voranstellt (zumindest für den Internet Explorer). So sind file:///S:\ProjPlan.mpp
und [[Laufwerk S->file:///S:\]]
beides gültige Verweise. Für Windows-Dateisysteme ist es eventuell besser, Netzwerk-Ordner (z.B. \\server1\verzeichnis\unterverzeichnis) anstelle von Laufwerkbuchstaben zu verwenden, da sich Letztere für verschiedene Nutzern unterscheiden können.
Siehe auch Cookbook:DirList.
Besonderheiten von Verweisen
Verweise als Referenzen
Verweise können auch als Referenzen spezifiziert werden, so dass das Verweis-Ziel nicht durch einen Verweistext, sondern durch eine "anonyme", numerische Referenz beschrieben wird. Die folgende Formatierungsanweisung dient dazu, fortlaufend nummerierte Referenz-Verweise innerhalb einer Wikiseite zu erzeugen:
Das Formatieren des Verweises als [[http://google.com |#]]
erzeugt beim Betrachten der Seite lediglich: [2]. Beim nächsten Verweis im Referenz-Format erhöht sich die Referenz-Nummer automatisch um eins: Die Eingabe von [[http://pmwiki.com |#]]
erzeugt [3] usw ...
InterMap
InterMap-Verweise werden ebenfalls unterstützt (siehe InterMap). Insbesondere kann der Path:
InterMap-Eintrag zum erzeugen relativer oder absoluter Verweise genutzt werden (z.B. Path:../../einverzeichnis/foo.html
oder Path:/verzeichnis/irgendwas.gif
).
Verweise zu Seiten in anderen Wikigruppen
Siehe Wikigruppen.
Verweise, die ein neues Fenster öffnen
Um einen Link in einem neuen Fenster zu öffnen wird %newwin%
verwendet.
%newwin% http://pmichaud.com %%
erzeugt diesen Verweis: http://pmichaud.com%newwin% [[http://google.com/ | Google]]
erzeugt diesen Verweis: Google%newwin% [[WikiSandbox]] %%
erzeugt diesen Verweis: WikiSandbox?
Alternativ kann man auch das Attribut target
verwenden, um Verweise in einem neuen Fenster zu öffnen:
%target=_blank% Alle Verweise in diesem Absatz, wie bspw. http://www.pmichaud.com, öffnen sich in einem neuen Fenster. | Alle Verweise in diesem Absatz, wie bspw. http://www.pmichaud.com, öffnen sich in einem neuen Fenster. |
Verweise, denen Web-Roboter nicht folgen
Indem man einem Verweis die Anweisung %rel=nofollow% voranstellt, kann man robots und link checker veranlassen, diesem Link nicht zu folgen.
%rel=nofollow$[[Ihr Verweis]]%%
Verweise und CSS-Klasses
PmWiki vergibt automatisch bestimmte CSS-Klassen für verschiedene Typen von Verweisen. Unter anderem versetzt einen dies in die Lage, die Verweis-Typen unterschiedlich zu formatieren.
Hinweis: Diese Auflistung kann unvollständig sein.
- .selflink
- Ein Verweis auf die aktuelle Seite. Nützlich etwa, um in Navigationsleisten anzuzeigen, wo man sich gerade befindet.
- .wikilink
- Ein Verweis auf eine andere Seite innerhalb des Wikis.
- .urllink
- Ein Verweis auf eine Seite außerhalb des Wikis.
Man könnte etwa eine Klasse .anchor
für Verweise auf Anker definieren [[#target]]
oder auch <A name='target'></A>
indem man die folgenden Zeilen in 'config.php' einfügt:
Markup('[[#','<[[','/(?>\\[\\[#([A-Za-z][-.:\\w]*))\\]\\]/e', "Keep(TrackAnchors('$1') ? '' : \"<a name='$1' id='$1' class='anchor'></a>\", 'L')");
Hinweise
Hinweis: Das Standardverhalten von "+" (siehe oben) kann derart modifiziert werden, dass nicht einfach nur der Titel der Seite angezeigt wird, sondern auch alle Leerzeichen im Titel beachtet werden ("spaced title"). Dazu fügt man Folgendes zu 'config.php' hinzu:
## [[target |+]] title links Markup('[[|+', '<[[|', "/(?>\\[\\[([^|\\]]+))\\|\\s*\\+\\s*]]/e", "Keep(MakeLink(\$pagename, PSS('$1'), PageVar(MakePageName(\$pagename,PSS('$1')), '\$Titlespaced') ),'L')");
<< Erzeugung neuer Seiten | Dokumentationsindex | Bilder >>
Wie erzeuge ich einen Verweis, der in einem neuen Browserfenster geöffnet wird?
Benutze den Wikistil %newwin%
-- so wie im folgenden Beispiel:
%newwin% http://example.com/ |
Wie erzeuge ich einen Verweis, der in einem neuen Browserfenster geöffnet wird, wenn ich gleichzeitig das Aussehen dieses neuen Fensters beeinflussen will?
Dazu ist Javascript erforderlich. Siehe das Kochbuch-Rezept Cookbook:PopupWindow (nur auf Englisch verfügbar).
Wie kann ich eine E-Mail-Adresse in eine Wikiseite einfügen?
Benutze die Formatierungsanweisung mailto:
-- so wie in den folgenden Beispielen:
* mailto:meineadresse@example.com * [[mailto:meineadresse@example.com]] * [[mailto:meineadresse@example.com | Schreib mir eine E-Mail!]] * [[mailto:meineadresse@example.com?subject=Irgendein Betreff&body=Text der E-Mail | Schreib mir eine E-Mail!]] |
Siehe auch in den Kochbuch-Rezepten Cookbook:EProtect und Cookbook:ProtectEmail nach ausführlicheren Informationen über den Schutz von E-Mail-Adressen vor Spammern (nur auf Englisch verfügbar).
Wie kann ich einen WikiWort-Verweis zu einem Verweis auf eine externe anstatt auf eine interne Seite machen?
Benutze die Formatierungsanweisungen für Verweise. Es gibt folgende zwei Möglichkeiten:
[[http://example.com/ | WikiWort]] [[WikiWort -> http://example.com/]]
Wie finde ich alle Seiten, die auf eine bestimmte Seite verweisen (sogenannte 'backlinks')?
Benutze die Direktive (:pagelist:)
-Direktive mit der Option "link=
" -- so wie im folgenden Beispiel:
(:pagelist link=IrgendeineSeite:) -- zeige alle Verweise auf IrgendeineSeite (:pagelist link={$FullName}:) -- zeige alle Verweise auf die aktuelle Seite
Welche Verweis-Schemen (URI-Schemen) unterstützt PmWiki?
Siehe die eigene Seite Linkschemata.
Wie kann ich Verweise auf anderer Internet-Protokolle -- wie etwa nntp:, ssh:, xmpp: etc. -- ermöglichen.
Siehe das Kochbuch-Rezept Cookbook:Add Url schemes (nur auf Englisch verfügbar).
Wie öffne ich externe Verweise in einem neuen Fenster oder markiere sie mit einem Icon?
Siehe das Kochbuch-Rezept Cookbook:External links (nur auf Englisch verfügbar).
Übersetzung von PmWiki.Links
Originalseite auf PmWikiDe.Links - Rückverweise
Zuletzt geändert:
PmWikiDe.Links am 07.07.2014
PmWiki.Links am 26.10.2022