Da hier in einem Thread in Byte-Welt über die Zeilennummerierung diskutiert wurde, da in manchen Browsern wie Firefox die Nummerierung aus Java-Codes mit rauskopiert wird, habe ich mir die „Mühe“ gemacht, und ein Greasemonkey-Script für Firefox programmiert (in JavaScript), welches die Zeilennummerierung ein- und ausschalten lässt. Auch wenn der Code etwas unsauber ist, er funktioniert
So sieht es dann aus:
Bevor ihr das Script benutzen könnt, braucht ihr zuerst den - meiner Meinung nach weltbesten - Browser Mozilla Firefox. Auf diesen müsst ihr das Addon Greasemonkey installieren und Firefox neustarten. Dann braucht ihr einfach nur noch auf diesen Link zu klicken und schon fragt Greasemonkey nach, ob das Script installiert werden soll. Fertig.
Die Idee ist zwar leider auch nur ein umständlicher Workaraound, aber schonmal besser als gar nix. Leider kann ich ihn nicht benutzen, denn die Installation funktioniert nicht bei mir (obwohl Greasemonkey erfolgreich hinzugefügt und aktiviert wurde):
Error loading user script:
500: Generated error
Liegt dadran, dass der Server gerade down ist, wo ich die Datei hochgeladen hatte… :rolleyes:
Habe die Datei nochmal woanders hochgeladen, müsste jetzt gehen, ich habe den Link im ersten Post aktualisiert.
Danke, funktioniert jetzt. Was mich dabei aber noch stört, ist der Umstand, daß man bei umfangreichen Code zuerst ganz nach unten scrollen muss, um „Nummerierung ein-/ausschalten“ überhaupt sehen zu können. Ansonsten wäre das Script allerdings eine wesentliche Aufwertung dieses Forums, wenn es standard wäre. Leider werden die meisten Gäste das wahrscheinlich im gegenwärtigen Zustand nicht nutzen können, weil es nicht standardmässig installiert ist und sie nix davon wissen. Wenn sie dann Code kopieren wollen und es kommt nur „Verdorbenes“ raus, werden wohl viele abgeschreckt und dieses Forum meiden.
Danke für das Feedback! Habe den Code nochmal was verändert, jetzt sieht man den Link ganz oben im Code. Einfach das alte Script im Firefox über „Extras“ → „Greasemonkey“ → „Benutzerskripte verwalten…“ wieder löschen und im ersten Post nochmal auf den Link klicken.
Dann muss sich mal jemand dran machen und das Script in die Templates bzw. das Highlight-Script einbauen.
So schlimm vielleicht auch wieder nicht…
Gruß,
pcworld
Edit: Wenn man einen Beitrag per AJAX ändert, erscheint der Link in der Code-Box nicht. Naja, nicht so schlimm, evtl. bastel ich da noch bisschen rum.
Pcworld, ich hoff du hast nichts dagegen, ich hab gerade mal versucht deinen Code direkt ins Forum einzubauen. Außer dass ich keinen Link setzen konnte sondern nen Button nehmen musste klappt der sogar
Aber kann es sein dass der Code nicht mit dem bbcode_simple, wie er zb beim Black Style ist zusammen arbeitet?
Weil ich hatte eigentlich auch vor das Aussehen des Code Rahmens mal zu ändern, ich weiß nicht wie es bei euch ist aber ich finde diese bunten Rahmen nicht soo schön. Daher bin ich recht froh das im Black der Rahmen schön schlicht gehalten ist.
Das mit dem Button (Abschalten) macht mir nicht aus!
Wenn man keine Zeilennummerierung sehen möchte, kann
man das durch Button abschalten. Das ist praktisch!
Super gemacht! Daumenhoch
Das solltest du auf jeden Fall noch löschen, da du ja selber einen Button in die Templates eingebaut hast, das kostet nur Zeit und kann nicht mehr als kaputtmachen ;-):
[javascript]for(var i = 0; i < javaTags.length; i++) {
var tag = javaTags**;
var par = document.createElement(„p“); //par.innerHTML = „<a href="javascript:toggleList(“ + i + „);">Nummerierung ein-/ausschalten</a>“;
tag.insertBefore(par, tag.firstChild);
}[/javascript]
Also ich habe nur auf Midnight Blue ausprobiert. Leider kenne ich mich mit vBulletin nicht aus, meine Foren laufen alle auf phpBB (wenn vB kostenlos wäre, würde ich natürlich vB nehmen!).
Aber wenn Interesse besteht, kann ich versuchen, den Code für die anderen Styles anzupassen. Außerdem funktioniert der Code sowieso bis jetzt nur mit den ```-Tags. Das könnte ich auch noch erweitern.
Stört mich persönlich eigentlich nicht.
Ein Bug gibt es noch, den Ursprung habe ich allerdings noch nicht gefunden:
Wenn man auf „Zeilen abschalten“ klickt, werden alle Codes bis auf den letzten abgearbeitet. Klick dich einfach mal durch ein paar Threads und probiere die Funktion aus, dann siehst du, was ich meine.
Übrigens wäre „Zeilen ein-/abschalten“ eine bessere Bezeichnung für den Button
Gruß,
pcworld
Edit: Man könnte es auch so wie bei meinem ursprünglichen Greasemonkey-Script machen, dass ein Klick auf den Button sich nur für den Code-Block auswirkt, auf dem der Button ist.
Wahrscheinlich nicht. Ebenius hat einen Funktionsaufruf aus GeShi in einem Template angepasst.
…falls ich jetzt nicht wieder von einer anderen Sache spreche…