gustipardo38 downloadsA minimal timer plugin with one-tap start/stop, note-level timer exclusivity, reports, and session logging.
Simple Tap Timer is an Obsidian plugin to run quick timers directly inside your notes.
This demo shows timer usage, reset-all, and save-session flow.

Minimum usage (required only):
```tap-timer
```
Fully customizable example:
```tap-timer
title: Push-ups
id: pushups-timer
independent: false
startLabel: Start
stopLabel: Stop
errorNotice: Could not update timer.
```
id: unique timer id (recommended).title: optional title shown above the timer.independent: true/false (default false).false: when started, other non-independent timers in the same note are paused.true: can run in parallel.startLabel: start button label.stopLabel: stop button label.errorNotice: message shown if timer action fails.Minimum usage (required only):
```tap-timer-report
```
Fully customizable example:
```tap-timer-report
button: Generate timer table
busyLabel: Generating...
missingNoteNotice: Could not identify the note to generate the table.
successNotice: Timer table generated/updated in the note.
errorNotice: Could not generate timer table.
reportTitle: Timer Summary
noteLabel: Note
updatedLabel: Updated
idHeader: ID
titleHeader: Title
valueHeader: Final Value
emptyLabel: (no timers)
```
This block inserts/updates a marked report section in the current note.
Minimum usage (required only):
```tap-timer-reset-all
```
Fully customizable example:
```tap-timer-reset-all
button: Reset note timers
busyLabel: Resetting...
confirm: This will reset all timers in this note. Continue?
missingNoteNotice: Could not identify the note to reset timers.
successNotice: Timers reset: {count}.
errorNotice: Could not reset timers.
```
Minimum usage (required only):
```tap-timer-save-session
```
Fully customizable example:
```tap-timer-save-session
button: Save session
busyLabel: Saving...
confirm: This will save this session to the session log. Continue?
missingNoteNotice: Could not identify the note to save the session.
successNotice: Session saved to {log}. Total: {total}.
errorNotice: Could not save the session.
workout: Upper Body Day
folder: Logs
file: Sessions.md
historyTitle: # Timer Sessions History
sessionPrefix: Session
dateLabel: Date
dateIsoLabel: Date ISO
workoutLabel: Workout
noteLabel: Note
totalTimeLabel: Total time
sectionHeader: Section
idHeader: ID
timeHeader: Time
emptySectionLabel: (no timers)
```
You can configure destination in two ways:
folder + file (recommended)log with a full vault-relative path (legacy/explicit override)If log is provided, it takes precedence over folder + file.
next: is not used anymore.