Viele E-Mail-Clients mögen keine verknüpften CSS-Stylesheets oder sogar das eingebettete <style>
-Tag, sondern möchten, dass das CSS inline als Stilattribute für alle Ihre Markups angezeigt wird.Wie kann ich CSS-Definitionen in Dateien mit Perl in Inline-Stilattribute zusammenführen?
- BAD:
<link rel=stylesheet type="text/css" href="/style.css">
- BAD:
<style type="text/css">...</style>
- WERKT:
<h1 style="margin: 0">...</h1>
jedoch dieser Inline-Stil-Attribut Ansatz ist ein richtigen Schmerzen zu verwalten.
Ich habe Tools für Ruby und PHP gefunden, die eine CSS-Datei und ein separates Markup als Eingabe nehmen und Ihnen das zusammengefügte Ergebnis zurückgeben - eine einzelne Markupdatei mit allen CSS-Attributen, die in Stilattribute umgewandelt wurden.
Ich bin auf der Suche nach einer Perl-Lösung für dieses Problem, aber ich habe keine gefunden auf CPAN oder Google suchen. Irgendwelche Zeiger? Oder gibt es CPAN-Module, die man kombinieren könnte, um dasselbe Ergebnis zu erzielen?
@mintywalker Der Code, den ich auf eine Reihe von Dateien gearbeitet habe ich geschrieben hatte, produziert gültig HTML aus gültigem HTML und scheinbar gültiges CSS aus gültigem CSS. Hast du es versucht? Es wäre großartig, Feedback zu bekommen. –
@Sinan Ünür: Ja - es läuft sicherlich und wird ziemlich nah, aber ich bemerkte etwas, dass es nicht ganz richtig kommt, indem er Ihre Antwort kommentiert - es ist CSS :: DOM Problem, nicht Ihr tho. Und der Mangel an Vorschau auf Kommentare bedeutet, dass der Kommentar verstümmelt wurde, aber ich denke, dass Sie in der Lage sein sollten, die Crux herauszufinden. Vielen Dank für Ihre Hilfe, ich werde mit CSS :: DOM spielen, aber ich fürchte, die Komplexität mag hier über mich hinausgehen. – mintywalker
Es könnte einfacher sein, 'HTML :: TreeBuilder' und' CSS' zu verwenden. Ich experimentiere ein wenig. –