puran121860 downloadsCapture quick notes and photos as moments in a simple daily timeline, stored as plain Markdown in your vault.
Capture the small moments that are easy to lose.
Momentlog is for the things that happen between longer notes: what you're doing, what just happened, a quick thought, or a photo you want to remember. Capture it in a few seconds and keep going with your day.
The workflow is deliberately small:
write or add a photo → record → move on
Everything stays in ordinary Markdown inside your vault.
Cmd/Ctrl + Enter on desktop.Use the day navigation to look back. On desktop, hover a moment to edit or delete it. On mobile, use the … menu beside the timestamp.
Momentlog timestamps a moment when you first start typing or add a photo, not when you finally press Record. If you begin at 23:59 and save after midnight, the moment keeps its 23:59 time. The selected day still decides which daily note receives the moment. When you're following Today and the composer is empty, starting a new moment after midnight automatically moves to the new day.
Select the Momentlog clock icon in the left ribbon, or open the Command palette and run Open Momentlog.
Open Obsidian's ribbon/menu and select Momentlog. You can also open the Command palette and run Open Momentlog.
Momentlog only needs two storage settings:
MomentlogYYYY-MM-DDBy default Momentlog writes to:
Momentlog/YYYY-MM-DD.md
Images are stored under:
<folder>/attachments/YYYY-MM-DD/
The settings page keeps the essentials first: storage, the current output path, and an Open Momentlog button. Quick start and Daily Notes guidance are available below as optional expandable help.
Momentlog works on its own. It can also share the same daily Markdown file as Obsidian's Daily Notes core plugin.
To use Momentlog's defaults for both:
Momentlog.YYYY-MM-DD.Now opening a Daily Note and recording a Momentlog moment both target the same file. Momentlog only manages its own ## Momentlog entries.
If you already have an established Daily Notes folder or date format, leave Daily Notes unchanged and set Momentlog's two storage settings to match it instead.
A note looks like this:
# 2026-09-30
## Momentlog
<!-- momentlog-entry:2026-09-30T13:03:24.000Z -->
### 21:03
Played tennis for an hour after work.
![[Momentlog/attachments/2026-09-30/210324.jpg]]
<!-- /momentlog-entry -->
The HTML comments give Momentlog stable entry boundaries while keeping the note readable and usable without the plugin.
Momentlog uses a new plugin ID, momentlog, so it installs as a separate plugin from the earlier Timelog beta.
Momentlog still reads legacy ## Timelog sections and timelog-entry blocks. If a vault already has a Timelog folder and no Momentlog folder, Momentlog automatically keeps using the legacy folder so existing moments remain visible.
After confirming your moments appear in Momentlog, disable or remove the old Timelog beta plugin.
Once Momentlog is approved for the Obsidian Community directory:
Before the Community Plugins listing is live, install BRAT and add this repository as a beta plugin. BRAT uses the GitHub release assets published by this repository.
Run:
npm install
npm run build
The ready-to-install plugin is produced at:
dist/momentlog/
├── main.js
├── manifest.json
└── styles.css
Copy the entire momentlog folder into:
<vault>/.obsidian/plugins/
The final layout should be:
<vault>/.obsidian/plugins/momentlog/
├── main.js
├── manifest.json
└── styles.css
Reload Obsidian, then enable Momentlog under Settings → Community plugins.
The same files work on Obsidian Mobile. If your vault is in iCloud Drive, you can copy the folder into the vault from a computer and let iCloud sync it to your iPhone or iPad.
There is also a clock icon in the ribbon.
npm install
npm run dev
Production build and installable package:
npm run build
The release workflow publishes the files Obsidian and BRAT expect:
main.jsmanifest.jsonstyles.cssmain.js and styles.cssThe release version comes from manifest.json. A merge to main checks that version and publishes a GitHub Release when one does not already exist. The only GitHub Release attachments are main.js, manifest.json, and styles.css.
The GitHub release tag must exactly match the version in manifest.json. Every release is built with npm ci from the committed package-lock.json. The workflow produces and verifies signed GitHub provenance attestations for the release assets before uploading them. You can independently run gh attestation verify main.js -R puran1218/obsidian-momentlog after downloading a release's main.js.
To publish in Obsidian, merge a version-bumped PR and wait for the new release to finish. In the Obsidian Community directory, open the plugin entry, check the latest review, and choose Publish once the errors are resolved. Use Review branch for a pre-release source check or Request review to repeat the scan.
Momentlog works entirely inside your Obsidian vault. It has no telemetry, no external service dependency, and no self-update mechanism.
MIT