11.11.18

KomRedraw: limpiador de código HTML para Kompozer


Kompozer, basado en el afamado editor wysiwyg de Netscape (el Composer), es uno de los mejores editores visuales para HTML que existen y, además, es libre. Por si fuera poco, retoca muy poco el código y no lo suele "ensuciar", como hacen otros editores.

Sin embargo, adolece de un gran problema que me traía de cabeza: si necesitas "sacarle" el código HTML y usarlo en otros sitios, es muy engorroso. La razón es que este editor guarda los fuentes como UTF-8 quebrando las líneas que tienen un determinado límite de extensión, es lo que se denomina "wordwrap". No pasa nada, porque el Kompozer no lee los saltos, solo el HTML, así que donde en un editor "convencional" (txt, doc, lo que sea) se interpretaría como un salto, en el Kompozer sigue siendo una línea continua. Pero claro, cuando uno necesita usar ese código, se encuentra con esas líneas "partidas" que tanto molestan, y es muy tedioso ir buscándolas una a una a mano y volver a unirlas.




He intentado solucionarlo con algunos limpiadores ("cleaners") o reformateadores de código HTML, pero ni lo solucionaban y, en algunos, incluso la cosa iba a peor, así que finalmente me he puesto a ello para crear un limpiador específico para Kompozer. No es complicado de hacer, pero era una tarea que no me apetecía nada afrontar, pero como lo necesitaba, además de escribirla he decidido ponerla a disposición de cualquiera que le pudiera hacer falta.

Se denomina KomRedraw (más o menos "repintado de Kompozer", no por nada, me gustaba ese nombre), y como es habitual es una aplicación portable, y gratuita.

Imaginémonos que, por ejemplo, tenemos el siguiente texto en código html que hemos cogido de las fuentes de Kompozer:

Otra de las cosas con las que no quería meterme -de momento- era con el

cliente de IRC en modo "shadow", el subIRC. Pero el otro día me

encontré con algunas cosas que debía corregir, y he decidido añadirle

de paso algunos pequeños detalles. El principal, o al menos del que

primero se da uno cuenta, es la incorporación de un sistema de

avatares.



El sistema es sencillo, pero el cómo implementarlo en un programa tan

sumamente minimalista fue un auténtico dolor de cabeza (y además

literal). La razón, o una de ellas, es que si ponía un pequeño avatar

la funcionalidad sería nula, porque apenas se vería, y lo que quería es

que, ya de tenerlo, pues que el usuario pudiera disfrutarlo.



También un suplicio fue intentar encontrar la mejor solución para

personalizarlo, al principio pensé hacerlo (y de hecho lo hice) tomando

el nick del usuario -el nick principal del bot, no del "dueño"-, pero

luego me di cuenta que esto en algunos servidores donde enviamos con el

nick la contraseña puede suponer un problema, y le restaría

flexibilidad a subIRC en futuras (o hipotéticas) redes y sistemas de

autenticación.



Además, estaba el inconveniente de que tal vez en lugar del nick del

bot quisiéramos usar el nick del dueño para el avatar, cosa que no se

podía personalizar.



Tal es así que volví a reescribir el código y decidí cambiarlo, dando

la posibilidad ahora de elegirlo en las opciones generales del

programa. Allí he incluido una nueva línea de configuración (esto no

pensaba tocarlo, pero en fin...), que es la L12, en donde podemos poner

un nombre de nick, de dueño, o de imagen, lo que queramos.



Si hay una imagen (con extensión .jpg obligatoriamente) con ese nombre,

el programa la cargará y la colocará como avatar.


Como veis, Kompozer nos da cada línea partida. Si lo pasamos por KomRedraw obtendremos lo siguiente:

Otra de las cosas con las que no quería meterme -de momento- era con elcliente de IRC en modo "shadow", el subIRC. Pero el otro día me encontré con algunas cosas que debía corregir, y he decidido añadirle de paso algunos pequeños detalles. El principal, o al menos del que primero se da uno cuenta, es la incorporación de un sistema de avatares.

El sistema es sencillo, pero el cómo implementarlo en un programa tansumamente minimalista fue un auténtico dolor de cabeza (y ademásliteral). La razón, o una de ellas, es que si ponía un pequeño avatar la funcionalidad sería nula, porque apenas se vería, y lo que quería es que, ya de tenerlo, pues que el usuario pudiera disfrutarlo.

También un suplicio fue intentar encontrar la mejor solución para personalizarlo, al principio pensé hacerlo (y de hecho lo hice) tomando el nick del usuario -el nick principal del bot, no del "dueño"-, pero luego me di cuenta que esto en algunos servidores donde enviamos con el nick la contraseña puede suponer un problema, y le restaría flexibilidad a subIRC en futuras (o hipotéticas) redes y sistemas de autenticación.

Además, estaba el inconveniente de que tal vez en lugar del nick del bot quisiéramos usar el nick del dueño para el avatar, cosa que no se podía personalizar.

Tal es así que volví a reescribir el código y decidí cambiarlo, dandola posibilidad ahora de elegirlo en las opciones generales delprograma. Allí he incluido una nueva línea de configuración (esto no pensaba tocarlo, pero en fin...), que es la L12, en donde podemos poner un nombre de nick, de dueño, o de imagen, lo que queramos.

Si hay una imagen (con extensión .jpg obligatoriamente) con ese nombre, el programa la cargará y la colocará como avatar.


Ciertamente puede parecer simple y nada complicado, bueno, no es que lo sea, la cuestión es que tenemos que respetar también el código HTML que haya, no podemos borrar saltos de línea "sin más ni más". Así, KomRedraw es capaz de respetar los tags html y su indentación, de manera que solamente unirá las líneas que tengan texto "cortado", pero no el resto de tags HTML que hubiera en el código (por esto mismo, no es aconsejable usarlo para unir líneas cortadas por otros editores de texto, porque no funcionará correctamente, esta aplicación solo está destinada a Kompozer). Es, por lo tanto, una utilidad muy interesante para trabajar con tablas, puesto que nos permite estructurar los datos (haciéndolos más cómodos de ver en código) y hacerlas más elegantes, al eliminarles espacios en blanco superfluos e innecesarios.


No solo eso, con KomRedraw podrás introducir varias líneas en html respetando éstas gracias a la forma de trabajo de Kompozer, pudiendo elaborar código muy elegante para trabajar con él, sin necesidad de tener que hacerlo desde el editor, para casos en los que queramos trabajar (o personalizar) el código en profundidad. Redactores de contenidos para la web y diseñadores que trabajen habitualmente con Kompozer, sin duda agradecerán enormemente esta utilidad. Es cierto que Kompozer puede trabajar en modo "source" (aunque a veces puede estropearnos el código), pero aparte de existir ese peligro -el de corromper el diseño que estemos haciendo en modo wysiwyg-, en la ventana de "source" el código aparece también cortado, por lo que el problema persiste. Con KomRedraw podrás limpiar fácil y cómodamente el código generado por Kompozer, y luego trabajar mejor con el html "plano" (o a pelo, aunque no me gusta ese término) no solamente más cómodo, sino que al pasarlo a otros editores o usarlo en otros programas o gestores CMSs, podrás ponerlo sin temor a que aparezcan partes rotas o cortadas.

Como es habitual, para su descarga acude a la pestaña de programas.

| Redacción: Bianamaran.blogspot.com

2 comentarios:

  1. Nunca he sido muy de editores HTML WYSIWYG salvo uno que usé a mediados de los 90 cuando mis conocimientos eran muy bajos, y que no recuerdo ya ni el nombre.

    Luego a nivel laboral toqué el Composer de Netscape en un Mac, y después FrontPage y DreamWeaver. FrontPage me encantó, lástima que desapareciera de Office en el 2000 o 2003.

    En todo caso, los editores visuales siempre han tenido mucho problema con el código que no es HTML ya sea Javascript o PHP, ASP, etc, así que rápidamente comencé a editar el código a mano.

    ResponderEliminar
    Respuestas
    1. Cuando necesitas usar lenguajes de script, asp, php o similar, en efecto es mejor usar el código directamente.

      ahora bien, si tienes que hacer la parte gráfica, no creo que haya humano que pueda hacer algo elegante sin un buen editor visual. No te veo manejando degradados en código, francamente. Solo sea porque no se pueden ver :D

      Yo también hago mucha parte en código (sobre todo la parte final), pero el diseño inicial es obligatorio el paso por un editor visual, sino es que no sabes ni el color que estás metiendo, ni el diseño que va a adoptar.

      A mí el editor que me gustaba mucho era el Visual Page (symantec), pero quebraba por nada :( Una pena, porque abandonaron pronto su desarrollo y ya no volvieron a sacar versiones que arreglasen los bugs.

      Eliminar