This an Anki add on that automatically converts Notion notes into Anki flash cards. Currently in development!

Overview

NotionFlash

This is an Anki add on in development that will allow automatically convert your Notion study notes into Anki flash cards. The Anki deck created will remain synchronised with your notes, removing the need to rehash them into flash cards.

Motivation

NotionFlash was created as an integration between the wonderful document management platform Notion and the excellent open-source flash card utility Anki. The goal is to automate the creation of Anki flash cards derived from selected pages in a Notion workspace.

Installation

You can run this project just like any python script but at this stage in development it does require quite abit of initial setup.

Environment

To run this script requires abit of setup. Download the folder AnkiBots and within it create a .env file with the following variables

NOTION_SECRET=...
DECK=...
PAGE_ONE=...
PAGE_TWO=...
PAGE_THREE=...

The value for NOTION_SECRET is your Notion authentication token. You can find information about this here Notion API Authorisation and how to setup an API endpoint and share your Notion pages to it.

The value for DECK is the name of the ANKI deck you wish to add cards to.

The values for PAGE_ONE, PAGE_TWO, PAGE_THREE, PAGE_XXX and so on are Notion page id's. You can find out about page id's here Notion API Getting Started. You must format your page id as is in the following example

...
PAGE_ONE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
...

You must then update line 26 in the main file with the page names you have specified in the .env as well as a tag for each respective page. For example

...
DATABASES = [{"Database":os.getenv("PAGE_ONE"), "cardTag": "PageOneTag"}, {"Database":os.getenv("PAGE_TWO"), "cardTag": "PageTwoTag"}, {"Database":os.getenv("PAGE_THREE"), "cardTag": "PageThreeTag"}]
...

AnkiConnect

You must install the Anki add on AnkiConnect and have Anki open when you run the script

How it works

This script leverages the Notion beta API and Notion toggle lists to create simple Question and Answer Anki cards. In order for the script to identify notes that you wish to convert into a card simply create a toggle (/toggle) in your Notion page with the Question as the title and the Answer as the nested content.

The script will run through all the toggle lists on your page and add them to your specified Anki deck. Cards are not duplicated the following formats are supported - numbered lists, bullet points, images.

Contributing

This project is in its infancy any and all ideas are welcome!

Licence

License: MIT

Licensed under the MIT Licence

Owner
Neeraj Patel
Welcome to my Github!
Neeraj Patel
Object-data mapper and advanced query manager for non relational databases

Object data mapper and advanced query manager for non relational databases. The data is owned by different, configurable back-end databases and it is

Luca Sbardella 121 Aug 11, 2022
Mata kuliah Bahasa Pemrograman

praktikum2 MENGHITUNG LUAS DAN KELILING LINGKARAN FLOWCHART : OUTPUT PROGRAM : PENJELASAN : Tetapkan nilai pada variabel sesuai inputan dari user :

2 Nov 09, 2021
A simple assembly- and brainfuck-inspired stack-based language

asm-stackfuck A simple assembly- and brainfuck-inspired stack-based language. The language has a few goals: Be stack-based Look like assembly Have a s

Nils Trinity 1 Feb 06, 2022
Wannier & vASP Postprocessing module

WASPP module Wannier90 & vASP Postprocessing module with functionalities I needed during my PhD. Being updated Version: 0.5 Main functions: Wannier90

Irián Sánchez Ramírez 4 Dec 27, 2022
When should you berserk in lichess arena tournament games?

When should you berserk in a lichess arena tournament game? 1+0 arena tournament 3+0 arena tournament Explanation For details on how I arrived at the

18 Aug 03, 2022
A Company Management System For Python

campany-management Getting started To make it easy for you to get started with GitLab, here's a list of recommended next steps. Already a pro? Just ed

hatice akpınar 3 Aug 29, 2022
Chemical equation balancer

Chemical equation balancer Balance your chemical equations with ease! Installation $ git clone

Marijan Smetko 4 Nov 26, 2022
Cross-platform MachO/ObjC Static binary analysis tool & library. class-dump + otool + lipo + more

ktool Static Mach-O binary metadata analysis tool / information dumper pip3 install k2l Development is currently taking place on the @python3.10 branc

Kritanta 301 Dec 28, 2022
A not exist cat image generator python package

A not exist cat image generator python package

Fayas Noushad 2 Dec 03, 2021
Nag0mi ctf problem 2021 writeup

Nag0mi ctf problem 2021 writeup

3 Apr 04, 2022
Python programs, usually short, of considerable difficulty, to perfect particular skills.

Peter Norvig MIT License 2015-2020 pytudes "An étude (a French word meaning study) is an instrumental musical composition, usually short, of considera

Peter Norvig 19.9k Dec 27, 2022
A Python simple Dice Simulator just for fun

Dice Simulator 🎲 A Simple Python Dice Simulator 🧩 🎮 💭 Description: That program make your RPG session more easy and simple. Roll the dice never be

Lauro Brant 17 May 14, 2022
The Official Jaseci Code Repository

Jaseci Release Notes Version 1.2.2 Updates Added new built-ins for nodes and edges (context, info, and details) Fixed dot output Added reset command t

136 Dec 20, 2022
JHBuild is a tool designed to ease building collections of source packages, called “modules”.

JHBuild README JHBuild is a tool designed to ease building collections of source packages, called “modules”. JHBuild was originally written for buildi

GNOME Github Mirror 46 Nov 22, 2022
Here You will Find CodeChef Challenge Solutions

Here You will Find CodeChef Challenge Solutions

kanishk kashyap 1 Sep 03, 2022
Rick Astley Language is a rick roll oriented, dynamic, strong, esoteric programming language.

Rick Roll Language / Rick Astley Language A rick roll oriented, dynamic, strong, esoteric programming language. Prolegomenon The reasons that I made t

Rick Roll Programming Language 658 Jan 09, 2023
🎅🏻 Helping santa understand ✨ python ✨

☃️ Advent of code 2021 ☃️ Helping santa understand ✨ python ✨

Fluffy 2 Dec 25, 2021
Active Transport Analytics Model: A new strategic transport modelling and data visualization framework

{ATAM} Active Transport Analytics Model Active Transport Analytics Model (“ATAM”

ATAM Analytics 2 Dec 21, 2022
PyScaffold is a project generator for bootstrapping high quality Python packages

PyScaffold is a project generator for bootstrapping high quality Python packages, ready to be shared on PyPI and installable via pip. It is easy to use and encourages the adoption of the best tools a

PyScaffold 1.7k Jan 03, 2023
Change ACLs for QNAP LXD unprivileged container.

qnaplxdunpriv If Advanced Folder Permissions is enabled in QNAP NAS, unprivileged LXD containers won't start. qnaplxdunpriv changes ACLs of some Conta

1 Jan 10, 2022