Seite 1 von 2
Syntax-Highlighting
Verfasst: Mo 26. Jun 2006, 12:39
von rethus
Ist es schon mal in erwägung gezogen worden, für die Textarea-Fenster die Code enthalten (z.B. Modules-Bereich) ein Syntax-highlighting zu erstellen?
Vielleicht ist dieses Script da behilflich...
http://www.dreamprojections.com/SyntaxH ... Usage.aspx
Zum anderen wäre es toll, wenn man die Textareas für Input & output so ins layout unterbringen könnte, dass die Fenster größer sind (z.B. übr DIV-Layer die je nach Bedarf visible gesetzt werden können...)
So erhält man eine bessere Übersicht des Quelltextes.
Verfasst: Mo 26. Jun 2006, 12:54
von emergence
soweit ich das gesehen hab, ist bei dem script eine bearbeitung innerhalb der textarea nicht mehr möglich...
ich bin letztes mal auch über was nettes gestolpert
->
http://cdolivet.net/editarea/test.html
hab aber keine ahnung wie gut oder schlecht das teil funktioniert...
Verfasst: Mo 26. Jun 2006, 13:05
von rethus
Also das Teil was du da gefunden hast, ist ja noch um längen besser....
Das wäre nahezu optimal um quellcode-Änderungen vorzunehmen...
Gibts da schon anpassungsversuche?
Verfasst: Mo 26. Jun 2006, 13:13
von emergence
also meinerseits in nächster zeit sicher nicht... (hab zuviele andere sachen zu tun)
ist vermutlich aber nicht so schwierig umzusetzen...
Verfasst: Mo 26. Jun 2006, 13:40
von phpchris
Geil, das wäre es ja!!!
Das schau ich mir mal genauer an!
Verfasst: Mo 26. Jun 2006, 19:27
von rethus
Wenn Ihr mir sagt, wo ich das Tepmlate für den Modulbereich finde, kann ich es ja mal einbinden.
Dachte mir das ich es dann so mache, dass wenn man in eine Textarea klickt, dass dann dort das Syntax-highlighting aktiviert wird.
Verfasst: Mo 26. Jun 2006, 19:31
von phpchris
/contenido/templates/standard/template.mod_edit_form.html
Verfasst: Mo 26. Jun 2006, 20:44
von HerrB
Das mit dem "Toogle Editor" (gemeint ist die Umschaltung in reinen Code) muss ich auch mal bei Gelegenheit in der tinyMCE-Einbindung ergänzen - der "HTML"-Button macht mich wahnsinnig...
Sorgen macht mir noch ein wenig die Performance (und die Aussage, dass man es nur einmal pro Seite verwenden kann, aber das dürfte sich lösen lassen).
Gruß
HerrB
Verfasst: Mo 26. Jun 2006, 21:05
von rethus
phpchris hat geschrieben:/contenido/templates/standard/template.mod_edit_form.html
Tja, so clever war ich auch schon... aber fehlanzeige.
Wenn ich da oben das Javascript hinzufüge passiert überhaupt nichts... Es erscheint nicht einmal im Quelltext.
Finde ich etwas seltsam. Warum macht man sich dann die Mühe eine vollständige HTML-Datei zu schreiben, wenn die inhalte doch von anderswo hineingeparst werden???
Kann mir einer kurz und knapp erklären, wie und woher die Javascript-Einbindungen in der letztendlichen Ausgabeseite kommen?
Verfasst: Mo 26. Jun 2006, 22:31
von tono
Mit Syntax-Highlighting (und Zeilennummern) hab ich auch schon mal gespielt. Müsste noch mal gucken wie weit ich da schon war. Werde ich mich bei Gelegenheit noch mal dahinterklemmen.
Verfasst: Di 27. Jun 2006, 22:33
von tono
Und so gehts:
editArea nach external kopieren. .../external/edit_area/edit_area.js
Und natürlich auch alle anderen Dateien.
Datei include.mod_edit_form.php bearbeiten:
Die Zeile (bei mir 109):
Code: Alles auswählen
$output = new cHTMLTextarea("output", htmlspecialchars($module->get("output")),100,15);
ersetzen durch:
Code: Alles auswählen
$output = new cHTMLTextarea("output", htmlspecialchars($module->get("output")),100,15,"output");//added ,"output" by tono
Die Textarea muss eine eindeutige id haben. Auf die automatische generierung durch cHTMLTextarea will ich mich da nicht verlassen.
nach (bei mir 276):
Code: Alles auswählen
$form2->setVar("area", $area);
$form2->setVar("frame", $frame);
$form2->setVar("idmod", $idmod);
$form2->custom["submit"]["accesskey"] = '';
einfügen:
Code: Alles auswählen
$page->addScript('edit_area.js', '<script language="Javascript" type="text/javascript" src="'.$cfg['path']['contenido_fullhtml'].$cfg['path']['external'].'edit_area/edit_area.js"></script>'."\n"); // added by tono
$page->addScript('edit_area_init', '<script language="Javascript" type="text/javascript">editArea.initArea({id: "output"});</script>'."\n"); //added by tono
So dann wird der edit_area geladen, allerdings ist er bisschen klein(kann man aufziehen) und das Syntax-Highlighting muss man erst mit Ctrl-H einschalten.
Zurzeit geht das Script ja nur mit einer Textarea, da müsste mal ein anderer gucken weil ich absolut kein Javascripter bin. Ich hab mich jetzt mal für den Output entschieden, weil ich den häufiger brauche.
Viel Spaß beim probieren. Tono.
Verfasst: Di 27. Jun 2006, 22:34
von tono
@moderator: ich hab das jetzt so überschewnglich hier angefügt, eigentlich würde das ja nach Misc gehören. Kann jemand bei Bedarf den Thread splitten?
Verfasst: Mi 28. Jun 2006, 23:48
von HerrB
Passt schon.
Gruß
HerrB
Verfasst: Do 29. Jun 2006, 08:05
von emergence
nur so ne idee...
vielleicht sollte man das als eine art plugin integrieren...
damit man entscheiden könnte wo in welchem bereich anstelle der textbox der code editor erscheint...
einklinken könnte man das ganze ja
bei module, styles, javascript...
als position würd ich vorschlagen
external/editor/
(den java code editor könnte man eigentlich auch an die position verschieben...)
da hab ich noch einen syntax highlighter in meinen bookmarks gefunden ->
http://helene.muze.nl/
Verfasst: Do 29. Jun 2006, 11:00
von tono
Wie könnte man das denn als Plugin integrieren? Ich muss doch auf jeden Fall Contenido-Code ändern, oder gibts da eine Chain, oder sowas? Ansonsten ist die Idee natürlich gut.
Ja, external/editor passt besser.
Den Helene-Editor hate ich auch noch in den Bookmarks, hat aber zumindest auf FF/Mac OSX etliche Darstellungsfehler, und man kann den Cursor nicht durch Mausklick an eine Stelle setzen. Dafür ist er, glaube ich, deutlich schneller.
Hat denn eigentlich jemand meinen Code probiert, ob der überaupt geht??