2016-01-15

Gliederung

————————————————————————————————————————————————————————————————

:::::::::::::::::::::::::::::::::::::::::::::ACHTUNG: h4. wird nicht angezeigt::::::::::::::::::::::::::::::::::::::::::::::::

————————————————————————————————————————————————————————————————

Inhalt

Gliederung 1
h1. Was ist Textile? 4
h2. Einleitung 4
h2. Besonderheiten von Textile 5
h3. Vorteile gegenüber Markdown 5
h3. Unterschiede zu Auszeichnungssprachen, die auf HTML und XML basieren 5
h3. Vorteile gegenüber WYSIWYG-Editoren 5
h3. Standardisierung und Dokumentation 5
h2. Lizenzrechtliches 6
h2. Hard- und Softwarevoraussetzungen 6
h1. Syntax 7
h2. Arbeit mit Blöcken 7
h3. Absätze 7
h3. Überschriften 8
h3. Darstellung von Codeblöcken 9
h3. Vorformatierter Text 10
h3. Kommentarblöcke 12
h3. Einbindung von HTML und Unicode 12
h3. Zitatblöcke 13
h3. Vorübergehendes Ignorieren von Textile-Formatierungen 13
h2. Aufzählungen und Fußnoten 14
h3. Aufzählungen mit Punkten und Zahlen 14
h3. Fußnoten 15
h3. Automatische Nummerierung von Anmerkungen 15
h2. Hyperlinks und Bilder 17
h3. Hyperlinks 17
h3. Bilder 19
h2. Tabellen 20
h2. Schriftartoptionen 22
h3. Fett und kursiv 22
h3. Hochgestellte und tiefgestellte Elemente 23
h3. Korrekturen: Ausstreichungen und Einfügungen 24
h3. Zitate 24
h3. Code-Markierungen 24
h3. Festlegung von CSS-Eigenschaften 25
h3. Angeben der Sprache 25
h2. Weitere Funktionen 25
h3. Sonderzeichen 25
h3. Akronyme und Abkürzungen 26
h1. Einsatzbereiche von Textile (35%) 26
h2. Typisches Arbeitsumfeld 26
h2. Ökosysteme um Textile (15%) 26
h3. Textpattern als natives Ökosystem Textiles 27
h3. Weitere Einsatzbereiche 27
h2. Analyse der Eignung für bestimmte Medien 27
h1. Konvertierungsmöglichkeiten und Export (5%) 28
h2. Weboberfläche 28
h2. Konvertierung in pdf 28
h2. Mobile Anzeige 28
h1. Kritik 28
h2. Die Schwächen von Textile 29
h3. Zur Problematik längerer Texte 29
h3. Dokumentation ist nicht fehlerfrei oder veraltet 29
h2. Wo Textile überzeugt (Was uns besonders gut gefallen hat) 29
h3. Schnelle Produktion von validem XHTML-Quelltext 29

————————————————————————————————————————————————————————————————

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ÜBERARBEITEN::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

————————————————————————————————————————————————————————————————

Was ist Textile? (15%)

Einleitung

Besonderheiten von Textile – Abgrenzung zu anderen Sprachen

Vorteile gegenüber Markdown

Unterschiede zu Auszeichnungssprachen, die auf HTML und XML basieren

Vorteile gegenüber WYSIWYG-Editoren

Standardisierung und Dokumentation

Lizenzrechtliches

Hard- und Softwarevoraussetzungen

Syntax (45%)

Arbeit mit Blöcken

Absätze

Überschriften

Hierarchie

Darstellung von Codeblöcken

Vorformatierter Text [pre-formatted text]

Kommentarblöcke

Aufzählungen und Fußnoten

Hyperlinks und Bilder

Tabellen

Schriftartoptionen

Räumliche Anordnung und Einbindung von CSS

Weitere Funktionen

Sonderzeichen

Akronyme und Abkürzungen

Einsatzbereiche von Textile (35%)

Typisches Arbeitsumfeld

Ökosysteme um Textile (15%)

Textpattern als natives Ökosystem Textiles

Weitere Einsatzbereiche

Analyse der Eignung für bestimmte Medien

Konvertierungsmöglichkeiten und Export (5%)

Weboberfläche

Konvertierung in pdf

Mobile Anzeige

Kritik

Die Schwächen von Textile

Zur Problematik längerer Texte

Wo Textile überzeugt (Was uns besonders gut gefallen hat)

Schnelle Produktion von validem XHTML-Quelltext

————————————————————————————————————————————————————————————————

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ÜBERARBEITEN::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

————————————————————————————————————————————————————————————————

Was ist Textile?

Einleitung

————————————————————————————————————————————————————————————————

::::::::::::::::::::::::::::::::::::::ENTSPRICHT NICHT UNSERER ERFAHRUNG:::::::::::::::::::::::::::::::::::::::::::::

————————————————————————————————————————————————————————————————

Textile ist eine vereinfachte Auszeichnungssprache, die zur Formatierung von Text in Weblogs und Content-Management-Systemen (CMS) verwendet wird. Hierin ähnelt sie Auszeichnungssprachen wie Wikitext und der äußerst populären Sprache Markdown. Glaubt man Wikipedia1, besticht Textile gegenüber Markdown durch einen größeren Funktionsumfang.

Als Grund für die seltenere Verwendung der Sprache wird angegeben, dass sich Textile im direkten Vergleich mit Markdown etwas weniger leicht liest. Dennoch muss an dieser Stelle festgehalten werden, dass auch Textile mit dem grundlegenden Anspruch entwickelt wurde, menschenlesbar und auch für Laien verständlich zu sein.

Die Sprache Textile gibt es seit über zehn Jahren. Ursprünglich entwickelte Dean Allen diese im Jahr 2002 für das ebenfalls von ihm stammende Content-Management-System Textpattern. Laut Wikipedia findet die Sprache mittlerweile nicht nur in der ebenso leichtgewichtigen wie beliebten Freeware, wo diese als Standard für die Texteingabe definiert ist, sondern in vielen Webentwicklungsoberflächen Anwendung. Angeblich existieren Implementierungen für (fast) alle großen Content-Management-Systeme. So wird Textile beispielsweise bei WordPress als Plugin mitgeliefert. Ebenso liest man, dass es heute aufgrund des Erfolgs von Textpattern und der offenen Lizenz Übersetzer in vielen Programmiersprachen wie Perl, Python, Ruby und Java gibt, die in der Webentwicklung eine große Rolle spielen. So weit so gut.

Ob es sich bei Textile tatsächlich um ein Schwergewicht unter den Auszeichnungssprachen und somit eine ernstzunehmende Alternative zu Markdown handelt, soll neben anderen Fragen in dieser Projektarbeit beantwortet werden.

Ganz grundlegend eignet sich Textile als vereinfachte Auszeichnungssprache dazu, Texte ohne großen Aufwand in ein Format zu bringen, das in Webcontent eingebunden und veröffentlicht werden kann. Mit Textile ausgezeichneter Text kann leicht in validen, wohlgeformten XHTML-Quelltext umgewandelt werden.

Textile wird von Github unterstützt.

1 Siehe zu diesem Abschnitt den deutschsprachigen Hauptartikel zu Textile auf wikipedia.org und “A short introduction to Textile” auf txstyle.org [zuletzt aufgerufen am 04.10.2015]

————————————————————————————————————————————————————————————————

::::::::::::::::::::::::::::::::::::::ENTSPRICHT NICHT UNSERER ERFAHRUNG:::::::::::::::::::::::::::::::::::::::::::::

————————————————————————————————————————————————————————————————

Besonderheiten von Textile

Vorteile gegenüber Markdown

Wie bereits erwähnt wurde, ähnelt Textile Markup zwar, ist dieser Sprache aber angeblich in einigen Bereichen überlegen. Als Argument wird dabei beispielsweise angegeben, dass Textile das Anlegen komplexerer Tabellen ermögliche. Tatsächlich umfasst Textile einen Großteil der Formatierungsmöglichkeiten, die HTML und CSS bieten. Einen umfassenden Überblick und eine detaillierte Dokumentation bietet die Seite TxStyle2, auf die sich auch die Syntaxbeschreibung in dieser Projektarbeit stützt.

2 Siehe hierzu insbesondere A short introduction to Textile und An overview of the Textile syntax auf TxStyle.org [zuletzt aufgerufen am 04.10.2015]

Unterschiede zu Auszeichnungssprachen, die auf HTML und XML basieren

Die Auszeichnung bestimmter Formatierungen in Textile erfolgt im Großen und Ganzen durch Zeilenumbrüche, die die einzelnen Formatierungsbereiche voneinander trennen, und eine geringe Auswahl an Sonderzeichen. Auf den Einsatz der HTML-typischen spitzen Klammern, wie etwa bei DocBook, wird bewusst verzichtet.3

3 Siehe hierzu ebenfalls den deutschsprachigen Hauptartikel zu Textile auf wikipedia.org [zuletzt aufgerufen am 04.10.2015]

Vorteile gegenüber WYSIWYG-Editoren

Im Gegensatz zu WYSIWYG-Editoren wie dem auf JavaScript basierenden Tiny Moxiecode Content Editor (TinyMCE) generiert Textile immer gültigen XHTML-Quellcode, was für eine professionelle Verwendung unabdingbar ist. Dies wird dadurch erreicht, dass der Benutzer nur über ein vergleichsweise sehr beschränktes Repertoire an Auszeichnungsmöglichkeiten verfügt. Hieraus ergibt sich eine saubere Trennung von Text bzw. Inhalt und Formatierung. Wie Wikipedia anmerkt, kommt kommt dies „einem durchgängigen CSS-Design, das Gestaltungs- und Inhaltselemente getrennt verwaltet, sehr zugute.“4

4 Siehe hierzu ebenfalls den deutschsprachigen Hauptartikel zu Textile auf wikipedia.org [zuletzt aufgerufen am 04.10.2015]

Standardisierung und Dokumentation

Als weiterer Vorteil von Textile wird genannt, dass man es nicht mit einer ganzen Reihe von uneinheitlichen Dialekten zu tun hat, wie dies bei anderen Auszeichnungssprachen oft der Fall ist. Dies liege daran, dass Textile von Anfang an gut dokumentiert wurde.5

5 Siehe hierzu ebenfalls den deutschsprachigen Hauptartikel zu Textile auf wikipedia.org [zuletzt aufgerufen am 04.10.2015]

Lizenzrechtliches

Der erste Übersetzer (Compiler) für Textile wurde von Dean Allen in PHP geschrieben und unter einer GNU General Public License (GPL) veröffentlicht. Die in Textpattern erhältliche _Textile_-Übersetzerklasse läuft unter einer 3-Klausel-BSD-Lizenz.6

6 Siehe hierzu ebenfalls den deutschsprachigen Hauptartikel zu Textile auf wikipedia.org [zuletzt aufgerufen am 04.10.2015]

Hard- und Softwarevoraussetzungen

Da Textile vergleichsweise spartanisch ausgestattet ist bzw. nur über eine sehr begrenzte Zahl von Befehlen verfügt, gibt es hardwareseitig keine besonderen Voraussetzungen. So funktioniert der über einen Webbrowser spontan benutzbare Live-Editor unter dieser Adresse (hier klicken”) selbst auf einem Netbook problemlos. Nur bei wirklich großen zusammenhängenden Textmassen wie diesem Projekt geht er in die Knie, was aber sicherlich auch der live-Funktion geschuldet ist.

Im Prinzip reicht für die Arbeit mit Textile ein normaler Editor wie das Notepad++ oder Atom. Überprüfen kann man das Ergebnis dann beispielsweise direkt in Textpattern oder Abschnittweise im erwähnten live-Editor. Einen Editor mit nativem Syntaxhighlighting und einer Vorschaufunktion konnte leider nicht ausfindig gemacht werden.
Textpattern als CMS hat ebenfalls keine besonderen Hardwareanforderungen. Viel wichtiger ist hier die installierte Softwarelandschaft. So wird in der aktuellsten Version ein Webserver mit MySQL 4.1 oder höher sowie PHP mindestens in der Version 5.2.3 benötigt. Die genauen Anforderungen inklusive einiger weiterer Empfehlungen findet man auf der Textpattern-Webseite.7

7 Die Systemvoraussetzungen von Textpattern findet man auf textpattern.com.

Syntax

Ganz grundsätzlich gilt, dass Textile Wechsel in der Formatierung nur dann wahr- und annimmt, wenn man im Editor eine Leerzeile zwischen den unterschiedlich formatierten Bereichen lässt. Dies soll eine leichtere und schnellere Eingabe ermöglichen, weil man sich dadurch jegliche Abschlusszeichen spart, die man beispielsweise in HTML-Code setzen müsste. In der Praxis bedeutet dies aber leider auch, dass man nicht intuitiv Abstände zwischen einzelnen Textelementen durch Leerzeilen erzeugen kann. In der Ausgabe macht es dabei keinen Unterschied, ob eine oder mehrere Leerzeilen gesetzt wurden. Dies erweist sich manchmal als praktisch, um einzelne Code-Blöcke optisch stärker voneinander zu trennen.

Arbeit mit Blöcken

Absätze

Folgt man der Dokumentation, so werden Absätze grundsätzlich mit einer Leerzeile voneinander getrennt. Alternativ können sie darüber hinaus mit p. eingeleitet werden.8

p. Dies ist ein Absatz.

Dies ist ein Absatz.

In der Praxis zeigt sich jedoch, dass die explizite Einleitung eines Paragraphs mit p. in der Regel überflüssig ist. Notwendig wird dies jedoch, wie später noch gezeigt werden wird, um andere Formatblöcke zu beenden, z.B. den Codeblock.

————————————————————————————————————————————————————————————————

:::::::::::::::::::::::::::::::::::::::::::::::::::::::SCREENSHOTS EINFÜGEN:::::::::::::::::::::::::::::::::::::::::::::::::::::

————————————————————————————————————————————————————————————————

Will man einen regulären Zeilenumbruch innerhalb eines Textblocks erzielen, so kann man einfach ohne eine Leerzeile und weitere einführende Zeichen in der nächsten Zeile weiterschreiben. Hier ist ein Beispiel:

Dies ist ein wunderschöner Absatz, der noch ein Bisschen länger sein muss, damit wir einen normalen Zeilenumbruch sehen können. In der nachfolgenden Zeile wird demgegenüber ein Zeilenumbruch vorzeitig provoziert. Wir schreiben bis zu dieser Stelle (genau hier!)

und machen einen Umbruch ohne eine Leerzeile einzufügen. Um dies auch definitiv sehen zu können, sollten Sie ihren Webbrowser oder Editor maximieren. Außerdem diente der letzte Satz dazu, diesen Absatz noch etwas länger zu gestalten.

Will man einen weiteren Absatz schreiben, so muss man diesen vom vorhergehenden durch eine Leerzeile abgrenzen. Beginnt eine Zeile mit einem Leerzeichen, so wird sie nicht als eigenständiger Absatz erkannt.

Absätze können mittig, links oder rechts orientiert werden. Außerdem gibt es die Möglichkeit, den Absatz im Schriftbild zu sperren:

Dieser Absatz ist durch vorangestelltes p<. links orientiert.

Dieser Absatz ist durch vorangestelltes p>. rechts orientiert.

Eine mittige Orientierung wird durch vorangestelltes p=. erzielt.

Durch p<>. erhält man einen Absatz, dessen Textbild links und rechts bündig abschließt. Dies ist für das Layout professioneller Texte unabdingbar. Viele ebooks bieten diese Funktion augenscheinlich nicht (z.B. Kindle), was sicherlich auch an der variablen Schriftgröße, den oftmals spärlich gefüllten Zeilen und einer fehlenden automatischen Silbentrennung liegt. Auf selbige muss man bei herkömmlichen Webseiten ebenfalls verzichten, da hierfür Spracherkennung und Lexikonfunktionen eingebunden sein müssten. Somit kann es auch bei mit Textile formatiertem Text geschehen, dass derartig gesperrte Zeilen klaffend große Lücken aufweisen. Dies geschieht insbesondere bei sehr langen Wörtern oder vollständigen Webadressen:

Bundesausbildungsförderungsgesetz, Behindertengleichstellungsgesetz und Steuervergünstigungsabbaugesetz findet man unter folgenden Webadressen: https://www.bafög.de/de/bundesausbildungs—foerderungsgesetz—-bafoeg-204.php, http://www.gesetze-im-internet.de/bgg/BJNR146800002.html und http://www.bgbl.de/xaver/bgbl/start.xav?start=%2F%2F*[%40attr_id%3D%27bgbl103s0660.pdf%27]#__bgbl__%2F%2F*[%40attr_id%3D%27bgbl103s0660.pdf%27]__1451493852315

Darüber hinaus gibt es die praktische Möglichkeit, Absätze einzurücken. Dies geschieht über p(., p((., p(((. usw.:

Dieser Absatz ist mit p(. leicht eingerückt. Wie man sieht, ist dabei nicht nur die erste Zeile eingerückt, sondern auch die nachfolgenden. Insofern handelt es sich hierbei nicht im eigentlichen Sinne um einen “indented paragraph”.

Dieser Absatz ist mit p((. etwas weiter eingerückt.

Dieser Absatz ist mit p(((. noch weiter eingerückt.

8 Alle Möglichkeiten der Absatzdefinition findet man bei txstyle.org.

Gedankenstriche lassen sich durch -- realisieren:

Hier wird etwas -- das ganz nebenbei erwähnt nicht sonderlich wichtig ist -- gesagt.

Hier wird etwas — das ganz nebenbei erwähnt nicht sonderlich wichtig ist — gesagt.

Überschriften

Hierarchie

Überschriften werden in Textile durch ein einfaches vorangestelltes h1., h2., h3. usw. kenntlich gemacht. Eine Unter- bzw. Höchstgrenze in der Hierarchie konnten wir nicht ausmachen.

Level

“Befehl”

Syntax

1

h1.

h1. Überschrift

2

h2.

h2. Überschrift

3

h3.

h3. Überschrift

4

h4.

h4. Überschrift

5

h5.

h5. Überschrift

6

h6.

h6. Überschrift

Eine Funktion zur automatischen Nummerierung der hierarchisierten Überschriften gibt es leider nicht. Die automatische Nummernfunktion “###” ist nicht mit dem Überschriftencode kombinierbar. Womöglich ist diese Beschränkung durch das XHTML Zielformat gegeben. Erkennen kann man die Überschriftenhierarchie in der Ausgabe zunächst alleine an der Größe, wobei es leicht zu Fehlern und Missverständnissen kommen kann. Dies gilt insbesondere dann, wenn längere Textabschnitte zwischen den Überschriften liegen oder auf einige Unterkapitel ein größerer Hierarchiesprung folgt.

Eine räumliche Orientierung oder farbige Gestaltung ist dagegen problemlos möglich, wie auch die folgenden Beispiele zeigen:

Überschrift ersten Grades eingeleitet mit h1<{color:red}.

Überschrift zweiten Grades eingeleitet mit h2<.

Überschrift dritten Grades eingeleitet mit h3=.

Überschrift vierten Grades eingeleitet mit h4=.

Überschrift fünften Grades eingeleitet mit h5>.

Überschrift sechsten Grades eingeleitet mit h6>.

Darstellung von Codeblöcken

Textile ist zur Dokumentation von Code geeignet. Das liegt daran, dass man längere Code-Abschnitte inklusive Leerzeilen in eigenen Blöcken darstellen kann. Dies hat mehrere Vorteile: Erstens wird der Code in einem hinterlegten Kasten optisch vom Fließtext abgehoben. Zweitens werden Leerzeilen in ihrer tatsächlichen Anzahl dargestellt. In der Ausgabe von Textile werden mehrere Leerzeilen normalerweise nicht dargestellt, sondern auf eine reduziert, da die Leerzeile primär als Abtrennung zwischen verschiedenen Formatierungen dient. Der Code-Block wird durch bc.. direkt in der ersten Codezeile oder davor begonnen und durch ein p. am Schluss beendet. Hier ist ein Beispiel:

Schön ist daran auch, dass Textile-Befehle innerhalb des Blocks ignoriert werden:

p>. Eigentlich müsste diese Zeile rechts stehen.

In Textpattern machte es zunächst den Anschein, dass diese Formatierung nicht erkannt wird. Es zeigte sich jedoch, dass eine korrekte Darstellung nur dann funktioniert, wenn man nach bc.. ein Leerzeichen lässt und dann unmittelbar in dieser Zeile zu schreiben beginnt. Das ist insofern etwas unglücklich, da das Leerzeichen als solches angezeigt wird. Im Live-Web-Editor kann man das bc.. ohne Probleme in einer eigenen Zeile voranstellen, was sowohl beim Layout als auch im Hinblick auf die Übersichtlichkeit des Codes sauberer erscheint.

————————————————————————————————————————————————————————————————

:::::::::::::::::::::::::::::::::::::::::::::::::::::::SCREENSHOTS EINFÜGEN:::::::::::::::::::::::::::::::::::::::::::::::::::::

————————————————————————————————————————————————————————————————

Vorformatierter Text

Normalerweise ignoriert die Standard-Textile-Formatierung mehrere aufeinander folgende Leerzeilen und -zeichen, was wohl klassischen Formatierungsfehlern (doppelte Leerzeichen) vorbeugen und einer einheitlichen Textgestalt diesen soll. Oftmals stört dies jedoch, da es durchaus vorkommen kann, dass man Wörter oder Absätze durch größere Abstände hervorheben oder abgrenzen will. Deshalb gibt es die pre-formatted-text-Funktion: Indem man einen Abschnitt mit pre.. einleitet, kann man die Anzahl der Leerzeilen und -zeichen selbst bestimmen. Allerdings wird auch die Zeilenlänge nicht beschränkt bzw. dem Text entsprechend übernommen. Hier ist der Beweis:

Leider sehen in Textpattern Block-Code und pre-formatted-text gleich aus:

Beendet wird der pre-formatted-text-Abschnitt, indem man den jeweils nachfolgenden Abschnitt mit einem p. als neuen Absatz auszeichnet. Somit steht auch vor diesem Absatz ein p. , um den vorherigen Block sauber abzuschließen.

Angezeigt wird derartig formatierter Text leider nicht wie Fließtext, sondern eher wie ein Codeblock. In Textpattern erscheint ein Textfenster, das sogar über eine horizontale Scroll-Funktion verfügt, wenn eine Textzeile zu lang ist.

Kommentarblöcke

Ein Kommentar wird durch “###.” eingeleitet, mehrzeilige Kommentare mit “###..” Hier ist ein Beispiel, das man in der Ausgabe an dieser Stelle leider zunächst nicht sehen wird, da es sich nur um einen quelltextinternen Kommentar handelt – muhaha.

Der unsichtbare Kommentar endet erst damit, dass mit einem p. ein neuer Absatz eingeleitet wird.

Aussehen tut der oben hinterlegte Kommentarblock folgendermaßen:

Alternativ können auch HTML-Kommentare verwendet werden, die mit <!-- eingeleitet und mit --> beendet werden.

Einbindung von HTML und Unicode

Reiner HTML- und XHTML-Code wird in Textile unangetastet als solcher eingebunden. Insofern der Browser den Code umsetzen kann, lassen sich Textile- und HTML-Code so leicht kombinieren:

Diese Zeile ist nicht mit Textile, sondern in HTML formatiert.

Der Code sieht folgendermaßen aus:

Unicode-Zeichen und Symbole lassen sich ebenfalls einfügen und werden imBrowsern auch korrekt angezeigt, falls dieser die Zeichen unterstützt.

Einige Beispiele:

das Trademark-Zeichen: ™

das Copyright-Zeichen: ©

die Darstellung von Brüchen: ½, ¼

das Gradzeichen: 45°

das Plus-Minus-Symbol: ±

Direkt eingegebener Unicode (z.B. “&#9733” für einen Stern) wird dagegen ignoriert.

Zitatblöcke

Zitatblöcke lassen sich einzeilig mit bq. oder mehrzeilig mit bq.. darstellen. Dabei ist es möglich, auch eine URL-Fundstelle im Code zu hinterlegen, die jedoch nicht angezeigt wird:

Der Apollo Guidance Computer (AGC) war der bei den Apollo-Raumflügen eingesetzte Computer für die Navigation. Er wurde benutzt, um in Echtzeit Fluginformationen zu sammeln und zur Verfügung zu stellen, sowie alle Navigationsfunktionen des Apollo-Raumfahrzeugs automatisch zu steuern. Er war damit das erste erkennbar moderne eingebettete System.

Dies ist ein mehrzeiliger Zitatblock, der mit bq.. eingeleitet wurde.

Wie man sehen kann, unterbrechen Leerzeilen den Zitatblock nicht. Bedenken sollte man jedoch, dass mehrere Leerzeilen im Code werden jedoch nur als eine einzige angezeigt.

Mit einem HTML-footer kann die Quelle angegeben werden:

Beispielzitat

frei übersetzt nach txstyle.org

Code:

Unkontrollierbar erscheint bei den Zitatblöcken die Anordnung auf der Webseite. In Textpattern ist wohl eine höchstbreite definiert, die etwa der halben Anzeigefläche entspricht. Das Ergebnis war je nach Fenstergröße von der Positionierung her etwas verwirrend.

Vorübergehendes Ignorieren von Textile-Formatierungen

Setzt man Codeabschnitte zwischen ==, werden sie von Textile ignoriert. Der folgende Beispielsatz wird von == eingeleitet und mit == beendet, weshalb der bq.-Befehl ignoriert wird:

bq. Dies wäre normalerweise ein Zitatblock.

Das gleiche Ergebnis erzielt man mit folgendem Code:

<notextile> bq. Dies wäre normalerweise ein Zitatblock. </notextile>

Aufzählungen und Fußnoten

Aufzählungen mit Punkten und Zahlen

Listen werden in Textile mit * und # erstellt. Jede Zeile wird mit einem Asterisk oder einem Hashtag jeweils gefolgt von einem Leerzeichen eingeleitet, was dann in der Ausgabe als Anführungspunkt bzw. Zahl dargestellt wird:

Diese Zeile ist mit einem * eingeleitet.

Diese ebenso.

Und eine weitere auch.

Diese Zeile ist mit einem # eingeleitet.

Wie man sieht, erfolgt die Zählung bei einem weiteren # automatisch.

Beendet werden Listen einfach durch eine Leerzeile.

Bis zu einem gewissen Grad lassen sich so auch komplexere Aufzählungen umsetzen:

Dies ist ein erster Oberpunkt,

der mehrere Unterunkte in Punktform besitzt.

Eingerückt werden diese Punkte, indem man sie mit zwei Punkten, also ** , einleitet.

Die nächste Unterebene wird jeweils durch das Hinzufügen eines weiteren Asterisks oder Hashtags erreicht. In diesem Fall steht ### .

Rein optisch geschieht die Hierarchisierung bei den Zahlen durch Einrückung und bei den Punkten durch unterschiedliche Symbole. Eine komplexere Aufzählung, die Ober- und Unterpunkte berücksichtigt (z.B. 1.1) ist nicht möglich:

Ein Punkt der ersten Ebene

Ein Punkt der zweiten Ebene

Ein Punkt der dritten Ebene

Auf der vierten Ebene gibt es [je nach Editor?] keine neuen optischen Marker.

Ein Wechsel zwischen Zahl und Punkten auf derselben Ebene ist dabei nicht möglich.

So ist diese Zeile beispielsweise durch einen # eingeleitet, der aber offensichtlich als ** interpretiert wird. Allerdings kommt es auch hier auf den Compiler an, da im Live-Web-Editor das # kurzerhand wie ein weiterer * interpretiert wurde.

Eine Liste ist dabei stets nur zusammenhängend möglich. Sobald man eine Leerzeile macht, beginnt z.B. die automatische Zählung von neuem.

Wie schon erwähnt, liegt eine große Einschränkung zudem darin, dass sich eine automatische Zählung immer nur auf die aktuelle Ebene bezieht, nicht aber auf die gesamte Liste. Somit ist es unmöglich, übersichtliche Gliederungen zu erstellen.

Die automatische Nummerierung von “Kapiteln” ist auf dieser Basis unmöglich. Das liegt einerseits daran, dass keine Leerzeilen zwischen den Aufzählungselementen sein dürfen und andererseits daran, dass eine hierarchieübergreifende Zählung nicht vorgesehen ist. Davon abgesehen funktioniert der # -Befehl in Kombination mit dem Überschriftenformat nicht.

Dies ist definitiv ein großer Schwachpunkt von Textile [und fairerweise auch von HTML], der das komfortable Verfassen längerer Texte verhindert. Da man hier nur manuell arbeiten kann, kommt es leicht zu Zählfehlern und einem erheblichen Nachbearbeitungsaufwand, sobald an irgendeiner Stelle einer Zählung etwas verändert werden soll. Hierarchisch nummerierte Listen wirken plump, unübersichtlich und unausgereift:

erster Punkt, oberste Ebene; Standard: 1.

erster Punkt, zweite Ebene; schön wäre: 1.1

erster Punkt, dritte Ebene; schön wäre: 1.1.1

zweiter Punkt, dritte Ebene; schön wäre: 1.1.2

zweite Zeile, zweite Ebene; schön wäre: 1.2

zweiter Punkt, oberste Ebene; Standard: 2

Fußnoten

Fußnotenverweise werden mit eckigen Klammern im Fließtext realisiert:

Hierzu möchte ich eine Fußnote machen[1].

Hierzu möchte ich eine Fußnote machen1.

Die Fußnote selbst kann man anschließend an gewünschter Stelle nach dem Schema fn + Nummer der Fußnote. einfügen:

fn1. Schicke Fußnote.

1 Schicke Fußnote.

Standardmäßig werden Verweis und Fußnote miteinander verlinkt. Möchte man dies unterbinden, muss man nach der Verweiszahl im Fließtext ein Ausrufezeichen einfügen:

Die nachfolgende Fußnote soll nicht verlinkt werden [2!].

Die nachfolgende Fußnote soll nicht verlinkt werden2.

fn2. Nicht verlinkter Fußnotentext

2 Nicht verlinkter Fußnotentext

Gleichermaßen kann man durch das Setzen eines Zirkumflex eine Verlinkung in der Fußnote selbst setzen – und zwar unabhängig davon, ob eine Verlinkung im Verweis gesetzt wurde oder nicht:

fn2^. Diese Fußnote enthält eine Verlinkung zur Verweisstelle im Fließtext.

Automatische Nummerierung von Anmerkungen

Die eben vorgestellte Standardfußnote in Textile wird nicht automatisch durchnummeriert, sondern muss manuell mit einer Zahl versehen werden. Dies erweist sich häufig als problematisch, da es nicht selten vorkommt, dass zu einem späteren Zeitpunkt weitere Anmerkungen in einem Textdokument oder genauso auf einer Webseite hinzugefügt werden müssen. In diesem Fall ist man jeweils dazu gezwungen, alle der neuen Fußnote nachfolgenden händisch anzupassen. Ein solches Vorgehen ist nicht nur zeitintensiv, sondern auch äußerst fehleranfällig – gerade in größeren und unübersichtlichen Textkörpern wie diesem.

Glücklicherweise bietet Textile die Möglichkeit, Anmerkungen in den Text einzubinden, die automatisch durchnummeriert und gegebenenfalls auch verlinkt werden können. Ob eine Verlinkung vorliegen soll, kann von Anmerkung zu Anmerkung einzeln entschieden oder übergreifend festgelegt werden.

Im einfachsten Fall sieht eine verlinkte Anmerkung folgendermaßen aus:

Zu diesem Satz möchte ich eine Anmerkung1 machen.

Die Anmerkung selbst wird in einer Anmerkungsliste an einer beliebigen Stelle eingefügt. Signalisiert wird Textile dies, indem man notelist. angibt:

a Das ist meine Anmerkung.

abc Diese Anmerkung bietet weiterführende Informationen zu mehreren verlinkten Textstellen.

Etwas irritierend ist zunächst das kleine “a” zwischen Anmerkungsnummer und -text. Hierbei handelt es sich um einen Link, der unmittelbar zur Anmerkungsstelle führt. Das hat den Grund, dass die gleiche Anmerkung auch auf mehrere Textstellen verweisen kann. Wenn dies der Fall ist, sind mehrere Links eingetragen. Auch diese Variante ist hier bereits sichtbar und soll im Folgenden erläutert werden:

Im Fließtext sieht dies folgendermaßen aus:

Dieser Satz bekommt eine Anmerkung2.

In diesem Satz soll auf die gleiche Anmerkung verwiesen werden2.

Und in diesem Satz soll ebenfalls auf die bestehende Anmerkung verwiesen werden2.

Die Ausgabe aller Anmerkung erfolgt wiederholt über notelist.:

a Das ist meine Anmerkung.

abc Diese Anmerkung bietet weiterführende Informationen zu mehreren verlinkten Textstellen.

Wie man in diesem Beispiel sieht, wurden für drei Verweisstellen auch drei Links in der Anmerkung mit “a”, “b” und “c” hinterlegt.

Bezüglich der Art der Verlinkung gibt es eine ganze Reihe von Varianten:

Befehl

Funktion

@notelist.@

Anmerkung, die Links zu allen Verweisstellen beinhaltet

@notelist+.@

Anmerkung, die auf alle Verweisstellen verlinkt, gefolgt von unverlinkten Anmerkungen

@notelist^.@

Anmerkung, die nur zur allerersten Verweisstelle verlinkt

@notelist^+.@

Anmerkung, die nur zur allerersten Verweisstelle verlinkt, gefolgt von unverlinkten Anmerkungen

@notelist!.@

Anmerkung ohne Verlinkung

@notelist!+.@

Anmerkung ohne Verlinkung, gefolgt von unverlinkten Anmerkungen

Genauso kann man die Anmerkungen selbst modifizieren:

@note#somelabel!.@

Anmerkung ohne Links

@note#somelabel^.@

Anmerkung, die nur auf den ersten Verweis verlinkt

@note#somelabel*.@

Anmerkung mit Links zu allen Verweisstellen

Man kann auch mehrfach im Text auf eine Anmerkung verweisen. Die Verlinkungen werden dann standardmäßig beginnend mit a alphabetisch nummeriert aufgelistet. Eine Modifikation des Startbuchstabens kann folgendermaßen vorgenommen werden: notelist:a^+. Die Liste startet dann mit Alpha.

Hyperlinks und Bilder

Hyperlinks

Hyperlinks mit Kommentar

Wie oben bereits beschrieben, muss bei Verlinkungen unbedingt mit den geraden, doppelten oberen Anführungsstrichen gearbeitet werden. Der folgende Link verfügt über einen Anzeigetext und einen Kommentar in Klammern, der dann sichtbar wird, wenn man den Cursor der Maus darüber schweben lässt:

"click for Google!(dieser Link führt zur Google-Stratseite)":http://google.de

Äußerlich sieht der Link im Fließtext genauso aus wie ohne Kommentar:

click for Google!

E-Mail-Links

E-Mail-Links werden ähnlich eingebettet. Der einzige Unterschied besteht im Prinzip darin, dass nach dem ersten Doppelpunkt eine HTML-Linkanweisung folgt:

Im Fließtext sieht dies so aus:

Schreiben Sie mir doch gerne an meine Mailadresse .

Linkaliase

Genauso lassen sich auch Linkaliase definieren. Im folgenden Beispiel steht “txp” als Alias für http://textpattern.com/:

Dies ist ein Link zur Textpattern-Homepage und hier ist ein weiterer Link zur selben Seite.

Diese Funktion ist vor allem dann sinnvoll, wenn man eine lange Adresse mehrfach verlinken möchte. Der Code bleibt so übersichtlicher und man hat unter Umständen einige Arbeitsschritte weniger.

URL im Text anzeigen

Will man eine Linkadresse im Fließtext anzeigen, muss man ein Dollarzeichen voranstellen:

"$":http://stefdawson.com/sw

Im Fließtext sieht dies folgendermaßen aus:

stefdawson.com/sw

Einbindung von Class Names

Ab der Version 2.5.1 ist es möglich, Links mit Class Names zu versehen. Diese werden in einer Klammer vorangestellt:

"(various fancybox.iframe)Grizzly Bear":http://www.youtube.com/embed/AuG9i5cwGW0?rel=0;autoplay=1

[vervollständigen]

URLs mit Einschüben

Eine URL mit Einschüben kann mit einer Kombination aus HTML und HEX-Code umgesetzt werden:

"http://fr.wikipedia.org/wiki/Page_(livre)":http://fr.wikipedia.org/wiki/Page_%28livre%29

Wie man in der Ausgabe sehen kann, wird die URL im Vergleich zum Code stark verkürzt wiedergegen:

http://fr.wikipedia.org/wiki/Page_(livre)

[verstehe ich nicht]

Bilder

Bilder von anderen Domains

Um ein Bild von einer anderen Webseite einzubinden, setzt man dessen URL vorne und hinten in Ausrufezeichen:

!https://www.google.de/images/branding/googleg/1x/googleg_standard_color_128dp.png!



Bildtext einfügen

Bildtexte lassen sich ganz einfach in runden Klammern direkt hinter der URL einfügen. Dieser Text wird angezeigt, sobald man mit dem Mauszeiger über dem entsprechenden Bild schwebt:

!https://www.google.de/images/branding/googleg/1x/googleg_standard_color_128dp.png(schickes Logo)!



Bildlinks

Ähnlich lassen sich Bildlinks implementieren. In diesem Fall wird die Ziel-URL hinter die in Ausrufezeichen gesetzte Bild-URL eingefügt. Dazwischen steht ein Doppelunkt. In unserem Fall gelangt man also durch einen Klick auf das Google-Logo zur Google-Homepage:

!https://www.google.de/images/branding/googleg/1x/googleg_standard_color_128dp.png!:https://www.google.de/



Räumliche Anordnung von Bildern

Neben der normalen Orientierung am linken Seitenrand ist es möglich, Bilder rechts oder zentriert anzuordnen:

Für eine rechte Orientierung wird der URL innerhalb der Ausrufezeichen ein > vorangestellt:

!>https://www.google.de/images/branding/googleg/1x/googleg_standard_color_128dp.png!

Für eine zentrierte Darstellung wird ein Gleichheitszeichen verwendet:

!=https://www.google.de/images/branding/googleg/1x/googleg_standard_color_128dp.png!

Nutzung von css-Styles:

Tabellen

Als einer der Vorteile von Textile gegenüber Markdown wurde öfters die Möglichkeit genannt, komplexere Tabellen zu erstellen.

Ein erstes Feature ist die Möglichkeit, Kategorienüberschriften zu definieren. Während Zellwände in der Vertikalen generell mit | realisiert werden, lassen sich Listenüberschriften mit |_. festlegen. Abgeschlossen werden muss die Tabelle rechts mit |:

So sieht der Code gerendert aus:

Erste Kategorie

Zweite Kategorie

Inhalt erste Zelle

Inhalt zweite Zelle

Nutzt man HTML5, muss man einen Tabellenheader mit “|^.” beginnen und mit “|-.” schließen.

Nutzt man kein HTML5, so sieht man in manchen Editoren nur leere Tabellenzellen. Hier hat es problemlos funktioniert:

Erste Kategorie

Zweite Kategorie

Inhalt erste Zelle

Inhalt zweite Zelle

Will man eine übergeordnete Zelle erstellen, die sich über mehrere Zellen erstreckt, lässt sich dies folgendermaßen realisieren:

Nimmt man unsere Beispieltabelle, sieht das Ganze folgendermaßen aus:

Wichtige, zentrierte Überüberschrift

Erste Kategorie

Zweite Kategorie

Inhalt erste Zelle

Inhalt zweite Zelle

Möchte man eine gesamte Zeile mit einer bestimmten Formatierung versehen, so kann man die entsprechenden Befehle einfach der Zeile voranstellen. Genauso kann man aber auch einzelne Formatierungen innerhalb einer Zelle immer nur für eine Zelle definieren:

Dies sieht dann folgendermaßen aus:

a

classy

row

a

styled

cell

Selbst ganze Tabellen können durch einen einfachen, vorgeschalteten Befehl komplett mit einer Formatierung versehen werden:

Hier das gerenderte Beispiel:

a

classy

table

a

classy

table

Mit einem Backslash lassen sich übergreifende Spalten erstellen. Die Zahl zwischen Backslash und Punkt gibt dabei die Anzahl der zusammengeschlossenen Spalten an:

Das Ergbnis sieht folgendermaßen aus:

Diese Zelle erspannt sich über zwei Spalten

Spalte 1

Spalte 2

Zeilenübergreifende Zellen lassen sich mit einem Slash realisieren. Die Anzahl der zusammengeschlossenen Zeilen wird dabei ebenfalls mit einer entsprechenden Zahl gekennzeichnet:

Die dreispaltige Version sieht folgendermaßen aus:

Diese Zelle erstreckt sich über drei Reihen

Reihe 1

Reihe 2

Reihe 3

Darüber hinaus ist es möglich, Text innerhalb der Zellen räumlich zu orientieren:

Gerendert sieht diese Tabelle so aus:

obenbündig

normal

normal

normal

normal

mittig

normal

normal

normal

normal

untenbündig

normal

normal

normal

normal

Gleichermaßen lässt sich Text mittig, links- und rechtsbündig realisieren.

Es sollte an diesem Punkt klar sein, dass sich durchaus recht komplexe Tabellen mit Textile realisieren lassen. Allerdings wird die Formatierung bereits bei unseren einfachen Beispielen unübersichtlich. Um tatsächlich komplexe Tabellen erstellen zu können, braucht es somit entweder viel Erfahrung oder sehr viel Geduld. In jedem Fall muss man sich sehr konzentrieren und kann keinesfalls von Komfort sprechen.

Darüber hinaus soll erwähnt sein, dass sich Tabellen mit einem eingebundenen Javascript sortieren lassen. Dies hier darzustellen, würde jedoch den Umfang dieses Projekts sprengen.

Schriftartoptionen

Fett und kursiv

Die Hervorherbung von Textelementen ist eine essentielle Grundfunktion beim Layouten. In Textile ist es erwartungsgemäß sehr einfach, Text fett oder kursiv zu setzen. Eine kursive Formatierung wird erzielt, indem dem Textabschnitt ein Unterstrich (_) vorangestellt wird. Beendet wird die Kursivschreibung gleichermaßen durch einen unmittelbar nachfolgenden Unterstrich. Setzt man jeweils einen Asterisk (*) anstatt der Unterstriche, wird der dazwischenstehende Text fett gesetzt:

Ist das nicht etwas _schräg_?

Ist das nicht etwas schräg?

Also ich finde es echt *fett*.

Also ich finde es echt fett.

Natürlich lassen sich Fett- und Kursivschrift auch kombinieren. Welcher Marker dabei innen oder außen steht, spielt keine Rolle. Wichtig ist nur, dass wie in der Mathematik (und HTML) eine Klammernhierarchie herrscht. Einzelne Formatierungen können ineinander verschachtelt werden, müssen aber vor einer übergeordneten Ebene korrekt geschlossen werden:

Beide führen zum gleichen Ergebnis:

schräg und fett

Nicht akzeptiert wird dagegen diese Eingabe:

*_schräg und fett*_

Möchte man nur einzelne Buchstaben innerhalb eines Wortes hervorheben, müssen zusätzlich eckige Klammern gesetzt werden, da die Marker im Normalfall nur in Kombination mit einem Leerzeichen funktionieren:

Mir gef[_*a*_]llen [_*A*_]s j[_*a*_] g[_*a*_]nz [_*a*_]ußerordentlich.

Mir gefallen As ja ganz außerordentlich.

Dies gilt auch für den Fall, dass man nur Teile eines mit Bindestrichen zusammengesetzten Wortes fett oder kursiv setzen möchte.

Hochgestellte und tiefgestellte Elemente

Um Textelemente hochgestellt zu formatieren, nutzt man von eckigen Klammern eingeschlossene Zirkumflex:

21[^st^] Century Digital Boy

21st Century Digital Boy

Für tiefgestellte Elemente nutzt man anstatt des Zirkumflexes eine Tilde (”~”):

H[~2~]O

H2O

Korrekturen: Ausstreichungen und Einfügungen

Um Textelemente durchzustreichen, setzt man sie einfach in Gedankenstriche. Damit dies funktioniert, muss zumindest vor dem ausgestrichenen Wort ein Leerzeichen sein, da der Strich sonst als Bindestrich interpretiert werden würde:

Im Fließtext sieht dies so aus:

In der folgenden Zeile muss etwas gestrichen werden:

Der neue Star Wars Film ist
nicht
gut.

Eine Einfügung lässt sich gleichermaßen mit Pluszeichen realisieren, unterscheidet sich optisch aber nicht wirklich von unterstrichenem Text. Dennoch entspricht es den HTML-Markern für “insertion” (
)].

Die Neuauflage der Star Trek-Filme hat meine Erwartungen -enttäuscht- +übertroffen+.

Die Neuauflage der Star Trek-Filme hat meine Erwartungen
enttäuscht

übertroffen
.

Zitate

Zitate lassen sich eingangs und ausgangs durch zwei aufeinanderfolgende Fragezeichen markieren.

Dies sieht dann folgendermaßen aus:

I have/got a (very) bad feeling about this.

- Obi Wan Kenobi, Anikin Skywalker, Luke Skywalker, Han Solo, Leia Morgana, C3PO

Code-Markierungen

Textile-Code lässt sich auch innerhalb von Sätzen (d.h. außerhalb von Code-Blöcken mit bc.. ) als solcher kennzeichnen und ohne Auswirkung auf die Formatierung darstellen. Hierzu setzt man die Formatierungsanweisung einfach zwischen @-Zeichen. Genauso wie im Code-Block wird der Code dabei optisch hervorgehoben. Natürlich lässt sich dies für die Markierung beliebiger Textelemente ‘missbrauchen’:

Im Fließtext sieht die Hervorhebung folgendermaßen aus:

Das folgende Wort ist nicht ohne Grund markiert: Blubb

Festlegung von CSS-Eigenschaften

Die Darstellung kann unter anderem durch CSS-Befehle beeinflusst werden.

Farbige Schrift

Die Schrift kann durch den Befehl p{color:COLOR} festgelegt werden.

p{color:red}. Diese Zeile ist rot.

Diese Zeile ist rot.

Schriftgröße festlegen

Die Schriftgröße kann ebenso angepasst werden:

p{font-size: 0.8em}. Small font.

Small font.

Die Schriftgröße eines Absatzes kann mit CSS durch den Befehl p{font-size: X.Xem} festgelegt werden.

Angeben der Sprache

Die Sprache kann in Eckigen Klammern gleich nach dem Blockbefehl angegeben werden [keine Ahnung, ob das so stimmt und was es nützt]:

p[german]. Das ist gut.

Das ist gut.

Weitere Funktionen

Sonderzeichen

Akronyme und Abkürzungen

Akronyme bestehen aus drei oder mehr Großbuchstaben. Akronyme und Abkürzungen mit Kleinbuchstaben (wie GmbH) werden nicht erkannt.

Warum ein Akronym erst ab drei Buchstaben erkannt werden soll, erscheint nicht ganz schlüssig. Dies fällt gerade dann auf, wenn man in direkt angeschlossenen runden Klammern die ausgeschriebene Form hinterlegt:

UN(United Nations)

NATO

Wie man sieht, funktioniert dies logischerweise bei UN nicht. Leider gibt es zur automatischen Erkennung keine Alternative.

Einsatzbereiche von Textile (35%)

Nachdem im vorangegangenen Kapitel die durch Textile gebotenen Gestaltungsmöglichkeiten aufgezeigt wurden, ist es nun möglich, die Einsatzbereiche der Auszeichnungssprache genauer zu beschreiben und einzuschätzen.

Typisches Arbeitsumfeld
Textile ist im Webdesign – genauer gesagt im web-content-Bereich – zuhause. Dies zeigt sich insbesondere an der Tatsache, dass Dean Allen Textile als Standard-Auszeichnungssprache für das ebenfalls aus seiner Hand stammende CMS Textpattern entwickelt hat.
Aufgrund seiner Einfachheit ist Textile in diesem Kontext für Professionelle und ambitionierte Privatanwender gleichermaßen geeignet, die nicht mit WYSIWYG-Editoren arbeiten möchten oder können. [EVTL. NOCH NACHTEILE VON WYSIWYG EINFÜGEN] Das Hauptaugenmerk dürfte dabei auf der schnellen und einfachen Veröffentlichung von textlastigem Webcontent liegen. Obwohl es, wie wir gesehen haben, grundsätzlich möglich ist Bilder einzupflegen, bleiben die Möglichkeiten in diesem Bereich begrenzt. Auch der Name Textile impliziert, dass es vorrangig um das ‘Textgewebe’ einer Webseite geht.
Das typische Arbeitsumfeld ist somit dort zu sehen, wo Text einmalig neu oder in regelmäßigen Abständen aktualisierend ohne großen Aufwand eingepflegt werden soll. Einfache Webseiten, deren grundlegendes Design bereits steht, lassen sich auf diese Weise leicht erweitern oder modifizieren.
Auch für Menschen ohne XHTML-Kenntnisse ist es somit möglich, beispielsweise Blogeinträge, Anleitungen oder aktuelle Informationen auf einer privaten oder Firmen-Webseite zu veröffentlichen. Ohne hier Klischees bedienen zu wollen, könnte beispielsweise eine Sekretärin auf diese Weise problemlos aktuelle Termine, Neuigkeiten oder Öffnungszeiten anpassen.
Das typische Arbeitsumfeld liegt somit bei den Personen, die für den textlichen Inhalt einer Webseite verantwortlich sind.

Ökosysteme um Textile (15%)

Textpattern als natives Ökosystem Textiles
Obwohl es Textile-Plugins auch für andere Content Management Systeme gibt, dürfte Textpattern vorrangig in seinem nativen Umfeld verwendet werden.

Weitere Einsatzbereiche

Weitere Content Management Systeme

Ein Beispiel für ein weiteres Content Management System, das neben Markdown und Rich Text auch Textile 2 explizit und out-of-the-box unterstützt, ist beispielsweise MoveableType. Ei

Show more