Dieses Projekt liefert eine vorlagenbasierte Lücke implementiert, die:
Dies wird nur durch JavaScript in der Kartenvorlage und eine neuartige Anwendung der integrierten (fantastischen) Selektiv-Kartengenerierung von Anki erreicht. Der große Vorteil davon ist, dass Sie aus vorhandenen Notizen Thalbkarten generieren können, für die Sie möglicherweise bereits Karten haben. Es hat weder Abhängigkeit von Ankis Notennoten -Typ noch andere Notiztypen, was bedeutet, dass Sie Ihre Karten nicht auf einen neuen Notentyp migrieren müssen. Es ist mit Anki -Desktop, Ankimobile und Ankidroid kompatibel.
Der Einstieg ist einfach. Sie können entweder das freigegebene Deck herunterladen oder die Anweisungen zum manuellen Einrichten der Vorlagen befolgen.
Die Replikation von ANKI -Funktionen mit JavaScript- und Kartenvorlagen ist jedoch nicht das Ziel. Das Ziel ist endlose Flexibilität. Sie können jeden vorhandenen Notentyp ("Cloze Anything") einfach neue Felder und Kartenvorlagen basierend auf den hier gefundenen Anweisungen hinzufügen. Sie können die Vorlagen auch vollständig ändern und sie einfach als Anleitung verwenden.
Mit den Standardeinstellungen repliziert dies Ankis Klosenfunktionalität. Die Vorlage ist jedoch sehr konfigurierbar und ermöglicht es Ihnen, Dinge zu tun, die Sie sonst nicht einfach tun können. Im Folgenden finden Sie eine Zusammenfassung einiger nützlicher Merkmale der Vorlagen und diesem Ansatz.
[...] oder [hint] bei einem Hinweis. Mit den Vorlagen können Sie dies anpassen. Zum Beispiel könnten Sie Unterstriche verwenden und das Format ___ sein. Oder Sie können immer den Hinweis aufnehmen, wie in ___ [hint] . Auch anstelle einer festen Anzahl von 3 Zeichen können Sie jedes Nicht-Raum-Zeichen ersetzen lassen. Sie könnten also haben ((c1::ab cdef::hint)) werden __ ____ [hint] .((c1::`a`bc `d`ef)) als a__ d__ gerendert werden. Sie können einen Teil des Inhalts selektiv angeben, nicht nur am Anfang. Beachten Sie, dass Sie auch a((c1::bc)) d((c1::ef)) machen können, aber die Backtick -Syntax kann bequemer sein.Es wird auch ein optionales Plugin bereitgestellt, das einige der ansonsten (minimalen) manuellen Arbeiten automatisiert, die bei der Befolgung dieses Ansatzes erforderlich sind.
Es gibt zwei Optionen für den Einstieg:
Das Installieren des Plugins wird auch empfohlen, um die Bearbeitung der Lückleerkarten zu erleichtern, aber es ist nicht erforderlich.
Ähnlich wie bei Ankis Thalle -Vorlagen benötigen Sie ein Feld, um den Thalbinhalt zu enthalten. Aus der Konvention ist es eine gute Idee, den Feldnamen in Lückleer zu beenden, falls Sie das Plugin später verwenden möchten. Angenommen, Sie nennen es ExpressionCloze , wie in den Anweisungen vorgeschlagen. In diesem Feld wird in diesem Feld auf ähnliche Weise wie bei Ankis Thallungsvorlagen eingegeben. Der einzige Unterschied besteht darin, dass anstelle des Formats {{c1::text}} Sie verwenden ((c1::text)) . Sie benötigen dann Felder, um jede der Lückleerkarten zu aktivieren. Nehmen wir also an, Sie möchten drei Clozes unterstützen. Sie würden Fields ExpressionCloze1 , ExpressionCloze2 und ExpressionCloze3 hinzufügen. Sie geben einen beliebigen Text ein, den Sie möchten, in diese Felder, um die entsprechende Ladelzugkarte zu aktivieren. Aus der Konvention verwendet das Plugin 1 .
Nehmen wir beispielsweise an, Sie möchten für jedes der Wörter im Ausdruck IK Heb Honiger Lückwartkarten erstellen. Sie würden die Felder wie SO schreiben:
Für ein HTML -Rendering dieses Beispiels finden Sie Beispiele vorne und zurück.
Da jeder der Lückleerfelder einen nicht leeren Wert von 1 hat, wird für jedes von c1 bis c3 eine Karte erzeugt. Wenn Sie die 1 von ExpressionCloze3 gelöscht haben, wird nur für c1 und c2 eine Karte generiert.
Lassen Sie uns darüber nachlassen, wie dies alles funktioniert. Die zuvor verwiesenen Anweisungen haben die folgende Vorlage für die erste Lücke. Beachten Sie, dass der gesamte Inhalt der Vorderseite der Karte von bedingten Tags umgeben ist, die auf ExpressionCloze und ExpressionCloze1 basieren. Dies bedeutet, dass beide Felder aufgrund der Art und Weise, wie die Anki-Kartengenerierung funktioniert, nicht leer sein müssen, um die Karte zu erstellen. Wenn eines dieser Felder leer ist, wird die entsprechende Karte nicht erzeugt. Das gehörende Skript untersucht lediglich die Nummer, die der Wert für data-card endet und dann den Inhalt innerhalb der Lücke <div> entsprechend aktualisiert. Wenn der Wert der data-card ExpressionCloze2 ist, weiß es, dass er den ((c2::text)) verbergen und die anderen zeigt.
{{#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}}
Die Vorlagen unterstützen auch Hinweise in den Ladeln wie im Ankis System. Zum Beispiel würde heb für das Beispiel unten durch [verb] anstelle von [...] ersetzt.
((c1::Ik)) ((c2::heb::verb)) ((c3::honger)).
Die vollständigen Details zum manuellen Einrichten Ihrer Kartenvorlagen finden Sie in den Anweisungen. Alternativ können Sie das gemeinsame Deck als Ausgangspunkt verwenden und die Anweisungen als Referenz verwenden, um es zu ändern, um Ihre Anforderungen zu erfüllen.
Die Vorlage enthält mehrere Einstellungen zur Steuerung der Art und Weise, wie die Ladel -Löschungen gerendert werden. Weitere Informationen finden Sie in der Konfiguration.
Das Plugin macht zwei Dinge, um es Ihnen leichter zu erleichtern, Löschdeleter zu bearbeiten, wenn Sie diesen Ansatz verfolgen:
[...] Taste im Editor, damit Sie sie auf anderen Notizen neben denen verwenden können, die auf Ankis Lückleetyp basieren.ExpressionCloze (oder ähnlich benannt) mit den anderen Feldern ExpressionCloze1 , ExpressionCloze2 usw., die die entsprechenden Lücke Karten ermöglichen. Die Schaltfläche [...] verhält sich gleich, wenn sie auf einem der Notiztypen basierend auf Ankis Lückleetyp verwendet werden. Andernfalls wird der Feldname jedoch in Tanne endet, wie ExpressionCloze , dann wickelt er den ausgewählten Text wie in ((c1::text)) ein. Dies ist das gleiche wie Ankis normales Verhalten mit Clozes, außer dass Klammern anstelle von lockigen Klammern verwendet wird.
Die [...] Taste hat eine additonale nützliche Funktion, bei der Sie, wenn Sie sie drücken, während ein leeres Feld, das in Tiegel endet, den Fokus hat, den Text aus einem anderen Feld mit demselben Namen abzüglich des Suffixes kopiert. Wenn Sie beispielsweise auf die Schaltfläche klicken, während Sie sich auf ExpressionCloze konzentrieren, kopiert er den Text aus Expression .
Sie können das Feldzugfeld auch ändern, ohne die Schaltfläche [...] zu verwenden. Das Plugin überwacht und identifiziert Muster wie ((c1::text)) . Damit werden die entsprechenden Ladefelder entweder leer sein oder 1 je nach Vorhandensein von Lückledeletionen enthalten. Wenn Sie beispielsweise ExpressionCloze mit ((c1::Ik)) ((c2::heb)) ((c3::honger)). Dann füllt es 1 für jeden von ExpressionCloze1 , ExpressionCloze2 und ExpressionCloze3 . Wenn Sie es bearbeiten, um zu werden ((c1::Ik)) ((c2::heb)) honger. Dann macht es ExpressionCloze3 leer.
Das Plugin fügt zwei Aktionen im Browser unter Bearbeiten -> irgendetwas hinzu. Beide arbeiten auf allen im Browser ausgewählten Noten.
Dies macht automatisch einen Lzug aus einem ganzen Feld. Angenommen, Sie haben ein Feld namens ExpressionCloze und Expression . Wenn ExpressionCloze leer ist, wird diese Aktion dazu führt, dass der Expression in ExpressionCloze kopiert und in einen Tauschblock wie ((c1::content)) gemacht wird. Es aktualisiert auch ExpressionCloze1 , damit die Lücke generiert wird. Dies ist nützlich, wenn Sie viele Notizen mit kurzen Inhalten haben, in denen Sie den gesamten Inhalt liefern möchten. Es ist viel effizienter, diese in großen Mengen als eins nach dem anderen zu klopfen.
Beachten Sie, dass dies im Wesentlichen Ladeldecke verwendet, um eine Produktionskarte zu erstellen (dh angesichts der Bedeutung in Ihrer Muttersprache den Ausdruck in der Sprache, die Sie lernen). Warum also nicht einfach eine Produktionskartenvorlage erstellen, anstatt Lückleer zu verwenden? In einigen Fällen kann dies effektiver sein als die Verwendung von Lückle. Es gibt jedoch ein paar Gründe, warum der Lückleer nützlich sein könnte:
Dies stellt im Grunde nur sicher, dass das Lückleerfeld mit den entsprechenden Feldern synchronisiert ist, die für die Kartengenerierung verantwortlich sind. Zum Beispiel, wenn ExpressionCloze ((c1::Ik)) ((c2::heb)) ((c3::honger)). Dann würde dies sicherstellen, dass ExpressionCloze1 , ExpressionCloze2 und ExpressionCloze3 jeweils mit einer 1 ausgefüllt sind. Aber ExpressionCloze4 würde leer gemacht, wenn es existiert. Diese Aktion ist im Allgemeinen nicht erforderlich, wenn das Plugin verwendet wird, da das Plugin sicherstellt, dass diese Felder beim Ändern des Inhalts aktualisiert werden. Wenn Sie jedoch einen Import durchführen oder vor der Verwendung des Plugins Notizen bearbeiten, kann dies verwendet werden, um die Felder so zu reparieren, dass sie synchronisiert werden.
Anki hat bereits eingebaute Unterstützung für Lückle. Warum also etwas Labse benutzen?
Profis:
Nachteile:
type: Präfix zum Aktivieren des Typs in der Antwort wird nicht unterstützt. Die Kartenvorlagen sind mit Anki -Desktop, Ankimobile und Ankidroid kompatibel.
Das Plugin funktioniert mit Anki Desktop 2.1. Ich habe keine Pläne, 2.0 Support hinzuzufügen.
Ich habe noch keine Wechselwirkungen des Plugins mit anderen Lückleer -Plugins wie Tückleer (alle) und Lückleer -Überlagerung getestet. Wenn Sie auf ein Problem stoßen, stellen Sie bitte ein Problem ein und ich werde mein Bestes tun, um es zu beheben.
Es wurde gemeldet, dass die folgenden Plugins mit diesem Plugin Kompatibilitätsprobleme aufweisen:
Zusätzlich zu Inspiration aus Ankis Lückle -System selbst gibt es einige mit Anki Cloze -Plugins, die hier einige Inspirationen für Funktionen ermöglichten. Vielen Dank an alle Autoren für den Gedanken in Anki und diese Plugins, die dazu beigetragen haben, neue Ideen zu entwickeln.
Copyright 2019-2021 Matthew Hayes
Lizenziert unter der Apache -Lizenz, Version 2.0 (der "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Sie können eine Kopie der Lizenz bei erhalten
http://www.apache.org/licenses/license-2.0
Sofern nicht nach geltendem Recht oder schriftlich zu vereinbart wird, wird die im Rahmen der Lizenz verteilte Software auf "As is" -Basis ohne Gewährleistung oder Bedingungen jeglicher Art ausdrücklich oder impliziert verteilt. Siehe die Lizenz für die spezifischen Sprachberechtigungen und Einschränkungen im Rahmen der Lizenz.