Damien Elmes
ac07cf3920
remove some comments that are no longer relevant
2020-01-14 20:45:18 +10:00
Damien Elmes
df205ec38f
bump version
2020-01-14 17:28:55 +10:00
Damien Elmes
50729da84a
if profile is corrupt and is reset, need to set default lang again
...
Fixes https://anki.tenderapp.com/discussions/ankidesktop/37994-traceback-error-with-windows-64bit-standard-installation
2020-01-14 15:18:07 +10:00
Damien Elmes
2aae03cdf1
fix startup when prefs.db not readable
...
If we fail to open the Anki 2.0 prefs.db file, on the second try
we need to revert to a new file instead of trying the same broken
file again.
2020-01-14 14:59:46 +10:00
Damien Elmes
5b3852b2ba
if pm.meta() fails, need to unset pm
...
This prevents a startup failure caused by trying to set
the UI scale when .meta() is not working. Startup still
fails, but the correct message is displayed now.
2020-01-14 14:57:24 +10:00
Damien Elmes
66ffc1a432
fix broken answer displaying
2020-01-14 09:00:52 +10:00
Damien Elmes
7352e0f43b
switch to classes for hooks
...
This allows us to add a docstring to .append() so users can see
the names of the arguments that are being passed, and means we
don't have to remember to prepend run_ when calling a hook.
2020-01-14 08:54:07 +10:00
Damien Elmes
c84c3bce72
fix overlapping clozes
2020-01-14 07:07:21 +10:00
Damien Elmes
6fe2d06b16
add hook to modify template prior to rendering
2020-01-13 21:57:15 +10:00
Damien Elmes
7f65f95245
request type hints in new contributions
2020-01-13 21:39:57 +10:00
Damien Elmes
21feaf9a63
include py.typed for mypy
...
these builds are now available on
https://github.com/ankitects/anki-typecheck
The add-on docs will be updated shortly to provide info on
using the new hooks and type checking.
2020-01-13 21:18:03 +10:00
Damien Elmes
2834cdcc6a
add license to wheels and option to skip bundling extra files
2020-01-13 20:04:23 +10:00
Damien Elmes
555d1f0e55
add a flag to handle the legacy hook missing args case
...
And update a few more hooks.
2020-01-13 18:37:08 +10:00
Damien Elmes
3d94af972e
update the rest of the anki/ hooks/filters
2020-01-13 17:59:52 +10:00
Damien Elmes
ad59c96bdd
run black on generated hooks
2020-01-13 17:55:58 +10:00
Damien Elmes
765c7a143c
buildinfo required to generate hooks
2020-01-13 14:55:32 +10:00
Damien Elmes
aa8b1645a7
add separate file for gui hooks
2020-01-13 14:38:05 +10:00
Damien Elmes
f13b98cc20
stray space
2020-01-13 13:58:35 +10:00
Damien Elmes
ae4ea8db22
New type-safe approach to hooks/filters
...
Still todo:
- Add separate module for GUI hooks
- Update the remaining runHook/runFilter() calls
- Document the changes, including defensive registration
2020-01-13 13:57:51 +10:00
Damien Elmes
356962cb2c
mark anki and aqt modules as having typing info
...
This means once they're installed via develop or a wheel, add-ons
will be able to more easily typecheck their code against the Anki
code.
2020-01-13 13:03:37 +10:00
Damien Elmes
8eceedd2e5
more template rendering tweaks
...
- The front and back are rendered in one call now. If the front
side contains no custom filters, we can bake {{FrontSide}} into the
rear side. If it did contain custom filters, we return the partially
complete rear template instead, and the calling code can inject
the FrontSide in after it has been fully rendered.
- Instead of modifying "cloze" into something like "cq-2", the card
ordinal and whether we're rendering the question or answer are now
passed in to the rendering filters as context.
- The Rust code doesn't need to support filter names split on '-'
anymore.
- Drop the "Show" part of hint descriptions so i18n support can be
deferred.
- Ignore blank filter names caused by user using two colons instead
of one.
- Fixed hint field and text transposition.
2020-01-12 21:34:07 +10:00
Damien Elmes
65d86fe853
update version
2020-01-12 15:10:27 +10:00
Damien Elmes
c486a4bf6d
fix type:cloze handling
2020-01-11 19:38:41 +10:00
Damien Elmes
718bb3fae8
drop pystache and move legacy code into separate file
2020-01-11 19:38:30 +10:00
Damien Elmes
d6884dd792
drop pystache comparison
2020-01-11 18:15:13 +10:00
Damien Elmes
524a27dd08
ignore extra { chars in replacement
...
This will still show a trailing } with {{{field}}}, but will at
least show the field content instead of 'unknown field'.
2020-01-11 18:02:24 +10:00
Damien Elmes
9028018277
static->const
2020-01-11 13:06:48 +10:00
Damien Elmes
41d155a6ee
drop unnecessary capitalized cloze handling
2020-01-11 13:03:43 +10:00
Damien Elmes
e7c3218724
handle mathjax+cloze case
...
instead of trying to selectively change clozes from c to C, just
strip HTML from inside the mathjax sections instead
2020-01-11 12:57:32 +10:00
Damien Elmes
cf5457da25
cloze: support
...
MathJax still to do
2020-01-11 12:07:06 +10:00
Damien Elmes
d671f091ff
type: and hint: support
...
We may need to keep handling hints in the Python code for now until
i18n is sorted out.
2020-01-11 09:35:41 +10:00
Damien Elmes
3510eb1861
add ruby filters
2020-01-10 21:04:52 +10:00
Damien Elmes
ab841d9ebe
add some text helpers
2020-01-10 21:01:23 +10:00
Damien Elmes
ca6793c940
add copyright headers to some files
2020-01-10 21:00:48 +10:00
Damien Elmes
f101c34df7
skip rslib doctests, we don't use them and they're slower
2020-01-10 18:06:21 +10:00
Damien Elmes
3a14c247c8
replace fields and apply standard filters in rslib
...
The filters still need to be implemented.
2020-01-10 18:02:26 +10:00
Damien Elmes
8f3df55da2
flatten->render; pass field content in
...
This is paving the way to move the standard filters into Rust.
Non-empty fields are now determined in Rust, using a single regex
instead of the overkill stripHTMLMedia(). The old implementation
has been moved into the Pystache code for now.
2020-01-10 14:59:29 +10:00
Damien Elmes
c9f7f387f4
make sure pyenv is active when fixing
2020-01-10 13:07:12 +10:00
Damien Elmes
f3071df403
fix next_day_at being off by a day before the rollover
2020-01-10 08:21:52 +10:00
Damien Elmes
74d0db0bb5
update translations
...
update translations
2020-01-10 08:21:52 +10:00
Damien Elmes
31ebf0473f
rework new timezone code
...
We now store the UTC offset that was in effect at creation time,
and use that to determine the starting date.
2020-01-09 16:58:27 +10:00
Damien Elmes
d5b0be6ef4
Update CONTRIBUTORS
...
Minor tweak that will add my noreply email to the list of contributors so merging pull requests doesn't fail.
2020-01-09 08:13:07 +10:00
Damien Elmes
3a7fc28aa3
fix type:cloze, and remove misleading comments
2020-01-09 08:05:49 +10:00
Damien Elmes
ef652422dc
Merge pull request #419 from glutanimate/add-develop-target-to-main-makefile
...
Split root develop steps into separate develop target
2020-01-09 08:05:30 +10:00
Damien Elmes
144513a7b3
Merge pull request #418 from glutanimate/addcards-addnote-hook
...
Add hook for AddCards.addNote
2020-01-09 08:05:20 +10:00
Glutanimate
4df58983a2
Split root develop steps into separate develop target
...
Allows development tools to directly debug qt/runanki while using
`make develop` as a debugging pre-launch task.
2020-01-08 21:44:46 +01:00
Glutanimate
4be8351d2c
Add hook for AddCards.addNote
2020-01-08 21:29:28 +01:00
Damien Elmes
0c6dd8cb14
fix CI failing
...
unsure why this doesn't fail locally, using the same mypy version
2020-01-08 20:49:40 +10:00
Damien Elmes
ed7558b817
fix type answer filter
2020-01-08 20:29:15 +10:00
Damien Elmes
c0604c596b
ignore template closing characters outside of a tag
2020-01-08 20:29:04 +10:00