Seite 2 von 3
Verfasst: Freitag 29. Oktober 2004, 13:01
von murphy
verzeihung, wollte gar nicht anonym kommen.
bin murphy und melde mich demnächst noch an ^^
Verfasst: Freitag 29. Oktober 2004, 14:28
von Leonidas
murphy hat geschrieben:die letzte zeile sollte nicht
bold sein.
Ist sie doch auch nicht...
Verfasst: Samstag 30. Oktober 2004, 01:36
von murphy
ok, in wirklichkeit habe ich folgendes geschrieben:
[python]a = """test\""" # string endet erst hier-->"""
b = 'here\\' # <-- doppelslash macht probleme
def def # sehr schön :) # <-- smileys? :(
a = foo[b] ;)[/python]die letzte zeile sollte nicht [b]bold[/b] sein.
Verfasst: Samstag 30. Oktober 2004, 09:50
von Leonidas
Meinst du sowas?
Das geht imho problemlos, aber dein Test ist gar nicht schlecht, denn Smileys im Quellcode... naja, nicht so mein Fall.
Trotzdem muss ich sagen das Dookie's Highlighting echt gut gelungen ist.
Verfasst: Samstag 30. Oktober 2004, 18:24
von murphy
Leonidas hat geschrieben:Das geht imho problemlos
nicht, wenn später noch ein
vorkommt.
leider ist das BBCode-system extrem mies designed, wirklich EXTREM mies 
erweiterungen zu schreiben ist eine qual. ich schreibe selber an einem highlighter-mod und musste eine menge schlimme dinge tun, damit das läuft. aber am ende funktioniert es jetzt, zumindest habe ich lange keinen fehler entdeckt 
wer sich das ganze mal anschauen will: http://rd.cYcnus.de
Python geht natürlich auch. und ich würde mich freuen, wenn ihr den scanner ausgiebig testet und versucht, ihn "kaputt" zu kriegen 
der Pyhon-thread ist hier:
http://rd.cycnus.de/phpBB2/viewtopic.php?t=14
highlighting geht per oder auch nur
Code: Alles auswählen
.
mein ziel ist es, dass der scanner mindestens so gut ist wie der hier ;)
[quote]Trotzdem muss ich sagen das Dookie's Highlighting echt gut gelungen ist.[/quote]das stimmt. wie sieht es mit der geschwindigkeit aus? habe das noch nicht getestet...
Verfasst: Samstag 30. Oktober 2004, 19:34
von Leonidas
Mhh, dein Hightlighter sieht cool aus!! Kann man die Farben ändern? Denn Dookies Highlighter hat schön die gleichen Farben wie das Highlighting in SciTE.
Verfasst: Samstag 30. Oktober 2004, 19:58
von Dookie
Hi murphy,
wie schauts bei längeren Listings mit der Zeilennummerierung aus? Durch die Verwendung von Bold werden bei der Geckoengine (Mozilla & co.) die Zeilen unterschiedlich hoch dargestellt und so stimmte die dann ab x Zeilen nicht mehr in den beiden Tabellenspalten überein bei meinen Tests.
Gruß
Dookie
Verfasst: Samstag 30. Oktober 2004, 21:50
von murphy
Leonidas hat geschrieben:Kann man die Farben ändern?
jeder hat seine persönlichen lieblings-farben, aber ohne komplizierte änderungen in der DB ist es nicht möglich, seine farben selbst zu wählen: im moment steht alles statisch in der subsilver.css.
ich finde auch, man kann gute farben wählen (was ich versucht habe) und sich dann an die gewöhnen. leider gibt es keine standardisierte farbcodierung für alle sprachen.
was allerdings möglich ist: den Python-scanner so umzubauen, dass er genau eure farben benutzt, ohne die anderen sprachen zu beeinflussen.
vielleicht hat auch jemand ahnung, wie man DB-ergänzungen in phpBB vornimmt, und hilft mir
Dookie hat geschrieben:Durch die Verwendung von Bold werden bei der Geckoengine (Mozilla & co.) die Zeilen unterschiedlich hoch dargestellt und so stimmte die dann ab x Zeilen nicht mehr in den beiden Tabellenspalten überein bei meinen Tests.
kenne das problem. ist afaik ein fehler in der schriftart, die bei Mozilla unter KDE standardmäßig für monospace benutzt wird

dagegen: firefox unter Windows macht es richtig, IE auch. das wären schonmal 90% zufriedene kunden

ok, zurück zum thema.
subsilver.css:
Courier New gibt es wohl unter Linux nicht, und monospace heißt für mich "gleichgroß", wenn die schriftart das nicht bringt, ist das ein bug *grrr*
einstellen kann man das bei mir unter Options/General/Fonts&Colors/Monospace.
wenn man da eine sinnvolle schriftart einstellt, geht es auch bei Linux, jedenfalls ging es bei einem freund.
nun könnte man ja fragen, warum ich nichts dagegen tue. ich könnte eine große tabelle machen, in der jede codezeile ein <tr> einnimmt. finde ich grausam und ist ein irrer aufwand und fehleranfällig und...bäh.
und mehr als monospace angeben kann ich nicht...oder? falls mir jemand den namen der schriftart sagt, die auch unter linux funktioniert, wäre ich dankbar. dann schreibe ich sie hinter das 'Courier New' und du kannst es nochmal testen.
Verfasst: Samstag 30. Oktober 2004, 23:44
von Dookie
das würde nicht helfen, ich hab Courier New auf meinem Linux. Und browse mit Galeon (Browser mit Geckoengine für Gnome) Also wär ich einer der unzufriedenen Besucher
Du Brauchst nix an der Datenbank ändern, kannst ja mit CSS arbeiten und für das Syntaxhighlighting spezielle CSS-Dateien verwenden. Mit PHP kann man auch dynamische CSS-Dateien erzeugen.
Code: Alles auswählen
<?
/*
* based on subSilver Theme from phpBB version 2+
*/
header("Content-type: text/css; charset=utf-8");
if (preg_match("/MSIE/i", $HTTP_USER_AGENT)){
$font_family_noprop = "font-family: \"Courier New\",\"Courier\",monospace";
} else {
$font_family_noprop = "font-family: \"Courier\",\"Courier New\",monospace";
}
?>
body { font-family: Verdana, Arial, Helvetica, sans-serif; margin: 20px}
...
/* Quote & Code blocks */
.code{background:#ffffff;border:1px solid #000000; color:#004400;
font-size:14px; <? echo $font_family_noprop ?>; padding:5px}
.helpline { background-color: #DEE3E7; border-style: none; }
table {padding: 0px; margin: 0px; border:0; border-spacing:0}
.python {background:#f2f2f2;border:1px solid #cccccc; color:#000000;
font-size:13px; <? echo $font_family_noprop ?>; padding:5px; overflow:auto}
.pythontab {background:#f2f2f2;border:0; color:#000000;
font-size:13px; <? echo $font_family_noprop ?>; line-height:17px; padding:0px; margin:0px;}
.linenr {background:#f2f2f2;border-right:0 solid #cccccc; color:#777777;
font-size:13px; <? echo $font_family_noprop ?>; line-height:17px; padding-right:4px; margin:0px}
.hi_statement { color: #0000ff; font-weight: bold; }
.hi_function { color: #000088; }
.hi_preproc { color: #880000; font-weight: bold; }
.hi_number { color: #880000; }
.hi_comment { color: #006600; font-style: italic; }
.hi_string { color: #006600; }
.hi_exception { color:#000000; }
Hab ich so gemacht, weil Courier New bei einem User unter Windows mit dem IE in der eingestellte Grösse seltsam ausschaute, da der IE dann nen Bitmap Font statt einem TTF verwendet und skaliert.
Gruß
Dookie
Verfasst: Sonntag 31. Oktober 2004, 00:00
von murphy
Dookie hat geschrieben:das würde nicht helfen, ich hab Courier New auf meinem Linux. Und browse mit Galeon (Browser mit Geckoengine für Gnome) Also wär ich einer der unzufriedenen Besucher

das ist hart

was soll ich tun? die zeilennummern sind wichtig.
es wäre äußerst blöd, wenn der ganze schöne mod bei einigen nicht funktioniert, nur weil die schriftart nicht spurt. hab leider grad keine möglichkeit, das selber zu testen.
Du Brauchst nix an der Datenbank ändern, kannst ja mit CSS arbeiten und für das Syntaxhighlighting spezielle CSS-Dateien verwenden.
mmh? also bei mir gibt es nur eine subsilver.css, und die wird nicht geparsed. wie sollte ich da was dynamisches einbauen?
ich wollte ja gerade verhindern, dass der mod zu sehr in bestehenden dateien rumfuhrwerkt, damit er einfach zu installieren ist...
was musstest du denn alles ändern, damit du mit einer subsilver.css.php arbeiten konntest?
Verfasst: Sonntag 31. Oktober 2004, 00:26
von Dookie
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
Verfasst: Sonntag 31. Oktober 2004, 07:02
von murphy
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

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:
kannst du es jetzt nochmal ausprobieren?
wenn das funktioniert, kannst du ja deinen highlighter erweitern.
Verfasst: Sonntag 31. Oktober 2004, 09:59
von Leonidas
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

Verfasst: Sonntag 31. Oktober 2004, 12:46
von murphy
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.
Verfasst: Sonntag 31. Oktober 2004, 15:08
von Leonidas
murphy hat geschrieben:btw: benutze selbst den firefox! IE kann ja keiner aushalten.
Full Ack!
Verfasst: Mittwoch 3. November 2004, 20:30
von murphy
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
eine andere farbe als
? 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.
Verfasst: Mittwoch 3. November 2004, 21:45
von Dookie
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
Verfasst: Mittwoch 3. November 2004, 22:10
von Leonidas
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.
Verfasst: Mittwoch 3. November 2004, 22:12
von murphy
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.
Verfasst: Dienstag 9. November 2004, 16:30
von murphy
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.