All Projects → thi-ng → punchcard

thi-ng / punchcard

Licence: Apache-2.0 license
Customizable Git commit punchcard visualizations

Programming Languages

clojure
4091 projects
shell
77523 projects

thi.ng/punchcard

CLI tool to create Git commit punchcard visualizations of local repos with customizable styling. SVG output via thi.ng/geom heatmap viz module. Visualizations can be filtered by author (regexp) and date range.

./assets/example-geom.png

./assets/example-cthing.png

Usage

git clone https://github.com/thi-ng/punchcard.git
cd punchcard

./punchcard \
  --repo <path> \
  --author "email-regexp" \
  --title "Diagram title" \
  --gradient "yellow-green-blue" \
  --ramp 0.66 \
  --reverse 1 \
  --from "2017-01-01 00:00" \
  --to "2018-01-1 00:00" \
  --bg black \
  --fg white \
  --out <path>

Options

–repo
The only required argument. Repository path.
–author
Optional author email regexp. If given, must be in quotes and visualization will only consider commits by authors matching the expression. E.g. .*@gmail.com will only match contributions from gmail addresses.
–from
Optional start date in YYYY-mm-dd hh:MM format (inclusive)
–to
Optional end date in YYYY-mm-dd hh:MM format (exclusive, open interval)
–gradient
thi.ng/color gradient preset ID. Default: yellow-green-blue
–ramp
gradient ramp exponent (default: 1), if < 1 gradient will emphasize smaller values in the heatmap, if > 1 larger values
–reverse
if given as --reverse 1 will reverse gradient direction
–out
Output path. Default: punchcard.svg
–title
Optional title / headline string. Defaults to repo path
–bg
valid CSS color string for background (default: transparent)
–fg
valid CSS color string for text/axes (default: black)

Further layout & styling options are available via the layout map in the source code.

Requirements

  • Clojure 1.8
  • Leiningen

License

Copyright © 2017 Karsten Schmidt // ASL2.0 licensed

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].