Experimentos caseros con productos cancerigenos.

1 view
Skip to first unread message

Tei

unread,
Aug 29, 2008, 7:04:49 AM8/29/08
to js-o...@googlegroups.com
He estado haciendo algunos experimentos para dotar a CSS de la
capacidad de utilizar un lenguaje de macros.

No he tenido exito. Pero sin embargo comparto con vosotros la idea.

Hay varios proyectos que permiten añadiendo una linea que llama a un
js, que tu HTML soporte un lenguaje de macros, como el de las
templates estilo smarty.

Esto hace que en parte del codigo puedas poner:

<h1>bienvenido señor ${cliente.nombre}</h1>

( nota: XSLT permite hacer esta clase de cosas, utilizando un
lenguaje no-programatico. Quizas es superior, pero no es nada facil de
usar. Es un XML muy complejo )

El caso es.. que este sistema esta soportado por todo el codigo de la
pagina. Y eso incluiria CSS si estubiera enbebido en ella.


<style id="estilo">

.titulo {
font-color: $general.colorRemarcado;
}
.autor {
font-color: $general.colorNormal;
}
.mensaje {
font-color: $general.colorNormal;
}

</style>

Es habitual, aunque quizas evitable, que en un CSS se repite un color,
o una familia de fuentes. Entonces cuando hay que hacer
modificaciones en ese CSS, hay que "buscar y sustituir", lo cual es
incomodo y propenso a errores. Utilizando un lenguaje de macros, se
utilizaria una variable, y no el color en si. De modo que se podria
cambiar ese color cambiando la variable.

Desgraciadamente, no es una buena practica el embeber CSS en un
fichero HTML, sino que lo suyo es invocarlo externamente.

<link rel="stylesheet" href="estilo.css" id="estiloMacro">

No he conseguido hacerme con los datos de ese fichero.. el innerHTML
de "estiloMacro", via javascript. Si pudiera acceder a esos datos..
podria crear un nuevo elemento style, e insertarlo en la pagina, y a
continuacion cargarme el elemento estiloMacro.

Otro problema es que esto no degrada bien. Si no hay javascript, no
tienes un CSS en buen estado, sino uno mal formado o lleno de
terribles interpretaciones "no definidas". Cualquier cosa puede
ocurrir y cualquier cosa ocurrira.
Aunque bien pensado, si estas utilizando este atajo de macros, es
porque no has escrito a mano el documento CSS completo, asi que
tampoco existe la version "para los sin javascript" del CSS.

A pesar de todo, aun se podria enlazar un CSS muy basico. Y cargar el
CSS avanzado via Ajax, y pasarselo como parametro al lenguaje de
templates. Y el resultado (si no hay errores) insertarlo como un
<style> que complemente al CSS basico. Esto seria hasta facil de
hacer, y no preveo muchos problemas, con la unica limitacion del
"desde el mismo servidor" que no permite que ajax llame a un servidor
distinto.

es una pena que html no soporte
<include src="otrofichero.html" />

aunque XHTML, si lo tendria que soportar, porque XML si soporta
includes. Aunque no es un feature que quieras usar, porque no da
margen para errores, ni sistema para tratar con ellos, las cosas
fallan silenciosamente, y haciendo todo el daño posible. Claro que
Internet Explorer no soporta XHTML, asi que tampoco soportara includes
de XML. y aun mucha gente usa Internet Explorer.


Os dejo un enlace a uno de estos lenguajes de templates basado en javascript:
http://mjtemplate.org/

Victoria

unread,
Aug 29, 2008, 7:34:44 AM8/29/08
to js-o...@googlegroups.com
Gracias Tei por compartir tan interesante experimento :)

Yo estoy experimentando en el otro lado, en el de servidor, precisamente a partir de XML y XSLT, cuando tenga mejor documentado el experimento lo compartiré también.

Saludos

Leandro Asrilevich

unread,
Aug 29, 2008, 8:48:09 PM8/29/08
to js-o...@googlegroups.com
yo eso lo solucione con php..

genero un archivo php que arriba pongo que los headers sean de un css y adentro escribo el css normal soloq ue cuando quiero variables uso el tipico <?=$varname?> y listo....


_____________________________________

Leandro Asrilevich | blog.beastx.com.ar
Web & Multimedia Developer
Movil: +54 (11) 15 6527-7405
Tel: +54 (11) 4304-3779

Web: www.beastx.com.ar
MSN: bea...@gmail.com
Skype User: leandro.asrilevich


Solis 1785 PB "B"
San Cristobal - Capital Federal
Buenos Aires - Argentina


2008/8/29 Victoria <victori...@gmail.com>
Reply all
Reply to author
Forward
0 new messages