Cómo Usar Script para Convertir OneNote a Obsidian

CONTENIDO

  1. Historia (Opcional)
  2. Descargar Script desde GitHub
  3. Trabajar con Copias de seguridad si usamos macOS
  4. Abrir copias de seguridad de OneNote en Windows
  5. Ejecutar el script ConvertOneNote2Markdown
  6. Resultado de la Ejecución
  7. Verificar resultados
  8. Ahora solo falta abrir estas carpetas en obsidian

En esta oportunidad vamos a explicar un sencillo procedimiento para poder migrar notas desde la herramienta Microsoft OneNote a Obsidian. La version para macOS tiene cierta limitante y diferencias comparada con la version para Windows y es la razón principal por la que muchas veces necesitamos un sustituto para gestionar nuestras notas.

Historia (Opcional)

La razón de hacer esto fue debido a que OneNote limita el tamaño de nuestras notas y cuando tenemos muchas imágenes, puede llegar a ser un dolor de cabeza. Todo comenzó el día que tuve una falla en mi Mac y tuve que cerrar la sesión de mi OneNote, que estaba abierta hacía mas de 2 años. Gran sorpresa al percatarme que gran parte del contenido, no había sido sincronizado en OneDrive pese que éste contaba con espacio suficiente y el check de sincronización online se mostraba activo en el Microsoft OneNote.

Al verificar en el OneNote Online fue cuando realmente me preocupé, la notas sincronizadas estaban incompletas y muchas nisiquiera habían iniciado su sincronización. ¿Que hubiera pasado si pierdo el laptop? me hubiese quedado sin muchas de mis notas que han sido de gran apoyo durante mi vida profesional. Si bien algunas de estas las comparto en mi blog nachoaprendevirtualizacion.com, muchas otras no son para tal fin.

En resumen, ese fue una alerta para sacar mi información de esa herramienta lo mas pronto posible. Como moraleja, NO confíen su información valiosa a Microsoft OneNote!

En la búsqueda de un sustituto para mis notas encontré Obsidian, que básicamente es un gestor de notas que aprovecha características de Markdown. Hay mucha información en la web sobre esta herramienta, así que no nos detendremos a hablar de ella y vamos al grano. ¿Como hice para migrar mis notas de Microsoft OneNote a Obsidian? A continuación te lo explico.

Descargar Script desde GitHub

Lo primero que debemos hacer es descargar un script desde GitHub que hace toda la magia, y después de haber probado varios desarrollos, este fue el que a mi parecer funciona mejor.
Vamos entonces aquí para descargar el ConvertOneNote2MarkDown.

Para descargar el contenido del repositorio solo debemos hacer click en Code -> Download ZIP

Pasted image 20240106132540.png

Al descomprimir el contenido del .zip deberíamos ver algo como lo siguiente

Pasted image 20240106133244.png

Nota: Si estamos usando dispositivo Mac como en mi caso, recomiendo descargar el .zip en otro equipo con Sistema Operativo Windows, utilizar un VMware Fusion o VirtualBOX para ejecutar una VM windows si es que no tenemos otro dispositivo. Para este caso utilizaré VMware Fusion.

Trabajar con Copias de seguridad si usamos macOS

Debido a que nuestro objetivo es migrar nuestras notas de Microsoft OneNote (macOS) a Obsidian (macOS), debemos sacar una copia de la carpeta que contiene las copias de seguridad de Microsoft OneNote en nuestro Mac.

(Si usamos macOS) Vamos a la aplicación Microsoft OneNote -> OneNote -> Preferences…

Pasted image 20240106130238.png

Click en Backup

Pasted image 20240106130256.png

Click en Open Backup Folder

Pasted image 20240106130337.png

Dentro de esta carpeta podemos ver todas las Secciones que tenemos dentro de nuestro notebook. En este caso el notebook que me interesa migrar es el que dice bloc de notas de diego Felipe.

En este punto debemos sacar una copia de toda la carpeta o de los archivos con extension .one que deseamos migrar con el script.

Nota: Ten presente esta carpeta si vas a utilizar un hipervisor dentro de tu mac, o copia este contenido a una Memoria Externa si vas a usar otro dispositivo Windows para ejecutar el script. Para este caso he creado una carpeta compartida con la VM y así poder leerla desde el OS Windows.

Abrir copias de seguridad de OneNote en Windows

El script que vamos a utilizar funciona en Windows de manera que para poder migrar las Notas de OneNote a Obsidian vamos a tener que usar una maquina virtual windows, como lo comenté anteriormente.

Verificar la ruta de instalación de OneNote en Windows

Una vez dentro del equipo con Sistema Operativo Windows, sea este una maquina virtual u otro equipo físico, debemos por supuesto instalar el Microsoft OneNote si es que no lo tenemos ya instalado.

Lanzamos la aplicación y vamos a Archivo -> Información, para verificar la ruta default de la carpeta My Notebook, donde se almacenan los archivos .one.

Pasted image 20240106125921.png

Mover Copias de seguridad a la carpeta de My Notebook

para mover los archivos .one desde las copias de seguridad de Microsoft OneNote (macOS) a nuestro dispositivo físico o virtual basado en Windows, tenemos dos opciones:

Opción 1

Simplemente copiamos todas los archivos que vimos en las copias de seguridad de OneNote (macOS), a la ruta que acabamos de verificar para el OneNote (Windows). En la imagen anterior vemos que la ruta para este caso es C:\user\Administrator\Documents\OneNote Notebooks\My Notebook. Podría ser diferente de manera que recomiendo revisarla primero.

Pasted image 20240106125948.png

Opción 2

Dentro de OneNote (Windows) vamos a Archivo -> Información -> Abrir copias de seguridad

Pasted image 20240106131852.png

y seleccionamos desde nuestra Memoria Externa, o carpeta compartida, todos los archivos que queremos migrar a Obsidian.

Pasted image 20240106132021.png

Nota: La Opcion 1 y Opcion 2 generan el mismo resultado.

Abrir el OneNote Windows y verificar que vemos las secciones correctamente

Una vez hemos agregado los archivos .one que me interesan migrar, dentro de la carpeta My Notebook, podemos ver que dentro de la aplicación Microsoft OneNote aparecen cada una de las Secciones con sus correspondientes Paginas.

Pasted image 20230613004258.png

Nota: En este punto recomiendo, ordenar la paginas por orden de creación con el fin de tener una consistencia con el orden en el que serán migradas en Obsidian, para esto podríamos utilizar alguna de las macros de Onetastic, que es básicamente una extensión para OneNote que permite automatizar tareas.

Pasted image 20240106184701.png
Pasted image 20240106185155.png

Ejecutar el script ConvertOneNote2Markdown

Abrir una ventana de PowerShell y navegar hasta la ruta donde dejamos descargado el script desde GitHub utilizando el comando cd.

Para lanzar el script basta con ejecutar el comando .\ConvertOneNote2MarkDown-v2.ps1

Pasted image 20240106133426.png

Una vez ejecutado el script, debemos comenzar a responder a cada uno de los inputs con los siguientes datos que me han funcionado de manera correcta:

dryRun: 0
notesdestpath: c:\temp\notes
targetNotebook:
usedocx: 2
keepdocx: 2
docxNamingConvention: 2
prefixFolders: 1
mdFileNameAndFolderNameMaxLength: 200
medialocation: 2
conversion: gfm+pipe_tables-raw_html
headerTimestampEnabled: 1
keepspaces: 1
keepescape: 1
newlineCharacter: 1
exportPdf: 1

Notas:

  • Por default la ruta de destino de la conversion sera c:\temp\notes pero podemos elegir una diferente
  • Cuando utilizamos el metodo de conversion por default podriamos experimentar que todas las imagenes migradas desde oneNote quedan con un caption similar al siguiente {width="12.072916666666666in" height="6.65625in"} para evitar esto ver aquí) o configurar el siguiente valor en el input `conversion = ‘gfm+pipe_tables-raw_html’
  • Para comprender mejor lo que significa cada opción podemos leer la documentación del script que se encuentra en el mismo link de descarga.
Pasted image 20240106133931.png
Pasted image 20240106134002.png

Una vez terminamos de responder a cada uno de los imputos, comienza el proceso de migración.

Pasted image 20240106134024.png

Resultado de la Ejecución

Como resultado de la ejecución vamos a tener una vista como la siguiente, donde podemos ver que el script se ha ejecutado de manera satisfactoria y sin errores. Si en este punto obtiene algunos errores por lo general estan asociados a la falta de memoria RAM del equipo Windows donde esta ejecutando el script.

Pasted image 20230613004313.png

Verificar resultados

En mi caso tenia demasiadas notas así que decidí hacer la migración en oleadas. Esto significa que copiaba a la carpeta de My Notebook en OneNote (Windows) no mas de 20 archivos .one, esto debido a que algunas de mis notas tenian demasiado contenido y podia tardar horas la migración y eventualmente generar un error por falta de memoria en la maquina virtual windows que estoy usando. Así que si tienes notas muy grandes, recomiendo migrar las notas por grupos.

El resultado de la migración, como lo comente anteriormente, aparece por default en c:\temp\notes. Sin embargo, esta ruta puede ser especificada cuando lanzamos el script e ingresamos el valor del input notesdestpath:

Pasted image 20240106134809.png
Nota: Es importante notar que antes de iniciar con un grupo nuevo, debemos eliminar las secciones que ya migramos desde la interface gráfica de One Note (windows) antes de pegar o importar los archivos del nuevo grupo. Esta operación aunque se puede tambien hacer simplemente eliminando los archivos de la carpeta My Notebook, aquí recomiendo hacerlo por la interface ya que del otro modo muchas veces el OneNote no actualiza el contenido y genera un error que nos hace tener que reiniciar todo el sistema operativo para que el OneNote (Windows) vuelva a funcionar.

Pasted image 20240106135216.png

Bueno, continuando la verificación, podemos ver dentro de la oleada 1 (grupo 1), la notas migradas a Obsidian tiene una estructura de carpetas, donde cada carpeta representa una sección en Microsoft OneNote.

Pasted image 20240106135617.png
Dentro de cada carpeta vamos a tener una carpeta que se llama media donde se almacenan las imágenes y unos archivos con extension .md que contienen la información de lo que serian Paginas en Microsoft OneNote.

Nota: La creación de la carpeta media, esta controlada por el input del script medialocation: 2

Pasted image 20240106135829.png

Ahora solo falta abrir estas carpetas en obsidian

Recordemos que hasta este punto estaba trabajando en una maquina virtual (VM) Windows, de manera que en este punto debo copiar todas las carpetas de cada oleada de migración a una única carpeta en macOS que contenga toda esa información y que sera el destino de mi Vault en la nueva herramienta Obsidian. En este caso he creado una carpeta llamada Obsidian – Personal Notes que contiene el resultado de cada una de las oleadas.

Pasted image 20240106140402.png

Ahora en Obsidian usaremos la opción Open Folder as Vault y le indicamos la carpeta donde tenemos todas nuestras notas migradas.

Pasted image 20240106140544.png

Voila!, tenemos todo nuestro contenido de OneNote (macOS) ahora en nuestro Obsidian (macOS)

Pasted image 20240106143201.png
Pasted image 20240106143251.png

Nota: Si su caso es migrar de Microsoft OneNote a Obisidan en un entorno basado en Windows, algunos de los pasos indicados exclusivamente para macOS pueden ser omitidos. Recordemos que al final quien hace la magia es el script y lo que necesitamos conseguir es la estructura de carpetas que se generan como resultado de la ejecución, para configurar nuestro Vault en Obsidian.

Deja un comentario