DEV Community

Cover image for Mover notas automáticamente al crearlas en Obsidian
Esteban José Demarchi
Esteban José Demarchi

Posted on • Edited on

Mover notas automáticamente al crearlas en Obsidian

En este tutorial te mostraré cómo se puede automatizar la ubicación de nuevas notas al momento de crearlas en Obsidian.

Resultado

Move notes to folders automatically in Obsidian Example

Mover notas automáticamente a carpetas determinadas en Obsidian

Caso de Uso: Daily Meetings

Me gusta tener escrito lo que voy a mencionar en la Daily Meeting, intento hacerlo el día anterior o al menos antes de tenerla. Considero que hacer esto, trae los siguientes beneficios:

  • Se es más claro y conciso
  • La reunión fluye mejor
  • Se evita olvidar puntos importantes

Al escribir mis notas diarias, me encontré con la necesidad de organizarlas de acuerdo al mes ya que no me gusta tenerlas en un mismo directorio.

Pasos

Requisitos

Es necesario tener los siguientes plugins comunitarios instalados y habilitados en Obsidian:

Plugins necesarios

1 - Configurar los Plugins

Templater
  • Es importante habilitar que se ejecute lo definido en el template al crear una nueva nota Templater plugin configuración
Periodic Notes
  • Se debe activar 'Daily Notes' y elegir el formato definido para la nota. En mi caso utilizo DIA-MES-AÑO que sería DD-MM-YYYY
  • Hay que elegir qué template será el que utilizará cada nueva nota creada (el cuál crearemos a continuación)

Periodic Notes Configuracion

Calendar
  • Aquí no es necesario configurar nada adicional

2 - Crear el template

Crearemos un template que tendrá el script que hará que nuestra nota recién creada se mueva automáticamente a una carpeta determinada y la plantilla en sí.

daily_template

<%*
// Moves the note to the right month subfolder
// Expected note title {DAY}-{MONTH} or {DAY}-{MONTH}-{YEAR}
// Example: if note title is '02-05-2025' it will be moved to '5-May' folder

const DAILY_NOTES_FOLDER = "01 - Daily Notes"; // Main folder

const noteTitle = tp.file.title;
const [day, month, year] = noteTitle.split("-").map(Number);
const date = new Date(year, month-1, day);
const monthName = date.toLocaleString('en-US', { month: 'long' });
const monthFolder = `${month}-${monthName}`;

const path = `${DAILY_NOTES_FOLDER}/${monthFolder}/${noteTitle}`;
await tp.file.move(path);
%>

📝 Lo que hice ayer:
...
📌 Lo que haré hoy:
...
🚧 Bloqueos o impedimentos:
...
📢 Información relevante (opcional):
...
Enter fullscreen mode Exit fullscreen mode

Explicación del script:

  • A partir del título de la nota (recordemos que configuré DIA-MES-AÑO, pero puede ser el que desees) se extrae el día, mes y año
    • 11-04-2025 | Día: 11 , Mes: 04, Año: 2025
  • Se instancia un objeto Date para obtener dinámicamente el nombre del mes de acuerdo al lenguaje y formato que deseemos, en mi caso: nombre del mes completo en inglés
    • 04-April en este caso
  • Se mueve la carpeta a la carpeta principal que deseemos + la obtenida anteriormente para los meses
    • 01 - Daily Notes/4-April/11-04-2025.md

Notas Finales

Ahora sólo debes crear tus notas diarias presionando el widget de calendario y el resto será automático.

Puedes cambiar el formato del template como tu desees como así también si no prefieres Día-Mes-Año puedes cambiar y ajustar ligeramente el script y recuerda modificar el formato de las notas diarias en la configuración de Periodic Notes

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay