[ANN] txt2html.regexps

  • Unterstützung von /-_ Schriftstilen und Glossaren in Artikeln

    Mich hat bisher immer geärgert, dass man Text mit »/-_« Stilen zwar auszeichnen kann, dieser dann aber nicht in der Nachrichtenanzeige entsprechend dargestellt wird. Außerdem musste ich bei diverse Acronyme wie <DG>; ASAP; CMIIW; LMAA; … immer wieder mal nachschauen. Durch ein anderes Problem bin ich nun auf eine Lösung gestoßen. The Bat! unterstützt via externer Datei » txt2html.regexps « das formatierte Ersetzen von Zeichenketten.

    Einige Anzeigebeispiele:

    [Blockierte Grafik: http://upload.batboard.net/images/bild315b.png]

    [Blockierte Grafik: http://upload.batboard.net/images/bild316b.png]

    [Blockierte Grafik: http://upload.batboard.net/images/bild317b.png]

    Ich stelle hier meine erste Version zur Verfügung. Wer Lust hat, der kann gern beim Feintunen der/Regenechsen/helfen. Gerade bei Umlauten klemmts noch, da The Bat! äüöÄÜÖ als Unicode-HTML-Zeichen interpretiert. Mir ist es bisher nicht gelungen den HTML-Code bspw. ü = &#252 als regulären Ausdruck in Zeichenketten ála "Turnübung" zu behandeln. [1]

    Kleine Anleitung:

    1.] Die Datei:
    http://thebatworld.de/pandorasbox/txt2html/txt2html.regexps
    in das Programmverzeichnis von The Bat! kopieren.

    2.] Wenn noch kein » IMAGES « Verzeichnis im Programmverzeichnis existiert die Datei im Programmverzeichnis von The Bat! entpacken.
    http://thebatworld.de/pandorasbox/txt2html/Images.zip

    Es sollten nun mindestens 2 Verzeichnisse und 2 Dateien vorhanden sein:

    Code
    <THEBAT!PROGRAMMVERZEICHNIS>\Images
    <THEBAT!PROGRAMMVERZEICHNIS>\Images\default.msl (Steuerdatei)
    
    
    <THEBAT!PROGRAMMVERZEICHNIS>\Images\Default\
    <THEBAT!PROGRAMMVERZEICHNIS>\Images\Default\sidesmiley.gif (Smileydatei)


    Ich habe nur einen Smiley installiert, weil gerade bei kleinen Schriften die veränderte Zeilenhöhe unschön aussieht.

    3.] In den Benutzereinstellungen ist unter Optionen » Benutzereinstellungen » Betrachter | Editor » RTF-HTML-Betrachter auszuwählen

    4.] In den Benutzereinstellungen ist unter Optionen » Benutzereinstellungen » Betrachter | Editor » Textsmilies als Grafiken ... zu aktivieren.

    [Blockierte Grafik: http://upload.batboard.net/images/bild318b.png]

    Die Acronyme sind als HREF's ausgeführt. Ich habe für mich eine andere Schriftfarbe und eine andere Hintergrundfarbe definiert. Der Code sollte selbsterklärend sein? Vielleicht noch ein Hinweis. Es ist sinnlos die gesamte Glossarliste von 40tude Dialog zu konvertieren. The Bat! braucht einfach zu lang um die komplette Datei zu parsen und dann entsprechend darzustellen.

    Bekannte Probleme

    - Fehldarstellung vom HTML-EMail (besonders, die mit The Bat! erzeugt wurden)
    - "gestylte" Texte am Zeilenanfang werden nicht interpretiert, hier gabs es mit meinem Regex Probleme mit Internetadressen

    Code
    ?:[\s"']*)(\/)([äöüßÄÖÜa-zA-Z0-9^$\^\$\:\;\,\\]+)(\/)=\1<em>\2</em>\3


    - Texte mit Umlauten werden nicht interpretiert

    [1/2] Vielleicht könnten hier Kundige mal einen Blick drauf werfen? Wie bekommt man den Unicode-HTML-Code in die Zeichenklasse?

    Ich habe unter http://www.regexlib.com/REDetails.aspx?regexp_id=732 ein entsprechendes Konstrukt gefunden. IMHO müßte man das doch über eine negative Lookbehind-Assertion lösen können? Ich habs nur nicht hinbekommen, die ganze Adresse erst einmal als gesamten String zu betrachten und dann mätscht. Vielleicht bin ich auch nur auf dem falschen Dampfer? :/

    Erweiterung der Dokumentation

    [Blockierte Grafik: http://upload.batboard.net/images/bild341b.png]
    Abb.: Liste der verwendeten 5 Klassen und 5 Elemente


    Wie kann ich mir dem Quelltext im RTF-HTML-Betrachter anzeigen lassen?
    Folgende 2 Zeilen sind in die Datei einzufügen:

    Code
    \<=&lt;
    \>=&gt;

    Weitere Anzeigebeispiele:

    F: Wie kann ich eine GPG-Signatur einfärben?

    Code
    (?s)(-{5}BEGIN\sPGP\sSIGNED\sMESSAGE\-{5}\<BR\>\s\nHash\: \w{4,8}\<BR\>)=<span style="color: #767676;	font-family: ProFontWindows;	font-size: 8pt; border: thin;">\1</span>
    
    
    (?s)(\-{5}BEGIN\sPGP\sSIGNATURE\-{5}\<BR\>\s\nVersion\:.*?\-{5}END\sPGP\sSIGNATURE\-{5})=<span style="color: #767676;	font-family: ProFontWindows;	font-size: 8pt; border: thin;">\1</span>


    [Blockierte Grafik: http://upload.batboard.net/images/bild344b.png]
    Abb. PGP-Signatur einfärben | Download: ProFonts für Windows


    F: Wie kann ich die Footer aus den beiden TB!-Mailinglisten ausblenden?

    Code
    (?s)\<BR\>(\_{77}\<BR\>\s+Austragen\:.*?utos.html)\<\/A\>=
    (?s)\sYahoo\!\sGroups\sLinks.*?utos\.html\<\/A\>=


    [Blockierte Grafik: http://upload.batboard.net/images/bild376b.png]
    Abb. Listenfooter vorher

    [Blockierte Grafik: http://upload.batboard.net/images/bild377b.png]
    Abb. Listenfooter nachher

    F: Wie kann ich die Footer aus SF-Mailinglisten ausblenden?

    Code
    (?s)\-{55}\<BR\>\s\sThis SF\.net email is sponsored.*?\_{47}.*?https://lists.sourceforge.net.*?\<\/A\>=


    [Blockierte Grafik: http://upload.batboard.net/images/bild380b.png]
    Abb. Listenfooter vorher

    [Blockierte Grafik: http://upload.batboard.net/images/bild381b.png]
    Abb. Listenfooter nachher

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

    Einmal editiert, zuletzt von beta (16. April 2006 um 21:20)

  • Vorweg: Ich bin kein RegEX er.
    Habe aber eine Verständnisfrage:
    Die Akronyme wie <DG> etc. bekomme ich hin und werden angezeigt mit dem entsprechendem Hinweis.
    OK - soweit so gut.
    Dagegen: flachs ergibt falsch -> laut Deiner Datei allerdings richtig umgesetzt;
    wird hiermit nicht bewusst zur Unterstreichung der Ausdruck "flachs oder flasch" gewählt?

  • Veruchen Sie so ein Code <txt2html.regexps> addieren:

    Code
    (P\s{)=\1color: #006699;text-decoration: none;border-bottom: 1px solid #24B5FF;
    (PRE\.RFCheader\s{)=\1font-family:"Courier New"; font-size: 9pt;color: #000080;
    (ADDRESS\s{)=\1color:003399;background-color:#F9F9F0;border:1px dotted #E0E0E0;font-family:"Lucida Console"; font-size:14pt; color: #008080; font-style: normal;font-weight:normal;text-decoration: none; 
    (A\s{)=\1color: #006699;text-decoration: none;border-bottom: 1px solid #24B5FF; link: #0000FF;font-style: normal;font-weight: normal;text-decoration: underline;
    (QUOTES\.Odd\s{)=\1{color:#006699;background-color:#FF8F14;border-right:1px dotted #E0E0E0; 
    (QUOTES\.Even\s{)=\1background-color:#006699;font-family:"Lucida Console"; font-size:14pt; color: #FF8F14; font-style: normal;font-weight:normal;text-decoration: none; 
    (\.QOdd\s{)=\1background-color:#F9F9F0;font-family:"Lucida Console"; font-size:14pt; color: #006699; font-style: normal;font-weight:normal;text-decoration: none;
    (\.QEven\s{)=\1background-color:#EFFFFF;font-family:"Lucida Console"; font-size:14pt; color: #FF8F14; font-style: normal;font-weight:normal;text-decoration: none; 
    (PRE\s{)=\1font-family:"Courier New";font-size: 9pt; font-style: normal;font-weight:normal;text-decoration: none;
    (BODY\s{)=\1background-color: #A7B3B4;


    Autor: Konrad Szkudlarczyk
    css: PSTB <http://thebat.pl>

  • Sieht bei mir irgendwie komisch aus. Gibt es einen Link auf den Originalartikel?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Hmm. Ich hätte mich lieber auf die Formatierung beschränkt. gibt es irgendwo ein Aufstellung mit den HTML-Elementen, die TB! verwendet bzw. interpretiert?

    Kann man irgendwie Kontakt aufnehmen? Muss ja nicht sein, dass wir das Rad 2mal erfinden.

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

    Einmal editiert, zuletzt von Thomas Woelk (20. November 2005 um 23:21)

  • Unterstützung für HTML ist unbegrentzt. Ich denke, dass alles was in HTML-Editor funktioniert, man kann verwerten.
    In Bilder habe ich nur Formatierung für txt Nachrichten (nicht Editor) dargestellt.

    In .regexps Datei schreiben Sie nur:
    style(.*\})=</head><body>\1
    Wenn Sie neue Nacricht eröffnen haben Sie Code wie in Bilder. Dieser Code zeigt zugängliche Stile. Es ist 10 Stil-Markierungszahlen:
    P - Paragraph
    PRE.RFCheader
    ADDRESS - das ist Signatur
    A - links
    QUOTES.Odd - unpaar Quotezeichen
    QUOTES.Even - paar Quotezeichen
    .QOdd - unpaar Quote Text
    .QEven - paar Quote Text
    PRE
    BODY

    Um STYLE zu ändern, müssen Sie so eine Schablone anwenden: (nur Beispiel)

    Code
    (QUOTES\.Even\s{)=\1background-color:#006699;font-family:"Lucida Console"; font-size:14pt; color: #FF8F14; font-style: normal;font-weight:normal;text-decoration: none;


    oder

    Code
    QUOTES.Odd\s\{.*?\}=QUOTES.Odd {background-color:#F9F9F0; border-bottom:1px dotted #006699; border-left:1px dotted #E0E0E0;}
  • Danke für die Erklärung.

    Was mich interessiert ist, wie eine Quellzeile in TB! aussieht.
    Ich schaffe es beispielsweise nicht, mit einem regulärem Ausdruck den *Text* in einer Zeile zu erkennen.

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Beispiele (muss in eine Zeile stehen):
    (\n\-{5}BEGIN\sPGP\sSIGNED\sMESSAGE\-{5}\<BR\>\s\nHash\: \w{4,8}\<BR\>)=<span style="color:red;">\1</span>

    (?s)(\n\-{5}BEGIN\sPGP\sSIGNATURE\-{5}\<BR\>\s\nVersion\:.*?\-{5}END\sPGP\sSIGNATURE\-{5})=<span style="color:red;">\1</span>

    (?s)\n...\s\-{5}\sOriginal\sMessage\s\-{5}.*?Subject\:.*?\n=

  • Wie unterscheidest du, ob ein Text in <p> </p> eingeschlossen wird oder mit <BR> endet?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

    Einmal editiert, zuletzt von Thomas Woelk (21. November 2005 um 20:39)

  • Zitat

    Wie unterscheidest du, ob ein Text in <p> </p> eingeschlossen wird oder mit <BR> endet?


    .regexps:
    \<=&lt;
    \>=&gt;

    Noch ein paar Beispiele:
    (?s)(\-{5}BEGIN\sPGP\sPUBLIC\sKEY\sBLOCK\-{5}.*\-{5}END\sPGP\sPUBLIC\sKEY\sBLOCK\-{5})=<div style="background-color:black;color:white;">\1</div>

    (\<QUOTES.{0,40}Odd\>)=<div style="background-color:#F9F9F0;">\1

    (\<QUOTES.{0,40}Even\>)=<div style="background-color:#EFFFFF;">\1

    (\<\/QUOTES\>)=\1<div style="background-color: #AAFFFF;">

    Alles hat Konrad Szkudlarczyk geschrieben - nicht ich [lazik=Sebastian Murawski ;)]
    Es ist "Hilfedatei" fast beendet aber ist in polnisch :( Leider habe ich kein Zeit diese Anleitung übersetzen aber auch mein deutsch ist so schlecht, dass alles muss ich später noch einmal hier erklären.

    Einmal editiert, zuletzt von lazik (22. November 2005 um 00:04)

  • Ich hab oben paar Regeln für ML-Footer hinzugefügt. Have fun!

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • txt2html.regexps:

    Code
    \:ATT\+(.*?)\/\/(.*?)\<BR\>=<hr>\2<BR><img src="cid:\1">

    Filter fuer gelesene Nachrichten:
    http://republika.pl/konrad_sz/tb/files/pics2txt.txt

    Filter import Nachricht mit Bilder um dieser Bilder normalerweise ins Nachricht zu sehen - nicht nur als Anlage.

    Autor: Konrad Szkudlarczyk
    Seite und Beschreibung ins polnisch: http://republika.pl/konrad_sz/tb/filtry.htm#pics2txt

    Einmal editiert, zuletzt von lazik (22. April 2006 um 14:48)

  • Kannst du bitte mal den filter als txt-Datei anhängen und so ungefähr beschreiben was der macht?
    Polnisch ist auch ok.

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Einigermaßen. Das Problem ist, dass ich Probleme mit den Ordnernamen habe.
    Voraussetzung ist nur das XMP-Plugin?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

    Einmal editiert, zuletzt von beta (22. April 2006 um 18:09)

  • Zitat


    Einigermaßen. Das Problem ist, dass ich Probleme mit den Ordnernamen habe.
    Voraussetzung ist nur das XMP-Plugin?


    Nur XMP.
    Ordnernamen wie hast du rechts, aber sind in polnisch. Filter funktioniert nicht gut in OTFE und Common Folder.
    Ohne OTFE sehen Sie Anlage. - AnotherMacros und XMP - funktioniert auch in Common Folders.

  • Die angehängte Datei ist für die Common-Foldervariante und benötigt die AnotherMacros? :denk:

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.