{"id":31581269,"url":"https://github.com/quipex/obsidian-habit-tracking","last_synced_at":"2026-05-14T21:37:54.128Z","repository":{"id":314316901,"uuid":"1054483262","full_name":"Quipex/obsidian-habit-tracking","owner":"Quipex","description":"Habit tracking in Obsidian via DataviewJS — one‑click logs, streaks, heatmap.","archived":false,"fork":false,"pushed_at":"2025-09-29T00:05:19.000Z","size":671,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-29T00:16:50.632Z","etag":null,"topics":["dataviewjs","habit-tracker","habit-tracking","habits","obsidian","vibe-coding"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Quipex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-10T22:59:49.000Z","updated_at":"2025-09-29T00:05:23.000Z","dependencies_parsed_at":"2025-09-11T20:37:36.589Z","dependency_job_id":"0a1706d3-8963-47a4-bedd-d08a9a5b2f2c","html_url":"https://github.com/Quipex/obsidian-habit-tracking","commit_stats":null,"previous_names":["quipex/obsidian-habit-tracking"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Quipex/obsidian-habit-tracking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quipex%2Fobsidian-habit-tracking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quipex%2Fobsidian-habit-tracking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quipex%2Fobsidian-habit-tracking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quipex%2Fobsidian-habit-tracking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Quipex","download_url":"https://codeload.github.com/Quipex/obsidian-habit-tracking/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quipex%2Fobsidian-habit-tracking/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278526240,"owners_count":26001326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataviewjs","habit-tracker","habit-tracking","habits","obsidian","vibe-coding"],"created_at":"2025-10-05T21:55:38.922Z","updated_at":"2026-05-14T21:37:54.123Z","avatar_url":"https://github.com/Quipex.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Obsidian Habit Button\n\nThis plugin lets you track your habits in a single tap. Features like streaks and heatmaps will help you staying motivated, while grace and warning periods will allow you to stay flexible within your timeline.\n\nYou can drop in your habit buttons anywhere including Canvas. To not lose the focus on lots of habits, there are groups that provide a quick status.\n\n## Demo\n\n### Habit Button\n\n- render a tap-to-log habit card with streak, heatmap, and overdue hints\n- supports per-block icons, grace periods, and granular layouts\n\n![Habit button demo](assets/habit-button-demo.gif)\n\n### Habit Group\n\n- aggregate multiple habits into a summarized status bar\n- highlight streak health with ordered emerald/amber/gray segments\n\n![Habit group demo](assets/habit-group-demo.gif)\n\n### Canvas Mashup\n\n- mix and match buttons and groups on an Obsidian Canvas for quick daily reviews\n\n[Habit canvas editing](https://youtu.be/pUQ5l1xv338)\n\n### Settings\n\n- change the default behavior of the buttons and groups\n- change the language\n\n[Settings overview](https://youtu.be/9IViUkCg94M)\n\n### Your daily notes\n\nAll the habit information is stored in your daily notes\n\n![Your daily note content](assets/note-content.png)\n\n## Installation\n\nAt the moment, the plugin is not available on the marketplace. It's still in review: \u003chttps://github.com/obsidianmd/obsidian-releases/pull/8087\u003e\n\n~~To use the plugin simply install it from the Obsidian marketplace.~~\n\n## Usage\n\nThere are commands which you can invoke to paste the ready blocks into your note\n\n![Commands demo](assets/commands-demo.png)\n\n### Habit Button block\n\nUse a fenced code block with language `habit-button` (please remove \"\\\\\" before `):\n\n```markdown\n\\```habit-button\ntitle: Morning Stretch\nicon: ☀️\ngroup: health\n\\```\n```\n\n![morning stretch](assets/morning-stretch.png)\n\n### Habit Group block\n\nSummarize related habits with a `habit-group` block:\n\n```markdown\n\\```habit-group\ntitle: My health\ngroup: health\nicon: ❤️\n\\```\n```\n\n![My health group](assets/my-health-group.png)\n\nGroups read live data from the habit registry. When you provide `habitsLocations`, the block eagerly rescans those notes on each render; without it, the group relies on cached registry updates from embedded habit buttons.\n\n### Canvas placement\n\nDrag the rendered blocks onto a Canvas or embed them via copy/paste. The plugin keeps stats in sync, so the Canvas view updates automatically when you mark a habit done elsewhere.\n\n![Canvas placement](assets/canvas-placement.png)\n\n## Features\n\n- **One-tap logging with history-aware streaks** — click the button to append a timestamped entry, update the streak, and repaint the heatmap instantly.\n\n- **Adaptive warnings and styled progress** — warning windows render amber striped segments, while active habits stay emerald and inactive habits gray.\n\n- **Habit groups with progress bar** — see emerald (healthy), amber (warning), and gray (stalled) habits aligned in a single progress bar and aggregate counter.\n\n- **Canvas-ready layout** — combine multiple cards and groups into dashboards, drag them around, and keep everything synchronized with your vault data.\n\n## Known Issues\n\n- The cards are not up to date if the notes were updated in the background. To refresh the cards, reopen the note or the canvas (you can switch to a different note and back)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquipex%2Fobsidian-habit-tracking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquipex%2Fobsidian-habit-tracking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquipex%2Fobsidian-habit-tracking/lists"}