Daily Activity

by trydalch
5
4
3
2
1
Score: 57/100

Description

Category: Productivity Tools

The Daily Activity plugin helps users track their activity in Obsidian by providing commands to generate lists and statistics related to file creation and modification. Users can insert lists of files created or modified between specific dates, formatted as either plain text or links. The plugin also supports generating activity stats for a specific date or date range, with features for natural language date input. This functionality is particularly useful for maintaining detailed records of daily work and tracking progress over time. The plugin integrates seamlessly with daily notes and allows for flexible customization through date filters and ranges.

Reviews

No reviews yet.

Stats

47
stars
16,721
downloads
5
forks
1,904
days
386
days
386
days
6
total PRs
0
open PRs
0
closed PRs
6
merged PRs
21
total issues
7
open issues
14
closed issues
7
commits

Latest Version

a year ago

Changelog

What's Changed

Full Changelog: https://github.com/trydalch/obsidian-daily-activity/compare/0.5.0...1.0.0

README file from

Github

Obsidian Activity Plugin

GitHub release (latest SemVer) GitHub All Releases

This is a plugin for Obsidian (https://obsidian.md).

This plugin is very young and written quickly, but can be used effectively with daily notes to keep a record of the work done and which files you continue to come back to.

Please open an issue for any bugs, feature requests, or feedback at https://github.com/trydalch/obsidian-daily-activity/issues/new

Commands

Command Description
Links to Files Created from date to date Inserts a list of links to files created between two dates. You can specify dates and filters in the modal window. The default is today and there are no filters. Supports natural language dates.
Links to Files Modified from date to date Inserts a list of links to files modified between two dates. You can specify dates and filters in the modal window. The default is today and there are no filters. Supports natural language dates.
Plain Text List of Files Created from date to date Inserts a list of files created between two dates. You can specify dates and filters in the modal window. The default is today and there are no filters. Supports natural language dates.
Plain Text List of Files Modified from date to date Inserts a list of files modified between two dates. You can specify dates and filters in the modal window. The default is today and there are no filters. Supports natural language dates.
Stats for date Inserts a table with counts of files modified & files created by date. Defaults for today, but dates can be specified by selecting them in the editor. Supports natural language dates. See below for an example.
(Deprecated) Today's Stats Inserts a table containing stats from today's writing activity. <br> Will be removed in future version
View Recent Activity Logs Displays a formatted log of your recent activity from the last 24 hours, including event types and file changes.
Daily Summary Inserts a summary of today's activity including total events, event types breakdown, and content changes.
Weekly Overview Generates a comprehensive overview of your activity for the past 7 days, with daily breakdowns and weekly totals.
Today's Timeline Creates a chronological timeline of today's activity, organized by hour and event type.
Export Activity Data Exports your activity data to CSV or JSON format with customizable date ranges and fields.
Generate Activity Dashboard Creates a comprehensive dashboard with visualizations of your activity data.
Refresh Dashboard Updates your activity dashboard with the latest data.
Clear Failed Operations Clears any failed database operations that may have occurred during plugin operation.

Settings

The plugin now includes settings to customize its behavior:

General Settings

Setting Description
Insert location Choose whether to insert content at the cursor position or append to the end of the document
Default link style Set whether to use wiki-style links or plain text by default
Include header Toggle whether to include a header above inserted lists
Header template Customize the header format. You can use {type} for file type (Created/Modified) and {date} for the date
Exclude current note When enabled, excludes the current note from the generated lists

Filter Settings

Setting Description
Show filter dialog Controls whether to show the filter dialog when running commands. If enabled (default), you'll be prompted each time and the settings below will be disabled. If disabled, the plugin will use the filters defined below.
Include regex patterns Files matching these regex patterns will be included in the results (only available when "Show filter dialog" is disabled)
Exclude regex patterns Files matching these regex patterns will be excluded from the results (only available when "Show filter dialog" is disabled)
Include paths Files containing these path segments will be included in the results (only available when "Show filter dialog" is disabled)
Exclude paths Files containing these path segments will be excluded from the results (only available when "Show filter dialog" is disabled)

Activity Tracking Settings

Setting Description
Enable activity tracking Turns on/off the detailed tracking of file events
Track file creation When enabled, tracks creation of new files
Track file modification When enabled, tracks modifications to existing files
Track file deletion When enabled, tracks when files are deleted
Track file rename When enabled, tracks when files are renamed
Content tracking debounce interval The minimum time (in milliseconds) between content tracking events
Database write debounce interval The minimum time (in milliseconds) between database writes
Activity tracking include paths Paths to include in activity tracking
Activity tracking exclude paths Paths to exclude from activity tracking

Batch Modification Settings

Setting Description
Enable modification batching When enabled, combines multiple modifications into a single event after inactivity
Inactivity threshold Records modifications after this period of inactivity (in milliseconds)

Export Settings

Setting Description
Default export format Choose between CSV or JSON format for data exports
Auto-export schedule Set to never, daily, weekly, or monthly
Auto-export path Path in your vault to save exported files
Export fields Select which fields to include in your exports

Dashboard Settings

Setting Description
Enable dashboard Turns on/off the activity dashboard feature
Dashboard path The file path where the dashboard will be created
Auto-update dashboard When enabled, automatically updates the dashboard at set intervals
Update interval (hours) How often to automatically update the dashboard
Use Charts plugin When enabled, uses the Obsidian Charts plugin for visualizations if available

Logging Settings

Setting Description
Log level Controls the verbosity of plugin logs

Examples

  • Stats for date

    • No selection: Outputs stats for today
    • yesterday: Stats for yesterday
    • 2021-02-20: Stats for 2021-02-20
    • 2021-02-15 to 2021-02-20: Stats between those dates, inclusive range.
    • 5 days ago to today: Stats for that range

    For more examples of natural language date formats, see here: https://github.com/wanasit/chrono

Roadmap

  • Add Activity Stats Command (# files created, # modified)
  • Add option to insert stats for dates
  • Add stats for date range
  • Add support for natural language dates
  • Add settings page
  • Add filtering options
  • Add templating
  • Add filtering stats by tag
  • Add background file monitoring with detailed stats
  • Implement memory optimizations for large vaults

Future Features

Enhanced Statistics Tracking (Coming in 1.0.0+)

The plugin will soon support advanced statistics tracking including:

  1. Writing Velocity Metrics

    • Track words written per hour/day
    • Monitor your most productive times
    • Compare performance across different time periods
  2. File Interaction Analytics

    • Identify your most frequently edited files
    • Track files with most additions/deletions
    • Analyze which files receive continuous attention vs. occasional edits
  3. Time Pattern Analysis

    • Discover your most productive hours
    • Identify weekly activity patterns
    • Track long-term productivity trends
  4. Content Evolution Tracking

    • Monitor how files grow and mature over time
    • Analyze editing vs. adding content patterns
    • Track when files stabilize (editing decreases)

Memory Optimizations for Large Vaults

For users with large vaults, we're planning several optimizations:

  1. Smart Content Tracking

    • Configurable file size limits for detailed tracking
    • Metadata-only tracking for very large files
    • Efficient storage of file differences
  2. Adaptive Memory Management

    • Automatically unload inactive files from memory
    • Prioritize actively edited files
    • Balance between tracking accuracy and memory usage

For Developers

Releasing a New Version

This plugin uses GitHub Actions to automate the release process. To release a new version:

  1. Make sure your changes are committed to the feature branch
  2. Merge your feature branch to master
  3. Check out the master branch locally
  4. Make sure you have no uncommitted changes
  5. Run the release command:
    npm run release
    

This will:

  • Build the plugin
  • Bump the version number in package.json
  • Update manifest.json and versions.json via the version script
  • Create a git commit with all version changes
  • Create a git tag
  • Push the commit and tag to GitHub

The GitHub Action will automatically:

  • Create a new release on GitHub
  • Generate release notes
  • Attach the necessary plugin files

For a major or minor version instead of a patch:

npm run release-minor
# or
npm run release-major

Manual Version Process

If you need more control over the process:

  1. Make sure all your changes are committed
  2. Build the plugin:
    npm run build
    
  3. Bump the version (creates a commit and tag):
    npm version patch  # or minor/major
    
  4. Push changes and tags:
    git push --follow-tags
    

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Periodic Notes
5 years ago by Liam Cain
Create/manage your daily, weekly, and monthly notes in Obsidian
Heatmap Calendar
4 years ago by Richard Slettevoll
An Obsidian plugin for displaying data in a calendar similar to the github activity calendar
Plugin Update Tracker
4 years ago by Steven Swartz
Know when installed obsidian plugins have updates and evaluate the risk of upgrading
Initiative Tracker
5 years ago by Jeremy Valentine
TTRPG Initiative Tracker for Obsidian.md
Daily Notes Editor
3 years ago by boninall
A plugin for you to edit a bunch of daily notes in one page(inline), which works similar to Roam Research's default daily note view.
Habit Tracker 21
2 years ago by zoreet
Word Sprint
4 years ago by Andrew Lombardi
Obsidian Word Sprint plugin
Keep the Rhythm
a year ago by Ezben
An Obsidian plugin to track your daily word count through a heatmap.
WakaTime
3 years ago by WakaTime
Obsidian.md plugin for automatic time tracking and metrics generated from your Obsidian usage activity.
Obligator
3 years ago by Dimitar Dimitrov
A fully featured replacement for the built-in daily notes plugin. Obligator functions like a virtual bullet journal by copying over unchecked to-do items to your new daily note, along with adding any scheduled items you've set up
Habit Calendar
3 years ago by Hedonihilist
Monthly Habit Calendar for DataviewJS. This plugin helps you render a calendar inside DataviewJS code block, showing your habit status within a month.
Activity Logger
5 years ago by Creling
Old Note Admonitor
3 years ago by tadashi-aikawa
Easy Tracker
3 months ago by Hunter Ji
An Obsidian plugin for ultra-simple goal and habit tracking in any note.
Waka time box
3 years ago by complexzeng
Filtered Opener
2 years ago by Roman Kubiv
Sets of notes defined by filters to open notes.
Track-a-Lot
2 years ago by Iulian Onofrei
This is a tracker plugin for Obsidian
Activity Heatmap
a year ago by Zak Hijaouy
Workout Planner
3 months ago by Rares Spatariu
Tiny Habits
8 months ago by Diego Nazoa
Obsidian Plugin for habit tracking with Svelte
IMDb
2 years ago by Andrew Chen
A simple plugin for syncing movies from IMDb to Obsidian
Boardgame Search
a year ago by Marlon May
A plugin to create notes for boardgames based on the BGG API
Daily Summary
a year ago by Luke
Daily Random Note
a year ago by Alexandre Silva
Daily Random Notes in Obsidian.
Crackboard
2 years ago by Franklin
Obsidian plugin for crackboard.dev