Calendar heatmap inspired by Github contribution activity

Go Report Card Go Reference codecov Awesome

Self-contained, plain Go implementation of calendar heatmap inspired by Github contribution activity.

$ go build
$ echo '{
    "2020-05-16": 8,
    "2020-05-17": 13,
    "2020-05-18": 5,
    "2020-05-19": 8,
    "2020-05-20": 5
}' | ./calendarheatmap > chart.png

Basic

basic

Colorscales col1 col2

UTF-8 col1

SVG

svg

Without month separator nosep

Without labels nolab

Without labels, without separator nosep_nolab

Comments
  • [BUG] can not open file with colorscales

    [BUG] can not open file with colorscales

    Well, I just followed the install instructions from the readme:

    go install github.com/nikolaydubina/calendarheatmap@latest
    

    and then:

    cat my_file.json | calendarheatmap > my_heatmap.png
    

    to only receive a fatal error: 2021/07/15 10:58:42 can not open file: open assets/colorscales/green-blue-9.csv: no such file or directory

  • Added ability to specify the max possible count manually

    Added ability to specify the max possible count manually

    I wanted to use this to visualize my habit tracking data, and so I needed to specify the maximum possible count manually (instead of it being the max of counts present in input data).

    Sample usage:

    echo '{
        "2020-05-16": 2,
        "2020-05-17": 6,
        "2020-05-18": 1,
        "2020-05-19": 10,
        "2020-05-20": 30
    }' | calendarheatmap -maxcount 10 > chart.png
    

    image

    I wanted to make the counts be float instead of int, but I had doubts on whether your code assumes that they are ints. floats are more general and usable.

    PS: I have also fixed os.Setenv("CALENDAR_HEATMAP_ASSETS_PATH", "charts/assets") with a default value for the actual Getenv.

    PPS: Take a look at https://github.com/NightMachinary/calendarheatmap/blob/master/tests2.org for the later commits' effects.

  • How can we make this into a html image map?

    How can we make this into a html image map?

    It would be great if we can detect clicks on any given box and get the corresponding date and react to the click. To do that, it'd be great to get the coordinates of each box.

  • Cleanup assets

    Cleanup assets

    • moved colorscales to files
    • removed env variable
    • loading fonts before calling charts
    • generating docs separate from tests
    • tests not loading assets
    • fixed bug in SVG
  • Diverging color schemes

    Diverging color schemes

    Some folks signaled interest before in making divergent color schemes with something like Excel red - green style. Add support.

    Also, may need support negative values in map.

Dec 13, 2022
A Go script that makes your GitHub contribution activity panel look awesome! Display a message !
A Go script that makes your GitHub contribution activity panel look awesome! Display a message !

GitHub contributions generator A script written in Go, which goal is to make your GitHub contributions graph the way you want it to be. The goal of th

Jan 6, 2023
Goals calendar is a Seinfeld calendar written in Google's Go (unfinished dead code)

Goals calendar ============== Goals calendar is a Seinfeld calendar written in Google's Go. Mark a red check each day you have done something for you

Jun 5, 2017
An extension for the GitHub Cli application that displays your current contribution graph
An extension for the GitHub Cli application that displays your current contribution graph

gh-graph An extension for the GitHub Cli application that displays your current contribution graph in the terminal (logged out contribution graph) Ins

Sep 29, 2021
Heatmap creation stuff for go.
Heatmap creation stuff for go.

Heatmaps This is a toolkit for creating heatmaps. Heatmaps are awesome. I use them for a few things, and now you can, too. There are quite a few thing

Jan 4, 2023
A terminal based graphical activity monitor inspired by gtop and vtop
A terminal based graphical activity monitor inspired by gtop and vtop

NO LONGER MAINTAINED. A maintained fork of gotop exists at https://github.com/xxxserxxx/gotop. Another terminal based graphical activity monitor, insp

Jan 1, 2023
Bot that polls activity API for Github organisation and pushes updates to Telegram.

git-telegram-bot Telegram bot for notifying org events Requirements (for building) Go version 1.16.x Setup If you don't have a telegram bot token yet,

Apr 8, 2022
The implementation of Persian (Solar Hijri) Calendar in Go

Go Persian Calendar Go Persian Calendar provides functionality for conversion among Persian (Solar Hijri) and Gregorian calendars. A Julian calendar i

Dec 12, 2022
Simple CLI App for creating recurring google calendar events

Kronus A CLI App to help you stay in touch with the people that matter by leveraging the google calender API. You can create touchbase events for cont

Nov 7, 2022
Structural time package for jalali calendar

Jalali Structural time package for jalali calendar. This package support parse from string, json and time. Structures There are three data structures

Mar 21, 2022
An annual Advent calendar of programming puzzles
An annual Advent calendar of programming puzzles

?? Advent of Code 2021 ?? Summary Advent of Code is an annual Advent calendar of programming puzzles. This year I am doing it in Go and Python. Runnin

Jun 16, 2022
A simple microservice designed in Go using Echo Microframework for sending emails and/or calendar invitations to users.

Calenvite A simple microservice designed in GO using Echo Microframework for sending emails and/or calendar invitations to users. Features Send emails

Oct 29, 2022
Plan team's rotation on google calendar

google-rotation-planner Plan rota on google calendar. Usage Get a credentials.json file from GCloud and place it in the same folder as the executable.

Jul 4, 2022
Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.

Advent of Code 2021 Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved

Dec 2, 2021
Collect stars by solving puzzles. Two puzzles will be made available on each day in the Advent calendar

Collect stars by solving puzzles. Two puzzles will be made available on each day in the Advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants one star.

Dec 6, 2021
Jan 4, 2022
Namecoin calendar notification daemon (ICS, CalDAV)

nccald nccald is a simple daemon to provide calendar notifications for Namecoin name expirations. The daemon periodically queries a Namecoin Core inst

Dec 11, 2021
API for managing the release calendar

dp-release-calendar-api API for managing the release calendar Getting started Run make debug Dependencies No further dependencies other than those def

Feb 10, 2022
Raspberry Pi terminal based activity monitor
Raspberry Pi terminal based activity monitor

pitop Raspberry Pi terminal based activity monitor Yes I know there are plenty of solutions already available, but I wanted to build my own terminal b

Dec 11, 2022
Procmon is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools for Windows. Procmon provides a convenient and efficient way for Linux developers to trace the syscall activity on the system.
Procmon is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools for Windows. Procmon provides a convenient and efficient way for Linux developers to trace the syscall activity on the system.

Process Monitor for Linux (Preview) Process Monitor (Procmon) is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools

Dec 29, 2022