Ich weiß ja nicht, wie weit ihr bisher mit dem Syntaxhighlighter fürs Boardupgrade seid, aber GeSHi ist offenbar recht “verbose”. Ich hab jetzt auch nicht großartig recherchiert, aber ein Clientseitiges Syntaxhighlighting mit JavaScript wäre wahrscheinlich deutlich Trafficsparender.
Edit: ich habe gerade mal nachgesehen: ein zufälliger Java-Quellcode mit 370 Zeichen ist im Plaintext 15.355 Zeichen lang (inkl. Leerzeichen). Der hier im Board generierte Quellcode ist ganze 167.160 Zeichen lang. Die aktuellere GeSHi-Version scheint etwas kompakteren Quellcode zu generieren (es werden CSS-Klassen verwendet, statt jeweils inline-Styles zu definieren), aber trotzdem vervielfacht sich die Codegröße.
ich hatte den alex… Syntax Kram fürs neue Forum auch schon vor mir zu liegen, aber irgendwie hab ich den nicht sooo ganz für voll genommen.
Dann guck ich ihn mir jetzt mal genauer an.
Nach eigener Aussage auf seiner GitHub-Seite ist es einer der meistverwendeten SyntaxHighlighter im Web.
Das Featureset sieht aber recht vielversprechend aus (viele verschiedene Sprachen bereits unterstützt und auch verschiedene Themes, wie beispielsweise ein Dark-Theme oder auch ein Eclipse-Theme).
Und wenn man etwas anpassen muss, kann man ja auch zum Projekt commiten.
Edit: Hier noch einmal eine Liste mit weiteren unterstützten Sprachen. Die Themeauswahl könnte man bestimmt auch in den Boardeinstellungen verankern. So hätten die Eclipse-User ihren gewohnten Style, während Nutzer anderer IDEs vielleicht ihren gewohnten Style einstellen könnten.
Ich wollte dich nicht piesacken Ich hab das natürlich selbst auch nicht versucht zu integrieren, finde aber, dass der Highlighter (bzw. ein clientbasierter Highlighter) schon seine Vorteile hat.
Kann man dir vielleicht irgendwie konkret helfen? Wo hakt es denn?
Bzgl. php, html, js und css bin ich nicht ganz unbefleckt (wenn auch kein Profi) und kann ggf. irgendwie helfen.
Ich habe das enthaltene Beispiel mal etwas abgeändert, sodass der Autoloader verwendet wird. Außerdem habe ich ein Java, ein php und ein html-Beispiel eingebaut.
Aus dem Downloadpaket kann man bis auf den scripts und styles-Ordner alles löschen. Das was übrig bleibt, habe ich im Anhang auch eingepackt.
Hier die Beispielhtmldatei:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>SyntaxHighlighter Beispiele</title>
<link type="text/css" rel="stylesheet" href="styles/shCoreDefault.css"/>
</head>
<body>
<h1>SyntaxHighlighter Beispiele mit Autoloader</h1>
<pre class="brush: java;">
package syntaxhighlighter.test;
public class Example {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
</pre>
<pre class="brush: php;">
<?php
namespace syntaxhighlighter est;
class Example {
public static function main() {
echo "Hello, world!";
}
}
?>
</pre>
<pre class="brush: xml;">
<!DOCTYPE html>
<html>
<head>
<title>Hello, world</title>
</head>
<body>
<h1>Hello, world!</h1>
</body>
</html>
</pre>
<script type="text/javascript" src="scripts/shCore.js"></script>
<script type="text/javascript" src="scripts/shAutoloader.js"></script>
<script type="text/javascript">
SyntaxHighlighter.autoloader(
['java', 'scripts/shBrushJava.js'],
['javascript', 'js', 'scripts/shBrushJavaScript.js'],
['php', 'scripts/shBrushPhp.js'],
['sql', 'scripts/shBrushSql.js'],
['xml', 'scripts/shBrushXml.js']
);
SyntaxHighlighter.all();
</script>
</body>
</html>
Da habe ich zuerst auch gesucht und mir irgendwann gedacht: so kompliziert kann das gar nicht sein.
Um darauf zu kommen, dass man den Autoloader erst am Ende der Seite statt wie in seinem Beispiel am Anfang einbinden muss, habe ich allerdings auch eine Zeit gebraucht
Falls das mit dem SyntaxHighlighter umgesetzt werden sollte, steht ja auch immer noch mein Vorschlag im Raum, das Theme im Kontrollzentrum auswählen zu können. Wenn das erstmal realisiert ist, wird sicherlich auch auf Wünsche Einzelner eingegangen, wenn bestimmte Farbschemata eingereicht werden.
Falls das nicht im Kontrollzentrum wählbar wird, kann man immer noch mit einer Browsererweiterung die relevante CSS-Datei austauschen.
Obwohl ich auch kein Eclipseuser bin, denke ich, dass die Masse (noch? immer) auf Eclipse setzt. Daher wäre ein Eclipsetheme in der Standardeinstellung wohl angebracht.
Aber wir diskutieren hier schon wieder über ungelegte Eier
[QUOTE=cmrudolph]. Wenn das erstmal realisiert ist, wird sicherlich auch auf Wünsche Einzelner eingegangen, wenn bestimmte Farbschemata eingereicht werden.
[/QUOTE]
Heißt, der User soll das fertige Schema einreichen und es wird dann eingebunden?
Das fände ich ok, der Aufwand wäre gering und es würde keine „Ich will aber“ Welle gestartet. (Stell dir nen Daumen hoch Smiley vor)
Genau so stelle ich mir das vor. Wenn man sich mal ansieht, wie die Themenvorlagen für den SyntaxHighlighter aussehen, dann sollte das für jeden, der Wert darauf legt „seinen gewohnten Style“ wiederzufinden keine Herausforderung sein, einen zu erstellen.