Commit Graph

40 Commits

Author SHA1 Message Date
toasted-nutbread
5ae3acf6ff
Anki note data abstraction (#1228)
* Create AnkiNoteData

* Create AnkiNoteDataDefinitionProxyHandler

* Update media injection

* Create AnkiNoteDataDefinitionSecondaryProperties

* Update note context format

* Expose url and cloze on definition

* Simplify for understandability

* Remove unused _createNoteData

* Update public object

* Remove trims on sentence, since it should already be trimmed

* Fix unused global
2021-01-12 22:47:07 -05:00
toasted-nutbread
4ed9493645
Refactor anki note building (#1223)
* Move TemplateRendererProxy creation into AnkiNoteBuilder

* Simplify _stringReplaceAsync

* Organize note generation

* Rename API

* Make the template rendering function more generic
2021-01-10 19:28:50 -05:00
toasted-nutbread
8c92c1cbc2
Refactor anki note generation (#1202)
* Create _injectAnkiNoteMedia function

* Remove unused code path

* Simplify modeOptions
2021-01-03 19:40:12 -05:00
toasted-nutbread
a02891e52c
Update copyright year (#1194)
* Update copyright year

* Remove redundant Author info
2021-01-01 14:50:41 -05:00
toasted-nutbread
7dd06e1a64
Indicate if first Anki card field is invalid (#1145)
* Add AnkiNoteBuilder.containsAnyMarker

* Flag first field as invalid when there is no marker
2020-12-20 12:20:29 -05:00
toasted-nutbread
008ffdb6bf
Frequencies marker (#1074)
* Update japanese.js tests

* Simplify fallback/early exit

* Add overloads to furigana and furiganaPlain handlebars helper functions

* Expose unique expression/reading arrays (and subsequently counts)

* Add {frequencies} marker
2020-11-28 14:30:50 -05:00
toasted-nutbread
92e9f69c80
Popup style updates (#1066)
* Replace compactGlossaries option with new glossaryLayoutMode option

* Update attributes

* Update attributes

* Update color definitions

* Fix default theme scrollbar
2020-11-25 23:22:05 -05:00
toasted-nutbread
ec021964b7
Compact tags refactor (#1021)
* Update translator to flag redundant tags instead of remove

* Update how compact tags are shown in the popup

* Pass compactTags option to note builder

* Update options templates

* Add options upgrade

* Add options upgrade test
2020-11-12 20:34:11 -05:00
toasted-nutbread
16321a1f8c
Add duplicate check option (#1012)
* Add anki.checkForDuplicates option

* Use checkForDuplicates for button display

* Add property to card creation
2020-11-08 16:25:07 -05:00
toasted-nutbread
215ef627f1
Duplicate scope options (#955)
* Add deck-root duplicate scope option

* Implement support for deck-root scope
2020-10-31 19:03:45 -04:00
toasted-nutbread
cab5daa22e
Add clipboard-text Anki field (#863)
* Add clipboard-text anki field

* Add markers

* Update clipboard injection
2020-09-26 13:45:48 -04:00
toasted-nutbread
3dd4822ab3
Anki note media injection move (#801)
* Move anki note media injection functionality into Backend

* Add marker/mode checks

* Remove media injection from AnkiNoteBuilder
2020-09-10 15:04:54 -04:00
toasted-nutbread
35abd517b9
AudioUriBuilder simplification (#799)
* Rename variables to disambiguate

* Update handler argument convention

* Update getUri argument convention

* Change _getAudioUri argument convention

* Change getDefinitionAudio argument convention

* Add api.getDefinitionAudio definition
2020-09-10 11:57:38 -04:00
toasted-nutbread
58e5ddfde0
Generalize AnkiNoteBuilder to not use audioSystem directly (#796) 2020-09-09 21:07:18 -04:00
toasted-nutbread
acb7ad32f3
Anki media injection move (#793)
* Update AnkiNoteBuilder to not store a reference to an AniConnect instance

* Use more consistent details format

* Organize options assignment

* Move media injection

* Inject images before injecting audio

* Make functions private

* Make static functions private
2020-09-09 16:57:35 -04:00
toasted-nutbread
c0a6849f98
Use common function for data URL mediatype/data extraction (#792) 2020-09-09 13:10:51 -04:00
toasted-nutbread
e3a7678769
Anki screenshot refactor (#791)
* Use more consistent style for injectScreenshot

* Move screenshot generation into AnkiNoteBuilder/Backend

* Get optionsContext before await
2020-09-09 12:54:59 -04:00
toasted-nutbread
2aa86cc5f8
Anki API refactor (#790)
* Add function guiBrowseNote

* Assign default server as null

* Use get/set properties for server/enabled

* Refactor option values

* Refactor createNote/Data functions to not use options format directly

* Use createNote for testing

* Add errors
2020-09-09 11:54:40 -04:00
toasted-nutbread
f7093b4c1a
Anki note clipboard marker (#780)
* Update fields reference

* Add support for adding clipboard images to anki notes

* Add handlebars templates

* Add markers

* Add markers to readme
2020-09-08 11:01:08 -04:00
toasted-nutbread
21fc0a80f2
Defer assignment of marker (#762) 2020-09-04 17:57:05 -04:00
toasted-nutbread
838fd211c6
Pitch accent Anki field templates (#701)
* Template helper updates

* Add pitch data to exported field formatting data

* Reuse note data

* Add no-op

* Set up pitch accent templates

* Refactor version update functions

* Implement upgrade process for new Anki templates

* Consistency

* Update README and anki.js to have matching markers
2020-08-01 16:23:33 -04:00
toasted-nutbread
0c69e54fde
Optimize anki note field generation (#611) 2020-06-21 15:54:34 -04:00
toasted-nutbread
6dd6af05e1
Update background global object usage (#556)
* Omit global window object for scripts used on the background page

* Validate document exists before using

* Remove dom.js from background.html
2020-05-24 14:01:21 -04:00
toasted-nutbread
ac2f743b76
Remove invalid file name characters from Anki media files (#496)
* Replace invalid file name characters

* Replace "filename" with "fileName"
2020-05-06 19:25:56 -04:00
toasted-nutbread
cae6b657ab
Anki audio download (#477)
* Update how audio is added to Anki cards

* Upgrade Anki templates

* Update comments
2020-05-02 12:50:16 -04:00
toasted-nutbread
0956634d61
Add duplicateScope: 'deck' option (#476)
* Add duplicateScope: 'deck' option

* Add option to control duplicate scope

* Use duplicateScope for findNoteIds

* Update location of quotes
2020-04-27 18:10:59 -04:00
toasted-nutbread
7fc3882607 Update the parameters passed to various audio-related functions 2020-04-18 14:23:34 -04:00
toasted-nutbread
ebfc7ca945 Pass anki reference to AnkiNoteBuilder constructor 2020-04-12 12:46:32 -04:00
4e5029f7ec Update license author field to broader to explicitly reflect that
Yomichan is an ongoing community project. It really does take a village,
and everyone who contributes code owns a part of it :)
2020-04-10 11:10:21 -07:00
toasted-nutbread
a6773e0240 Fix field name 2020-04-07 19:04:47 -04:00
toasted-nutbread
8a419dfa67 Pass AudioSystem instance to AnkiNoteBuilder constructor 2020-04-07 19:04:47 -04:00
toasted-nutbread
716ab99fc0 Remove inconsistent/unused return value 2020-04-07 19:04:47 -04:00
toasted-nutbread
97b7b521dd Create _containsMarker to reduce redundant code 2020-04-07 19:04:47 -04:00
toasted-nutbread
a49e061545 Move _dateToString into a new function 2020-04-07 19:04:47 -04:00
toasted-nutbread
efcdff72a3 Move media injection functions into AnkiNoteBuilder 2020-04-07 19:04:47 -04:00
toasted-nutbread
059db280bb Add custom context object for note creation 2020-04-06 18:20:04 -04:00
toasted-nutbread
426c1534e7 Remove marker restrictions 2020-03-07 21:51:56 -05:00
toasted-nutbread
8f9b6534c6 Move stringReplaceAsync
It is only used in AnkiNoteBuilder and it was originally created
for this purpose.
2020-03-07 21:47:48 -05:00
toasted-nutbread
7ac1c843a9 Use dependency injection for apiTemplateRender 2020-03-07 21:47:48 -05:00
toasted-nutbread
69cce49b0d Move Anki note generation functionality into a new class 2020-03-07 21:46:59 -05:00