Ist es möglich, ein Stylesheet mit Nokogiri zu analysieren?

8

Ich habe meine erforderlichen zwei Stunden damit verbracht, dies zu googeln, und ich kann keine guten Antworten finden. Sehen wir uns also an, ob Menschen Google-Computer schlagen können.

Ich möchte ein Stylesheet in Ruby analysieren, damit ich diese Stile auf Elemente in meinem Dokument anwenden kann (um die Stile inline zu machen). Also, ich möchte etwas wie

nehmen %Vor%

Und in der Lage sein, es in ein Nokogiri-Objekt irgendeiner Art zu extrahieren.

Die Nokogiri-Klasse "CSS :: Parser" ( Ссылка ) hat sicherlich einen vielversprechenden Namen , aber ich kann keine Dokumentation darüber finden, was es ist oder wie es funktioniert, also habe ich keine Ahnung, ob es tun kann, wonach ich hier suche.

Mein Endziel ist es, etwas wie:

schreiben zu können %Vor%

Das würde Stile aus einem Stylesheet extrahieren und sie alle als Inlined Styles zu meinem Dokument hinzufügen.

    
wbharding 30.05.2010, 21:45
quelle

2 Antworten

4

@molf hatte definitiv einen guten Start dort, aber es musste immer noch eine Handvoll Probleme behoben werden, damit es in der Produktion funktioniert. Hier ist die aktuelle, getestete Version:

%Vor%     
wbharding 07.06.2010, 01:29
quelle
15

Nokogiri kann CSS-Stylesheets nicht analysieren.

Das CSS::Parser , das Sie gefunden haben, analysiert CSS Ausdrücke . Es wird immer dann verwendet, wenn Sie einen HTML-Baum durch CSS-Selektoren anstatt durch XPath durchqueren (dies ist eine coole Funktion ) Nokogiri).

Es gibt jedoch einen CSS-Parser . Sie können es zusammen mit Nokogiri verwenden, um zu erreichen, was Sie wollen.

%Vor%     
molf 30.05.2010 21:56
quelle

Tags und Links