Este proyecto proporciona una implementación de Cloze basada en plantillas que:
Esto se logra puramente a través de JavaScript en la plantilla de tarjeta y una nueva aplicación de la función de generación de tarjetas selectivas (impresionante) de Anki. El gran beneficio de esto es que puede generar tarjetas Cloze a partir de notas existentes, para las cuales es posible que ya tenga cartas. No tiene dependencia del tipo de nota Cloze de Anki ni cualquier otro tipo de nota, lo que significa que no tiene que migrar sus tarjetas a un nuevo tipo de nota. Es compatible con Anki Desktop, Ankimobile y Ankidroid.
Comenzar es fácil. Puede descargar el mazo compartido o seguir las instrucciones para configurar las plantillas manualmente.
Sin embargo, replicar la funcionalidad ANKI con JavaScript y las plantillas de tarjetas no es el objetivo. El objetivo es una flexibilidad interminable. Puede agregar tarjetas Cloze a cualquier tipo de nota existente ("Cloze Anything") simplemente agregando nuevos campos y plantillas de tarjetas basadas en las instrucciones que se encuentran aquí. También puede modificar las plantillas por completo, usándolas simplemente como guía.
Con la configuración predeterminada, esto replica la funcionalidad Cloze de Anki. Sin embargo, la plantilla es altamente configurable y le permite hacer cosas que de otro modo no puede hacer fácilmente. A continuación se muestra un resumen de algunas características útiles de las plantillas y este enfoque.
[...] o [hint] en el caso de una pista. Las plantillas le permiten personalizar esto. Por ejemplo, podría usar subrayos y hacer que el formato sea ___ . O siempre puede incluir la pista, como en ___ [hint] . Además, en lugar de un número fijo de 3 caracteres, podría reemplazar cada personaje no espacial. Entonces podrías haber ((c1::ab cdef::hint)) convertirse en __ ____ [hint] .((c1::`a`bc `d`ef)) podría representarse como a__ d__ . Puede revelar selectivamente cualquier parte del contenido, no solo al principio. Tenga en cuenta que también puede hacer a((c1::bc)) d((c1::ef)) , sin embargo, la sintaxis de retroceso puede ser más conveniente.También se proporciona un complemento opcional que automatiza parte del trabajo manual (mínimo) que se requeriría al seguir este enfoque.
Hay dos opciones para comenzar:
También se recomienda instalar el complemento para que sea más fácil editar las tarjetas de cloze, pero no es necesario.
Similar a las plantillas de cloze de Anki, necesita un campo para contener el contenido de Cloze. Fuera de la convención, es una buena idea que el nombre del campo termine en Cloze en caso de que desee usar el complemento más adelante. Supongamos que lo nombra ExpressionCloze , como se sugiere en las instrucciones. El contenido de Cloze se ingresa en este campo de manera similar a las de las plantillas de cloze de Anki. La única diferencia es que en lugar del formato {{c1::text}} usa ((c1::text)) . Luego necesitas campos para habilitar cada una de las cartas de cloze. Entonces, suponga que desea admitir tres cloizes. Agregaría campos ExpressionCloze1 , ExpressionCloze2 y ExpressionCloze3 . Ingrese cualquier texto que desee en estos campos para habilitar la tarjeta Cloze correspondiente. Fuera de la convención, el complemento usa 1 .
Por ejemplo, suponga que desea crear cartas de cloze para cada una de las palabras en la expresión IK Heb Honger . Escribirías los campos como así:
Para una representación HTML de este ejemplo, consulte ejemplos de tarjeta frontal y posterior.
Debido a que cada uno de los campos de cloze tiene un valor no vacío de 1 , se generará una tarjeta para cada uno de c1 a c3 . Si eliminó el 1 de ExpressionCloze3 , se generará una tarjeta solo para c1 y c2 .
Involucremos en cómo funciona todo esto. Las instrucciones mencionadas anteriormente tienen la siguiente plantilla para la primera tarjeta de cloze. Observe que todo el contenido del frente de la tarjeta está rodeado por etiquetas condicionales basadas en ExpressionCloze y ExpressionCloze1 . Esto significa que ambos campos no deben estar vacíos para la creación de la tarjeta, debido a la forma en que funciona la generación de tarjetas ANKI. Entonces, si cualquiera de estos campos está vacío, la tarjeta correspondiente no se genera. El script ommiset simplemente analiza el número con el valor de data-card con el que termina y luego actualiza el contenido dentro del Cloze <div> en consecuencia. Entonces, si el valor de data-card es ExpressionCloze2 , entonces sabe ocultar el ((c2::text)) y mostrar a los demás.
{{#ExpressionCloze}}
{{#ExpressionCloze1}}
<div id="cloze" data-card="{{Card}}" data-cloze-show-before="all" data-cloze-show-after="all">
{{ExpressionCloze}}
</div>
{{Meaning}}
<script>
// .. ommitted ...
</script>
{{/ExpressionCloze1}}
{{/ExpressionCloze}}
Las plantillas también admiten sugerencias en las deleciones de Cloze, como en el sistema de Anki. Por ejemplo, para el siguiente ejemplo, heb sería reemplazado con [verb] en lugar de [...] .
((c1::Ik)) ((c2::heb::verb)) ((c3::honger)).
Para ver todos los detalles sobre cómo configurar las plantillas de su tarjeta manualmente, consulte las instrucciones. Alternativamente, puede usar el mazo compartido como punto de partida y usar las instrucciones como referencia en cómo modificarlo para satisfacer sus necesidades.
La plantilla tiene varias configuraciones para controlar cómo se representan las deleciones de Cloze. Consulte la configuración para más detalles.
El complemento hace dos cosas para facilitarle la edición de deleciones de Cloze al seguir este enfoque:
[...] de Anki en el editor para que pueda usarlo en otras notas además de las basadas en el tipo de cloze de Anki.ExpressionCloze (o el campo con nombre similar) a los otros campos ExpressionCloze1 , ExpressionCloze2 , etc. que habilitan las tarjetas Cloze correspondientes. El botón [...] se comporta igual cuando se usa en uno de los tipos de notas basados en el tipo de cloze de Anki. De lo contrario, sin embargo, si el nombre del campo termina en Cloze , como ExpressionCloze , entonces envolverá el texto seleccionado, como en ((c1::text)) . Esto es lo mismo que el comportamiento normal de Anki con Clozes, excepto que utiliza paréntesis en lugar de aparatos ortopédicos.
El botón [...] tiene una característica útil aditonal en la que si lo presiona mientras un campo vacío que termina en Cloze tiene enfoque, copiará el texto de otro campo con el mismo nombre menos el sufijo CLOZE . Por ejemplo, si hace clic en el botón mientras se enfoca en ExpressionCloze , copiará el texto de Expression .
También puede modificar el campo Cloze sin usar el botón [...] . El complemento monitorea cambia e identifica patrones como ((c1::text)) . Hace que los campos de cloze correspondientes estén vacíos o contienen 1 dependiendo de la presencia de deleciones de cloze. Por ejemplo, si llena ExpressionCloze con ((c1::Ik)) ((c2::heb)) ((c3::honger)). Luego completará 1 para cada uno de ExpressionCloze1 , ExpressionCloze2 y ExpressionCloze3 . Si lo edita para convertirse ((c1::Ik)) ((c2::heb)) honger. Entonces hará que ExpressionCloze3 vacíe.
El complemento agrega dos acciones en el navegador en Editar -> Cloze cualquier cosa. Ambos operan con las notas seleccionadas en el navegador.
Esto automáticamente hace una cloze de todo un campo. Por ejemplo, suponga que tiene un campo llamado ExpressionCloze and Expression . Si ExpressionCloze está vacío, esta acción hace que el contenido de Expression se copie a ExpressionCloze y se convierta en un cloze como ((c1::content)) . También actualiza ExpressionCloze1 para hacer que se genere la tarjeta de cloze. Esto es útil cuando tienes muchas notas con contenido corto donde quieres enclarar todo el contenido. Es mucho más eficiente clavarlos a granel que uno por uno.
Tenga en cuenta que esto esencialmente está usando Cloze para hacer una tarjeta de producción (es decir, dado el significado en su idioma nativo, produce la expresión en el idioma que está aprendiendo). Entonces, ¿por qué no hacer una plantilla de tarjeta de producción en lugar de usar Cloze? En algunos casos, esto puede ser más efectivo que usar Cloze. Sin embargo, hay un par de razones por las cuales Cloze podría ser útil:
Básicamente, esto solo se asegura de que el campo Cloze esté sincronizado con los campos correspondientes responsables de la generación de tarjetas. Por ejemplo, si ExpressionCloze tiene ((c1::Ik)) ((c2::heb)) ((c3::honger)). Entonces esto aseguraría que ExpressionCloze1 , ExpressionCloze2 y ExpressionCloze3 se llenen con un 1 . Pero ExpressionCloze4 se quedaría en blanco, si existe. Esta acción generalmente no es necesaria para usar mientras usa el complemento porque el complemento asegura que estos campos se actualicen a medida que cambia de contenido. Pero si realiza una importación o si edita notas antes de usar el complemento, esto se puede usar para arreglar los campos para sincronizar.
Anki ya tiene soporte incorporado para Cloze. Entonces, ¿por qué usar Cloze Anything?
Pros:
Contras:
type: el prefijo para habilitar el tipo en la respuesta no es compatible. Las plantillas de la tarjeta son compatibles con Anki Desktop, Ankimobile y Ankidroid.
El complemento funciona con Anki Desktop 2.1. No tengo planes de agregar soporte 2.0.
Todavía no he probado las interacciones del complemento con otros complementos de Cloze como Cloze (ocultar todo) y Overlapper Cloze. Si encuentra un problema, presente un problema y haré todo lo posible para solucionarlo.
Se ha informado que los siguientes complementos tienen problemas de compatibilidad con este complemento:
Además de la inspiración extraída del sistema Cloze de Anki, hay un par de complementos de cloze Anki relacionados que proporcionaron cierta inspiración para las características que se encuentran aquí. Gracias a todos los autores por el pensamiento pudo en Anki y estos complementos que han ayudado a desarrollar nuevas ideas.
Copyright 2019-2021 Matthew Hayes
Licenciado bajo la licencia Apache, versión 2.0 (la "licencia"); No puede usar este archivo, excepto de conformidad con la licencia. Puede obtener una copia de la licencia en
http://www.apache.org/licenses/license-2.0
A menos que la ley aplicable sea requerida o acordado por escrito, el software distribuido bajo la licencia se distribuye de manera "como es", sin garantías o condiciones de ningún tipo, ya sea expresas o implícitas. Consulte la licencia para los permisos y limitaciones de rigor de idioma específico bajo la licencia.