Un diario en el terminal

Un diario es, sin lugar a dudas, mi asignatura pendiente. Siempre he querido tener mi propio diario. Mejor dicho. Siempre he querido llevar, mi propio diario. Y me aventuro a decir, que probablemente, tu también has querido llevar tu diario. Y digo, llevar y no tener, porque hoy en día, tener un diario, es algo realmente sencillo. Simplemente, si tienes un ordenador, o un móvil, simplemente, se trata de escribir unas palabras todos los días. Aunque precisamente, ahí es donde se encuentra el problema. Lo cierto es que, si eres de los que se pasan horas en el terminal, a lo mejor, la herramienta que andas buscando, es un diario en el terminal, una herramienta como jrnl.

Si no conoces jrnl, estás todo el día cara el terminal, y necesitas un diario, sin lugar a dudas, esta es la herramienta que andabas buscando.

Lo cierto es que un diario es una herramienta fundamental para tu trabajo diario. Es un lugar donde contar lo que haces y deshaces diariamente. Y esto, que te puede parecer innecesario a priori, yo ya me he dado cuenta que no lo es, ni mucho menos. Es necesario tenerlo todo documentado, y no pensar que te acordarás, porque te puedo asegurar que no te acordarás… en fin, que no me quiero poner filosófico, con estos asuntos, y simplemente te quiero hablar de esta herramienta, jrnl, o como tener un diario en el terminal.

Un diario en el terminal

Un diario en el terminal

¿Que es jrnl?

jrnl es la forma mas sencilla de tener un diario en el terminal. Se trata de una aplicación mas sencilla que el mecanismo de un botijo. Pero no por eso está exenta de un gran potencial. Y es que una de las grandes ventajas de este diario en el terminal, es que se guarda en texto plano completamente legible para seres humanos. Y ¿porque esto es una ventaja? Porque simplemente no dependes de otras herramientas, no necesitas de tener una aplicación para leerlo. Lo puedes guardar donde quieras y acceder cuando quieras que siempre lo tendrás ahí disponible para su consumo.

¿Esto quiere decir que cualquiera puede leer tu diario? No necesariamente, porque jrnl te ofrece la posibilidad de cifrar ese diario utilizando AES 256.

Uso y funcionamiento

jrnl tiene dos modos de funcionamiento, el de edición y el de visualización. Normalmente estarás en el modo de visualización, a menos que indiques lo contrario, utilizando la opción --edit.

Añadiendo una entrada a tu diario

Para añadir una entrada a tu diario en el terminal simplemente tienes que ejecutar una instrucción como la que puedes ver a continuación,

jrnl today: un titulo. un contenido

Donde como te puedes imaginar today es la fecha, que la puedes expresar así como la ves, o como te indicaré un poco mas adelante. Lo siguiente que te encuentras es un titulo., y es que todo lo que vaya antes del primer punto se considera el título de esa entrada de tu diario. Y por último, y a continuación, te encontrarás el contenido de tu entrada del diario.

Esta no es la única manera de añadir contenido a tu diario, también puedes escribir directamente jrnl esto abrirá tu editor preferido, que en mi caso es Vim, y me permitirá introducir el contenido. Indicarte que aquí, puedes introducir fecha, el título y el contenido, al igual que haces directamente desde la línea de comandos, o crearlo conforme el formato de jrnl. Esto queda completamente a tu elección. Sin embargo, mi recomendación, es utilizar la sintaxis que has visto hasta el momento, porque te va a simplificar mucho la edición y tratamiento.

Por supuesto, y como ya seguro te has imaginado, las posibilidades de añadir entradas en tu diario no se limita a today. Así, puedes hacer las siguientes entradas,

  • jrnl titulo. contenido, en este caso la fecha asignada es la del día en curso, y la hora el momento en que añades la entrada
  • jrnl today: titulo. contenido, de esta forma, la fecha es igual que en el caso anterior, pero, la hora es las 09:00.
  • jrnl at 6am: titulo. contenido. Fecha actual y la hora las 6 de la mañana.
  • jrnl yesterday: titulo. contenido. Ayer a las 9 de la mañana.
  • jrnl yesterday at 7 pm: titulo. contenido Ayer a las 7 de la tarde.
  • jrnl saturday night: titulo. contenido. El pasado sábado por la noche. En este caso asigna las 21:00 horas.
  • jrnl 7 june 2020 at 7 pm: titulo. contenido El próximo 7 de junio a las 19:00 horas.

Si te fijas, en el caso de indicar fechas relativas como saturday o 7 june siempre se refiere a fechas pasadas. Si quieres que especifique fechas en el futuro tienes que ser muy claro.

Marcar tus entradas favoritas

Es posible indicar que una o varias de tus entradas son favoritas. Para hacer esto, simplemente tienes que añadir un asterisco, *, justo después de la fecha, y antes de los dos puntos. En el caso de que no quieras poner la fecha, puedes añadir el asterisco justo antes de la primera palabra de tu entrada, o después de la última, pero sin dejar espacio.

Por ejemplo,

jrnl *esta es una entrada importante
jrnl esta es una entrada mas importante*

Usando etiquetas

Por supuesto y como no podía ser de otra manera jrnl, también permite el uso de etiquetas. Etiquetas que te van a permitir luego realizar búsquedas mas selectivas. Pero no solo esto, sino que además vas a poder integrarlas perfectamente en tu texto. Por ejemplo,

jrnl este es un @libro de la categoria @comedia

Si quieres ver todas las etiquetas que has utilizado en tu diario, y además ver las estadísticas de uso de esas etiquetas, puedes utilizar jrnl --tags.

¿Como ver las entradas de tu diario?

Por ahora ya tienes perfectamente dominado, esto de añadir entradas en tu diario, pero, ¿como puedes ver todas tus entradas?. Esto es tan sencillo como ejecutar,

jrnl -s

Si solo quieres ver las 5 últimas, la instrucción será la siguiente,

jrnl -n 5

Si quieres ver todas las entradas que tengan la etiqueta @libro entonces,

jrnl @libro

Pero si solo quieres ver la última etiqueta con la etiqueta libro, entonces la instrucción a ejecutar es,

jrnl -n 1 and @libro

Por supuesto que además puedes filtrar por fechas, para lo que puedes utilizar las opciones -until y/o -from, y combinarlo con todo lo que has visto hasta el momento. Así por ejemplo,

jrnl -from 2020-03-02 -until 2020-03-06 @libro

Esto te filtrará todas las entradas entre el día 2 y el día 6 y que además tengan la etiqueta @libro.

Editar y borrar

Por supuesto, en cualquier momento, siempre puedes tener la tentación de querer editar una entrada, o borrar una entrada en concreto. Incluso puedes querer editar varias entradas o borrar varias entradas. Sea como fuere lo que quieras hacer la operativa es exactamente la misma. Simplemente tienes que añadir la opción --edit. Por ejemplo, para el mismo caso anterior,

jrnl -from 2020-03-02 -until 2020-03-06 @libro --edit

¿Y si quieres borrar?, pues es tan sencillo como entrar en el modo edición y borrar todo el contenido. De esta manera desaparecerán esas entradas del diario.

Algunas cuestiones realmente interesantes

Si hasta ahora todo lo que te he contado te parece poco, indicarte que jrnl, te permite modificar algunos parámetros que seguro te resultarán increíblemente interesantes.

Así, por ejemplo, es posible utilizar varios diarios de forma paralela. Para ello, tienes que editar el archivo de configuración que se encuentra en ~/.config/jrnl/jrnl.yaml. En este archivo encontrarás el parámetro journals que te permite definir varios diarios. Por ejemplo, puedes establecer uno personal y uno de trabajo. Por ejemplo,

De esta manera, si quieres añadir una entrada en tu diario de trabajo solo tienes que anteponer trabajo a la entrada en cuestión. Por ejemplo,

jrnl trabajo today at 5pm: Reunión. @reunión de trabajo

Además de esto también puedes modificar otros parámetros, como puede ser el editor, que en mi caso como te puedes imaginar es Vim, el formato de fecha y hora, si las etiquetas se resaltan o si quieres que tu diario se cifre utilizando AES.

Sobre el cifrado

Como he comentado en diferentes puntos de este artículo, jrnl te permite cifrar tu diario. Pero no solo te permite cifrar tu diario desde el principio, sino que también puedes decidir cifrarlo en cualquier momento. Para ello tan solo tienes que ejecutar la instrucción,

jrnl --encrypt

Esto te pedirá una contraseña, y por supuesto que la confirmes. A partir de este momento cada vez que quieras hacer cualquier operación necesitarás introducir esa contraseña.

Por otro lado, si en un momento determinado, te cansas de la contraseña, siempre puedes eliminar el cifrado con la otra opción que tiene jrnl para esto. Simplemente ejecutar,

jrnl --decrypt

Instalación

jrnl no se encuentra en los repositorios oficiales de Ubuntu. Sin embargo, no quiere decir que vaya a ser difícil instalarlo, ni mucho menos. Se trata de una aplicación implementada en Python, y que puedes instalar utilizando el sistema de paquetería de este lenguaje de programación. Así, simplemente, tienes que abrir un terminal y ejecutar la siguiente instrucción,

pip3 install --user jrnl

Conclusión

Simplemente me parece una herramienta verdaderamente excepcional. Es cómoda, sencilla práctica. No necesitas de nada especial para editar, salvo en el caso de que el diario lo tengas cifrado. Puedes llevarlo donde quieras, abrirlo donde lo necesites para consultarlo. En fin…

No se si convertirla ya de hecho en mi herramienta por defecto para llevar el diario del trabajo. A ver si tengo suerte y en los próximos días puedo instalarla sin mucha complicación.


Más información,

Imagen de portada de Estée Janssens en Unsplash

1 comentario en “Un diario en el terminal

  1. DE
    Deivis Diaz hace 10 meses

    Hola! Felicitaciones por tu trabajo! Te comento que uso EndeaourOS y me funciona de maravilla! Los pasos para instalar en Arch son:
    git clone https://aur.archlinux.org/snapd.git
    cd snapd
    makepkg -si

    sudo systemctl enable –now snapd.socket

    sudo ln -s /var/lib/snapd/snap /snap

    sudo snap install jrnl –edge

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *