De nombreux clients de messagerie n'aiment pas les feuilles de style CSS liées, ni même la balise <style>
intégrée, mais souhaitent que le CSS apparaisse en ligne en tant qu'attributs de style sur tous vos balisages.Comment fusionner des définitions CSS dans des fichiers en attributs de style en ligne, en utilisant Perl?
- BAD:
<link rel=stylesheet type="text/css" href="/style.css">
- BAD:
<style type="text/css">...</style>
- TRAVAUX:
<h1 style="margin: 0">...</h1>
Cependant, cette approche d'attribut de style en ligne est une douleur droit de gérer.
J'ai trouvé des outils pour Ruby et PHP qui vont prendre un fichier CSS et un balisage séparé en entrée et vous renvoyer le résultat fusionné - un seul fichier de balisage avec toutes les CSS converties en attributs de style.
Je suis à la recherche d'une solution Perl à ce problème, mais je n'en ai pas trouvé sur le CPAN ni sur Google. Des pointeurs? Sinon, y a-t-il des modules CPAN que l'on pourrait combiner pour obtenir le même résultat?
@mintywalker Le code que j'ai posté travaillé sur un tas de fichiers que j'avais, produit valide HTML de HTML valide et CSS valide de CSS valide. L'as tu essayé? Ce serait génial d'avoir des commentaires. –
@Sinan Ünür: oui - il fonctionne certainement et se rapproche assez, mais j'ai noté quelque chose qu'il ne va pas tout à fait droit en commentant sur votre réponse - c'est le problème CSS :: DOM, pas votre tho. Et le manque de prévisualisation sur les commentaires signifie que le commentaire a été brisé, mais je pense que vous devriez être en mesure de comprendre le crux. Merci beaucoup pour votre aide, je vais avoir un jeu avec CSS :: DOM mais je crains que la complexité ne me dépasse ici. – mintywalker
Il pourrait être plus facile de 'HTML :: TreeBuilder' et' CSS'. J'expérimente un peu. –