[Home] 
Tabellen Markup


Home
Neues
TestSeite
Forum

Suchen
Teilnehmer
Communities
Ordner
Index
Hilfe

Einstellungen

Ändern

  Viele Wikis implementieren mitlerweile ein Markup um Tabellen zu erzeugen. Ich habe bisher keine Lösung gefunden, die für ungeübte Bearbeiter einer Seite angenehm zu benutzen sind. Auf dieser Seite könnten bereits bestehende Lösungen für Tabellen zusammengetragen und neue Möglichkeiten diskutiert werden. --ThomasKalka

Markups

HTML

Der HTML-Quelltext der Tabelle wird in die Seite geschrieben. Diese Form überfordert die meisten Benutzer und ist nicht Wiki-gerecht.

Wiki-Markup

Angabe der Tabelle in einer Listenform. Beispiele:

Spalte1;Spalte2;Spalte3

 |Spalte1|Spalte2|Spalte3|

 ||Spalte1|Spalte2|Spalte3||

Das Problem ist: der Appetit kommt mit dem Essen. Zahlen sollen rechtsbündig sein (align). Zellen sollen z. B. für Überschriften zusammengefasst werden. Es ist nicht praktikabel, dafür jeweils spezifische Markups zu erfinden. -- HelmutLeitner

Maps

Das generelle Problem bei Tabellen ist in einem Wiki-Quelltext ist ihre zwei-Dimensionalität. Es ist schwierig Die Position einer Zelle im Quelltext zu finden. Das einfügen einer Spalte ist zumeist nur unter Schmerzen möglich.

Durch transformation der zweidimensionalen Tabelle in eine indizierte Liste wird die Syntax benutzerfreundlich.

Vorteile dieser Lösung:

  • einfaches einfügen von Spalten
  • einfaches umordnen von Spalten
  • einfaches auffinden von Zellen
Das Verschieben von Zeilen funktioniert über das Herumschieben von Textblöcken. Das ist der üblichen und der hier voreschlagenen Syntaxt nicht schwierig.

Es geht um die Spalten.

Herumschieben: Der erste Eintrag definiert die Anordnung der Spalten. Spalten verschieben bedeutet also nur die Zeilen des ersten Einrags per Copy und Paste zu verschieben.

Auffinden: Da ja in der Syntax die Abkürzung der Spalte vor den Daten immer mit angegeben werden muss, ist das Auffinden der Spalte in dem entsprechenden Datensatz kein Problem.

Implementation-Skizze

Zuerst ein Header, der gleichzeitig die Indices bestimmt:

WE:   WikiEngine
PS:   Programmiersprache
OS:   OpenSource
DI:   Deutsches Interface
TEM:  Templates
UNT:  Unterseiten 
SUB:  SubWikis      
NS:   NameSpace     
CCL:  CamelCase Links     
FL:   FreieLinks         
PL:   Plugins

Danach folgen dann im gleichen Format die Dateneinträge

WE:   MoinMoine
PS:   Pyhton
OS:   GPL
DI:   über I18N
TEM:  nein
UNT:  ja
SUB:  nein
NS:   nein
CCL:  konfigurierbar
FL:   ja
PL:   ja

etc.

am Ende des Quelltextes für die Tabelle könnte vom System ein leerer Eintrag definiert werden, der es dem Anwender vereinfacht, eine neue Zeile zu erzeugen.

WE: 
PS: 
OS: 
DI: 
TEM:
UNT:
SUB:
NS: 
CCL:
FL: 
PL: 

Implementation in ProWiki

Vereinfacht (ohne eigene Zeile der Felder):

PersonGrößeGewicht
Peter18084
Martha16752

Erklärung: es ändert sich nichts am Tabellen- und Zeilenaufbau, auch nicht an der Überschrift (muss genauso definiert werden). Jede Zelle muss jedoch mit "Spaltenname=..." beginnen. Die Spaltennamen werden in einer neuen Option definiert. Fehler: Unbenannte Zellen bleiben leer, Fehlerhafte Spaltennamen bleiben unberücksichtigt. Längeres Beispiel: WikiEngineVergleich/TestSpaltenIndiziert?. -- HelmutLeitner

Wenn Du jetzt noch einbaust, dass nachfolgende eingerückte Zeilen mittels ; zusammengesetzt werden, wäre es richtig gut ...

PersonGrößeGewicht
Peter18084
Martha16752

-- ThomasKalka

So gut? Die Einrückung ist allerdings nur kosmetisch, hat keine syntaktische Wirkung. -- HelmutLeitner

Super ! Ist doch nun sehr übersichtlich auf dem Wiki-Software-Vergleich. Wie ist jetzt die Syntax ? Alles bis zu einer Leerzeile gehört zusammen ? -- ThomasKalka

Stimmt, dein Vorschlag war exzellent. -- Ja, die Definition von "\n" als Trennzeichen zwischen Zellen impliziert eine Leerzeile "\n\s*\n" als Trennung zwischen Tabellenzeilen (die Verwendung von "=" war übrigens notwendig, um Kollisionen mit der InterWiki Syntax auszuweichen). -- HelmutLeitner


OrdnerWikiFeatures