A muchos clientes de correo electrónico no les gustan las hojas de estilo CSS vinculadas, o incluso la etiqueta <style>
incrustada, sino que desean que el CSS aparezca en línea como atributos de estilo en todas sus marcas.¿Cómo puedo fusionar las definiciones de CSS en archivos en atributos de estilo en línea, usando Perl?
- MALO:
<link rel=stylesheet type="text/css" href="/style.css">
- malo:
<style type="text/css">...</style>
- funciona:
<h1 style="margin: 0">...</h1>
Sin embargo este enfoque atributo de estilo en línea es un dolor derecho de administrar.
He encontrado herramientas para Ruby y PHP que tomarán un archivo CSS y un marcado separado como entrada y te devolverán el resultado combinado: un único archivo de marcado con todos los CSS convertidos en atributos de estilo.
Estoy buscando una solución Perl para este problema, pero no he encontrado ninguna en CPAN o buscando en Google. ¿Alguna sugerencia? Alternativamente, ¿hay módulos de CPAN que uno pueda combinar para lograr el mismo resultado?
@mintywalker El código que he publicado trabajado en un montón de archivos que tenía, produce válida HTML de HTML válido y CSS válido válido de CSS válido. ¿Lo has probado? Sería genial tener algunos comentarios. –
@Sinan Ünür: sí - ciertamente se ejecuta y se acerca bastante, pero noté algo que no está yendo del todo bien al comentar tu respuesta: es un problema CSS :: DOM, no es lo tuyo. Y la falta de una vista previa de los comentarios significa que el comentario quedó destrozado, pero creo que deberías ser capaz de descubrir el enigma. Muchas gracias por su ayuda, voy a jugar con CSS :: DOM, pero me temo que la complejidad puede estar más allá de mí aquí. – mintywalker
Podría ser más fácil 'HTML :: TreeBuilder' y' CSS'. Estoy experimentando un poco. –