Giter Site home page Giter Site logo

saiyr / cloze-overlapper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from glutanimate/cloze-overlapper

6.0 1.0 1.0 919 KB

Anki add-on for memorizing lists and enumerations

Home Page: https://ankiweb.net/shared/info/969733775

License: Other

Python 100.00%

cloze-overlapper's Introduction

Cloze Overlapper for Anki


List memorization made easy!

This is an add-on for the spaced-repetition flashcard app Anki. It facilitates memorizing enumerations, lists, or any other type of sequential information by breaking the sequence up into cards where each item serves as the context cue for the next.

Table of Contents

Background

Memorizing lists and enumerations has always been a particularly difficult part of studying flashcards. Good flashcards follow the minimum information principle, where each card is kept as short as possible. Sequential information has unfortunately always somewhat eluded that basic principle because it is hard to break down into smaller chunks. Normally you would employ methods like grouping or categorizing to consolidate information, but with each item building upon the next, that does usually not work for sequences or enumerations.

One of the common recommendations in cases like this has always been to create overlapping flashcards, where each card's answer serves as the question prompt for next card in line. For an array of three list items A, B, C you would end up with three cards of the form A → B, B → C, and C → D. What results is chain of overlapping associations between each sequence node that can potentially improve the storage and retrieval strength of the entire sequence.

While this method is generally assumed to be quite effective, following it requires a significant * time investment* up-front that only few students are able or willing to make.

The Add-on

This is where Cloze Overlapper comes in. It takes care of all the arduous steps required to create these flashcards manually and provides you with a dead-simple workflow: You paste in the sequence or list, adjust the cloze generation settings, and let the add-on generate the cards for you.

More generally speaking, Cloze Overlaper provides Anki with a completely novel cloze system that can cover almost every use case you can think of, be it revealing each taxon of a classification system individually, or even gradually building up to an entire poem:

Due to working with the formatting tools that Anki provides itself, the cards generated by this add-on are fully compatible with all Anki platforms, smartphone apps included:

Installation

AnkiWeb

The easiest way to install Cloze Overlapper is through AnkiWeb.

Manual installation

  1. Make sure you have the latest version of Anki installed. Earlier releases (e.g. found in various Linux distros) do not support .ankiaddon packages.
  2. Download the latest .ankiaddon package from the releases page
  3. From Anki's main window, head to ToolsAdd-ons
  4. Drag-and-drop the .ankiaddon package onto the add-ons list
  5. Restart Anki

Documentation

The use of the add-on is documented in the Wiki section and a series of video tutorials on YouTube. More information may also be found in the AnkiWeb description.

Building

With Anki add-on builder installed:

git clone https://github.com/saiyr/cloze-overlapper.git
cd cloze-overlapper
aab build

For more information on the build process please refer to aab's documentation.

Contributing

Contributions are welcome! Please review the contribution guidelines on how to:

  • Report issues
  • File pull requests
  • Support the project as a non-developer

License and Credits

Cloze Overlapper is Copyright © 2019 Aristotelis P. (Glutanimate), 2024 Daniel T. (saiyr)

With code contributions from: zjosua, (Thank you!)

I would like to extend my heartfelt thanks to everyone who has helped with testing, provided suggestions, or contributed in any other way!

I'd also like to thank:

Cloze Overlapper is free and open-source software. The add-on code that runs within Anki is released under the GNU AGPLv3 license, extended by a number of additional terms. For more information please see the LICENSE file that accompanied this program.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

cloze-overlapper's People

Contributors

glutanimate avatar saiyr avatar zjosua avatar

Stargazers

Colby Riddle avatar xxhk.org avatar  avatar  avatar Federico d'Alonzo avatar Davi Alexandre avatar

Watchers

 avatar

Forkers

iamzcolbz

cloze-overlapper's Issues

No reference to packaging in libaddon/__init__.py leading to startup crash.

Problem description

Upon installing the addon via the anki-web addons page, restarting Anki led to the startup failing, erroring this addon specifically. I traced back the issue and made a temporary fix, however I don't know if it is a proper way to actually fix it long term.

In order to fix this issue, I edited ./libaddon/anki/configmanager.py

from .._vendor.packaging import version

to -

from packaging import version

I don't know enough about python to know if this is a good fix or not.

Cannot find reference 'packaging' in '__init__.py' so i just pulled in packaging from base which led to the addon starting up perfectly fine on my end.

Checklist

Please replace the space inside the brackets with an x if the following items apply:

  • I've restarted Anki to see if it helps
  • I've verified that I use the latest version of the add-on by redownloading it from AnkiWeb
  • I've verified that I use the latest version of Anki by checking at https://apps.ankiweb.net#download
  • I've tried to disable other add-ons to see if there are any interactions present
  • My issue disappears when I hold shift while starting Anki.
  • I've checked if anyone else reported this problem before by looking through the issue reports. I also checked to see if there is a section about known issues in the add-on description, documentation, or README.
If you are using Anki 2.1
Anki 24.06.3 (d678e393) (src) (ao)
Python 3.12.5 Qt 6.7.2 PyQt 6.7.1
Platform: Linux-6.10.6-arch1-1-x86_64-with-glibc2.40

===Add-ons (active)===
(add-on provided name [Add-on folder, installed at, version, is config changed])
Cloze Overlapper for 23x ['1784155610', 2024-02-17T19:53, 'None', '']
Customize Keyboard Shortcuts ['24411424', 2023-11-01T04:17, 'None', '']

===IDs of active AnkiWeb add-ons===
1784155610 24411424

===Add-ons (inactive)===
(add-on provided name [Add-on folder, installed at, version, is config changed])

Please fill in details about your operating system (Windows/macOS/Linux, which version):

  • OS: Arch Linux
  • version: 6.10.6-arch1-1 (64-bit)

Error message (if any)

When loading Cloze Overlapper for 23x:
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/aqt/addons.py", line 247, in loadAddons
    __import__(addon.dir_name)
  File "/home/username/.local/share/Anki2/addons21/1784155610/__init__.py", line 125, in <module>
    initializeAddon()
  File "/home/username/.local/share/Anki2/addons21/1784155610/__init__.py", line 105, in initializeAddon
    from .gui.options_global import initializeOptions
  File "/home/username/.local/share/Anki2/addons21/1784155610/gui/options_global.py", line 46, in <module>
    from ..config import config
  File "/home/username/.local/share/Anki2/addons21/1784155610/config.py", line 42, in <module>
    from .libaddon.anki.configmanager import ConfigManager
  File "/home/username/.local/share/Anki2/addons21/1784155610/libaddon/anki/configmanager.py", line 45, in <module>
    from .._vendor.packaging import version
ModuleNotFoundError: No module named '1784155610.libaddon._vendor.packaging'

Cloze deletion can only be used in fields which use the cloze filter. this is typically the first field

Problem description

Please describe the issue concisely in here. In case of an error: Walk us through the steps you took to get there. What happened? What did you expect to happen?

I made 5 overlapping cards, when I attempted to make a sixth I could not use the add a deletion button in the first, Original Field keep getting errors:
"Cloze deletion can only be used in fields which use the cloze filter. this is typically the first field"

Checklist

Please replace the space inside the brackets with an x if the following items apply:

  • [ x] I've restarted Anki to see if it helps
  • [x ] I've verified that I use the latest version of the add-on by redownloading it from AnkiWeb
  • [ x] I've verified that I use the latest version of Anki by checking at https://apps.ankiweb.net#download
  • [ x] I've tried to disable other add-ons to see if there are any interactions present
  • My issue disappears when I hold shift while starting Anki.
  • [x ] I've checked if anyone else reported this problem before by looking through the issue reports. I also checked to see if there is a section about known issues in the add-on description, documentation, or README.

Information about your Anki set-up

Please fill out the section corresponding with your Anki version:

If you are using Anki 2.1

Please open Anki, go to Help → About, click on "Copy Debug Info", and paste the result between the backticks below (if the button does not appear you are using an older version of Anki 2.1 and will need to update first):


If you are using Anki 2.0

Please open Anki, go to Help → About, find the two lines starting with Version: and Qt, and copy-paste them between the backticks below:


Please fill in details about your operating system (Windows/macOS/Linux, which version):

  • OS: Windows 11
  • version:23H2

Please open Anki, go to Tools → Add-ons, take a screenshot of your installed add-ons, and paste it below:

ankiconnect
basic printing support
cloze overlapper for 23x
image occlusion enhanced

Error message (if any)

Cloze deletion can only be used in fields which use the cloze filter. this is typically the first field

If you've received an error message, please copy and paste it between the backticks below:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.