El otro día llegó el momento: tenía que organizar mis marcadores web. Los bookmarks. Un buen día, los había guardado desde Firefox, pero era plenamente consciente de que había muchos que ya no usaba. Así que me puse a ello.
Como los había guardado desde Firefox, lo había hecho en el formato nativo de Firefox: HTML. Pues sí. Como sabemos, Firefox no es sino la versión liberada de Netscape Navigator, el navegador privativo que reinó sobre Internet y los usuarios, hasta que fue destronado por Internet Explorer, el infame navegador de Microsoft. Infame porque Microsoft, para atacar a Netscape, lo incluyó de forma gratuita en todos los Windows, llegando a aducir que era un componente central del sistema operativo ante la eventual demanda por monopolio.
Pero centrémonos: el caso es que Netscape Navigator exportaba sus bookmarks (también conocidos como favoritos) en formato HTML. De hecho, se puede abrir en cualquier navegador y utilizar sus enlaces.
Así que me dispongo a buscar un formato más extendido: ¿CSV? Sí, pero como siempre, no está muy estandarizado. ¿JSON? Vale, pero solo es soportado por algunos navegadores, y de nuevo el formato no está muy estandarizado. Pero entonces, ¿cuál es el formato más estándar para almacenar enlaces web, de manera que puedan importarse en cualquier navegador? Pues el formato en el que ya los tenía, HTML. ¿Bien, no?
Bueno, al abrirlo, aquello es un desastre. Hay un montón de ruido. Muchos campos binarios en formato base64. Parece que lo que trata de hacer el archivo es guardar los iconos (favicon), para cada página enlazada.
Lo estudio con más detenimiento: mi objetivo es que aquel archivo sea manejable, así que intento ver qué puedo eliminar. Por ejemplo, a continuación pongo un enlace tal cuál aparece bajo un epígrafe.
<!DOCType NETSCAPE-Bookmark-file-1>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Bookmarks</title>
<h1>Bookmarks</h1>
<p><dt><p>
<h3 ADD_DATE="1079992089" LAST_VISIT="1132078168">Tools</h3>
<dl><p>
<dt><a ADD_DATE="1079992089" LAST_VISIT="1132078168" FAV_ICON="...base64:dfdfdfldmndfljdpfudñfdmfdmfdoipjifohnlñjkdfngspopshgosigvnsǵnsñglgjagnaslgr" href="http://www.ilovepdf.com/">I Love PDF</a>
...
</dl>
Podemos extraer la siguiente información:
| Marca | Explicación |
|---|---|
dt |
marca indiferentemente un marcador o un epígrafe. |
dl |
marca de una lista de marcadores o epígrafes. |
h3 |
marca de los epígrafes. |
a |
marca de un marcador, como un hiperenlace. |
add_date |
campo de la fecha de adición, como un entero. |
last_visit |
campo del último acceso al marcador. |
| 'fav_icon` | campo que contiene una imagen en base64. |
p |
marca para párrafos separando marcadores. |
hr |
marca para los separadores de los menús. |
A mi el icono no me interesa. La fechas de adición y acceso tampoco me interesan. Los párrafos son totalmente accesorios. El preámbulo parece conveniente mantenerlo. Pero al final, solo es necesario listar epígrafes con listas de hiperenlaces.
Así el código anterior se simplifica notablemente, y permite, ahora sí, que el archivo sea manejable y siga siendo funcional.
html
<!DOCType NETSCAPE-Bookmark-file-1>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Bookmarks</title>
<h1>Bookmarks</h1>
<dl>
<dt><h3>Noticias</h3>
<dl>
<dt><a href="https://www.youtube.com/">YouTube</a>
<dt><a href="https://www.google.com/calendar/">Google Calendar</a>
<dt><a href="http://thedailywtf.com/">The Daily WTF: Curious Perversions in Information Technology</a>
<dt><a href="https://slashdot.org/">Slashdot: News for nerds, stuff that matters</a>
<dt><a href="http://www.codinghorror.com/blog/">Coding Horror</a>
<dt><a href="http://www.osnews.com/">OSNews</a>
<dt><a href="http://blogs.msdn.microsoft.com/oldnewthing/">The Old New Thing</a>
<dt><a href="http://www.zonadepruebas.com/">ZonaDePruebas</a>
<dt><a href="https://blog.cleancoder.com/">Clean Coder Blog</a>
</dl>
...
</dl>
¡Y se sigue pudiendo manejar como un archivo HTML normal y corriente!
Bookmarks
-
Noticias
-
YouTube
- Google Calendar
- The Daily WTF: Curious Perversions in Information Technology
- Slashdot: News for nerds, stuff that matters
- Coding Horror
- OSNews
- The Old New Thing
- ZonaDePruebas
- Clean Coder Blog
- Google Calendar
...
¿Y tú, cómo manejas tus marcadores?
Top comments (0)