summaryrefslogtreecommitdiff
path: root/gnosis.el
AgeCommit message (Collapse)Author
2024-01-04gnosis-db: Redo as defconstThanos Apollo
2024-01-04gnosis-review: Add review session for due notes of deckThanos Apollo
2024-01-04Add gnosis-define-deckThanos Apollo
Function to export deck notes as & import them as DECK
2024-01-04Add gnosis-export-deckThanos Apollo
"Export notes for deck in FILENAME." FILENAME: The name of the file to save the exported deck. This function prompts the user to provide a deck name and allows the user to specify a filename for exporting notes belonging to that deck. It then retrieves all the notes associated with the deck and exports them. The exported notes are formatted as an Emacs Lisp code block that can be evaluated to recreate the deck with its associated notes. The resulting code is saved to a file with the provided FILENAME and a '.el' extension is added automatically. Each note is exported using the `gnosis-export-note` function. The generated code includes a call to `gnosis-define-deck` with the deck name and all notes formatted as nested lists
2024-01-04Add dd gnosis-export-noteThanos Apollo
"Export fields for note with value of id ID." ID: Identifier of the note to export. This function retrieves the fields of a note with the given ID and inserts them into the current buffer. Each field is represented as a property list entry. The following fields are exported: type, main, options, answer, tags, extra-notes, image, and second-image. The exported fields are formatted as key-value pairs with a colon, e.g., :field value. The fields are inserted sequentially into the buffer. For certain field values, like lists or nil, special formatting is applied. If the value is a list, the elements are formatted as strings and enclosed in double quotes. If the value is nil, the field is exported as :field nil. All other values are treated as strings and exported with double quotes. The final exported note is indented using the `indent-region' function
2024-01-04Add gnosis-get-notes-for-deckThanos Apollo
Return a list of ID vlaues for each note with value of deck-id DECK
2024-01-04gnosis-add-note-fields: Add condition-case & update docstringThanos Apollo
2024-01-04Remove gnosis-faces.el & notes.elThanos Apollo
Add faces on gnosis.el
2024-01-04Add gnosis-edit-mode & mapThanos Apollo
gnosis-edit-mode, a mode derived from emacs-lisp with that has keybind C-c C-c to a #'lambda that evaluates & kills buffer, exiting recursive-edit loop
2024-01-04Add gnosis-get-deck-due-notesThanos Apollo
Get due notes of specified deck-id
2024-01-04Update docstrings & fix typosThanos Apollo
2024-01-04Add gnosis-edit-update-noteThanos Apollo
a loop to update values of fields using gnosis-update
2024-01-03Add gnosis-edit-contentsThanos Apollo
This function creates an Emacs Lisp buffer named *gnosis-edit* and populates it with the values of the note identified by the specified ID. The note values are inserted as keywords for the `gnosis-edit-update-note' function.
2024-01-03Add gnosis-edit-noteThanos Apollo
Prompt user to either edit contents note or change ef values
2024-01-03Add gnosis-edit-efThanos Apollo
Edit easiness factor values and update them on gnosis-db.
2024-01-03Add gnosis-replace-item-at-indexThanos Apollo
Used to change/edit values at gnosis-db, that are represented as lists, such as ef
2024-01-03gnosis-review--session: Redo with read-char-choiceThanos Apollo
Previous implemntation with completing-read takes 1+ keypresses (select option & enter). Using read-char-choice we reduce it to 1. Maybe we can add a custom option for next, to optionally be e.g space to make it more anki like
2024-01-03Rewrite gnosis-suspend-deck as cl-defunThanos Apollo
2024-01-03Update docstringsThanos Apollo
- Update documentation for adding notes. - Replace Get -> Return
2024-01-01gnosis-review-commit: Only commit the total number of notes reviewedThanos Apollo
2024-01-01Clean/Trim review functionsThanos Apollo
- Redo review as gnosis-review where user selects notes to review - Notes are passed to gnosis-review--session, where all logic is handled This makes it easier to add new features in the future & maintain
2024-01-01gnosis-review-get-due-notes: Flatten returned listThanos Apollo
2024-01-01gnosis-prompt-tag: Add "q" on optionsThanos Apollo
Fixing issue when having require-match t, user can't select "q"
2024-01-01When reviewing by tag, check if note id is suspendedThanos Apollo
2024-01-01Fix typos & indentationThanos Apollo
2024-01-01Add gnosis-suspend-noteThanos Apollo
2024-01-01Add gnosis-review-commitThanos Apollo
Creates git repo and commit review session
2024-01-01Use file-name-as-directoryThanos Apollo
2023-12-31Redo gnosis-dev.elThanos Apollo
2023-12-31Add gnosis-db-versionThanos Apollo
Version for gnosis-db current implementation. Remove duplicate code as well.
2023-12-30Add note type 'double'Thanos Apollo
Essentialy a note type that generates 2 basic card types form the input of one, by reversing the question/answer.
2023-12-30gnosis-tag-prompt: fix optional valuesThanos Apollo
- Fix prompt formatting issues - Add optional match value, by default nil - This is used to require match for suspending/reviewing specific notes, match should be nil only when adding new notes
2023-12-30Database: Add second-image column for table extrasThanos Apollo
second-image will be path of an image to gnosis-images-dir, which will be displayed AFTER user-input.
2023-12-30Add gnosis-select-imageThanos Apollo
Prompt user to select image from gnosis-images-dir and return it's path as a string.
2023-12-30Add gnosis-directory-filesThanos Apollo
Return a list of file paths as strings in DIR, filter results with REGEX. This funciton will be used to prompt user to select files, such as images.
2023-12-30Make sure gnosis-db has been in/zed before selecting/inserting valueThanos Apollo
Add gnosis-db-init to gnosis--insert-into & gnosis-select
2023-12-30Fix typosThanos Apollo
2023-12-30Adding notes/decks: Warn user if using testing envThanos Apollo
- Add gnosis-testing variable, when any function such as those in gnosis-dev create a testing env, they should also change this value to t
2023-12-30Rename gnosis-unique-tags -> gnosis-get-tags--uniqueThanos Apollo
2023-12-30Rewrite gnosis-prompt-tag as gnosis-tag-promptThanos Apollo
Optionally take custom prompt.
2023-12-30Redo gnosis-db: emacsql-sqlite-open fixThanos Apollo
Redo with emacsql-sqlite as emacsql-sqlite-open has proven to be buggy
2023-12-30Add gnosis-db-initThanos Apollo
Function to create gnosis essential files & db schemas
2023-12-29gnosis-dev: Change default testing valuesThanos Apollo
2023-12-29Update cloze reviewThanos Apollo
- Fix 'looping issues' - Fix revealing all clozes as false & other face issues - Now reveal unanswered clozes as unanswered - Display user-input answer
2023-12-29Add gnosis-review-cloze-reveal-unansweredThanos Apollo
This is just a rewritten version of the previous gnosi-review-cloze-reveal. Loop for clozes, and 'reveal them' with gnosis-face-cloze-unanswered
2023-12-29gnosis-display: Rewrite cloze-revealThanos Apollo
Rewrite as cl-defun with keywords, change previous default values. New: Optionally add custom face
2023-12-29Redo gnosis-completing-readThanos Apollo
'gnosis-completing-read' alternative version to completing-read. Rewritten to just configure text properties of strings. Display opitons with additional info with text properties, padding & choosable face.
2023-12-29gnosis-mode: Disable read-only modeThanos Apollo
2023-12-29cloze: Reveal only one cloze if successful inputThanos Apollo
If user-input is correct (t), reveal cloze with gnosis-face-correct, then prompt for the next one. If user-input is incorrect (nil) reveal all clozes with gnosis-face-false.
2023-12-29display: start with \n for the main/question partThanos Apollo