Cómo gestiono mis tareas y notas con org-mode

Aquí hablaré del programa que uso para organizar información; se llama org-mode. Lo uso para tomar notas sueltas, organizar ideas, traducir textos, enlazar informaciones, publicar informes, clasificar tareas, archivar datos, … Para mí es algo esencial tener un programa especializado en manejar información, pues es algo que hago a diario (de hecho la informática es el tratamiento automatizado de la información).

org-mode es en realidad una pequeña parte del gran editor de texto GNU Emacs; los ficheros .org se ven por tanto ahí dentro. Los exporto a HTML en varias secciones de mi web; por ejemplo en mi lista de cosas por hacer, en donde se mezcla muchísima información, tanto abstracta como específica. Me siento obligado a explicar org-mode para disculparme, pues desde tu navegador web quizás te resulta incómodo tratar con tanta información junta. Creo que org-mode es mejor para esto que los navegadores WWW actuales, y aquí explicaré por qué.

Escrito en enero 2010 (e igual de válido en 2023). Daniel Clemente Laboreo (web, correo). Este fichero .html se ve mejor abriendo el .org con org-mode (Emacs)

Otras listas: Índice (varias tareas) Temas de investigación (tareas mayores) Emacs Bazaar Conkeror Sobre este sistema (y org-mode)


Índice


1. Qué hace org

Org hace un poco de todo en lo referente a organización:

  • esquemador: permite plegar y desplegar secciones del texto que escribes. Así puedes ver un esquema general, o la versión con todos los detalles, o cualquier intermedio
  • gestión de tareas: a cada sección le puedes poner una palabra clave como HACER / HECHO / CANCELADO para organizarte las cosas por hacer y hechas
    • las tareas se pueden asignar a un día, se les puede marcar fecha límite, prioridad y hasta una estimación de esfuerzo
    • se pueden cronometrar tareas y luego generar informes de dedicación del tiempo
    • todas las tareas aparecen en una agenda diaria, semanal, mensual o anual, que puedes personalizar mucho
  • publicación de documentos, pues exporta a HTML, LaTeX, PDF, …
  • otras cosas: programación literaria, tomar notas rápidas, gestión de ficheros adjuntos, hoja de cálculo, integración con muchos otros sistemas

Org trabaja únicamente con ficheros de texto tradicionales (.txt, aunque se les llama .org). Te proporciona teclas y menús para cambiar el estado de una tarea (ej. de HACER a HECHO), pero también puedes hacerlo tecleando el nombre del estado en el título (es lo mismo; org lo entiende igual). Al ser texto puedes usar cualquier editor (no estás ligado a uno concreto) y además puedes almacenar tus ficheros en un control de versiones (como Bazaar, Subversion, Git, CVS, …), cosa muy útil para mantener una misma información en varios sitios.

En fin, que es muy potente y va muy bien. Además se hace fácil de aprender porque sólo aporta extras a la edición, y todo lo que no entiendes lo puedes ignorar. No entorpece. Al igual que con Emacs, creo que vale la pena invertir tiempo en conocer en profundidad una herramienta tan básica. Así que ¡prueba org-mode! Si usas Emacs ya lo tienes instalado; abre cualquier .org para usarlo.

1.1. Ejemplo de cómo veo la información

Así trabajo normalmente; se ve la interfaz de GNU Emacs mientras edita un fichero llamado proj.org (que es una lista de tareas mías). Verás que no hay ni barra de menús, ni de desplazamiento, ni botones: los he quitado porque me molestan. Todo Emacs es muy personalizable y puedes adaptarlo a tu estilo. Aquí va la captura:

org-ej1.png

Ese fichero es un fichero de texto que podías haber escrito a mano con cualquier otro editor. Pero está abierto en Emacs y gestionado por org-mode, por lo que algunos símbolos y palabras se interpretan de forma especial. Permíteme mostrar la misma imagen pero anotada con varias de las cosas que proporciona org-mode:

org-ej1-comentado.png

2. Configuración que uso en mi página

En mi página web tengo publicada mi lista de cosas por hacer y la genero mediante org. Explicaré cómo he adaptado org para eso.

2.1. Palabras clave que uso

Org-mode es la base, pero el estilo de organización lo pone cada usuario. Org viene con dos tipos de tareas, llamadas TODO y DONE, para marcar una tarea por hacer y otra hecha, respectivamente. Yo he decidido, después de mucho probar durante años, que me va mejor este otro conjunto de estados:

  • estado FARU: tarea por hacer (que puedo empezar en cualquier momento), y que quiero ver acabada porque me bloquea o me estresa
  • estado BONUS: tarea interesante, que estaría bien ver hecha, pero que no corre prisa, no me estresa, y no pasa nada si no la hago
  • estado ATENDAS: tarea por hacer pero en la que no puedo dar yo ningún paso porque espero cierto evento externo
  • estado IS: tarea completada (por mí o por otra persona)
  • estado MALFAR: tarea que no haré y que descarto, quizás porque estaba mal planteada, o porque no es necesaria, o porque no tendré tiempo

Los nombres de los estados (esas palabrejas) me los he inventado pero tienen bastante significado para quien entienda Esperanto. Si las ves por mi página, ahora ya sabes qué significan: ¡Hay que hacer los FARU y BONUS y convertirlos en IS!

2.2. Cómo exporto las páginas desde org-mode hasta HTML

Yo leo y escribo mis tareas directamente desde dentro de Emacs. Pero cuando me toca actualizar mi página, las exporto a HTML. Para eso uso el sistema org-publish que viene con Emacs, y le aplico esta configuración: mi configuración de org-publish. Entonces con C-u M-x org-publish-project se exporta todo; luego me quedo con los ficheros HTML que me interesan.

Nota aburrida: En realidad la exportación es más complicada: tengo diferentes ramas en un control de versiones distribuido, y antes tengo que mezclarlas (sólo afectando a los .org), entonces exporto a .html sólo en una de las ramas, entro los .html en esa rama, después subo todos esos cambios a un repositorio remoto donde guardo las ramas, resuelvo conflictos si los hay, y además desde ahí subo la rama final al servidor donde tengo la web, asegurándome de actualizar los ficheros reales y no sólo el índice.

No es un sistema muy cómodo pues es bastante manual. Tengo que mejorarlo, pues si cuesta tanto se me quitan las ganas de actualizar mi página… :-( ¿Te apuntas a buscar una solución org+bzr+HTML+ssh elegante para estos casos?

2.3. Esquemado interactivo al estilo Org pero dentro del navegador

Al pasar mis notas de .org a .html me di cuenta de que sería muy bestia poner tanta información junta en una página web; algunas secciones son de más de mucho más de 50 folios si se imprimieran.

Así que he programado un sistema para que en la página web puedas ver las cosas de forma más sencilla, imitando un poco el cómo lo verías dentro del Emacs. Lo puedes probar en el resto de secciones, por ejemplo en la lista de tareas de Emacs, que tiene mucha información. Las únicas funciones que he puesto son el expandir y contraer secciones, o sea, el "esquemado", que era necesario para no perderse en tanta información.

Varias notas:

  • al hacer clic en una cabecera, se expande. Al hacer clic otra vez, se contrae. Se usan colores distintos para una sección contraída y para una expandida
  • puedes desactivar todo este sistema y ver toda la información seguida (o sea, lo normal): para eso he puesto un enlace arriba a la derecha en la 1ª cabecera
  • el programita se compone de esquemadorg.js, esquemadorg.css (aunque este CSS es mejor), y jquery. Lo puedes usar en tus páginas
  • si algo es confuso, avísame o propónme mejoras

2.4. Resto de configuración que uso en Emacs

En esta otra página (enorme) he publicado mi configuración de Emacs, incluyo decenas de optimizaciones y extensiones de org-mode que uso en mi día a día.

2.5. Mejoras al sistema de publicación

org-mode es muy bueno pero yo soy más exigente. Necesito un mejor sistema de hipertexto.

3. Comentarios

¿Te gusta org-mode? ¿Lo probarás? A mí me gusta mucho; lo uso cada día y ya es la base de mi forma de trabajo.

Creo además que puede ir bien para difundir información bien organizada, sobre todo tareas. En esto compite contra el HTML, y creo que org gana por todo lo que ofrece (edición, enlaces fáciles, tipos de tareas, prioridades, te apuntas cosas en tu propia agenda, gestión de tiempos, integración entre muchos medios, fácil de escribir, …).

De hecho me gustaría poder publicar información directamente en formato .org y evitarme generar el HTML, pero entiendo que no todos podrían leerlo; por eso hice un visualizador HTML de .org. Pero sería mucho más bonito y útil crear una red (como WWW) de ficheros .org, donde se pudiera hacer todo lo que se puede hacer con la información en org pero con cualquier información presente en Internet. Precisamente una idea loca que tengo es integrar la World Wide Web en org-mode

Si a ti también te apasiona la organización de información y tienes comentarios o ideas para simplificar todo esto, cuéntamelas (o escribe a la lista de org-mode).