Hay veces que quieres guardar una página web completa ¿no? Y cuando le das a guardar en tu navegador favorito, ésta se guarda en un archivo .html y, además, crea una carpeta donde están todos los recursos que usa esa página web, como son las imágenes, los CSS y los JavaScript.
Eso, principalmente es un coñazo. Luego hay que arrastrar un archivo y una carpeta llena para poder ver dicha página en condiciones. Y si se lo quieres enviar a alguien (que no sea el enlace, por supuesto) pues ya hay que andar comprimiendo… un rollo, vamos.
Pues hay un truquillo para que todo el contenido de una página web se guarde dentro de la propia página web, es decir, dentro del HTML. El truco está en convertir los datos que queremos guardar dentro de ella a Base64 y meterlos directamente donde corresponda.
Por ejemplo, tenemos una imagen en nuestro HTML ya guardado que, lógicamente, está dentro de una etiqueta <img src="/ruta/a/archivo/de/imagen" alt="Imagen" /> donde el archivo en cuestión está en la carpeta adicional que ha creado nuestro navegador al guardar el documento.
Para incluir esta imagen dentro del propio documento, lo primero es convertirla al formato mencionado antes: Base64 ¿Y cómo? Esa es una cuestión importante. En Linux existe un comando que se llama base64 (qué difícil de recordar
) que te lo puedes bajar de su página oficial. Por suerte, también se puede compilar para Windows.
Luego de convertir dicho archivo, hay que sustituir la ruta al archivo en la etiqueta <img ... /> por los datos codificados, pero sin olvidarse añadir qué es lo que viene a continuación de la siguiente forma:
<img src="data:image/png;base64,gqMcXQB...CIiLUbW=" alt="Mi imagen en Base64" />
Una vez hecho esto con todos los recursos de la página (los CSS y JavaScript también se pueden codificar en Base64, sólo hay que modificar ligeramente los datos de los atributos src y href dependiendo de la etiqueta utilizada), ya tenemos nuestro HTML con todo el contenido en un sólo archivo. Ahora ya podemos enviarlo sin tener que arrastrar ninguna carpeta con datos.
Pero claro, esto es un poco tedioso de hacer, por lo que existe una aplicación para Windows llamada Unipage Unifier que ya realiza este trabajo por ti.
Para Linux de momento no, pero estoy seguro de que hacer un script que haga el trabajo sucio no será tan difícil. En cuanto tenga un rato me pongo con ello y cuando lo tenga listo ya lo publicaré.
Y bueno, como la idea ya la tenemos, espero que esto os sirva para no tener tantos y tantos archivos a la hora de guardar una página web completa.












