Этот проект обеспечивает реализацию Cloze на основе шаблонов, которая:
Это достигается исключительно через JavaScript в шаблоне карт и новое применение встроенной (потрясающей) выборочной карт функции ANKI. Большим преимуществом этого является то, что вы можете генерировать карты Cloze из существующих нот, для которых у вас уже есть карты. Он не зависит от типа примечания ANKI, а также любых других типов заметок, что означает, что вам не нужно переносить свои карты на новый тип ноты. Он совместим с настольным компьютером ANKI, Ankimobile и Ankidroid.
Начать работу легко. Вы можете либо загрузить общую колоду, либо следовать инструкциям для настройки шаблонов вручную.
Репликация функциональности ANKI с помощью JavaScript и шаблонов карт не является целью. Цель - бесконечная гибкость. Вы можете добавить Cloze Cards в любой существующий тип заметки («Cloze Athy Athy»), просто добавив новые поля и шаблоны карт на основе инструкций, найденных здесь. Вы также можете полностью изменить шаблоны, используя их просто в качестве руководства.
С настройками по умолчанию это повторяет функциональность Anki's Cloze. Однако шаблон очень настраивается и позволяет вам делать то, что вы не можете легко сделать. Ниже приводится краткое изложение некоторых полезных функций шаблонов и этого подхода.
[...] , либо [hint] в случае подсказки. Шаблоны позволяют вам настроить это. Например, вы можете использовать подчеркивание и иметь формат быть ___ . Или вы всегда можете включить подсказку, как в ___ [hint] . Кроме того, вместо фиксированного числа 3 символов вы могли бы заменить каждый не пространственный символ. Таким образом, вы могли бы иметь ((c1::ab cdef::hint)) стать __ ____ [hint] .((c1::`a`bc `d`ef)) может быть отображен как a__ d__ . Вы можете выборочно раскрыть любую часть контента, а не только в начале. Обратите внимание, что вы также можете сделать a((c1::bc)) d((c1::ef)) , однако синтаксис обратной связи может быть более удобным.Также предоставляется дополнительный плагин, который автоматизирует некоторые из других (минимальных) ручной работы, которая потребуется при выполнении этого подхода.
Есть два варианта начала работы:
Установка плагина также рекомендуется облегчить вам редактирование карт Cloze, но это не требуется.
Подобно шаблонах ANKI, вам нужно поле, чтобы сдержать содержание Cloze. Из соглашения это хорошая идея, чтобы название поля закончилось в Cloze, если вы хотите использовать плагин позже. Предположим, вы называете его ExpressionCloze , как предложено в инструкциях. Содержание Cloze вводится в этом поле так же, как и в шаблонах Anki's Cloze. Единственное отличие состоит в том, что вместо формата {{c1::text}} вы используете ((c1::text)) . Затем вам нужны поля, чтобы включить каждую из карт Cloze. Итак, предположим, что вы хотите поддерживать три кулака. Вы добавите Fields ExpressionCloze1 , ExpressionCloze2 и ExpressionCloze3 . Вы вводите любой текст, который вы хотите в эти поля, чтобы включить соответствующую карту Cloze. Вне соглашения плагин использует 1 .
Например, предположим, что вы хотите создать карты Cloze для каждого из слов в выражении IK Heb Honger . Вы бы написали поля так:
Для рендеринга HTML этого примера см. Примеры передней и задней карты.
Поскольку каждое из полей Cloze имеет непутное значение 1 , для каждого из c1 до c3 будет создана карта. Если вы удалили 1 из ExpressionCloze3 , то для c1 и c2 будет создана карта.
Давайте покопаемся, как все это работает. Инструкции, упомянутые ранее, имеют следующий шаблон для первой карты Cloze. Обратите внимание, что все содержание передней части карты окружен условными тегами на основе ExpressionCloze и ExpressionCloze1 . Это означает, что оба поля должны быть непустыми для создания карты из-за того, как работает генерация карт ANKI. Поэтому, если какое -либо из этих полей пустое, соответствующая карта не сгенерирована. Скрипт OMPATE просто рассматривает число, которое значение для data-card заканчивается, а затем соответственно обновляет контент в Cloze <div> . Поэтому, если значением data-card является ExpressionCloze2 , то он знает, чтобы скрыть ((c2::text)) и показать другие.
{{#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}}
Шаблоны также поддерживают подсказки в удалении гнезда, как в системе Анки. Например, для примера ниже, heb будет заменен [verb] вместо [...] .
((c1::Ik)) ((c2::heb::verb)) ((c3::honger)).
Полную информацию о том, как настроить шаблоны карт вручную, см. Инструкции. В качестве альтернативы, вы можете использовать общую колоду в качестве отправной точки и использовать инструкции в качестве ссылки на то, как изменить ее для удовлетворения ваших потребностей.
Шаблон имеет несколько настроек для управления тем, как выполняется удаление клеток. Смотрите конфигурацию для деталей.
Плагин делает две вещи, чтобы облегчить вам редактирование удалений Cloze при выполнении этого подхода:
[...] в редакторе, чтобы вы могли использовать ее на других примечаниях, кроме тех, которые на основе типа Анки.ExpressionCloze (или аналогичного поля) к другим полям ExpressionCloze1 , ExpressionCloze2 и т. Д., Которые позволяют соответствующим картам Cloze. Кнопка [...] ведет себя так же при использовании на одном из типов заметок на основе типа ANKI. В противном случае, однако, если имя поля заканчивается в Cloze , как ExpressionCloze , то оно обернет выбранный текст, например, в ((c1::text)) . Это то же самое, что и нормальное поведение Анки с кулами, за исключением того, что он использует скобки вместо вьющихся скоб.
Кнопка [...] имеет дополнительную полезную функцию, где, если вы нажмете ее, в то время как пустое поле, заканчивающее в Cloze , имеет фокус, она скопирует текст из другого поля с тем же именем минус суффикс Cloze . Например, если вы нажимаете кнопку, сосредоточившись на ExpressionCloze , то она скопирует текст из Expression .
Вы также можете изменить поле Cloze без использования кнопки [...] . Плагин контролирует изменения и идентифицирует такие шаблоны, как ((c1::text)) . Это делает соответствующие поля Cloze либо пустыми, либо содержит 1 в зависимости от наличия удалений. Например, если вы заполняете ExpressionCloze с ((c1::Ik)) ((c2::heb)) ((c3::honger)). Затем он заполнит 1 для каждого из ExpressionCloze1 , ExpressionCloze2 и ExpressionCloze3 . Если вы отредактируете его, чтобы стать ((c1::Ik)) ((c2::heb)) honger. Тогда это сделает ExpressionCloze3 пустым.
Плагин добавляет два действия в браузере под редактированием -> Cloze Athy Athy. Оба они работают на любых примечаниях, выбранных в браузере.
Это автоматически производит обмотки из всего поля. Например, предположим, что у вас есть поле с именем ExpressionCloze и Expression . Если ExpressionCloze пуст, то это действие приводит к скопированию содержания Expression в ExpressionCloze и превращается в Cloze Like ((c1::content)) . Он также обновляет ExpressionCloze1 , чтобы вызвать сгенерированную карту Cloze. Это полезно, когда у вас есть много заметок с коротким контентом, где вы хотите пробить весь контент. Гораздо эффективнее скрывать их объемным, чем один за другим.
Обратите внимание, что это, по сути, использует Cloze для создания производственной карты (то есть, учитывая значение на вашем родном языке, создает выражение на языке, который вы изучаете). Так почему бы просто не сделать шаблон производственной карты вместо использования Cloze? В некоторых случаях это может быть более эффективным, чем использование Cloze. Однако есть несколько причин, по которым Cloze может быть полезен:
Это в основном гарантирует, что поле Cloze синхронизируется с соответствующими полями, ответственными за генерацию карт. Например, если ExpressionCloze имеет ((c1::Ik)) ((c2::heb)) ((c3::honger)). Тогда это обеспечит ExpressionCloze1 , ExpressionCloze2 и ExpressionCloze3 , каждый из которых заполняется 1 . Но ExpressionCloze4 будет сделан пустым, если он существует. Это действие, как правило, не требуется для использования при использовании плагина, потому что плагин гарантирует, что эти поля обновляются при изменении контента. Но если вы делаете импорт или если вы редактируете примечания перед использованием плагина, его можно использовать, чтобы исправить поля для синхронизации.
ANKI уже обладает встроенной поддержкой для Cloze. Так зачем что -нибудь использовать?
Плюсы:
Минусы:
type: префикс для включения типа в ответ не поддерживается. Шаблоны карт совместимы с настольным компьютером ANKI, Ankimobile и Ankidroid.
Плагин работает с ANKI Desktop 2.1. У меня нет планов добавить 2,0 поддержки.
Я еще не проверял взаимодействие плагина с другими плагинами Cloze, такими как Cloze (Hide All) и Cloze Overpapper. Если вы столкнетесь с проблемой, пожалуйста, подайте проблему, и я сделаю все возможное, чтобы исправить ее.
Сообщалось, что следующие плагины имеют проблемы с совместимостью с этим плагином:
В дополнение к вдохновению, взятой из самой системы Cloze's System, есть пара связанных плагинов ANKI Cloze, которые дали некоторое вдохновение для функций, найденных здесь. Благодаря всем авторам за мысль, вставленную в ANKI и эти плагины, которые помогли разработать новые идеи.
Copyright 2019-2021 Мэтью Хейс
Лицензировано по лицензии Apache, версия 2.0 («Лицензия»); Вы не можете использовать этот файл, кроме как в соответствии с лицензией. Вы можете получить копию лицензии на
http://www.apache.org/licenses/license-2.0
Если это не требуется применимого законодательства или не согласовано в письменной форме, программное обеспечение, распространяемое по лицензии, распределяется по основам «как есть», без каких -либо гарантий или условий, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующих разрешения и ограничения по лицензии.