Giter Site home page Giter Site logo

alpkaanaksu / notion2anki Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 2anki/server

0.0 0.0 1.0 12.15 MB

Easily convert your Notion Toggles to Anki flashcards

Home Page: https://2anki.net

License: Other

JavaScript 5.51% Dockerfile 0.78% HTML 20.38% Makefile 0.97% Python 24.22% CSS 48.15%

notion2anki's Introduction

Notion ↦ Anki ⭐️

Netlify Status Discord Twitter

notion2Anki 💫 is a passion project 🕺🏾💃🏾 We are going to make this a good way to make Anki flashcards easier, better and faster.

  • You can convert your Notion toggle lists to Anki cards easily.
  • No technical skills required and 100% free to use by anyone anywhere 🤗
  • Support for embeds, audio files, images and more.

Sponsors

Scrimba.com

👩🏼‍🎓👨‍🎓️👨‍🏫️👩🏽‍🏫 Scrimba - the mind-blowing way to to code!

🎁 Support the Project

This project is brought to you by our amazing patrons and GitHub sponsors 🤩 Thank you!

Patreon ko-fi Buy Me A Coffee

GitHub Sponsor Paypal

You can also support the project financially and receive exclusive member benefits like ✨

  • Access to my Facebook messenger so you can DM me 24/7📱
  • Your name will be added to the BACKERS file on GitHub 🔝
  • Exclusive access to a private channel for supporters 💬
  • Early access to the updates feed on the development 📰
  • Lots of encouragement on your learning journey
  • Personal recorded thank you video 🤳🏾

How it works

notion2Anki treats toggle lists on the top level as Anki cards. The toggle list line is the front of the card and everything inside in the details is the back.

Considering how powerful cloze deletions are, they are the default note type. To see how this works in action check out this video by Alp Kaan: How to use cloze deletions in notion2anki 🤩

You can use the card type to flip which creates a mix of the cards. Basic (front & back), basic + reversed and just reversed.

So by default we are reading in the Notion styles which does not necessarily look good on all devices. Especially on iOS you can see some weird text alignment issues. Those can be solved by adding this to your card template:

body {
  padding: 1rem;
  text-align: left;
}

Background

This project was hacked together after seeing this post on Reddit by jacksong97:

Hey guys just need a little help with something.

I have a whole bunch of questions that I've written for myself within Notion (nested toggle questions). I was hoping I could transfer them into Anki cards fairly painlessly. I have done some just copying and pasting each side separately but it just took too long.

Is there a way to import directly or copy and paste into a txt file or something that will create the cards for me?

Thanks!

Edit: if I were to just turn them into a text file, how do I set which text goes to the back of the card? I’ve been able to get them all into seperate cards but just the fronts

https://www.reddit.com/r/Anki/comments/g29mzk/cards_imported_from_notion/

Roadmap

The dream is to have a powerful and easy to use process for producing high quality flashcards. Notion is super easy to use and Notion 2 Anki is just going to make the importing process and controlling the look of the cards / decks smooth. This project is a complement to Anki and Notion. See the projects page for the specific topics https://github.com/alemayhu/notion2anki/projects/1

Development

Please note that the Imba programming language v2 is currently in alpha so expect to see things breaking when you try stuff. When that is said, see below on how to actually run this 😄

I am assuming you have Node.js already installed, if not then see their website on how install it https://nodejs.org/en/

First make sure you have the dependencies installed

yarn # npm run install

Genanki dependencies are also needed, make sure you install them

pip3 install -r src/genanki/requirements.txt

Then in another terminal run

yarn watch # npm run watch

The previous command will continously build the project.

To actually see the app running you need to either visit the local url in a browser or launch the app with

yarn dev-server # npm run dev-server

Credits

Special thanks to following developers / artistans


Alexander Alemayhu

💻 👀 📖 📹

Alp Kaan Aksu

💻 📹

Mads Cordes

💻

Guillem Palau-Salvà

💬 🤔

Marcel Walk

💻

This would be super hard if it were not for the following projects:

See the package.json file for anything I missed.

License

Unless otherwise specified in the source:

The code is licensed under the MIT Copyright (c) 2020, Alexander Alemayhu

The MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

notion2anki's People

Contributors

aalemayhu avatar alpkaanaksu avatar dependabot[bot] avatar guillem-palau-salva avatar mobilpadde avatar nyasakiat avatar

Forkers

projectwakii

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.