このプロジェクトは、次のテンプレートベースのCloze実装を提供します。
これは、カードテンプレートのJavaScriptと、Ankiの組み込み(素晴らしい)選択的カード生成機能の新しいアプリケーションによって純粋に達成されます。これの大きな利点は、既存のメモからClozeカードを生成できることです。 AnkiのCloze Noteタイプやその他のメモタイプに依存していないため、カードを新しいメモタイプに移行する必要はありません。 Ankiデスクトップ、Ankimobile、およびAnkidroidと互換性があります。
始めるのは簡単です。共有デッキをダウンロードするか、テンプレートを手動でセットアップする手順に従ってください。
ただし、JavaScriptとカードテンプレートを使用してANKI機能を複製することは目標ではありません。目標は無限の柔軟性です。ここにある手順に基づいて新しいフィールドとカードテンプレートを追加するだけで、既存のメモタイプ(「Cloze Anything」)にClozeカードを追加できます。テンプレートを完全に変更して、単にガイドとして使用することもできます。
デフォルト設定では、これによりAnkiのCloze機能が再現されます。ただし、テンプレートは高度に構成可能であり、簡単にできないことを行うことができます。以下は、テンプレートのいくつかの有用な機能とこのアプローチの要約です。
[...]または[hint]のいずれかに置き換えます。テンプレートでは、これをカスタマイズできます。たとえば、アンダースコアを使用して、形式を___にすることができます。または、 ___ [hint]のように、いつでもヒントを含めることができます。また、3文字の固定数の代わりに、各非空間文字を交換することができます。したがって((c1::ab cdef::hint)) __ ____ [hint]になることができます。((c1::`a`bc `d`ef)) a__ d__としてレンダリングできます。最初だけでなく、コンテンツの任意の部分を選択的に明らかにすることができます。 a((c1::bc)) d((c1::ef))実行することもできますが、バックティック構文の方が便利な場合があります。また、このアプローチに従うときに必要とされる(最小限の)マニュアル作業の一部を自動化するオプションのプラグインも提供されています。
開始するには2つのオプションがあります。
プラグインのインストールも、Clozeカードを編集しやすくするために推奨されますが、必須ではありません。
AnkiのClozeテンプレートと同様に、Clozeコンテンツを含むフィールドが必要です。慣習から、後でプラグインを使用する場合に備えて、フィールド名をClozeで終了することをお勧めします。指示で示唆されているように、あなたがそれをExpressionCloze名付けるとします。 AnkiのClozeテンプレートと同様の方法で、このフィールドにClozeコンテンツが入力されます。唯一の違いは、フォーマット{{c1::text}}の代わりに((c1::text))です。次に、各クローズカードを有効にするためにフィールドが必要です。したがって、3つのクローズをサポートしたいとします。 ExpressionCloze1 、 ExpressionCloze2 、およびExpressionCloze3を追加します。対応するClozeカードを有効にするために、これらのフィールドに必要なテキストを入力します。慣習から、プラグインは1使用します。
たとえば、 Ik Heb Honger式の各単語のClozeカードを作成するとします。あなたはそうするようなフィールドを書くでしょう:
この例のHTMLレンダリングについては、フロントカードの例を参照してください。
Crozeフィールドのそれぞれは1の空でない値を持っているため、 c1からc3のそれぞれに対してカードが生成されます。 ExpressionCloze3から1削除した場合、 c1とc2のみのカードが生成されます。
これがどのように機能するかを掘り下げましょう。前に参照された手順には、最初のClozeカードの次のテンプレートがあります。カードの前面のコンテンツ全体が、 ExpressionClozeとExpressionCloze1に基づく条件付きタグに囲まれていることに注意してください。これは、ANKIカードの生成がどのように機能するかにより、両方のフィールドがカードを作成するためには、両方のフィールドを作成する必要があることを意味します。したがって、これらのフィールドのいずれかが空の場合、対応するカードは生成されません。 OMMITTEDスクリプトは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}}
テンプレートは、Ankiのシステムのように、Clozeの削除のヒントもサポートしています。たとえば、以下の例では、 [...]の代わりにheb [verb]に置き換えられます。
((c1::Ik)) ((c2::heb::verb)) ((c3::honger)).
カードテンプレートを手動でセットアップする方法の詳細については、指示を参照してください。または、共有デッキを出発点として使用し、ニーズを満たすためにそれを変更する方法のリファレンスとして指示を使用することもできます。
テンプレートには、Clozeの削除がどのようにレンダリングされるかを制御するためのいくつかの設定があります。詳細については、構成を参照してください。
プラグインは、このアプローチに従うときにClozeの削除を編集しやすくするために2つのことを行います。
[...]ボタンにフックするので、AnkiのClozeタイプに基づいているもの以外に他のメモで使用できます。ExpressionClozeフィールド(または同様に指定されたフィールド)から他のフィールドExpressionCloze1 、 ExpressionCloze2などに編集を同期させます。 [...]ボタンは、AnkiのClozeタイプに基づいてノートタイプの1つで使用すると同じように動作します。それ以外の場合、フィールド名ExpressionClozeのようにClozeで終了する場合、 ((c1::text))などの選択したテキストを包みます。これは、巻き毛の代わりに括弧を使用していることを除いて、クローズを使用したAnkiの通常の動作と同じです。
[...]ボタンには、 clozeで終わる空のフィールドがフォーカスを持っている間にそれを押すと、同じ名前を除いてClozeの接尾辞を差し引いた別のフィールドからテキストをコピーするadditonal便利な機能があります。たとえば、 ExpressionClozeに焦点を合わせながらボタンをクリックすると、 Expressionからテキストをコピーします。
[...]ボタンを使用せずにClozeフィールドを変更することもできます。プラグインは変更を監視し、 ((c1::text))などのパターンを識別します。対応するClozeフィールドは、Clozeの削除の存在に応じて空になるか、 1含むようになります。たとえば、 ((c1::Ik)) ((c2::heb)) ((c3::honger)).でExpressionClozeを記入する場合。次に、 ExpressionCloze1 、 ExpressionCloze2 、およびExpressionCloze3のそれぞれについて1埋めます。 ((c1::Ik)) ((c2::heb)) honger.その後、 ExpressionCloze3空にします。
プラグインは、編集の下でブラウザに2つのアクションを追加します - > cloze Anything。どちらもブラウザで選択されているノートで動作します。
これにより、フィールド全体から自動的に刻みが生じます。たとえば、 ExpressionClozeとExpressionという名前のフィールドがあるとします。 ExpressionClozeが空である場合、このアクションにより、 Expressionの含有量がExpressionClozeにコピーされ、 ((c1::content))のようなclozeになります。また、 ExpressionCloze1を更新して、Clozeカードを生成します。これは、コンテンツ全体を刻みたい短いコンテンツのメモがたくさんある場合に役立ちます。これらを1つずつよりも一括で刻む方がはるかに効率的です。
これは本質的にClozeを使用して制作カードを作成していることに注意してください(つまり、母国語で意味が与えられ、学習している言語で表現を生成します)。では、Clozeを使用する代わりに、生産カードテンプレートを作成しないのはなぜですか?場合によっては、これはClozeを使用するよりも効果的かもしれません。ただし、Clozeが役立つ理由はいくつかあります。
これにより、基本的に、Clozeフィールドがカード生成を担当する対応するフィールドと同期していることを確認します。たとえば、 ExpressionClozeが((c1::Ik)) ((c2::heb)) ((c3::honger)).次に、これにより、 ExpressionCloze1 、 ExpressionCloze2 、およびExpressionCloze3がそれぞれ1で満たされます。ただし、 ExpressionCloze4存在する場合は空白になります。プラグインがコンテンツを変更するとこれらのフィールドが更新されることを保証するため、このアクションはプラグインの使用中に使用する必要はありません。ただし、インポートを行う場合、またはプラグインを使用する前にメモを編集した場合、これを使用してフィールドを固定して同期することができます。
Ankiには、Clozeのサポートが組み込まれています。では、なぜ何かを使用するのですか?
長所:
短所:
type:答えにタイプを有効にするプレフィックスはサポートされていません。 カードテンプレートは、Ankiデスクトップ、Ankimobile、およびAnkidroidと互換性があります。
プラグインは、ANKIデスクトップ2.1で動作します。 2.0サポートを追加する予定はありません。
プラグインの相互作用は、Cloze(All Hide)やCloze Overlapperなどの他のClozeプラグインとの相互作用をテストしていません。問題が発生した場合は、問題を提出してください。修正するために最善を尽くします。
次のプラグインは、このプラグインとの互換性の問題があると報告されています。
AnkiのClozeシステム自体から描かれたインスピレーションに加えて、ここにある機能にインスピレーションを提供するいくつかの関連するAnki Clozeプラグインがあります。 Ankiに入れられた考えと、新しいアイデアの開発に役立ったこれらのプラグインに感謝します。
Copyright 2019-2021 Matthew Hayes
Apacheライセンス、バージョン2.0(「ライセンス」)に基づいてライセンスされています。ライセンスに準拠している場合を除き、このファイルを使用することはできません。ライセンスのコピーを取得できます
http://www.apache.org/licenses/license-2.0
適用法で要求されていないか、書面で合意されていない限り、ライセンスに基づいて配布されたソフトウェアは、明示または黙示のいずれかの保証または条件なしに、「現状のまま」に基づいて配布されます。ライセンスに基づく権限と制限を管理する特定の言語のライセンスを参照してください。