Syntaxhighlighting

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Du brauchst nur die Dateien /templates/subSilver/overall_header.tpl und /templates/subSilver/simple_header.tpl so anzupassen, daß sie die css.php verwenden.
Also

Code: Alles auswählen

<link rel="stylesheet" href="templates/subSilver/css.php" type="text/css">
an passender Stelle einfügen.

Nochmal wegen der Zeilennummerierung. Du kannst nie sicher sein, daß nicht einer für die Anzeige nichtproportionalen Textes im Browser seine eigene Schriftart einstellt. dann ist wieder alles durcheinander mit den Zeilennumern. Ich hab leider keine parktikable Lösung für das Problem gefunden, darum gibts bei meinem Syntaxhighlighter keine Zeilennummern.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

erstmal vielen dank für die hilfe. ich kann ja leider nicht alles alleine testen, und solche bugreports sind gold wert.
Dookie hat geschrieben:Du brauchst nur die Dateien /templates/subSilver/overall_header.tpl und /templates/subSilver/simple_header.tpl so anzupassen, daß sie die css.php verwenden.
ok, das war zu einfach :oops:
aber: mir wärs doch lieber, wenn die css statisch wäre - spart traffic.

außerdem glaube ich, die lösung gefunden zu haben. sie lautet:

Code: Alles auswählen

	line-height: 14px;
kannst du es jetzt nochmal ausprobieren?

wenn das funktioniert, kannst du ja deinen highlighter erweitern.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Was habt's ihr? Mit meinem Mozilla 1.7 (Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.7) Gecko/20040616) gehen die Nummern auch mit Bold problemlos, ich gehöre zu den zufriedenen Usern :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

ich sag ja, unter windows gehts. keine ahnung, was die bei Linux da verbockt haben.
aber ich will ungern die Unix-fans verprellen, wo ich doch selber langsam umsteige ;)
btw: benutze selbst den firefox! IE kann ja keiner aushalten.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

murphy hat geschrieben:btw: benutze selbst den firefox! IE kann ja keiner aushalten.
Full Ack!
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

habe den Python-highlighter nochmal verbessert:
http://rd.cycnus.de/phpBB2/viewtopic.php?p=60#60

ich würde mich sehr freuen, wenn ihr den scanner mal testet, da ich die ganzen syntax-spezialitäten nicht kenne.

frage: warum hat

Code: Alles auswählen

import
eine andere farbe als

Code: Alles auswählen

print
? beides sind schlüsselworte.

auf SciTE würde ich mich übrigends, was highlighting betrifft, nicht stützen. für Ruby macht er sich zB nicht mal die mühe, reguläre ausdrücke zu highlighten.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi murpy,

IMHO wird import in den meisten Editoren mit einer eigenen Farbe versehen, weil es sich eher wie eine Direktive als ein Kommando verhält, vergleichbar mit include bei C/C++.... Ausserdem kommt import in der Regel nur am Anfang eines Scripts vor während print, das einem Befehl entspricht, überall vorkommen kann.

Ansonst funktioniert Dein Highlighter ganz ordentlich was ich bisher gesehen hab. Eventuell könntest Du noch Einbauen, daß der User sich die Farben für das Syntaxhighlighting selber im Profil einstellen kann bzw. aus verschiedenen *.css Dateien auswählen kann.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

murphy hat geschrieben:auf SciTE würde ich mich übrigends, was highlighting betrifft, nicht stützen. für Ruby macht er sich zB nicht mal die mühe, reguläre ausdrücke zu highlighten.
Kann man ja konfigurieren. So hatte ich mal einen Highlighter gesehen der Python PHP DocBook, Python uvm. in einer Datei korrekt gehighlightet hat. Und falls was kannst du dich in der Mailingliste beschweren, da ist sogar mehr los als auf der Python-de liste, hihi.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

Dookie hat geschrieben:Eventuell könntest Du noch Einbauen, daß der User sich die Farben für das Syntaxhighlighting selber im Profil einstellen kann bzw. aus verschiedenen *.css Dateien auswählen kann.
wie schon gesagt, ich scheue den aufwand, der die installation verkomplizieren und das testen in die länge ziehen würde.
wer meine farben partout nicht mag kann sie global ändern. mehr geht zur zeit nicht. wäre was für version 1.1.
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

die Beta-version von meinem highlighter-mod ist jetzt draußen :)

das problem mit den verschobenen zeilennummern ist immernoch vorhanden. grund ist wohl, dass fette schriftarten irgendwie um promill-größen höher sind als normale. seltsamerweise wird das durch eine fixe line-height nicht ignoriert.
ich suche weiter nach einer lösung, bis dahin muss ich eben hoffen, dass 'Courier New' und 'Terminal' bei den meisten funktionieren.
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

@Dookie: ich will für die version 1.1 versuchen, die engine zu beschleunigen.
hast du zufällig eine benchmark-möglichkeit eingebaut?
ich würde gerne vergleichen, wie schnell dein scanner gegen CodeBB ist.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

murphy hat geschrieben:@Dookie: ich will für die version 1.1 versuchen, die engine zu beschleunigen.
hast du zufällig eine benchmark-möglichkeit eingebaut?
ich würde gerne vergleichen, wie schnell dein scanner gegen CodeBB ist.
Ich würde sagen: schnell genug, ich habe durch den Python Code keinen Slowdown des Forums beobachten können.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

jupp. hab mich selbst mal drum gekümmert: Dookies' scanner ist natürlich schneller.
bei CodeBB werden ca. 6 ms für die grundlegende engine gebraucht, und dann braucht der scanner in etwa doppelt so lange :(
der große vorteil meiner engine ist, dass die sprache durch reguläre ausdrücke beschrieben wird, also sehr einfach zu erweitern und zu verändern ist. leider ist das in PHP nicht so schnell wie Dookie's methode.
Dookie's scanner ist sozusagen eine optimierte spezialanfertigung :)

mein Python-scanner ist übrigends hier: http://cycnus.de/murphy/scanner_python.php.html
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi murphy,

ich hatte mal eine Version, mit Anzeige der Parsingdauer eben zum optimieren. Habs sogar noch in einem Zip mit der bbcode.php gefunden, wenn du mir ne pm mit deine Emailaddi schickst, kann ich dir das zip schicken.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

mail ist raus:


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Eine Verbesserung solle allerdings noch rein: Smileys im Code deaktivieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

das geht am besten mit entities:

Code: Alles auswählen

			// This is needed to avoid smileys, bbcode-tags etc. in code
			$code_entities_match = array('#:#', '#@#', '#\[#', '#\]#', '#\(#', '#\)#', '#\{#', '#\}#');
			$code_entities_replace = array(':', '@', '[', ']', '(', ')', '{', '}');
			$after_replace = preg_replace($code_entities_match, $code_entities_replace, $after_replace);
THingK

:) Da ich noch völliger Neuling in Foren dieser Art bin, bitte ich meine Unbedarftheit zu entschuldigen.

--- Aber wie und wo kann ich das so coole Hightliht verwenden? ----

Dazu bedarf es für mich ein paar hilfreicher Hinweise, damit ich auf SuSE 9.3 bzw. OSS 2.0 mit python richtig arbeiten kann.

:arrow: Kann mir da jemand aus seinem Erfahrungsschatz helfen.

:idea: Wie würde so ein Fahrplan aussehen zur Einarbeitung und welche Probleme könnte ich für die Community lösen?

Beschäftige mich derzeit mit der Einrichtung von MoinMoinWiki's. :roll:
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Du packst hier im Forum deinen Python-Sourcecode in [python]...[/python] ;)

Schau mal in die FAQ: http://www.pythonwiki.de/PythonDeForum/Faq

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

THingK hat geschrieben::arrow: Kann mir da jemand aus seinem Erfahrungsschatz helfen.
Du kannst dir mal viele, coole Bookmarks zum Thema Python ansehen.
THingK hat geschrieben::idea: Wie würde so ein Fahrplan aussehen zur Einarbeitung und welche Probleme könnte ich für die Community lösen?
Wie wäre es mit Dokumentation zu PythonPaste? Alternativ könnte ich dich auch in meinem Projekt, What's On Air einspannen.. da gibts auch noch einiges zu tun (ist aber nicht immer besonders einfach).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten