All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
0.2.0 (2023-09-09)
- deprecate old SRS code
- Button: add value attribute
- rewrite component to use mock data
- rewrite to render basic chapter tree
- replace route string with dynamic param
- replace dummy data with dummy API call
- merge routes for card creation
- add
hasAnnotations
to annotation interface (e106f30) - add action and remove unused component (770fe9c)
- add action for card creation in router declaration (0117464)
- add action for flashcard update (0e1bab6)
- add annotation extractor that uses file metadata (1b8aad0)
- add API for fetching annotations (e55e42d)
- add argument for flashcard id (ecdde1f)
- add better mock data (6ab34f2)
- add book finder logic (f527f83)
- add book model and dummy generator API (0b749c7)
- add bookId param to createFlashcardForHighlight (9f53b78)
- add bookSections implementation (5b3ce0f)
- add buttons and dynamic deck listing for home (6fe8962)
- add card learning stage counter (db08a1f)
- add ChapterList component (4fcc177)
- add class implementing flashcard interface (5e7f017)
- add class to card form (ccd5284)
- add classes for styling (d702181)
- add clickHandler prop for buttons (065c9ae)
- add clozeInsertionAt param for cloze cards (9dfbd2c)
- add color buttons for filtering (f5e23e7)
- add component for book creation route (b36735f)
- add component for deck landing page route (b8896fd)
- add component for generating a list of books (5d9a926)
- add components for rendering cloze cards (5c0e5db)
- add conditional rendering for note (507709e)
- add context provider to modal (51d2ceb)
- add correct cloze rendering (142de5a)
- add correct HTML for rendering a chapter list with coverage (26b7ebd)
- add correct implementation for getFlashcardById (46d22a3)
- add correct return values for when annotation file found (a856699)
- add correct routing logic (9a1b275)
- add correct state changes for highlight color filter (8b7b41c)
- add counts to each header (09023c6)
- add createFlashcard API (4eb288c)
- add deleteFlashcardById to handle simple delete (2a03933)
- add different modal for editing clozes (161e62f)
- add div with ref for back button (d2e67be)
- add divs and classes for easier styling (e6b5b55)
- add dummy action for card creation submission (04a5474)
- add dummy list of highlights (d092054)
- add dummy logic to redirect when done reviewing (d589ee3)
- add dummy method for getting annotations (09a0ffb)
- add dummy values for file query API (24ce162)
- add empty link for editing flashcards from preview page (cbc6d70)
- add empty method to fetch flashcards (2c56563)
- add error page for router (f28da17)
- add errors for wrong inputs (80bb75a)
- add external API to update flashcard (086be5a)
- add feature flag and API call from controller (4157330)
- add feature flag and API call from controller (139a2fb)
- add feature flag logic for deckLoader (63e836b)
- add feature flag to annotation outlet (9ca280f)
- add feature flag to load data from notes (9ac5730)
- add feature flag to use actual backend (0242445)
- add findPreviousHeader implementation (2002563)
- add Flashcard.isDue() for usability (c36ccdb)
- add FlashcardContext (7331fda)
- add FrontendFlashcard members for scheduling data (f01a69e)
- add function stub for updating cards (fc687e0)
- add generateTree implementation (1f5b021)
- add getBooks implementation (32668b2)
- add getFileCache wrapper (ab91462)
- add getNextCard() (20f214e)
- add getSectionTreeForBook (e03335f)
- add global state (2be0478)
- add hardcoded icons list in constants.ts (de73645)
- add helper functions to calculate annotation counts (0b1774b)
- add implementation for getAnnotationById (54611e9)
- add implementation for getFlashcardsForAnnotation (add8392)
- add index initialization (38b290c)
- add initial function for fetching flashcard (a8a69d9)
- add initialization for books and book paths (c8bd827)
- add insertion point when creating card front (eee2762)
- add instance methods for reviewing (9848045)
- add instance variables for review (4e2c16f)
- add instanceof check (64eae47)
- add interface for annotationsLoader (2270033)
- add interface for flashcard (0baba83)
- add interface to handle mock data (021654f)
- add landing page for clicking on deck (9a86c93)
- add level check to find the next header at same level (2d80777)
- add loader logic (d904678)
- add loader that uses a feature flag (bce2570)
- add loader when choosing card type (d08485d)
- add logic to extract annotation tfile from flashcard note (7cff458)
- add logic to generate button text (942c1e4)
- add logic to handle creating vs editing flashcards (9c0cc86)
- add logic to handle singular durations like 1 month, etc. (3d0e6b7)
- add method and interface for deckNote generation (c7071f4)
- add method for back button navigation (977addc)
- add method to count annotation flashcard coverage (8d025e4)
- add method to enrich metadata array with flashcard presence (2e102d1)
- add method to fetch current card for use in loader (8d34536)
- add method to generate only section tree (e84feba)
- add method to handle enum conversion (6137358)
- add method to update flashcard index (5d31814)
- add method to update header counts without needing a tree (5d01a20)
- add method to update parsedCards index (1465462)
- add methods for building internal state like flashcard arrays (85676ac)
- add methods for generating a ParsedCard from Flashcard (1e4bde4)
- add methods for reading and writing to disk (429a0dc)
- add methods from original review logic (0c6e9b3)
- add module patch for missing attrib in HeadingCache (f930829)
- add moon reader annotation parser (0e3ceac)
- add new API to fetch books which don't have flashcards (ee55456)
- add new APIs for creating a new flashcard notes and for fetching file and folder paths (b152dee)
- add new class implementing frontbook (14a7be8)
- add new class that extends Obsidian headings with an ID (676a48a)
- add new command to create an empty flashcards file (ac9ab8d)
- add new DeckCounts component (d4a2c2b)
- add new enum element and replace return values (86dd1f6)
- add new Flashcard interface for frontend (0a53e4f)
- add new interface for deck landing page (4d4a39f)
- add new interfaces for mock data (3e28a6f)
- add new ReviewDeck component (36e98eb)
- add new route (2c87e3a)
- add new route for adding review decks (33ccae5)
- add new route for reviewing a flashcard (0fe196c)
- add new separator arg to generateCardTextWithSchedInfo() (0f96073)
- add new setting to store book paths (07846ca)
- add parseFlashcard stub (b68c0f6)
- add plugincontext (6e57645)
- add preview page for creation flow if highlights already exist (d9dff9f)
- add processReview logic (e6e6c2a)
- add processReview stub (cc2df17)
- add redirect when clicking submit button (63baa07)
- add regex based flashcard parser (a926767)
- add reviewability check (a3ab3c9)
- add root route (3f4720a)
- add route and component for cloze cards (67ea62c)
- add route for adding decks (c112b14)
- add route paths to modal (eb6aca0)
- add route to highlight list (482809f)
- add router config for deck landing page (bcede97)
- add routes for listing highlights, choosing card type and creating card (d06ed92)
- add separate method for parsedCard from fileText (a9a8685)
- add several methods for reading and writing files and metadata (9ef9e49)
- add simple context user for button labels (6ab4122)
- add span wrapper for annotation text (4c7a81d)
- add state reset when changing card paths (4743d9e)
- add state update to go back to initial page (f9bcf70)
- add state updates for card type picker (b240ac4)
- add stub to get list of books (b74b78f)
- add styles for home page (8925cf7)
- add text generation functions for cards and metadata (efa1540)
- add type check for HeadingCache items (783fea5)
- add types for loader params (22cf448)
- add updateFlashcardById implementation (3eba6ad)
- add wrapper function to create a book object (7957be5)
- add wrapper to convert enum to value (e61306d)
- better button text on mobile (f1b4f3a)
- bookSections: enrich annotation with hasFlashcard boolean (374359a)
- Button: add value attribute (d443caa)
- buttons now have click handlers (34edca2)
- call generateHeaderCounts in initialize() (4b41bd3)
- change dummy data for frontend logic to be cleaner (3e46c20)
- change homepage for faster testing (1050dfb)
- change mobile modal width (c7614ea)
- change parseAnnotations to return all parsed items (92f3224)
- ChapterList: add CSS classes and missing HTML for deck counts and header (77e90f4)
- ChapterList: add page to add card (3b35223)
- ChapterList: update href for chapter links (c75b0ce)
- ClozeCardForm now picks up default value for text field (7f215cd)
- ClozeCard: use loader (53e9a48)
- controller: new API to get book by ID (afbf3ff)
- create flashcards from parsedCards (94c97f7)
- create Heading object when generating book sections (bd9323e)
- CreateCard: use params and right route name (f12bc8e)
- creating flashcard from API now generates a ParsedCard (e32abe1)
- deck-preview: new interfaces for return type from controller (f4e5512)
- deleteFlashcardById: handle corner cases (b1fa741)
- deprecate old SRS code (feddb68)
- enable strict null checks (790aa4a)
- export DeckCounts (ac995f9)
- export feature flag (fd44cf2)
- extend ParsedCard interface with tfile (c337e00)
- extract count totals from book in component (dee617f)
- extract existing cloze text if in existing flashcard (f5cb036)
- extract scheduling params from current card instead of hardcoding (7d06a10)
- filter highlights based on color using color state (10bc249)
- findNextHeader: add implementation (446ebdc)
- findNextHeader: add implementation (cdcbf72)
- frontbook interface has new list of annotations (7cc44ed)
- frontbook: add new bookSections member and deprecate annotations (056e4a1)
- getFlashcardById returns a flashcard (c781c2f)
- getFlashcardById: returns the card or null from flashcard array (656112c)
- HighlightsList: move data fetching to chapterLoaderData (e4c8bdf)
- implement basic getAnnotations (78a09f3)
- merge routes for card creation (0b332c3)
- move hardcoded data to loader (c8ea2a6)
- move new card link to button and add conditional (de671ef)
- parser: move card metadata into its own field (2f742b6)
- pass flashcardResponseHandler down to button (8cec636)
- re-add edit later modal (c4416e9)
- re-add route for new card (900b604)
- redefine annotation interface for frontend (0fc46a7)
- redefine counts in book interface to use flashcards and sections (5e961a5)
- render icon to back button ref (df7821e)
- replace dummy data with dummy API call (4ef1a92)
- replace flashcards preview with simpler count (9052716)
- replace hardcoded loader with param based query (4c8e6a3)
- replace route string with dynamic param (80e0af0)
- resolveInput() now doesn't reject close events (1f0724f)
- rewrite annotation extraction logic using loop (31d1fa3)
- rewrite component to use mock data (e26c63d)
- rewrite edit-modal to resolve to an updated Card (9a5c673)
- rewrite loader to use mock server data (7ee0a91)
- rewrite styles (9846708)
- rewrite to render basic chapter tree (42908a7)
- router: add new route for deck card creation (a8b0d6f)
- set feature flag to true (62498c8)
- show answer text when previewing existing flashcards (50ceb3f)
- split interfaces for comprehension (e36b784)
- throw an error if no text extracted from card (370a92d)
- throw error if book not found (35f06df)
- throw error if flashcard not found (83457f4)
- throw error if no annotations extracted (7225557)
- throw error if no regex matches found (8571da9)
- throw errors (b189bff)
- updateCardOnDisk: add implementation (bdf3264)
- updateFlashcardAnswer: add method (71f8a5c)
- updateFlashcardQuestion: add method to update question text (6e8ac0f)
- use cleaner updated card handling to write back to file (f67dee3)
- use controller API to write flashcard (9f3def7)
- use counts as new param for annotation test coverage (d86dd0b)
- use counts in component (1a2dd91)
- use DeckCounts in Notes component (c569911)
- use FlashcardContext (cbe6cb2)
- use mock server json in loader (fa1be2b)
- use notesLoader in router definition (96ea38c)
- use replace for a few
Link
s (f8b55e5) - widen type for FlashcardContext (255053d)
- wrap card creation buttons in a div (626a832)
- actually extract question and answer text (70a4ffe)
- add another newline cause you're stupid (cdde996)
- add book argument for updating flashcards (ab66d2f)
- add correct action for inserting cards (ed15cf2)
- add error handling logic for legacy flashcards (e7765c6)
- add explicit null check and throw error (875756e)
- add flag argument with default value (b03e8e9)
- add interface for annotationLoader params (04a10a8)
- add interface for cardLoader params (d3ff9cb)
- add interface for chapterLoader params (ff825e4)
- add interface for deckLoader params (b565f70)
- add key instead of id for React lists (e021148)
- add key to fix warning (0d25ba0)
- add missing import (8246a16)
- add missing import for icon (e12fd97)
- add missing import for type (65829ec)
- add missing loader import (03a0260)
- add missing plugin import (f80960d)
- add missing regex char (91abd45)
- add missing type (819b661)
- add missing useLocation hook (c7d9ba8)
- add optional chaining (189733f)
- add the newline in the correct place (0caa776)
- add ts-ignore with todo note (1eb7ee2)
- add types (8286a20)
- add typing (e04bf23)
- add typing and error handling (bff86bb)
- adjust prop interfaces (1cffccc)
- annotation ID assignment (9544efa)
- annotation id regex (9ee0801)
- annotation ID regex (c4b73e5)
- annotation id regex to use 5 digit moon reader ids (6fd51fa)
- ANNOTATION_REGEX (2e0113b)
- ANNOTATION_REGEX and note text cleanup (8bc4713)
- AnnotationCount and countAnnotation attrib usage (bb9269a)
- annotationsWithFlashcards needs to be a reverse lookup (7f382ed)
- API argument for updating flashcard (ce3fc30)
- attempt fixing manifest for brat (c80ec84)
- back button navigation logic (1772769)
- book names (ee4f956)
- bookSections call inside Book.initialize() (5c3c4a9)
- broken button text to use new button text generation functions (838d77f)
- broken count usage (cbde570)
- broken getNextCard() implementation from earlier refactor (658cd8d)
- broken import (f9c7372)
- broken interface import (08fe5f0)
- broken redirect for review action (87c7fed)
- broken redirect for when review finished (e5080dc)
- broken regex for scheduling info (c4abaae)
- broken split character for parsing card text (0752058)
- broken tag search when tags are in frontmatter (4a71612)
- broken types from Flashcard interface rename (ed7dd23)
- Cancel button TSX (f049466)
- card write format (8e3f65a)
- cast the reviewResponse as it's becoming a string somehow (bc4477d)
- change annotation attribute to method call (2ebccb7)
- change css classes for deck tree items (76975b1)
- change initialization to use constructor (1fbfe9b)
- change title attrib to name (95a0bd4)
- ChapterList: remove unused prop
childKey
and add explicit types to props (1dd85bd) - clickHandler arg type (e1e504e)
- CollapseIcon: clickHandler arg type (2824ee9)
- CollapsibleTreeEntry: arrow function prop arg type (233cd7d)
- comment out broken card counts for now (83a5f4a)
- comment out broken card counts for now (c66a9a3)
- comment out missing broken route (cf63305)
- component name (977bb2f)
- conditional logic for existing flashcard list (62f1fbd)
- correct loader for AnnotationWithOutlet (9a6c72f)
- correct paths broken by earlier rename (6d62dd8)
- correctly add redirect (0dd6e5a)
- correctly initialize edit modal's answerText (16d7c93)
- count type (6379deb)
- count type (86a97d3)
- create review deck on initialization (4f44c74)
- createFlashcardForAnnotation throws error when book not found (e31d91f)
- deck counts for title positioning (5a6de4d)
- DeckBuilder: use correct settings arg when calling parse() (d9d19ca)
- do not overwrite counts when generating tree (e336923)
- don't mutate object when generating tree (2f544c0)
- don't replace history stack when reviewing (edccf5f)
- dynamically query highlight page data using params (a9234e2)
- eslint error (6fafc50)
- eslint error (bb29c69)
- eslint error (da78bf0)
- eslint error for moment usage (4ed7847)
- eslint errors (176ad5e)
- eslint errors (aac0abf)
- eslint errors (004d7a9)
- eslint errors (9a7d836)
- eslint errors and remove unused import (a92a9db)
- eslint errors for unused
any
and variable (25d7b3b) - explicit return type for CardBack component (9854216)
- extend obsidian API definition to include internal APIs (df05fe3)
- findNextHeader correctly returns -1 for header not found (b11b5d8)
- findPreviousHeader and add comments (2a09598)
- fix card editing writeback (9be25e6)
- flag string substitution (4d15347)
- flipped argument order for findNextHeader (206c95d)
- generate link correctly (74e9bf5)
- getParentFolderName returns parent folder name (24da257)
- handle code fences better (#402) (7390905)
- highlight text containing '> ' (7d7a100)
- import (3f98e5f)
- imports (2a791f4)
- imports (fcf8727)
- imports (c4c204d)
- imports (e21cc98)
- imports and add comments (f94f887)
- imports and random try line (6ec442e)
- imports for the tests (64517f4)
- incorrect
this
reference (31c72f4) - incorrect conditional for mobile buttons (09517b2)
- incorrect metadata string generation (3458cdf)
- incorrect rest param usage (6f80a33)
- incorrect type (9d0a85d)
- initial values (ee59b9a)
- initialize counts (eba12cc)
- initialize plugin state (e6b53b4)
- interface member types (b3abe74)
- list key (cd92d4c)
- loader function for flashcard routes (e307b80)
- loader gets current card instead of always fetching next card (2b95162)
- loader redirect and safe navigation (3c3a77c)
- make deck div clickable instead of generating anchor (6aefb81)
- make member in loader optional (2531136)
- make NoteAndHighlight dynamic and update dummy data (af1321d)
- make notePath in ParsedCard a required member (b729e3b)
- make response required arg (836f180)
- make scheduling data optional (90f7249)
- missing attribute reference operator (84ed177)
- missing back button navigation logic (088a1f4)
- missing route? (bec6394)
- missing safe navigation for next card id (9d27b46)
- missing type check which was inlined in prior commit (396049b)
- move logic to correct component to work with new UI (cb10aa7)
- moveToNextFlashcard() now called only when card modified (b5e2cc1)
- narrow type (2846460)
- non existent attribute reference (f4d3fca)
- object references (6e5e083)
- outdated types (6fd333b)
- overlapping context header and question text (ebd4485)
- parsedCardCopy filter (8753dbd)
- parseMetadata: set flag correctly (855e939)
- point review path at the right component (75a7606)
- PreviewExistingFlashcards: key attribute for lists (3d52400)
- push all items from parseAnnotations (98bac40)
- QuestionEdit component input (7623d8b)
- redirect path (2bad2d8)
- redirect path (d74e5bc)
- remove
any
usage and add type checks (8b63dac) - remove extra curly to fix build (fcd2126)
- remove flashcard count hardcoding (43af30c)
- remove setting usage and use hardcoding (6dc9811)
- remove unused any (e63ec1a)
- remove unused imports and make filePaths public (eeeb875)
- remove weird rounding logic (96853ce)
- rename attrib for sections to children (f5ec38f)
- renamed route (eb58a93)
- replace hardcoded counts with calculated test counts (5aaeeeb)
- replace history stack when navigating to CardForm (cad0137)
- replace route string (d198e4f)
- reset review deck when done reviewing (ab57413)
- return type (fd92baf)
- return value for section tree (2cbdb39)
- returned value for getFlashcardById to match return type (19be16c)
- revert esbuild config (167a51a)
- rewrite form structure to follow HTML conventions (011c111)
- route link (750a1ac)
- route path (fae9194)
- route path for chapter links (273f02e)
- route path for existing flashcards (ed105f0)
- set presence check (fc68663)
- several eslint errors (9cf5abf)
- several eslint errors (089377f)
- several eslint errors (d02a9c0)
- state update to use a function (44100e6)
- submit button correctly writes to file (02e35de)
- tag search function (2bff164)
- tests and add mocks (d1e5db1)
- throw error if metadata not found (b7e2c0e)
- throw error if regex matches not found (f366974)
- throw error if TFile not found (1e4baa8)
- throw error instead of just creating one (424f763)
- throw errors for book not found (70cd41c)
- throw not implemented error for unsupported card type (df1af24)
- Tree component to narrow types, remove unused props (f0b54f9)
- Tree: fix types for
render
prop (4f5f2cb) - TSX for button rendering (caa58ea)
- type (f822a2a)
- type (a8dca3d)
- type check (b0f5b8e)
- type for book interface (1247ef7)
- type property check (64c5800)
- type returned by getFlashcardById (28f2cab)
- type usage (b03551e)
- types (37e0f6f)
- types for button click handlers (4a8ef3e)
- typing and null/undefined issues (1ce1152)
- typings inside action (05f0216)
- update href for card creation button (da18fb2)
- update imports (e56dba2)
- update imports (27285f4)
- update imports (79e9fbb)
- update imports (3569ed4)
- update imports (1ea5d26)
- update imports (bb73c1a)
- update imports (d450260)
- update imports and fix earlier loader rename refactor (46acfec)
- update interface to use Record type (6b11b45)
- update links to match new routes in flashcard-modal (9376ead)
- update loaded data to use new interfaces (7f4ed42)
- update loader attrib in route definitions (86311a1)
- update pages to use loaders instead of hardcoded data (af89ed4)
- use absolute values for delay calculation (240428b)
- use book instead of plugin and remove hardcoded path (5b433f0)
- use correct label text (9164b8a)
- use correct object structure for counts (c4a929a)
- use correct path value (412de12)
- use correct type for
book.children
(7317e49) - use Form button instead of Link button (52a776a)
- use global state instead of
this
(64c21c8) - use global state instead of
this
(6002ce0) - use loaded data to calculate header counts (066c7dc)
- use nanoid type id instead of number (bd91ba0)
- use parent folder name when creating Book objects (0021767)
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.