12.06 - 📹 Obsidian y Anki - Anki Macrocurso

MÓDULO 12 - Integración de Anki con otras apps - Anki Macrocurso

◁ Lección anterior | Próxima lección ▷


Intro

Como iré actualizando los métodos según haya alguno que supere a otro o, simplemente, porque habéis encontrado mejores alternativas y me las haréis llegar, haré más lecciones al respecto de la integración de Obsidian con Anki o, en una misma lección, las agruparé todas, ya veremos cómo se hará.

Crearé una bóveda nueva en Obsidian para que no me dé ningún tipo de problema, porque en mi bóveda principal se me crashea y congela la bóveda por el addon.

Conexión Anki-Obsidian manual

Archivos .md y .txt

Exportación desde Obsidian a Anki

  1. Crear una nota de Obsidian
  2. Cada fila será una nueva tarjeta
  3. Primero tendremos el anverso y, separado por un ;, el reverso
  4. Exportamos el archivo MarkDown (.md)
    1. Podemos, simplemente, clicar en Mostrar en el explorador del sistema
    2. El archivo seleccionado es el que importaremos en Anki.
  5. Importamos a Anki y elegimos "Valores separados por comas" para ello en un tipo de nota Básico.
    1. Si elegimos un tipo de nota con más campos, tendremos que crear más contenido separado por comas para que cada uno pertenezca a un campo. En la lección de Excel y Anki se explica esto con más detalle, así como en la lección referente a la importación en Anki.

Obsidian y Anki - Nota de ejemplo para conexión manual

Exportación desde Anki a Obsidian

  1. Exportar mazo de Anki como Notas en texto plano (*.txt)
    1. No incluir ni referencias a HTML ni etiquetas (por lo menos, a mí no me interesaría)
  2. Colocar el nuevo archivo .txt en la bóveda de Obsidian
    1. O, directamente, abrir el archivo .txt, copiar y pegar todo el contenido en una nota de Obsidian
  3. Ya podemos observar estos archivos .txt desde Obsidian

Tablas markdown y CSV

  1. Edición con Markdown Table Editor en Obsidian
    1. Instalar el plugin en Obsidian Markdown Table Editor
    2. En la nota Obsidian y Anki - Nota de ejemplo para conexión manual podemos hacer clic en el nuevo icono que nos aparece en el menú lateral izquierdo
    3. Podemos modificar la nota usando este plugin
  2. Exportación con Table to CSV Exporter en Obsidian
    1. Instalar el plugin Table to CSV Exporter
    2. Paleta de comandos Table to CSV Exporter: Export table to CSV file
    3. Buscarlo en el explorador de archivos de nuestro sistema (local)
  3. Importamos el archivo CSV a Anki

Obsidian_to_Anki (Export to Anki)

Instalación de los complementos

Con el complemento de Obsidian "Export to Anki", anteriormente llamado "Obsidian_to_Anki", conseguiremos exportar fragmentos de texto dentro de una nota de obsidian que posean el código específico que sirva como detonante para que dichos fragmentos de texto se exporten a Anki. La idea con este complemento sería el poder crear tarjetas más rápidamente y, además, tener la opción de pulsar un botón que nos abra la nota específica de Obsidian cuando estemos repasando una tarjeta, para poder ver su información contextual.

Para instalar Export to Anki: Ajustes > Plugins de terceros > Buscar > Export to Anki.

El intermediario entre Obsidian y Anki, es decir, la parte necesaria para poder sincronizar Obsidian con Anki es instalar un complemento de Anki llamado AnkiConnect.

Configurar AnkiConnect con el plugin de Obsidian

En Anki, ve a Herramientas > Complementos > AnkiConnect > Configuración, y cámbialo para que se vea así:

{
    "apiKey": null,
    "apiLogPath": null,
    "webBindAddress": "127.0.0.1",
    "webBindPort": 8765,
    "webCorsOrigin": "http://localhost",
    "webCorsOriginList": [
        "http://localhost",
        "app://obsidian.md"
    ]
}

Tras hacer esto, reiniciamos tanto Anki como Obsidian para asegurarnos que no haya ningún tipo de problema. De paso, tras reiniciarlo, os explico que existe ahora un nuevo icono en nuestro menú izquierdo referente a este plugin, con función de escanear nuestra bóveda para poder enviar las tarjetas de Obsidian a Anki.

Pasted image 20240513180309.png|37

De paso, comentar que tras reiniciar Obsidian la configuración de este complemento ya está disponible. Ajustes > Obsidian_to_Anki. Aquí vemos la nomenclatura y opciones a modificar.

Configuración del plugin de Obsidian

En la configuración del complemento, vemos la sección "Note type settings", que nos muestra los tipos de notas que tenemos en nuestro perfil activo de Anki, es formato tabla. Estos tipos de nota tendrán que escribirse de manera literal en el estilo predeterminado, así como sus campos, en la nota de Obsidian que usaremos como recipiente de nuestras futuras tarjetas. Si tu tipo de nota tiene un acento, como en la palabra "Básico", debes ponerlo en el texto de Obsidian. Cada vez que cambiéis de perfil en Anki, tendréis que regenerar de nuevo la tabla para que se actualicen los tipos de notas (Actions > Regenerate Note Type Table). Aunque esto dependerá del estilo que escojamos para crear nuestras tarjetas, pero yo por si acaso aviso.

En la sección "Folder settings" encontraremos todas las carpetas de nuestra bóveda de Obsidian y, además, podremos configurarlas de tal manera que cada carpeta de Obsidian en el que exista la nota de Obsidian creadora de tarjetas se vaya directamente a un mazo predeterminado de Anki, así como la creación de su tarjeta predeterminada (en la bóveda que compartió Luis Letona se ejemplifica esto mejor). Ejemplo en vídeo de cómo Luis Letona lo explicó.

En la sección Syntax Settings es donde encontramos la nomenclatura y sintaxis específica que tendremos que poner en nuestra nota de Obsidian para que ese intermediario que hemos instalado, AnkiConnect, sepa qué partes de texto tiene que coger y qué debe hacer con ellas.

De manera predeterminada están rellenados así estos campos:

Pero yo recomiendo este estilo más abreviado:

Pasted image 20240513180457.png|500

De paso, comento, que esto solo se utiliza con el estilo predeterminado, sin Regex, del plugin. Ya veremos en qué se diferencian.

En la sección de Defaults, encontramos:

Creación de flashcars y estilos

Intro

Vamos a crear una nota en Obsidian para que sirva como recipiente del texto que será usado para crear flascards en Anki.

Existen varios estilos con su sintaxis propia. Distinguimos los estilos en 2 grandes grupos.

Pasted image 20220813170324.png|440

Pasted image 20240608150339.png|500

Estilo Neuracache

El estilo Neuracache es que usaremos por su simpleza y naturalidad. Para ello, nos iremos a esta página y copiaremos el siguiente código en la sección Custom Regexp del tipo de nota básico:

((?:[^\n][\n]?)+) #flashcard ?\n*((?:\n(?:^.{1,3}$|^.{4}(?<!<!--).*))+)

Cabe destacar que si quieres poner otro tipo de etiqueta en vez de #flashcard, solo que en la tabla con los tipos de notas del complemento lo debes reflejar así. Lo ideal sería poner subetiquetas a esta etiqueta madre para diferenciar entre tipos de nota, por ejemplo: flashcard/basica o flashcard/reversa.

Ahora conseguiremos crear tarjetas básicas y tarjetas básicas con respuesta invertida con este formato:

Pregunta 1 #flashcard/basico
Respuesta 1

Pregunta 2 #flashcard/reversa
Respuesta 2

Sincronizamos Obsidian con Anki (icono) y ya estaría.

Para el tipo de nota respuesta anidada o cloze debemos copiar el código ((?:.+\n)*(?:.*{.*)(?:\n(?:^.{1,3}$|^.{4}(?<!<!--).*))*) y metemos dicho fragmento de código en la tabla de tipos de nota. Recordad ahora activar la función de CurlyCloze para que lea las respuestas anidadas. Con una llave {} ahora creamos el hueco.

Por ejemplo:

Texto tipo respuesta {anidada}

Podemos crear tarjetas desde nuestras notas con texto a estudiar tarjetas Anki rompiendo un poco la estructura de dicha nota.

Estilo Callout

Regex line: (?:\> \[!anki\]-) ([^\n]+)\n(.+(?:\n(?:^.{1,3}$|^.{4}(?<!<!--).*))*)

Se pone en el tipo de nota que queramos. Luego, escribimos:

> [!anki]- Pregunta con callout
> Respuesta

Estilo Predeterminado

En mayo de 2024 Luis Letona me confesó que era el estilo que más usaba por no verse limitado a 2 campos, anverso y reverso, usando cualquier estilo con regex.

Se crean tarjetas simplemente escribiendo "START" y "END", o como hayamos configurado el plugin, pues, por ejemplo, Luis Letona me dio una gran idea y es que él usa en vez de "START" y "END" usa llaves: {{{ y }}}.

Recordad que para saber si las tarjetas se han creado en Anki, veremos el identificador antes del activador END, esto, aunque me repita, es importante.

Mazos, etiquetas y archivos multimedia

Si en el YAML de nuestra nota de Obsidian escribimos los metadatos DECK y TAGS conseguiremos elegir el mazo y las etiquetas de las tarjeta de dicha nota de Obsidian. Recordad añadir :: si queréis submazos o subetiquetas. Sobre todo para el estilo NeuraCache.

DECK:
TAGS: 

Se soporta el formateo de las tarjetas y la adición de archivos multimedia.

Usar Dataview para ver las etiquetas

```dataview
list
FROM #flashcard 
```

Etiquetas de Anki

¿Cómo hacer que Obsidian reconozca doble dos puntos dentro de su propio sistema de tags? Es un problema de Obsidian, no del plugin ni de Anki. La pregunta iría mejor en el foro de Obsidian. Yo no sé cómo resolverlo, por eso prefiero la forma "Tags: #Padre::hijo" no en propiedades sino en las flashcads individuales. Ello reconoce la jerarquía en Anki, pero solo las tags de jerarquía superior en Obsidian, es la mejor posibilidad Luis Letona ha encontrado.

Enlaces desde Anki a Obsidian con botón

Añadir enlaces desde Anki a Obsidian

  1. Usaremos para ello el addon de Anki Add Hyperlink (318752047)
  2. Copiamos la URL de la nota de Obsidian
  3. Clic en el icono de Add Hyperlink en Anki y rellenar los campos pertienentes
  4. Se verá así:
    1. Pasted image 20240608122207.png|320
    2. !500

Creación de un botón predeterminado

Ankiweb, Custom Frames, Quick Add y Power Search

Vídeo de Luis Letona a partir del minuto pertinente.

Para atajos de teclado para crear nuestras tarjetas más rápidamente y buscar con power search nuestras flashcards.


Comentar, de paso, que si se te ocurre renombrar, aumentar o eliminar campos en un tipo de nota de Anki que se esté usando por el plugin Obsidian to Anki, suele existir el problema de que el enlace de Obsidian de la flaschard de Anki se te puede mover a otro campo o, directamente, no aparecer. Como me comentar Luis Letona, realizó varios intentos para solucionar este problema que en la lección os muestro, pero el problema persistía. A veces se resolvía después de varios intentos. Otras veces le pareció más práctico empezar de nuevo, esto es, desinstalar el plugin y luego con el plugin recién instalado sin modificación alguna volver a colocar el campo definido para el enlace de Obsidian y otro para los encabezados (context) obviamente después de ya haber definido todo en anki. Me comentó, además, que la modificaciones en la plantilla de las flashcards como html, javascript, css no me han dado problema alguno en lo absoluto y desde entonces vive en paz con el plugin. Y ya, si se ve veo en la necesidad de modificar campos, mejor creo un nuevo tipo de flashcard y luego lo invoco en obsidian, sin regex.

PD: muchas gracias a Luis Letona por su tiempo para ayudarme a crear esta lección.


◁ Lección anterior | Próxima lección ▷

MÓDULO 12 - Integración de Anki con otras apps - Anki Macrocurso


Recursos


◁ Lección anterior | Próxima lección ▷

[[MÓDULO 12 - Integración de Anki con otras apps - Anki Macrocurso