Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

TapLog

LJ OSLJ OS112 downloads

Create Markdown-based trackers with tappable buttons that log timestamped rows to monthly CSV files, with summaries, dashboards, and settings-based editing.

Add to Obsidian
TapLog screenshot
  • Overview
  • Scorecard
  • Updates1

TapLog is a one-tap tracker for Obsidian.

Use it to track snacks, cannabis, habits, symptoms, supplies, chores, inventory, or any simple event you want in plain files. Each tracker is a normal Markdown note. The tracker note contains readable taplog frontmatter, and a taplog code block renders the buttons in Reading View.

When you tap a button, TapLog appends a timestamped row to a monthly CSV file under TapLog/Logs/YYYY-MM/.

Quick start

  1. Install TapLog and enable it from Settings -> Community plugins.
  2. Open the command palette.
  3. Run TapLog: Create snack tracker.
  4. Open TapLog/Trackers/Snack Tracker.md.
  5. Switch the note to Reading View.
  6. Tap Ate Mosh Bar or Beef Jerky.
  7. Open TapLog/Logs/YYYY-MM/snacks.csv to see the logged row.

TapLog creates missing folders, CSV files, and CSV headers automatically.

To change the tracker later, open TapLog settings and use Edit existing tracker.

How trackers work

A tracker note has two important parts.

The editable config lives in the taplog frontmatter at the top of the note:

---
taplog:
  id: snacks
  output_type: csv
  output_folder: TapLog/Logs
  output_file_pattern: YYYY-MM/snacks.csv
  columns:
    - timestamp
    - item
    - quantity
    - unit
    - category
  buttons:
    - label: Ate Mosh Bar
      values:
        item: Mosh Bar
        quantity: 1
        unit: bar
        category: snack
---

The rendered buttons come from a taplog code block in the note body:

```taplog
id: snacks
```

The code block id must match taplog.id.

Edit a tracker from settings

For normal edits, use TapLog settings:

  1. Open Settings -> TapLog.
  2. Find Edit existing tracker.
  3. Choose a tracker note from the dropdown.
  4. Select Load tracker.
  5. Edit output paths, columns, defaults, or buttons.
  6. Select Save tracker changes.
  7. Open the tracker in Reading View.

Buttons appear as compact editable cards. Change Name, use Logged values rows for the value name and logged value that should be written to the CSV, select Add logged value to add another row, select Add button to add another button, or select Remove button to remove one.

The settings editor writes changes back to the taplog frontmatter in the selected Markdown tracker note. Existing CSV logs are not deleted.

Tracker ids are read-only in settings. Create a new tracker if you need a different id.

Advanced: edit the tracker note directly

Tracker notes are still the source of truth. You can also edit a tracker manually:

  1. Open the tracker note, such as TapLog/Trackers/Snack Tracker.md.
  2. Switch to Source mode or Editing View.
  3. Edit the taplog section at the top of the note.
  4. Save the note.
  5. Switch back to Reading View.

The buttons use the updated config after Obsidian refreshes the note.

Common edits

You can make these changes from Settings -> TapLog -> Edit existing tracker. The examples below show the Markdown config that TapLog updates for you.

Change a button label

In settings, load the tracker and edit the button's label field.

Advanced users can edit the label text directly:

buttons:
  - label: Ate Protein Bar
    values:
      item: Mosh Bar
      quantity: 1
      unit: bar
      category: snack

The label changes the button text. The values decide what gets written to the CSV.

Change what a button logs

In settings, edit the button's Logged values rows:

Value: item        Logged value: Protein Bar
Value: quantity    Logged value: 1
Value: unit        Logged value: bar
Value: category    Logged value: snack

Advanced users can edit the same values in Markdown:

buttons:
  - label: Ate Protein Bar
    values:
      item: Protein Bar
      quantity: 1
      unit: bar
      category: snack

Future taps use the new values. Existing CSV rows stay as they are.

Add a new button

In settings, select Add button, then set the new row's label and values.

Advanced users can add a button block directly:

buttons:
  - label: Red Bull
    values:
      item: Red Bull
      quantity: 1
      unit: can
      category: drink

Make sure every value key you want to save also appears in columns.

Remove a button

In settings, select Remove button on that button row.

Advanced users can delete the whole button block:

  - label: Beef Jerky
    values:
      item: Beef Jerky
      quantity: 1
      unit: bag
      category: snack

Removing a button does not remove old CSV rows.

Change a current value

Some trackers use defaults. For example, the Cannabis Tracker uses defaults for strain and method.

defaults:
  strain: Neon Moon - Gunpowder Haze
  method: dab

Change the value in the tracker note:

defaults:
  strain: New Strain Name
  method: dab

Buttons merge defaults with the button's own values. In this example, each dab button logs the current strain plus its own size.

Add a column

Add the column name to columns:

columns:
  - timestamp
  - item
  - quantity
  - unit
  - category
  - note

Then add values for that column where needed:

buttons:
  - label: Ate Mosh Bar
    values:
      item: Mosh Bar
      quantity: 1
      unit: bar
      category: snack
      note: afternoon

New CSV files use the updated columns. Existing CSV files are not rewritten automatically. If the current month's CSV already exists, update its header manually or change output_file_pattern before logging with the new columns.

Change the output file

Change output_file_pattern:

output_file_pattern: YYYY-MM/snacks.csv

For example:

output_file_pattern: YYYY-MM/snack-log.csv

Future taps write to the new file. Old CSV files stay where they are.

Change the tracker id

Tracker ids are read-only in the settings editor. Create a new tracker if you need a different id.

Advanced users can change an id manually, but the frontmatter id, code block id, and any dashboard blocks must stay in sync.

taplog:
  id: snacks

must match:

```taplog
id: snacks
```

For built-in trackers, changing the output file name is usually safer than changing the tracker id. Generated dashboard blocks and settings order use tracker ids.

Fix a generated custom tracker

Use Edit existing tracker in settings to fix labels, buttons, columns, defaults, or output file names.

If you want a new custom tracker id to appear in settings and generated dashboard/index content, create a new custom tracker from settings. Advanced users can also open the generated tracker note in TapLog/Trackers/ and edit the taplog frontmatter directly.

Delete or archive a tracker

Move, rename, archive, or delete the tracker note like any other Markdown file. CSV logs under TapLog/Logs/ are separate files and are not deleted when you remove a tracker note.

If the old tracker appears in TapLog/TapLog Index.md or TapLog/Dashboard.md, edit those Markdown notes or regenerate them as described below.

Where things are stored

Tracker notes:

TapLog/Trackers/

Monthly CSV logs:

TapLog/Logs/YYYY-MM/*.csv

Monthly summaries and validation reports:

TapLog/Summaries/YYYY-MM/

Index note:

TapLog/TapLog Index.md

Dashboard note:

TapLog/Dashboard.md

Example output:

TapLog/Trackers/Snack Tracker.md
TapLog/Logs/2026-05/snacks.csv
TapLog/Summaries/2026-05/snacks Summary.md
TapLog/Summaries/2026-05/snacks Validation.md
TapLog/Summaries/2026-05/Monthly Rollup.md

Commands

  • TapLog: Create snack tracker
  • TapLog: Create cannabis tracker
  • TapLog: Create basic tracker template
  • TapLog: Create custom tracker template
  • TapLog: Create tracker index
  • TapLog: Create dashboard
  • TapLog: Create monthly summary for active tracker
  • TapLog: Validate active tracker
  • TapLog: Create monthly rollup summary

The tracker commands create a tracker note if it does not exist, then open it. If the note already exists, TapLog opens it.

Settings

TapLog settings are helpers, not the only way to manage trackers.

Use settings to:

  • Create built-in tracker templates.
  • Create a simple custom tracker.
  • Edit an existing tracker's common fields.
  • Change tracker order.
  • Enable or disable ribbon shortcuts.
  • Choose the quick tracker opened by the ribbon shortcut.

The custom tracker builder asks for a tracker name, optional tracker id, columns, defaults, and buttons.

Columns are one per line:

activity
quantity
unit
category

Defaults are key=value lines:

category=health
unit=count

Buttons are one per line. Use a plain label, or a label with values:

Took Vitamin | activity=Took Vitamin, quantity=1, unit=count
Headache | activity=Headache, quantity=1, unit=event
Walked

If a button is only a label, TapLog logs label and value: 1. timestamp is always included as the first column.

After a tracker is created, use Edit existing tracker for common changes. Existing tracker buttons are edited as compact cards with Name, Logged values, and add/remove controls. For advanced changes, open the tracker note and edit the taplog frontmatter directly.

Index and dashboard

Run TapLog: Create tracker index to create or open TapLog/TapLog Index.md.

The index is a normal Markdown note with links to trackers, output paths, and command names. It is not a live database view.

Run TapLog: Create dashboard to create or open TapLog/Dashboard.md.

The dashboard is a normal Markdown note that renders buttons from multiple tracker notes:

```taplog
id: snacks
source: tracker
```

Dashboard blocks use the tracker notes as the source of truth. Tapping a dashboard button writes to that tracker's normal monthly CSV.

The dashboard is not an analytics dashboard. It does not include charts, live widgets, or drag-and-drop layout.

If tracker order or tracker list changes, the existing index/dashboard notes are not overwritten automatically. Edit them by hand, or delete/rename the existing index/dashboard note and run the create command again.

Summaries and validation

Run TapLog: Create monthly summary for active tracker while viewing a tracker note. TapLog reads that tracker's current month CSV and creates or updates:

TapLog/Summaries/YYYY-MM/{tracker-id} Summary.md

Snack summaries can include item totals and simple par/restock guidance when taplog.par_levels exists. Cannabis summaries group usage by size and strain when those columns exist.

Run TapLog: Create monthly rollup summary to summarize the current month's CSV files under:

TapLog/Logs/YYYY-MM/

The rollup creates or updates:

TapLog/Summaries/YYYY-MM/Monthly Rollup.md

Run TapLog: Validate active tracker while viewing a tracker note to create a validation report:

TapLog/Summaries/YYYY-MM/{tracker-id} Validation.md

If a tracker is invalid, TapLog shows a setup problem Notice with the first issue it found.

Troubleshooting

Buttons do not show

  • Switch the note to Reading View.
  • Confirm the code block language is taplog.
  • Confirm the code block has an id.
  • Confirm the code block id matches taplog.id in the frontmatter.
  • Confirm the frontmatter key is lowercase taplog.
  • Look for a visible TapLog setup problem in the note.

CSV did not update

  • TapLog shows a Notice after a successful tap. Check the path in that Notice.
  • Confirm the tracker uses output_type: csv.
  • Confirm output_folder and output_file_pattern are set.
  • Check whether a normal file already exists where TapLog needs to create a folder.
  • Open the current month folder under TapLog/Logs/YYYY-MM/.

Wrong value was logged

Open TapLog settings, choose the tracker under Edit existing tracker, and update the button values or defaults. Future taps use the updated config. If an old CSV row is wrong, edit the CSV row directly.

I made a bad custom tracker

Open TapLog settings and use Edit existing tracker to fix common fields. If the tracker is easier to start over, create a new custom tracker from settings and archive the old tracker note.

I changed the note but buttons did not refresh

Switch out of Reading View and back, or close and reopen the note. Obsidian may need a moment to refresh frontmatter metadata.

Mobile buttons are hard to tap

Use shorter button labels where practical. If a long label wraps poorly, edit the button label from Edit existing tracker in settings. The CSV value can stay detailed in values.

A setup problem appears

Read the message shown in the TapLog block. It usually points to the missing or mismatched part of the config. You can also run TapLog: Validate active tracker from the command palette while viewing the tracker note.

Known limitations

  • Persistent current values are not implemented yet. Current values come from taplog.defaults, which you can edit in settings or directly in the tracker note.
  • The settings editor covers common fields only: output path, columns, defaults, and buttons. Advanced fields can still be edited in Markdown.
  • Tracker ids are read-only in settings to avoid breaking matching taplog code blocks and dashboard references.
  • Existing index and dashboard notes are not automatically regenerated when tracker order or tracker list changes.
  • Validation is currently a Notice plus an optional Markdown report, not a live settings panel.
  • TapLog does not include charts, sync, Dataview integration, Bases integration, external services, or a full inventory system.
HealthExcellent
ReviewPassed
About
TapLog lets you create simple one-tap trackers inside your vault. Use it to track snacks, habits, cannabis use, symptoms, supplies, chores, or anything else you want to record quickly. Each tracker is a normal Markdown note. In Reading View, TapLog renders tappable buttons from the tracker configuration. When you tap a button, TapLog writes a timestamped row to a monthly CSV file under TapLog/Logs/. You can create built-in tracker templates, build custom trackers from settings, edit existing trackers without touching YAML, and keep the tracker note as the source of truth. TapLog can also generate tracker indexes, Markdown dashboards, active-tracker summaries, monthly rollups, and snack par/restock guidance. TapLog is designed for fast, low-friction logging on desktop and mobile without combining multiple plugins or building a fragile automation stack.
AutomationDataSidebar
Details
Current version
1.0.0
Last updated
2 months ago
Created
3 months ago
Updates
1 release
Downloads
112
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
0BSD
Report bugRequest featureReport plugin
Author
LJ OSLJ OSljrobinson
lj-robinson.com
GitHubljrobinson
GitHubLJrobinson
  1. Community
  2. Plugins
  3. Automation
  4. TapLog

Related plugins

Hide Sidebars on Window Resize

Automatically hides the sidebars when your window is narrow on window resize.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

BRAT

Easily install a beta version of a plugin for testing.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Advanced URI

Control everything with URI.

Lazy Loader

Load plugins with a delay on startup, so that you can get your app startup down into the sub-second loading time.

Hot Reload

Automatically reload in-development plugins when their files are changed

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

TagFolder

Show tags as folder.

Recent Files

Display a list of recently opened files.