Time Logger

by jsux
5
4
3
2
1
Score: 50/100

Description

Just made it for my personal journaling to be more precise

Reviews

No reviews yet.

Stats

0
stars
179
downloads
0
forks
22
days
18
days
18
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
20
commits

README file from

Github

Time Logger 1.4.1

Time Logger automatically adds time/date prefixes to journal paragraphs inside configured Time Logger blocks.

V1 and V2

Version 1.4.1 keeps the existing V1 implementation unchanged as the default.

V1 — timelgr fenced blocks

V1 uses strict timelgr fenced blocks:

```timelgr
user text.....

next paragraph.....

With **Use V2** disabled, only `timelgr` blocks are processed.

### V2 — prefix/suffix blocks

V2 does not use Markdown code fences. Instead, a block is delimited by standalone prefix and suffix lines.

The defaults are:

```text
{
user text.....

next paragraph.....
}

Any eligible paragraph inside a matched V2 block can receive a timestamp.

Multiple V2 blocks in the same note are supported and are evaluated independently.

The default prefix and suffix can be changed from Advanced settings. Custom markers are matched as standalone, trimmed lines; this prevents ordinary uses of { or } inside prose from becoming blocks.

Unmatched V2 markers are ignored.

Use V2

The Use V2 toggle selects the block implementation:

  • Off: V1 only (```timelgr).
  • On: V2 only by default.
  • On + Backward compatibility: V1 and V2 are both processed.

V1 remains the default so upgrading from 1.3.7 does not change existing note behavior.

Advanced settings

Enable Advanced settings to reveal the V2 controls.

Custom prefix and Custom suffix replace the default { and } markers.

Backward compatibility is available when V2 is enabled. When enabled, V1 ```timelgr blocks and V2 blocks are both recognized.

Automatic behaviour

Processing remains event-driven and debounced. There is no polling interval.

Normal automatic processing evaluates the paragraph containing the cursor. The timestamp is inserted at that paragraph's first non-empty line.

Use Rescan current note when you intentionally want every eligible paragraph in every configured V1/V2 scope evaluated.

The existing debounce behavior is preserved, with the default response debounce remaining 250 ms.

Relative line protection

The existing relative protection behavior is preserved for both V1 and V2.

The setting supports Off through 5 lines.

With 1, the immediate physical line above and the immediate physical line below are checked. Blank lines count as physical lines when measuring that distance, but blank lines are never timestamp targets.

During a rescan, timestamps planned earlier in the same pass also become part of the protection set. This keeps the result deterministic.

Formatting

Time tokens:

HH, H, hh, h, mm, m, ss, s, A, a.

Date tokens:

YYYY, YY, MMMM, MMM, MM, M, Do, DD, D, dddd, ddd, d.

Custom timestamp syntax supports {TIME} and {DATE}.

Example:

[at {TIME} of Day, exactly at {TIME} minutes]:

Commands

  • Insert timestamp at current line — explicitly timestamp the current paragraph when it is inside an enabled Time Logger scope.
  • Rescan current note — evaluate every eligible paragraph in every enabled scope.

Upgrade notes

Upgrading from 1.3.7 is non-destructive:

  • V2 is disabled by default.
  • Existing V1 settings are retained.
  • Existing timelgr blocks continue to work exactly as before when V2 is disabled.
  • V2-specific settings are added with safe defaults.
Generated with AI, debugged and stabilized by me

1.4.1 changes

  • Migrated the plugin settings tab to Obsidian's declarative getSettingDefinitions() API.
  • Removed the deprecated display() settings implementation and manual settings refresh.
  • Removed deprecated slider dynamic tooltips; Obsidian now displays slider values inline.
  • Renamed the advanced section heading to Advanced, avoiding redundant “settings” wording in headings.
  • V2 visibility is now declarative and refreshes automatically when its prerequisite toggles change.

1.4.1 changes

  • Migrated the plugin settings tab to Obsidian's declarative getSettingDefinitions() API.
  • Removed the deprecated display() settings implementation and manual settings refresh.
  • Removed deprecated slider dynamic tooltips; Obsidian now displays slider values inline.
  • Renamed the advanced section heading to Advanced, avoiding redundant “settings” wording in headings.
  • V2 visibility is now declarative and refreshes automatically when its prerequisite toggles change.