├── .gitignore ├── README.md ├── index.js └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![NPM](https://nodei.co/npm/memanki-cli.png)](https://nodei.co/npm/memanki-cli/) 2 | 3 | ![npm](https://img.shields.io/npm/dt/memanki-cli.svg) 4 | 5 | # MEMANKI-CLI 6 | 7 | Builds anki decks from a memrise lesson ID, in command line 8 | 9 | ## What is anki anyway? 10 | Anki is a flashcard program which makes remembering things easy, using the SRS principle (spaced repetition system) for optimum information retention. 11 | 12 | For those who like to know how things work, the SRS algorithm used by anki was originally written empirically by Piotr Woźniak and can be found [HERE](https://www.supermemo.com/english/ol/sm2.htm). 13 | You can visit the [ANKI website](https://apps.ankiweb.net) for more informations. 14 | 15 | If you want to know more about the Spaced Repetition System principle click [HERE](https://www.supermemo.com/articles/theory.htm) 16 | 17 | ## Why convert memrise lessons to Anki? 18 | While memrise is awesome for learning new words/things, I always found Anki to be much better at long term information retention. 19 | I like to use it both, Memrise for learning, and anki for not forgetting with minimal effort. 20 | Memrise lessons can be found [HERE](https://www.memrise.com/courses/english/). 21 | 22 | ## Install 23 | Simple install from npm: 24 | ```` 25 | npm install memanki-cli -g 26 | ```` 27 | Or clone this repository and then from root folder: 28 | ```` 29 | npm install -g 30 | ```` 31 | 32 | ## Usage 33 | 34 | memrise IDs are found in lesson urls, ex: 35 | 36 | [memrise.com/course/**1098043**/spanish-spain-1](https://memrise.com/course/1098043/spanish-spain-1) 37 | 38 | Here **1098043** is the memrise lesson ID 39 | 40 | To build one anki deck per sub lesson, each deck will take the name of the sub-lesson: 41 | ```` 42 | memanki --id 1125954 43 | ```` 44 | or: 45 | ```` 46 | memanki --id="1125954" 47 | ```` 48 | 49 | use --merge parameter if you one Anki deck containing all memrise sub-lessons, ex: 50 | ```` 51 | memanki --merge --id 1125954 52 | ````` 53 | 54 | Decks will be generated in current folder. 55 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const memanki = require('memanki'); 4 | const argv = require('minimist')(process.argv.slice(2)); 5 | 6 | const merge = (typeof argv['m'] !== 'undefined' || typeof argv['merge'] !== 'undefined') ? true : false; 7 | const reverse = (typeof argv['reverse'] !== 'undefined') ? argv['reverse'] : 'none'; 8 | if (typeof argv['id'] === 'undefined' && typeof argv['help'] === 'undefined') { 9 | console.log('No memrise id was given.') 10 | process.exit() 11 | } 12 | memanki.getAnkiDeck(argv['id'], merge, reverse); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "memanki-cli", 3 | "version": "1.0.3", 4 | "description": "CLI inplementation of MEMANKI: convert memrise lessons to anki decks given a memrise lesson ID", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [ 10 | "memanki", 11 | "anki", 12 | "memrise", 13 | "srs", 14 | "supermemo", 15 | "learning" 16 | ], 17 | "dependencies" : { 18 | "memanki" : "1.0.3", 19 | "minimist" : "1.2.0" 20 | }, 21 | "bin" : { 22 | "memanki" : "index.js" 23 | }, 24 | "repository" : { 25 | "type" : "git", 26 | "url" : "https://github.com/breizoreol/memanki-cli.git" 27 | }, 28 | "author": "breizoreol", 29 | "license": "MIT" 30 | } 31 | --------------------------------------------------------------------------------