GitXplorerGitXplorer
h

pugg

public
0 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
e6773b27c4cdba91bfd44255acc4dadea96ddd1b

Got the code working on windows, and got the keyword search working. Also added some buttons that show up for each keyword. Need to add functionality to remove them when clicked. This should then update the active cards list. I still need to get the scoring functionality to work.

hhaakonrob committed 6 years ago
Unverified
2c21aa768de9ded6efdcbcc1861cc536173bafa4

Added keyword buttons and score buttons to the revise route, and cleaned up routing in general. Now I need to add actions to these buttons

hhaakonrob committed 6 years ago
Unverified
1c8657736b00c43abe046d0dc5e4dbccc493c402

Cleaned up the parsing code

hhaakonrob committed 6 years ago
Unverified
9a89e5520f305b73ee62b5d6660aaaf07e17f697

Added support for viewing images. This was done by modifying the src attribute of any image tags in the filtered card HTML to include the full real path, and by creating a Flask route for assets. This is not a secure solution, because the database will contain the full path to each file. The next step would be to add only relative paths to the database, and only allow access to assets with relative paths. This way the user only has access to the notes directory.

hhaakonrob committed 6 years ago
Unverified
21d211dbfd795bf31380dcaf54e339b44eab6d2b

Added better parsing by having pandoc export html instead of markdown, and added support for viewing math in the browser with MathJax. Images next!

hhaakonrob committed 6 years ago
Unverified
5ca23ef9dc6b7824a31bc86d054166a964060ca3

Created a basic webapp with flask that allows you to access all the topics via URL, and view subtopics and cards

hhaakonrob committed 6 years ago

README

The README file for this repository.

pugg (in progress)

Pugg is a Norwegian word meaning "to study", or "to memorise". This app helps facilitate this.

What it does

Pugg is a command line application that will parse your notes (assuming they're written in Markdown), extract blocks of text that you've marked, and convert them to flashcards that you can later review.

How it does it

The application will walk the directory tree that you give it, passing any markdown files it finds through a pandoc filter that leaves only the notes that you've marked for review (see how below). It will then attempt to turn this into a flashcard with a front and back, at which point it is added to a database in the root directory (if it is not already in the database that is), where it is categorised using its path. For example, "notes/Mathematics/Linear Algebra/determinants.md" becomes ('Mathematics', 'Linear Algebra', 'determinants'). When the user wants to review their notes, they can specify a topic corresponding to some category, or they can specify nothing at all. The application will then select the relevant parts of the database and start quizzing the user on the lowest scoring cards it finds, updating the scores as it goes.

How do I use this

BLocks of text are marked for review by putting them inside a BlockQuote. This is done by putting a '>' at the start of each line. For example: How to mark some text for review

Note that the front and the back of the card are separated by a single blank line. This is required! However, only the first blank line is used as a separator, the back part of the card can have as many blank lines as desired. This might be changed to a horizontal rule, which is written as at 3+ dashes alone on a line, like ---.

Motivation

Many existing apps use a flashcard system that lets you create multi-sided "cards" that you can then review later. Generally the app will present you with the front side of the card, at which point you try to remember the back of the card. You then let the app know if you where successful or not. Often the card is selected based on how well you've managed to remember it in the past, and how long its been since the last viewing, which means that the program can help you find the gaps in your knowledge and stenghten the "weakest links". This is an excellent system for studying, or maintaining your level of knowledge in some area.

However, most of these apps require the user to interact with their cards one-by-one through some kind of GUI, which I personally find a bit clunky. The time it takes to click through, inspect, and edit individual cards tends to build up, especially when you start to accumulate hundreds, if not thousands of cards. Whenever I used these apps, I found myself wondering whether the time it took to convert my notes into reviewable flashcards would be better spent just reading my notes. Pugg is an attempt to make this process convenient by letting you review your notes instead of making lots of flashcards.