-
1.2.0 Stable
released this
2026-09-07 18:11:21 +02:00 | 0 commits to master since this releaseSyntax changes
countdownis now always relative to now and no longer accepts afromfield — it computed the exact same math asdiffwith a customfrom, just different message framing. For a comparison between two fixed dates, usediff.- Relative dates:
parseMomentnow understandstoday,now,tomorrow,yesterday, and offsets like+7d/-3mo/+2w(always relative to now). Fixesdiff's biggest weakness — it previously required hardcoded dates that go stale immediately. - Frontmatter fallback is now symmetric across all four types (previously birthday-only):
countdownreadsto/deadline,diffreadsfrom/startandto/end,sincereadssince/created. labelis verbatim everywhere — birthday's convention (include your own punctuation, e.g.label: "New Year:") now applies tocountdowntoo, instead of countdown silently auto-appending": ".- New type aliases:
age(birthday),remaining(countdown),elapsed(since), alongside the existingbday/until/difference. - Unresolvable inline type now shows an explicit error (
Missing or unrecognized "type") instead of silently rendering nothing — this previously affected baredate=X/from=Xand typo'd fields. - Removed the "YAML-like" comma-separated inline format from the docs — it wasn't valid non-flow YAML and silently produced nothing. Only
key=valueand{flow-mapping}are supported/documented.
Settings
- Settings tab rewritten as a compact syntax reference: all four types with their aliases, fields, and one-line descriptions, plus relative dates, frontmatter fallback, and inline/fenced examples.
- Doc link now points to this repo's README on Gitea (was a stale/nonexistent GitHub URL).
Docs
- README fully updated to match: field references, per-type frontmatter docs, relative-dates section, and the expanded alias list.
Note: this is a behavioral break for any note using
countdownwith afromfield, or relying on countdown's old auto-colon label — both now work differently (see README).Verified against the real bundled logic and live in Obsidian (Live Preview and Reading View) via CDP automation.
Downloads
-
1.1.0 Stable
released this
2026-09-07 17:46:32 +02:00 | 3 commits to master since this releaseFixes
- Crash fix: Live Preview could throw and break the editor whenever a fenced
date-calcblock appeared before inlinedate-calc:code in the same note (CodeMirror'sRangeSetBuilderrequires ranges added in ascending order; the two decoration passes weren't merged/sorted). Decorations are now collected and sorted before being added. verbose=falsebug: inlinedate-calc: ... verbose=falsewas silently truthy (a non-empty string), so it never actually disabled verbose output. Now coerced to a real boolean.- Dead code fix:
diffcould never be auto-inferred fromfrom/toalone (an earliercountdowncheck always matched first). Reordered sofrom+toorstart+endcorrectly inferdiff. - Declared
@codemirror/stateand@codemirror/viewas explicit devDependencies (previously only pulled in transitively via@codemirror/language).
New
- Reading View support for inline code:
`date-calc: ...`spans now render in Reading View, not just Live Preview (via a markdown post-processor, same approach as Dataview's inline queries). - Birthday
labelsupport: previously documented but not implemented.label:/label=now works, falling back to a frontmatternameproperty ("Jane's age:"), then the default"Age:".
Internal
- Split the 777-line
main.tsinto focusedsrc/modules (types, config parsing, calculations, widgets, Live Preview extension, settings tab) per repo conventions. - Fixed command-palette entries showing a duplicated plugin-name prefix.
- Moved settings-tab inline JS styles into
styles.css.
Verified with unit tests against the real bundled logic, a reproduction of the
RangeSetBuildercrash against the real@codemirror/statepackage, and live end-to-end testing in Obsidian.Downloads
- Crash fix: Live Preview could throw and break the editor whenever a fenced