Notxor tiene un blog

Defenestrando la vida

TiddlyWiki

2021-11-23

Por algunas razones que no alcanzo a entender org-roam se ha vuelto un monstruo y, para mi gusto, se ha desorbitado. O quizá es que me sobrepasa a mí, particularmente y no termino de pillarle la gracia como sí he hecho con otras funcionalidades y extensiones de Emacs. El caso es que andaba en búsqueda de una herramienta para tomar mis notas, algo que no fuera un sistema jerárquico artificial de dividirlas, como en muchos sistemas de anotación que se utilizan, y para lo que Zettelkasten es una solución mucho mejor. En este artículo os contaré la peripecia y cómo he comenzado a utilizar TiddlyWiki.

Para no perderme en la historia comenzaré por el principio: buscaba algún sistema Zettelkasten funcional, de mi agrado, que me permitiera mi dispersión de ideas sin encorsetarlas en una jerarquía que tarde o temprano se mostrará demasiado rígida para contenerlo todo. De ese modo llegué a una página que mostraba un ejemplo completo realizado por Soren Bjornstad y que utilizaba un sistema Wiki llamado TiddlyWiki. «Bueno, es un wiki, las ideas, los conceptos, las notas, se relacionan por enlaces... puede funcionar», pensé y me puse a investigar más sobre el asunto.

El sistema

El sistema TiddlyWiki es un sistema wiki autocontenido. No sé muy bien si esa es la palabra que mejor lo define, pues también hay una versión de escritorio que corre sobre node.js. A lo que me refiero con autocontenido es a que te descargas un fichero .html y el código y los datos van en él. Cuando haces modificaciones, guardas el fichero con C-s y se copia completo, con el código y los datos que hayas modificado. No funciona el menú Archivo → Guardar como... del navegador, no guarda bien la información.

Cacharrendo llevo unos días con él y veo que es muy complejo. Me he visto obligado a admitir la máxima que me impuse con Emacs: «No hay soluciones simples para problemas complejos». Y los plugins no hacen, sino multiplicar sus capacidades. Tengo anotado en pendientes comprobar cómo va el plugin para importar bases de datos bibtex y qué se puede hacer con ello.

Para empezar, la base de toda la información se encuentra en lo que llaman tiddlers, que son el equivalente a las tarjetas del sistema Zettelkasten. Cada pieza de información se guarda en un tiddler, desde la más simple a la más compleja y está accesible mediante su propio link. Por ejemplo, si creamos una etiqueta se guardará en un tiddler pero se mostrará además dentro de otros tiddlers cuando la utilicemos. Ese anidamiento es muy potente, podemos mostrar unos tiddlers dentro de otros, se pueden crear contenedores, widgets, enlaces internos y externos, seguramente algunas cosas más que aún desconozco como los macros y que harán que me explote la cabeza.

Tiene links por todas partes. Por ejemplo, hay un panel de info en todo tiddler que indica los tiddlers enlazados y también los tiddlers que lo enlazan. Así nos facilita llegar a cualquier tipo de información siguiendo el rastro de enlaces. Se pueden listar tiddlers por etiquetas, los huérfanos, los que enlazan o son enlazados por otros.

El contenido de un tiddler puede ser muy variopinto, como dije antes, puede contener la definición de una etiqueta, pero también puede estar generado por un macro para formar una lista, o importarlo de otros tiddler, como por ejemplo hace el menú de opciones o el panel de control, que es el resultado de contener en un tiddler varios formularios incrustados en otros tiddlers. Efectivamente, si modificamos cualquier valor en ese formulario, se modificará el tiddler base y, por tanto, todos los tiddler que lo lleven incrustado se verán modificados. En ese sentido me recuerda a cómo funciona una hoja de cálculo cuando aprendes a enlazar celdas mediante fórmulas, en lugar de trabajar con valores directos, todo se recalcula en cuanto haces una modificación.

Modo de uso

He visto, desde que empecé a curiosear, varias cosas hechas con esta herramienta. Desde la propia página web de TiddlyWiki hasta blogs, libros y un sin fin de información.

Lo más básico es descargarse el sofware, que como ya he dicho es una página web que se verá así en el navegador:

Captura-tiddlywiki-empty.png

En esa pantalla se pueden configurar los parámetros básicos del proyecto. Como se puede observar por la URL se ha descargado un fichero que se llama empty.html y que contiene todo el código que necesitas para hacerlo funcionar. La ventana se divide en dos partes claramente diferenciadas, la parte izquierda contiene los tiddlers, o tarjetas si prefieres llamarlo así, y la parte derecha es una barra de herramientas con widgets e información que nos permite navegar y modificar nuestro wiki.

El tiddler que se muestra es el GettingStarted, que como su nombre indica es donde comienza todo wiki: proporcionando un título, un subtítulo y algún dato más. Vamos a hacerle algunos cambios:

Captura-pantalla-inicio-wiki.png

En la imagen anterior se puede apreciar que he modificado el título, el subtítulo y he añadido un nuevo enlace a los tiddlers abiertos por defecto. Se puede ver, que el sistema ha marcado en rojo el botón de guardar cambios... al pulsarlo, aparece un mensaje de «saved wiki» y vuelve a su color normal. Los iconos que hay al lado sirven para crear nuevos tiddler con el más y para configuración con la rueda dentada. Si pulsamos el + crearemos nuestro primer tiddler y como vemos en la captura viene con un editor para facilitarnos la vida:

Captura-pantalla-crear-tiddler.png

La primera línea del formulario está para que le pongamos un nombre. En este caso lo he llamado «Mi primer tiddler». La siguiente línea nos permite colocarle alguna etiqueta para facilitar búsquedas posteriores. El siguiente bloque es el editor, que cuenta a su vez con una zona de previsualización del texto. La sintaxis del texto es muy parecida a markdown o a org-mode. También podemos seleccionar el tipo de contenido, y hay bastante donde elegir, que va a tener el tiddler. En este caso es texto plano, pero también podemos meter otros tipos de contenido como javascript, por ejemplo, o html, o gráficos svg. Y por último se pueden añadir campos con distinto valor. Por ejemplo, he añadido un cambo author con nombre Notxor. Estos campos son visibles en el desplegable de información que tiene cada tarjeta y que se despliega con el menú de visualización propio. Los iconos de arriba a la derecha nos permite guardar o eliminar el tiddler, según le demos al icono check o al cubo de basura.

Por poner otro ejemplo, vamos a ver cómo se configura para las diversas lenguas, en concreto para la española, instalando el plugin de idioma. Los pasos son muy sencillos:

  1. En la barra lateral, pulsamos el botón de la rueda dentada (o cualquier enlace que veamos a ControlPanel)

    Captura-pantalla-control-panel.png
  2. Pinchamos en la pestaña plugins y dentro de ella en el botón Get more plugins para que nos aparezca:

    Captura-pantalla-get-more-plugins.png

    Pinchamos en el botón open plugin library y nos abre una lista de plugins por categorías, que se encuentra en la web de la aplicación. Pinchamos en languages.

    Captura-pantalla-lenguajes.png

    Aquí seleccionamos el lenguaje que deseamos utilizar pulsando en el botón install correspondiente. Una vez hecho, podemos cerrar esta ventana pulsando en close.

    Captura-pantalla-plugin-guardado.png

    Ya tenemos el plugin guardado en nuestro wiki y lo podemos utilizar.

  3. Volvemos a la pestaña info del ControlPanel y bajamos a la etiqueta Hello! Current Lenguage, en el desplegable seleccionamos el idioma que queramos, en mi caso Castellano - España y nos aparecerá todo en español.

    Captura-pantalla-cambiado-lenguaje.png

Se puede apreciar que hay procedimientos muy sencillos, como éste, que no haría falta ni mencionar aquí. Cualquier usuario acostumbrado a trabajar con GUI llegará a la misma conclusión (una vez haya encontrado los botones y menús correspondientes).

Pero lo primero que me llamó la atención del sistema este, es la capacidad de organizar la información mediante esas pestañas y menús, metiendo tiddlers dentro de tiddlers, enlazando contenido y creando complejas estructuras que permiten hasta la propia gestión y configuración del sistema.

También encontré un paquete ox-tiddly, que permite exportar contenido desde org-mode a esta herramienta.

Conclusiones

Es aún prematuro decir si esta herramienta ha llegado para quedarse. De momento es un descubrimiento que tenía relegado en algún rincón de mi cerebro. Lo había visto mencionado en algún sitio, me había encontrado alguna referencia, pero siempre había sido un software sobre el que pasaba de puntillas sin hacerle mucho caso. Sin embargo, me parece de esas cosas que me pican, como hizo Emacs en su día, y no estoy diciendo que lo considere como Emacs, ni mucho menos. Pero es de esas herramientas que la gente no usa porque aprenderlo implica cierto esfuerzo por parte del nuevo usuario.

De momento, sigo en modo aprendizaje leyendo un libro hecho con la misma herramienta que parece que trata más aspectos de los que podría haber supuesto en una primera aproximación. Y mira que no soy muy amante de javascript y que esta puede ser la única de las herramientas que me he encontrado hasta ahora, hechas con ese lenguaje, que me ha llamado la atención lo suficiente como para plantearme el adoptarla.

Categoría: wiki zettelkasten tiddlywiki

Comentarios

Debido a algunos ataques mailintencionados a través de la herramienta de comentarios, he decidido no proporcionar dicha opción en el Blog. Si alguien quiere comentar algo, me puede encontrar en Mastodon y en Diaspora con el nick de Notxor.

También se ha abierto un grupo en Telegram, para usuarios de esa red.

Disculpen las molestias.