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.
This extends the existing Rust code to handle conditional
replacement. The replacement of field names and filters to text
remains in Python, so that add-ons can still define their own
field modifiers.
The code is currently running the old Pystache rendering and the
new implementation in parallel, and will print a message to the
console if they don't match. If you notice any problems, please
let me know.
the current code was causing the day to move backwards:
at day 7 hour 23:59, elap is 1
at day 8 hour 0:59, elap is 0
at day 8 hour 1:59, elap is 0
at day 8 hour 2:59, elap is 1
at day 8 hour 3:59, elap is 1
at day 8 hour 4:59, elap is 2
as mentioned in https://github.com/ankitects/anki/pull/416