Skip to content

mowsmith/incremental-reading

 
 

Repository files navigation

Incremental Reading for Anki

Build Status

Note: Version 4 of the add-on is only available for Anki 2.1+. Some features will be missing from the earlier versions.

Introduction

This is an updated version of the Incremental Reading add-on, which aims to provide features that support incremental reading in Anki. The idea of working with long-form content within a spaced-repetition program appears to have originated with SuperMemo, which offers an elaborate implementation of the technique (see their help article for more information). This add-on for Anki is comparatively bare-bones, providing a minimal set of tools for iterating over long texts and creating new flashcards from existing ones. For an overview of these features, see below.

Main Features

  • Import content from web feeds (RSS/Atom), webpages, or Pocket (v4 only)
  • Extract selected text into a new card by pressing x
  • Highlight selected text by pressing h
  • Remove selected text by pressing z
  • Undo changes to the text by pressing u
  • Apply rich text formatting while reading
  • Create custom shortcuts to quickly add cards
  • Maintain scroll position and zoom on a per-card basis
  • Rearrange cards in the built-in organiser
  • Control the scheduling of incremental reading cards
  • Limit the width of cards (useful on large screens) (v4 only)

New to Version 4

  • Compatible with Anki 2.1
  • Import single webpages (Alt+3)
  • Import web feeds (Alt+4)
  • Import Pocket articles (Alt+5)
  • Apply bold, italics, underline or strikethrough (Ctrl+B, I, U, or S)
  • Toggle formatting on and off (Ctrl+Shift+O)
  • Choose maximum width of cards (see options: Alt+1)
  • Control initial scheduling of extracts (see options: Alt+1)

New to Version 3

  • Remove unwanted text with a single key-press (z)
  • Multi-level undo, for reverting text changes (u)
  • New options to control how text is extracted:
    • Open the full note editor for each extraction (slow), or simply a title entry box (fast)
    • Extract selected text as HTML (retain color and formatting) or plain text (remove all formatting)
    • Choose a destination deck for extracts
  • New options for several aspects of zoom and scroll functionality:
    • Zoom Step (the amount that magnification changes when zooming in or out)
    • General Zoom (the zoom level for the deck browser and overview screens)
    • Line Step (the amount the page moves up or down when the Up or Down direction keys are used)
    • Page Step (same as above, but with the Page Up and Page Down keys)
  • Highlighting:
    • Both the background color and text color used for highlighting can be customized
    • A drop-down list of available colors is provided
    • A preview is now displayed when selecting highlight colors
    • The colors applied to text extracted with x can now be set independently
  • Quick Keys
    • A list of all existing Quick Keys is now shown, to allow easy modification
    • Unwanted Quick Keys can be easily deleted
    • A plain text extraction option has also been added
  • All options have been consolidated into a single tabbed dialog

Screenshots

Note: These are fairly outdated.

Screenshot #1 Screenshot #2 Screenshot #3

Installation

You will first need to have Anki installed. Download the relevant installer here.

To install through Anki, navigate to Tools → Add-ons → Get Add-ons..., and enter the code 935264945. To install manually, download the GitHub repository (here) and place the ir folder into your add-ons folder.

Usage

Experimentation should lead to a pretty quick understanding of how the add-on works. If in doubt, start with the following:

  1. Create a new IR note with an article you want to study (the easiest way to do this is to import a webpage, with Alt+3)
  2. Set up a shortcut for creating regular Anki cards from IR cards (press Alt+1, or go to the menu, then go to the Quick Keys tab)
  3. Review the IR card that was created, and extract any text you find interesting (by selecting the text and pressing x)
  4. Choose Soon or Later when you want to move to the next card (which will be a portion of text you extracted)
  5. Whenever you want to create a regular Anki note, simply select the desired text and use the shortcut you created earlier

Outdated instructions can be found here. They were written for v2, but the basic behaviour of the current add-on is similar.

Compatibility

In general, the settings stored in _ir.json will be preserved when upgrading. The main exception is that v3 and v4 of the add-on are not backwards-compatible with v2. The newer versions store settings in a very different manner. v2 settings will be ignored.

Additionally, changes were made to the v2 card template, so if you have incremental reading notes from v2, you will need to select them in the card browser and choose Edit → Change Note Type, to convert them to IR3 notes.

Support

If any issues are encountered, please post details to the Anki add-ons forum. It’s best if you post in the existing thread (here) so I receive an email notification. Otherwise, note an issue or make a pull request on GitHub.

Please include the following information in your post:

  • The version of Anki you are using (e.g., v2.1.0-beta5; can be found in Help → About...)
  • The version of IR you are using (this can be found in Read → About...)
  • The operating system you are using
  • Details of the problem
  • Steps need to reproduce the problem

License

Multiple people have contributed to this add-on, and it’s somewhat unclear who to credit for which changes, and which licenses to apply.

Tiago Barroso appears to be the person who began the project, and he has stated that he releases all of his add-ons under the ISC license. Frank Kmiec was responsible for vastly expanding the add-on, but it’s unclear which license his changes were released under. Presuming he didn’t specify one, the terms and conditions of AnkiWeb suggest they were automatically released under the AGPL v3. Aleksej’s changes to Frank’s version are multi-licensed under the ISC license and the GPL.

For the sake of simplicity, I am also releasing my changes under the ISC license. For each author, I have placed a copyright line in the license with what I believe are correct dates. If I have made a mistake in this respect, please let me know. I have also removed the manual that is still available in Aleksej’s fork, mainly because it is becoming less relevant, but also because it is a Google Groups conversation, which makes the licensing slightly murky.

Frank Raiser released an Anki 1 add-on under a similar name, but it doesn’t appear to share any code with the current project and functions quite differently. For more information, see Anki Incremental Reading.

About

Anki add-on providing incremental reading features

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.5%
  • JavaScript 1.6%
  • Other 0.9%