CSS Parser

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

CSS Parser

Beitrag von theo »

Kennt jemand eine CSS Parser Komponente für Delphi/FPC?
Hab mich daran selber versucht, aber das ist Sch.. kompliziert.
http://www.w3.org/TR/REC-CSS2/selector.html

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

naja ich kann leider kein englisch, habe mich damit kurz befasst.
und es in meinem BB-Code Parser Eingebaut. *G* aber allerdings mit einigen Einschränkungen.

Was genau möchtest du denn machen ?
Meines Wissens Trennt CSS doch das Aussehen von den Inhalt.
Es währen also für eine Seite mehrer Styles zu Verfügung....

So wie ich das auf dem ersten Blick sehe:
H1 { font-family: sans-serif }
währe das jetzt ein Block wo der Schriftname geändert wird.

Wo ist denn das Problem sowas zu Pasen ?

ich weiß leider nicht genau was du vorhast.....
eine einfacher Möglichkeit währe aber sowas:
du lädst die Datei in einer TStringList.....
dann gehst du sie in einer Schleife durch.
sobald du auf eine [ gestoßen bist
stellst du eine Interger oder Byte Variable auf 1
und liest den Namen der der Vor steht ein.

Jetzt Interpretierst du den Block für sich ganze alleine, d.h.:
Es sieht für mich so aus als ob ein : den Namen und den Wert trennt.
also suchst du jetzt ein : hast du einen gefunden kommt alles was da vor steht in eine String Variable und alles was dahinter steht am besten in eine Andere String Variable.

Allerdings würde ich dir Raten eine Struktur zu verwenden, wo du die Daten für die Weiter Verarbeitung rein lädst.

Ich hoffe du versteht das wie ich es meine.

Evlt. sehe ich das im Moment auch zu leicht. Aber Texte Pasen zählt zu meinen Interessanten Projekten..... neben einiger anderen *G*.....

Evlt. hast du aber auch schon das Problem selbst gelöst.....

Ich denke eine Komponente währe nicht schlecht, aber was soll sie können ?
Soll sie HTML+CSS anzeigen ? oder wie hast du dir das vorgestellt ?

Mein BB-Code-Passer soll das in nicht so ferner Zukunft können.
Er soll aber kein HTML-Code Pasen sondern meine eigene Syntax und bei CSS das gleiche.

Möchtest du evlt. auch einfach nur einen Text anzeigen ? einen Formatieren Text + CSS Unterstützung ?
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Pluto...CSS ist ein klein wenig komplexer als dein Beispiel von oben. Es gibt verschiedenste CSS-Anweisungen. Schon die alleine abzudecken ist ein Ding für sich.

Hinzu kommen die Schachtelungen die möglich sind. Nur H1 innerhalb von bestimmten Containertags usw. (IDs und Klassen)

Und außerdem kann ein Html-Element auch von verschiedenen CSS-Definitionen betroffen sein. Außerdem noch Wertumrechnungen in der Positionierung, Zustände, wie a.visited usw.

Mehrere überlagernde CSS-Files/Definitionen, Eingebettetes vs. externes CSS ...

Das ist in der Komplexität mit deinem Beispiel oben keineswegs vergleichbar. Nicht umsonst gibts ja noch nichts fertiges scheinbar.
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ja ! habe ich auch gerade gesehen, das ich den Wald Voller Bäume nicht gesehen habe. Aber ich denke alleine bezogen auf das Pasen, dürfte das doch nicht so schwer werden. Ich kenne jetzt CSS auch nicht gut genug.

Aber sehe ich das richtig: Das CSS meistens in Verbindung mit HTML
eingesetzt wird ? D.h. man bräuchte zuerst einen HTML Browser der dann in der zweiten Stufe auch CSS kann.... oder sehe ich das falsch ?

Ich denke aber Trozdem, wenn man das Projekt gut Plant und Vorbereitet könnte in eins bis zwei Jahren was dran werden. Je nach dem wie groß das Team ist was es entwickelt.
MFG
Michael Springwald

Antworten