Richardsl / heatmap-calendar-obsidian

An Obsidian plugin for displaying data in a calendar similar to the github activity calendar
Apache License 2.0
645 stars 103 forks source link

FEATURE REQUEST: monthly graphs #7

Open asphaltbuffet opened 2 years ago

asphaltbuffet commented 2 years ago

For shorter-term tracking and use in other tracking pages (like when used with periodic-notes), it would be nice to have only a single month displayed rather than needing to render the entire year. Columns are days of week, rows are week number (configurable?).

Could be done with changes to the configuration:

Month

const calendarData = { 
    type: month,
        date: 05, // month formated as "MM"
        rowfmt: "ww", // defaults to "WW"
        colfmt: "ddd",
    colors: {   // optional, defaults to first value
      blue:        ["#b8d4ff","#6da6ff","#2c7dff","#0059e7","#003ea1"], // this first entry is considered default
      green:       ["#c6e48b","#7bc96f","#49af5d","#2e8840","#196127"],
      red:         ["#ff9e82","#ff7b55","#ff4d1a","#e73400","#bd2a00"],
      orange:      ["#ffa244","#fd7f00","#dd6f00","#bf6000","#9b4e00"],
      pink:        ["#ff96cb","#ff70b8","#ff3a9d","#ee0077","#c30062"],
      orangeToRed: ["#ffdf04","#ffbe04","#ff9a03","#ff6d02","#ff2c01"],
    },
    entries: [] // populated in the DataviewJS loop below
}

Year:

const calendarData = { 
    type: year,
        date: 2022, // year formated as "yyyy"
        rowfmt: "ddd", // defaults to "ddd"
        colfmt: "MMM", // defaults to "MMM"
    colors: {   // optional, defaults to first value
      blue:        ["#b8d4ff","#6da6ff","#2c7dff","#0059e7","#003ea1"], // this first entry is considered default
      green:       ["#c6e48b","#7bc96f","#49af5d","#2e8840","#196127"],
      red:         ["#ff9e82","#ff7b55","#ff4d1a","#e73400","#bd2a00"],
      orange:      ["#ffa244","#fd7f00","#dd6f00","#bf6000","#9b4e00"],
      pink:        ["#ff96cb","#ff70b8","#ff3a9d","#ee0077","#c30062"],
      orangeToRed: ["#ffdf04","#ffbe04","#ff9a03","#ff6d02","#ff2c01"],
      blueblack:   ["#00378f","#005ced","#3281ff","#6fa6ff","#a5c7ff"]
    },
    entries: [] // populated in the DataviewJS loop below
}
mmfs37 commented 2 years ago

would be amazing

rblundon commented 2 years ago

Another possibility would be to specify start and end dates (I like to track things quarterly).

FelipeJz commented 2 years ago

Yes please!

johnsbuck commented 1 year ago

Currently working on the feature in a forked repo (https://github.com/johnsbuck/heatmap-calendar-obsidian/tree/issue-7).

I am having some issues with the blocks, but I did get a version for monthly, just not in the format issued.

harrystuart commented 9 months ago

Any update RE custom time range? Looking for a quarterly solution myself. Cheers

yenchihliao commented 2 months ago

+1 on this feature >.<