MemoScript Docs

Sintaxis de MemoScript

Un lenguaje basado en YAML para escribir tarjetas de memoria de forma rápida y expresiva.

MemoScript es una sintaxis YAML simple para crear tarjetas de memoria. Cada archivo es un array YAML de objetos de tarjeta. MemoScript admite cuatro tipos de tarjeta:

  • Básica — un par pregunta-respuesta con frente y dorso
  • Reversible — una tarjeta básica que también genera una versión invertida
  • Cloze — completar el espacio en blanco con {{marcadores}}
  • Opción Múltiple (MCQ) — una pregunta con opciones seleccionables

Ejemplo rápido

Editor YAML
Vista Previa en Vivo
basic

¿Cuál es la capital de Francia?

Respuesta:

París

reversible

Hola

Respuesta:

Hello

cloze

La mitocondria es la central energética de la célula

Respuesta:

mitocondria

mcq

¿Cuál es el planeta más grande?

Tierra
Marte
Júpiter
Saturno

Reglas generales

  1. Un archivo MemoScript debe ser un array YAML (cada elemento comienza con -).
  2. El tipo de tarjeta se detecta automáticamente a partir de los campos presentes.
  3. Prioridad de detección: campo cloze → campo choicesfront/back (con reversible opcional).
  4. Todos los valores de cadena se recortan de espacios en blanco iniciales y finales.
  5. Los campos desconocidos se ignoran — solo los campos reconocidos afectan al tipo de tarjeta.

Tarjetas Básicas

Una tarjeta Básica es el tipo de tarjeta más simple — una pregunta en el frente y una respuesta en el dorso.

Sintaxis

- front: Tu pregunta o enunciado
  back: Tu respuesta

Alias abreviados

Puedes usar Q/A (o en minúsculas q/a) en lugar de front/back:

- Q: ¿Cuál es la capital de Francia?
  A: París

- q: Define la fotosíntesis
  a: El proceso por el cual las plantas convierten la luz en energía química

Campos

CampoTipoRequeridoAlias
frontstringQ, q
backstringA, a

Qué crea

Una tarjeta Básica se representa como una tarjeta de dos caras. Durante el estudio, primero ves el lado frente y luego revelas el lado dorso para comprobar tu respuesta.

Reglas de validación

  • Tanto front como back deben estar presentes y no estar vacíos después del recorte de espacios.
  • Si front falta o está vacío → error: "Front side cannot be empty"
  • Si back falta o está vacío → error: "Back side cannot be empty"
  • Si también se establece reversible: true, la tarjeta se convierte en una tarjeta Reversible.

Pruébalo

Editor YAML
Vista Previa en Vivo
basic

¿Cuál es la capital de Francia?

Respuesta:

París

Ejemplos

# Sintaxis completa
- front: ¿En qué año terminó la Segunda Guerra Mundial?
  back: "1945"

# Abreviado
- Q: ¿Cuánto es 2 + 2?
  A: "4"

# Valores de varias líneas
- front: >
    Explica la diferencia entre
    una pila y una cola.
  back: >
    Una pila es LIFO (último en entrar, primero en salir).
    Una cola es FIFO (primero en entrar, primero en salir).

Tarjetas Reversibles

Una tarjeta Reversible es como una tarjeta Básica, pero también crea una segunda tarjeta con el frente y el dorso intercambiados. Esto es útil para vocabulario, traducciones o cualquier par que quieras estudiar en ambas direcciones.

Sintaxis

- front: Término A
  back: Término B
  reversible: true

El atajo Q/A también funciona aquí:

- Q: fotosíntesis
  A: 6CO₂ + 6H₂O → C₆H₁₂O₆ + 6O₂
  reversible: true

Campos

CampoTipoRequeridoAlias
frontstringQ, q
backstringA, a
reversibleboolean

Qué crea

Una entrada YAML produce dos tarjetas de estudio:

  1. Directa — frente → dorso (igual que una tarjeta Básica)
  2. Invertida — dorso → frente

Esto significa que escribir una tarjeta reversible te da el doble de material de estudio.

Reglas de validación

  • Las mismas reglas que las tarjetas Básicas — tanto front como back deben estar rellenos.
  • El campo reversible debe estar establecido explícitamente a true.
  • Si reversible está ausente o es false, la tarjeta se trata como una tarjeta Básica.

Pruébalo

Editor YAML
Vista Previa en Vivo
reversible

Hola

Respuesta:

Hello

Ejemplos

# Vocabulario de idiomas
- front: Hola
  back: Hello
  reversible: true

# Capitales
- front: Berlín
  back: Alemania
  reversible: true

# Símbolos químicos
- Q: Fe
  A: Hierro
  reversible: true

Tarjetas Cloze

Una tarjeta Cloze oculta una o más palabras dentro de {{dobles llaves}}. Durante el estudio ves la oración con espacios en blanco y debes recordar el texto oculto.

Sintaxis

- cloze: La {{mitocondria}} es la central energética de la célula

Múltiples espacios en blanco

Puedes tener tantos espacios en blanco como quieras en una sola tarjeta:

- cloze: "{{París}} es la capital de {{Francia}}"

Con opciones (cloze de opción múltiple)

Opcionalmente puedes proporcionar opciones de respuesta para cada espacio en blanco. El primer elemento de cada array debe coincidir exactamente con el espacio en blanco:

- cloze: El {{sol}} es una {{estrella}}
  options:
    - [sol, luna, planeta]
    - [estrella, planeta, asteroide]

Campos

CampoTipoRequeridoDescripción
clozestringTexto con {{marcadores}} para los espacios en blanco
optionsstring[][]NoOpciones de respuesta por cada espacio en blanco

Qué crea

Una tarjeta Cloze muestra la oración completa con las partes {{marcadas}} reemplazadas por espacios en blanco. Debes rellenar cada espacio en blanco para completar la tarjeta.

Cuando se proporcionan options, cada espacio en blanco se presenta como un selector de opción múltiple en lugar de un campo de texto libre.

Reglas de validación

  • El texto de cloze debe estar relleno después del recorte de espacios.
  • Debe contener al menos un {{marcador}} — error: "Cloze card must have at least one {{hidden}} marker"
  • Si se proporcionan options:
    • Deben ser un array de arrays (string[][]).
    • El número de arrays de opciones debe coincidir exactamente con el número de espacios en blanco — error si no coinciden.
    • Cada array de opciones debe tener al menos 2 elementos (la respuesta correcta más al menos un distractor).
    • El primer elemento de cada array debe coincidir exactamente con el texto del espacio en blanco correspondiente.

Pruébalo

Editor YAML
Vista Previa en Vivo
cloze

La mitocondria es la central energética de la célula

Respuesta:

mitocondria

Ejemplos

# Un solo espacio en blanco
- cloze: La {{mitocondria}} es la central energética de la célula

# Múltiples espacios en blanco
- cloze: "{{Newton}} publicó los Principia en {{1687}}"

# Con opciones para cada espacio en blanco
- cloze: La {{mitocondria}} es la {{central energética}} de la célula
  options:
    - [mitocondria, cloroplasto, ribosoma]
    - [central energética, fábrica, motor]

# Texto más largo
- cloze: >
    En {{1969}}, {{Neil Armstrong}} se convirtió en la primera
    persona en caminar sobre la {{Luna}}.

Tarjetas de Opción Múltiple

Una tarjeta MCQ presenta una pregunta con una lista de opciones. Las respuestas correctas se marcan con [corchetes].

Sintaxis

- front: ¿Cuál es el planeta más grande?
  choices:
    - Tierra
    - Marte
    - [Júpiter]
    - Saturno

Múltiples respuestas correctas

Encierra entre corchetes cada opción correcta:

- front: Selecciona todos los números primos
  choices:
    - [2]
    - 4
    - [5]
    - 6
    - [7]

Campos

CampoTipoRequeridoAlias
frontstringQ, q
choicesstring[]

Cómo funcionan las respuestas correctas

  • Una opción escrita como [Jupiter] se marca como correcta. Los corchetes se eliminan del texto mostrado — el estudiante ve "Jupiter", no "[Jupiter]".
  • Cualquier opción no envuelta en corchetes es un distractor incorrecto.
  • Puedes marcar una o varias opciones como correctas.

Qué crea

Una tarjeta MCQ muestra la pregunta en la parte superior y las opciones como elementos seleccionables. El estudiante elige una (o más) y la tarjeta revela qué respuestas son correctas.

Reglas de validación

  • front (o Q/q) debe estar relleno — error: "Front side cannot be empty"
  • choices debe ser un array con al menos 2 elementos — error: "MCQ card must have at least 2 choices"
  • Al menos una opción debe estar envuelta en [corchetes] — error: "MCQ card must have at least one correct answer marked with [brackets]"

Pruébalo

Editor YAML
Vista Previa en Vivo
mcq

¿Cuál es el planeta más grande?

Tierra
Marte
Júpiter
Saturno

Ejemplos

# Una sola respuesta correcta
- front: ¿Cuál es el símbolo químico del agua?
  choices:
    - CO2
    - [H2O]
    - NaCl
    - O2

# Múltiples respuestas correctas
- front: ¿Cuáles de estos son lenguajes de programación?
  choices:
    - HTML
    - [Python]
    - [JavaScript]
    - CSS

# Con el atajo Q
- Q: ¿Quién pintó la Mona Lisa?
  choices:
    - Miguel Ángel
    - [Leonardo da Vinci]
    - Rafael
    - Donatello

On this page