Hallo,
ich bin neu hier im Forum und beschäftige mich auch erst seit kurzem mit Wordpress. Weil mir die WYSIWYG-Editoren zuwider sind, hab ich mich für den Einsatz von Textile entschieden. Auf WP-Textile 2.2 (Very Beta) : idly [dot] org gibt's dazu ein Plugin, das die Textile-Version von Jim Riggs verwendet, aber nicht wirklich funktioniert (Probleme mit Umlauten etc.)
Deswegen hab ich mal etwas gebastelt und die Textile-Version von Dean Allen Textile zum Laufen überreden können. Das funktioniert wie folgt:
1. Unter wp-content/plugins ein Verzeichnis wp-textile anlegen
2. Darin ein Unterverzeichnis class erstellen
3. In wp-textile eine Datei wp-textile.php mit nachfolgendem Inhalt erstellen
4. In das Verzeichnis wp-textile/class die Datei classTextile.php kopieren, die es unter http://textile.thresholdstate.com/file_download/1/textile-2.0.0.zip zum Download gibt
Hier ist der Code für wp-textile.php:
<?php
/*
Plugin Name: WP-Textile
Version: 0.1
Plugin URI:
Description: Dieses Plugin bindet Textile 2.0 von Dean Allen ein.
Author:
Author URI:
*/
/*
Textile Markup Wrapper for use with Wordpress
*/
require('class/classTextile.php');
class Textile_New {
function Textile_New () {
/** Let's add some filters! **/
remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');
remove_filter('comment_text', 'wpautop');
remove_filter('the_content', 'wptexturize');
remove_filter('the_excerpt', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
add_filter('the_content', array(&$this, 'do_textile'), 6);
add_filter('the_excerpt', array(&$this, 'do_textile'), 6);
add_filter('comment_text', array(&$this, 'do_textile'), 6);
add_filter('the_content_rss', array(&$this, 'do_textile'), 6);
//add_filter('the_excerpt_rss', 'do_textile', 6);
}
/* Textile Filter */
function do_textile($text) {
$textile = new Textile;
return $textile->TextileThis($text);
}
}
$myWPTextile = new Textile_New();
?>
Alles anzeigen
Anzupassen wären noch die Umwandlung der Anführungszeichen an die deutsche Typographie:
In Zeile 191 ‘ durch ‚ ersetzen
In Zeile 193 “ durch „ ersetzen
Fertig! Das sollte so funktionieren... bis auf eine Kleinigkeit:
Ich hab leider sehr wenig Ahnung von PHP und auch von Wordpress. Wordpress hat mit diesem Plugin ein Problem bei der Ausgabe von sortierten und unsortierten Listen, und ich kriege es nicht auf die Reihe, wie das zu lösen ist.
In Textile wird eine (unsortierte) Liste so erstellt:
[FONT=Courier New]* Punkt 1[/FONT]
[FONT=Courier New]* Punkt 2[/FONT]
[FONT=Courier New]* Punkt 3[/FONT]
Das sollte dann als HTML-Code das ergeben:
[FONT=Courier New]<ul>[/FONT]
[FONT=Courier New]<li>Punkt 1</li>[/FONT]
[FONT=Courier New]<li>Punkt 2</li>[/FONT]
[FONT=Courier New]<li>Punkt 3</li>[/FONT]
[FONT=Courier New]</ul>[/FONT]
Leider kommt aber das dabei heraus:
[FONT=Courier New]<p>[/FONT]
[FONT=Courier New]<ul>[/FONT]
[FONT=Courier New] <li>Punkt 1</li>[/FONT]
[FONT=Courier New] <li>Punkt 2</li>[/FONT]
[FONT=Courier New]</ul>[/FONT]
[FONT=Courier New]<ul>[/FONT]
[FONT=Courier New] <li>Punkt 3</li>[/FONT]
[FONT=Courier New]</ul>[/FONT]
[FONT=Courier New]</p>[/FONT]
Diese Macke scheint es zwar in Verbindung mit Wordpress zu geben. Wenn ich auf Textile die drei Listenpunkte erstellen lassen, funktioniert es dort einwandfrei.
Liegt es an der in WP eingebauten Formatierung, z. B. der automatischen Umwandlung von Leerzeilen in Absätzen? Gibts noch weitere Filter, die ich abschalten muss?
[FONT=Courier New][FONT=Verdana]Falls mich hier jemand mit Wordpress- und PHP-Kenntnissen unterstützen könnte, wäre ich recht dankbar.[/FONT]
[FONT=Courier New]digger[/FONT]
[/FONT]