Actualizacion en el estado CSS-Sprites para wordpress

por | Abr 12, 2013 | otros, Sin categoría | 0 Comentarios

Una corta entrada para informar que aunque no han habido novedades sigo revisando la forma en la cual pueda ser implementado un plugin que cree los sprites de una instalacion wordpress de una forma automatizada.

Estado actual

En este momento el programa puede generar sprites de las imagenes de una web. Esto queda limitado solo a las de una pagina en concreto. Todo se realiza por la parte del servidor, se escalan, comprimen y por ultimo se cachean las imagenes y no supone una perdida de rendimiento apreciable aun en la primera ejecución  Las siguientes de hecho beneficia la velocidad de carga debido a que ya no tiene que hacer tantas llamadas.

Problemas encontrados

Pero esto no es suficiente. Aunque las imagenes incrustadas en la pagina suelen ser la mayoría, hay una serie de imagenes que están presentes en cada una de las paginas aunque no haya ninguna incrustada. Estas son las imagenes integradas en el CSS. Pueden ser tan pocas como 2 o tantas como suponer el 100% de las imagenes de la pagina, dependiendo del tipo y diseño de tema que se use en la instalación de Wordpress.

Soluciones posibles

Esas imagenes no pueden ser tratadas directamente mediante php. Se encuentran ocultas en el código de los CSS de la pagina y muchas veces las hojas de estilo están mal formateadas.

  • Se ha sopesado el uso de un interprete CSS en PHP. Hay varias librerias que permitirian interpetar las hojas de estilo, pero estos interpretes devuelven el contenido literal, correctamente formateado pero que no siempre es aplicable a un pagina html debido a que los estilos de los objetos DOM pueden ser modificados en tiempo real. Ademas que estos interpretes no vinculan los objetos DOM con sus correspondientes estilos. No todos los estilos CSS pueden ser tratados, hay ciertas excepciones que hay que tener en cuenta para evitar romper los estilos. 
  • La lectura directa de los estilos de los objeto DOM no es posible desde el servidor. Aunque desde PHP se pueden acceder a los estilos inline, no se pueden acceder a los estilos aplicados si estos provienen de una hoja de estilos externa. Las clases DOM de PHP no obtienen los recursos externos vinculados.
  • La unica alternativa encontrada hasta ahora es instalar una VPS que permita la ejecución de un navegador en el servidor. Esto implica mas tiempo y una mayor inversion. Este tipo de operaciones no pueden llevarse a cabo en un hosting basico, es necesario tener acceso por SSH y tener libertad para instalar nuevas dependencias. Con este metodo se podrían ejecutar sentencias jQuery inyectadas para obtener los estilos propios y heredados de un objeto DOM en concreto.

Si bien esta es la unica solución que he encontrado hasta ahora, es cierto que ademas de necesitar de servicios externos  para su implementación tambien seria muy costosa  economicamente y de una complejidad enorme.

Así que estoy abierto a sugerencias que puedan simplificar el proceso ¿Existe algún metodo alternativo para interpretar el codigo completo (html, javascript…) de una pagina web desde un servidor Apache?

Related Posts

Código ejemplo del desarrollo de extractor de contenido relevante

Hace unos días mostré un plugin de wordpress (más que nada es solo un Shortcode con administración de la caché generada) donde comenté que hacer un extractor del contenido relevante de una página de noticias es algo muy sencillito que solo necesita de un par de loops. Y para qué quiero esto uno puede preguntarse….

Extractor de contenido relevante de páginas web

Extractor de contenido relevante de páginas web

Este es un extractor de contenido relevante muy sencillo hecho con DOMDocument y un par de loops. Es cierto que ya hay extractores de contenido en PHP pero estos hacen uso de librerías externas ( Readability  ) o tienen un método de detección muy sencillo que hace uso solamente de los bloques de texto, lo…

Lotus Notes – Columnas con información extraída del contenido.

Lotus Notes – Columnas con información extraída del contenido.

Trabajando con Lotus Notes para la gestión de incidentes me encontré con una situación en la cual necesitaba mostrar en las vistas una columna con información extraída de un campo de texto. Esta información estaba localizada entre una cadena especifica (era una cadena de números) y para consultarla de otra forma necesitaba acceder al documento…

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.