Giter Site home page Giter Site logo

ohare93 / brain-brew-starter Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 1.0 32.4 MB

Cloneable repo used to get a fresh start with Brain Brew

Home Page: https://github.com/ohare93/brain-brew

License: The Unlicense

HTML 86.90% CSS 13.10%
brain-brew crowdanki csv anki anki-flashcards cloneable

brain-brew-starter's Introduction

Brain Brew Starter

A full working repo using Brain Brew πŸ‘ This repo is for demonstration purposes, and gives a user an already working system to morph to fit their own needs. Though if you already have some Anki cards to sync then it is easier to simply delete most of this repo and use brain-brew to create it from scratch. See the seting up your own cards section below for more details.

If you get use of out this project, or wish to see it progress, please do consider supporting πŸ™

Install steps

  1. Clone or fork repo
  2. Install general requirements
    1. Python 3.7+
    2. Pip
    3. Pipenv
  3. Create a new pipenv using the provided Pipfile with pipenv install. This will install Brain Brew from PyPi and it's requirements. (Note, you can simply run pip install brain-brew instead if you wish, but a virtual environment is recommended)
    1. Enter the virtual environment with pipenv shell if need be, in order to run the next steps.

Running Brain Brew

A Brain Brew recipe is run in the command line with brainbrew run [recipe] and takes a recipe file as an argument.

brainbrew run recipes/source_to_anki.yaml

Two sets of these recipes are provided in this repo under recipes/, each having their own export folder in build/.

  1. One which just converts normal words inside src/data/words.csv into a single note type.

  2. And another that does the same, but also uses the extra 'derivative' files nouns.csv and verbs.csv to add extra fields to certain entries in the words.csv.

Each set contains a recipe to convert from or to a CrowdAnki file.

Setting up your own cards for Import/Export

Change this repo to support your own flashcards! Simply follow these steps:

  1. Delete the following folders in this repo:

    1. /build
    2. /recipes
    3. /src
  2. Export your deck using CrowdAnki and place that export somewhere accessible

    • Remember to restart Anki after installing
  3. In the command line while in the main folder of this repo run brainbrew init [Your CrowdAnki Export Folder]

    • This will generate the entire repo for you, including the recipe files, source files, and build folder
  4. Run brainbrew run recipes/source_to_anki.yaml to generate the deck in the /build folder

Now you have a fully working repo πŸ‘ If you experience any errors during this process, please open an issue (if one does not already exist).

This init command is not smart when it comes to pairing note to use advanced features such as csvs derivatives shared note model templates/styling. It simply just gives you a working base, which can then be customised to a more advanced setup! πŸ‘

Source -> Anki

The deck in /build/deck.json should be identical to your original deck. Make changes in the csv files and run source_to_anki to update the crowdanki file.

Anki -> Source

Or make changes in Anki and export it back into source here by overwriting build/deck.json with a CrowdAnki export and run anki_to_source recipe to pull data back from

Making new cards

Simply add a value into a setup csv and run brain-brew with Csv to CrowdAnki! You do not need to fill in the guid, that will be automatically generated.

Alternatively, create a card in Anki and sync the changes back through into the csv. Use the power of git change compare to find what you need to keep.

Questions

If there is anything I have left out, or that could be clearer, do not hesitate to open an issue or discussion in either this repo or Brain Brew itself πŸ‘

Thanks! πŸ’― πŸš€

brain-brew-starter's People

Contributors

ohare93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

janmija

brain-brew-starter's Issues

TypeError: __init__() got an unexpected keyword argument 'description'

Hi, interesting project, I'm just trying it out, but got the error from the title when running brainbrew init [path-to-crowdanki-export].

For some reason I get "description": " entries in all the flds of one of my note_models in the crowdanki json. Once I delete them manually the error disappears and the command runs without errors.

Also, after the init command runs I get the message "You should now run brainbrew run recipes/source_to_anki", but when I try that it gives a FileNotFoundError as one really needs to run brainbrew run recipes/source_to_anki.yaml.

words.csv?

I think there is a typo in the README. There is a mention of the β€œcsv words.json”.

Maybe be explicit about what's needed to start new projects?

Hey there,

It's not a complaint at all. In fact I'm not sure it's even a very good suggestion, but I thought I'd offer it as food for thought. When making your own projects in GitHub based on this project, you probably don't want to fork this project, since if you forked and tried to sync up later, you'd probably have issues with the src and recipes folders. Really all you need are the Pipfile and the Pipfile.lock files. Might it be worth making that explicit in the README?

In any event, this project is working splendidly for me so far. Thanks very much.

Regards

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.