diff options
Diffstat (limited to 'generate_your_daily_commits_chart_now.html')
-rw-r--r-- | generate_your_daily_commits_chart_now.html | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/generate_your_daily_commits_chart_now.html b/generate_your_daily_commits_chart_now.html new file mode 100644 index 0000000..bafc86e --- /dev/null +++ b/generate_your_daily_commits_chart_now.html @@ -0,0 +1,122 @@ +<!doctype html> +<html lang="en"> +<meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="author" content="aki"> +<meta name="tags" content="activity chart, commit chart, static generator"> +<meta name="published-on" content="2024-02-11T21:10:00+01:00"> +<link rel="icon" type="image/png" href="favicon.png"> +<link rel="stylesheet" href="style.css"> + +<title>Generate Your Daily Commits Chart Now</title> + +<header> +<nav><a href="https://ignore.pl">ignore.pl</a></nav> +<time>11 February 2024</time> +<h1>Generate Your Daily Commits Chart Now</h1> +</header> + +<article> +<p>I include my website in my CV. Or at least the cgit instance depending on my mood and the state of the homepage. +<p>Of course, what I like is rarely what a recruiter may like. This obviously is a generalization. Maybe they'll simply +look at the link, confirm it works and end at that never really thinking about bare minimal aesthetic I use. Maybe +they'll prove me completely wrong and like it. Maybe they'll quickly go through couple of my articles and git +repositories and look for things that are actually important. Maybe they won't open the link at all. +<p>I often disappear for several months and leave the homepage as is, without any new posts or anything. Sometimes I may +push some commits to the public repositories. Sometimes I'm stuck on some random private repository or working in a +garden and everything seemingly shows that I'm dead. +<p>Nonetheless, I would want to give anyone something similar they have seen to look at and give some indication of what +I am doing currently. Whether I commit something here or there or wherever. +<h2>Activity Chart</h2> +<p>And so I decided to write a static generator for daily commits charts. Well, call it as you want, an activity chart, +a commit chart, the squares from Github that Gitlab made weird copy of. Now it's my turn to copy it: +<pre> +$ xargs activity -fsvg >generate_your_daily_commits_chart_now-1.svg <list +$ rsvg-convert -w 670 generate_your_daily_commits_chart_now-1.svg \ +> -o generate_your_daily_commits_chart_now-1.png +</pre> +<img alt="my activity past 53 weeks or so" src="generate_your_daily_commits_chart_now-1.png"> +<p>It supports generating charts as SVG images, HTML tables or... Directly in your +terminal:</p> +<img alt="same but in terminal" src="generate_your_daily_commits_chart_now-2.png"> +<p>You can generate yearly charts, too. Here are all commits of +<a href="https://github.com/emscripten-core/emscripten">Emscripten</a> in 2022 in pure HTML generated with: +<pre> +$ cd emscripten +$ activity -fhtml5 >../ignore.pl/generate_your_daily_commits_chart_now-3.html +</pre> +<style> +table.activity-chart { + font-family: sans-serif; + border-spacing: 2px; +} +table.activity-chart tr { height: 11px; } +td.activity-chart-label { + position: relative; + font-size: 12px; + min-width: 2em; +} +td.activity-chart-label span { + position: absolute; + top: -3px; +} +td[data-activity-level] { + box-sizing: border-box; + outline-width: 1px; + outline-style: solid; + outline-offset: -1px; + outline-color: rgba(27, 31, 35, 0.06); + border-radius: 2px; + height: 11px; + min-width: 11px; +} +td[data-activity-level="0"] { background-color: #ccc; } +td[data-activity-level="1"] { background-color: #9be9a8; } +td[data-activity-level="2"] { background-color: #40c463; } +td[data-activity-level="3"] { background-color: #30a14e; } +td[data-activity-level="4"] { background-color: #216e39; } +</style> +<table class="activity-chart"> +<tr><td class="activity-chart-label"><span></span><td><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="3"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="3"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="2"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="1"><td> +<tr><td class="activity-chart-label"><span>Mon</span><td><td data-activity-level="0"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="0"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="2"><td data-activity-level="0"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="0"><td data-activity-level="3"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="1"><td data-activity-level="3"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="3"><td> +<tr><td class="activity-chart-label"><span></span><td><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="0"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="0"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="1"><td data-activity-level="3"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td> +<tr><td class="activity-chart-label"><span>Wed</span><td><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="0"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="1"><td data-activity-level="3"><td data-activity-level="2"><td> +<tr><td class="activity-chart-label"><span></span><td><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="3"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="0"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td> +<tr><td class="activity-chart-label"><span>Fri</span><td><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="3"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="3"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="3"><td data-activity-level="4"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="4"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="0"><td data-activity-level="4"><td data-activity-level="2"><td data-activity-level="4"><td data-activity-level="0"><td> +<tr><td class="activity-chart-label"><span></span><td data-activity-level="0"><td data-activity-level="2"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="2"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="4"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="0"><td data-activity-level="1"><td data-activity-level="0"><td> +</table> +<p>It stubbornly breaks the layout and looks even worse in source. One can filter by author or committer e-mail +address: +<pre> +$ activity -fsvg -Aplease@ignore.pl >../ignore.pl/generate_your_daily_commits_chart_now-4.svg +</pre> +<p>And then inlined into this blog post:</p> +<svg viewBox="0 0 663 95"> +<defs> + <style type="text/css"><![CDATA[ + .label { font: 11px sans-serif; } + .cell { + width: 11px; + height: 11px; + rx: 2px; + } + .cell.level0 { fill: #ccc; } + .cell.level1 { fill: #9be9a8; } + .cell.level2 { fill: #40c463; } + .cell.level3 { fill: #30a14e; } + .cell.level4 { fill: #216e39; } + ]]></style> +</defs> +<g transform="translate(0,0)"><text y="10px" class="label"></text><rect class="cell level0" x="40"/><rect class="cell level0" x="52"/><rect class="cell level0" x="64"/><rect class="cell level0" x="76"/><rect class="cell level0" x="88"/><rect class="cell level0" x="100"/><rect class="cell level0" x="112"/><rect class="cell level0" x="124"/><rect class="cell level0" x="136"/><rect class="cell level0" x="148"/><rect class="cell level0" x="160"/><rect class="cell level0" x="172"/><rect class="cell level0" x="184"/><rect class="cell level0" x="196"/><rect class="cell level0" x="208"/><rect class="cell level0" x="220"/><rect class="cell level0" x="232"/><rect class="cell level0" x="244"/><rect class="cell level0" x="256"/><rect class="cell level0" x="268"/><rect class="cell level0" x="280"/><rect class="cell level1" x="292"/><rect class="cell level0" x="304"/><rect class="cell level0" x="316"/><rect class="cell level0" x="328"/><rect class="cell level0" x="340"/><rect class="cell level0" x="352"/><rect class="cell level0" x="364"/><rect class="cell level0" x="376"/><rect class="cell level0" x="388"/><rect class="cell level0" x="400"/><rect class="cell level0" x="412"/><rect class="cell level0" x="424"/><rect class="cell level0" x="436"/><rect class="cell level0" x="448"/><rect class="cell level0" x="460"/><rect class="cell level0" x="472"/><rect class="cell level0" x="484"/><rect class="cell level0" x="496"/><rect class="cell level0" x="508"/><rect class="cell level0" x="520"/><rect class="cell level0" x="532"/><rect class="cell level0" x="544"/><rect class="cell level0" x="556"/><rect class="cell level0" x="568"/><rect class="cell level0" x="580"/><rect class="cell level0" x="592"/><rect class="cell level0" x="604"/><rect class="cell level0" x="616"/><rect class="cell level0" x="628"/><rect class="cell level0" x="640"/></g> +<g transform="translate(0,14)"><text y="10px" class="label">Mon</text><rect class="cell level0" x="40"/><rect class="cell level0" x="52"/><rect class="cell level0" x="64"/><rect class="cell level0" x="76"/><rect class="cell level0" x="88"/><rect class="cell level0" x="100"/><rect class="cell level0" x="112"/><rect class="cell level0" x="124"/><rect class="cell level0" x="136"/><rect class="cell level0" x="148"/><rect class="cell level0" x="160"/><rect class="cell level0" x="172"/><rect class="cell level0" x="184"/><rect class="cell level0" x="196"/><rect class="cell level0" x="208"/><rect class="cell level0" x="220"/><rect class="cell level0" x="232"/><rect class="cell level0" x="244"/><rect class="cell level0" x="256"/><rect class="cell level0" x="268"/><rect class="cell level0" x="280"/><rect class="cell level4" x="292"/><rect class="cell level0" x="304"/><rect class="cell level0" x="316"/><rect class="cell level0" x="328"/><rect class="cell level0" x="340"/><rect class="cell level0" x="352"/><rect class="cell level0" x="364"/><rect class="cell level0" x="376"/><rect class="cell level0" x="388"/><rect class="cell level0" x="400"/><rect class="cell level0" x="412"/><rect class="cell level0" x="424"/><rect class="cell level0" x="436"/><rect class="cell level0" x="448"/><rect class="cell level0" x="460"/><rect class="cell level0" x="472"/><rect class="cell level0" x="484"/><rect class="cell level0" x="496"/><rect class="cell level0" x="508"/><rect class="cell level0" x="520"/><rect class="cell level0" x="532"/><rect class="cell level0" x="544"/><rect class="cell level0" x="556"/><rect class="cell level0" x="568"/><rect class="cell level0" x="580"/><rect class="cell level0" x="592"/><rect class="cell level0" x="604"/><rect class="cell level0" x="616"/><rect class="cell level0" x="628"/><rect class="cell level0" x="640"/></g> +<g transform="translate(0,28)"><text y="10px" class="label"></text><rect class="cell level0" x="40"/><rect class="cell level0" x="52"/><rect class="cell level0" x="64"/><rect class="cell level0" x="76"/><rect class="cell level0" x="88"/><rect class="cell level0" x="100"/><rect class="cell level0" x="112"/><rect class="cell level0" x="124"/><rect class="cell level0" x="136"/><rect class="cell level0" x="148"/><rect class="cell level0" x="160"/><rect class="cell level0" x="172"/><rect class="cell level0" x="184"/><rect class="cell level0" x="196"/><rect class="cell level0" x="208"/><rect class="cell level0" x="220"/><rect class="cell level0" x="232"/><rect class="cell level0" x="244"/><rect class="cell level0" x="256"/><rect class="cell level0" x="268"/><rect class="cell level0" x="280"/><rect class="cell level4" x="292"/><rect class="cell level0" x="304"/><rect class="cell level0" x="316"/><rect class="cell level0" x="328"/><rect class="cell level0" x="340"/><rect class="cell level0" x="352"/><rect class="cell level0" x="364"/><rect class="cell level0" x="376"/><rect class="cell level0" x="388"/><rect class="cell level0" x="400"/><rect class="cell level0" x="412"/><rect class="cell level0" x="424"/><rect class="cell level0" x="436"/><rect class="cell level0" x="448"/><rect class="cell level0" x="460"/><rect class="cell level0" x="472"/><rect class="cell level0" x="484"/><rect class="cell level0" x="496"/><rect class="cell level0" x="508"/><rect class="cell level0" x="520"/><rect class="cell level0" x="532"/><rect class="cell level0" x="544"/><rect class="cell level0" x="556"/><rect class="cell level0" x="568"/><rect class="cell level0" x="580"/><rect class="cell level0" x="592"/><rect class="cell level0" x="604"/><rect class="cell level0" x="616"/><rect class="cell level0" x="628"/><rect class="cell level0" x="640"/></g> +<g transform="translate(0,42)"><text y="10px" class="label">Wed</text><rect class="cell level0" x="40"/><rect class="cell level0" x="52"/><rect class="cell level0" x="64"/><rect class="cell level0" x="76"/><rect class="cell level0" x="88"/><rect class="cell level0" x="100"/><rect class="cell level0" x="112"/><rect class="cell level0" x="124"/><rect class="cell level0" x="136"/><rect class="cell level0" x="148"/><rect class="cell level0" x="160"/><rect class="cell level0" x="172"/><rect class="cell level0" x="184"/><rect class="cell level0" x="196"/><rect class="cell level0" x="208"/><rect class="cell level0" x="220"/><rect class="cell level0" x="232"/><rect class="cell level0" x="244"/><rect class="cell level0" x="256"/><rect class="cell level0" x="268"/><rect class="cell level0" x="280"/><rect class="cell level1" x="292"/><rect class="cell level0" x="304"/><rect class="cell level0" x="316"/><rect class="cell level0" x="328"/><rect class="cell level0" x="340"/><rect class="cell level0" x="352"/><rect class="cell level0" x="364"/><rect class="cell level0" x="376"/><rect class="cell level0" x="388"/><rect class="cell level0" x="400"/><rect class="cell level0" x="412"/><rect class="cell level0" x="424"/><rect class="cell level0" x="436"/><rect class="cell level0" x="448"/><rect class="cell level0" x="460"/><rect class="cell level0" x="472"/><rect class="cell level0" x="484"/><rect class="cell level0" x="496"/><rect class="cell level0" x="508"/><rect class="cell level0" x="520"/><rect class="cell level0" x="532"/><rect class="cell level0" x="544"/><rect class="cell level0" x="556"/><rect class="cell level0" x="568"/><rect class="cell level0" x="580"/><rect class="cell level0" x="592"/><rect class="cell level0" x="604"/><rect class="cell level0" x="616"/><rect class="cell level0" x="628"/><rect class="cell level0" x="640"/></g> +<g transform="translate(0,56)"><text y="10px" class="label"></text><rect class="cell level0" x="40"/><rect class="cell level0" x="52"/><rect class="cell level0" x="64"/><rect class="cell level0" x="76"/><rect class="cell level0" x="88"/><rect class="cell level0" x="100"/><rect class="cell level0" x="112"/><rect class="cell level0" x="124"/><rect class="cell level0" x="136"/><rect class="cell level0" x="148"/><rect class="cell level0" x="160"/><rect class="cell level0" x="172"/><rect class="cell level0" x="184"/><rect class="cell level0" x="196"/><rect class="cell level0" x="208"/><rect class="cell level0" x="220"/><rect class="cell level0" x="232"/><rect class="cell level0" x="244"/><rect class="cell level0" x="256"/><rect class="cell level0" x="268"/><rect class="cell level0" x="280"/><rect class="cell level3" x="292"/><rect class="cell level0" x="304"/><rect class="cell level0" x="316"/><rect class="cell level0" x="328"/><rect class="cell level0" x="340"/><rect class="cell level0" x="352"/><rect class="cell level0" x="364"/><rect class="cell level0" x="376"/><rect class="cell level0" x="388"/><rect class="cell level0" x="400"/><rect class="cell level0" x="412"/><rect class="cell level0" x="424"/><rect class="cell level0" x="436"/><rect class="cell level0" x="448"/><rect class="cell level0" x="460"/><rect class="cell level0" x="472"/><rect class="cell level0" x="484"/><rect class="cell level0" x="496"/><rect class="cell level0" x="508"/><rect class="cell level0" x="520"/><rect class="cell level0" x="532"/><rect class="cell level0" x="544"/><rect class="cell level0" x="556"/><rect class="cell level0" x="568"/><rect class="cell level0" x="580"/><rect class="cell level0" x="592"/><rect class="cell level0" x="604"/><rect class="cell level0" x="616"/><rect class="cell level0" x="628"/><rect class="cell level0" x="640"/></g> +<g transform="translate(0,70)"><text y="10px" class="label">Fri</text><rect class="cell level0" x="40"/><rect class="cell level0" x="52"/><rect class="cell level0" x="64"/><rect class="cell level0" x="76"/><rect class="cell level0" x="88"/><rect class="cell level0" x="100"/><rect class="cell level0" x="112"/><rect class="cell level0" x="124"/><rect class="cell level0" x="136"/><rect class="cell level0" x="148"/><rect class="cell level0" x="160"/><rect class="cell level0" x="172"/><rect class="cell level0" x="184"/><rect class="cell level0" x="196"/><rect class="cell level0" x="208"/><rect class="cell level0" x="220"/><rect class="cell level0" x="232"/><rect class="cell level0" x="244"/><rect class="cell level0" x="256"/><rect class="cell level0" x="268"/><rect class="cell level0" x="280"/><rect class="cell level3" x="292"/><rect class="cell level0" x="304"/><rect class="cell level0" x="316"/><rect class="cell level0" x="328"/><rect class="cell level0" x="340"/><rect class="cell level0" x="352"/><rect class="cell level0" x="364"/><rect class="cell level0" x="376"/><rect class="cell level0" x="388"/><rect class="cell level0" x="400"/><rect class="cell level0" x="412"/><rect class="cell level0" x="424"/><rect class="cell level0" x="436"/><rect class="cell level0" x="448"/><rect class="cell level0" x="460"/><rect class="cell level0" x="472"/><rect class="cell level0" x="484"/><rect class="cell level0" x="496"/><rect class="cell level0" x="508"/><rect class="cell level0" x="520"/><rect class="cell level0" x="532"/><rect class="cell level0" x="544"/><rect class="cell level0" x="556"/><rect class="cell level0" x="568"/><rect class="cell level0" x="580"/><rect class="cell level0" x="592"/><rect class="cell level0" x="604"/><rect class="cell level0" x="616"/><rect class="cell level0" x="628"/><rect class="cell level0" x="640"/></g> +<g transform="translate(0,84)"><text y="10px" class="label"></text><rect class="cell level0" x="28"/><rect class="cell level0" x="40"/><rect class="cell level0" x="52"/><rect class="cell level0" x="64"/><rect class="cell level0" x="76"/><rect class="cell level0" x="88"/><rect class="cell level0" x="100"/><rect class="cell level0" x="112"/><rect class="cell level0" x="124"/><rect class="cell level0" x="136"/><rect class="cell level0" x="148"/><rect class="cell level0" x="160"/><rect class="cell level0" x="172"/><rect class="cell level0" x="184"/><rect class="cell level0" x="196"/><rect class="cell level0" x="208"/><rect class="cell level0" x="220"/><rect class="cell level0" x="232"/><rect class="cell level0" x="244"/><rect class="cell level0" x="256"/><rect class="cell level0" x="268"/><rect class="cell level0" x="280"/><rect class="cell level0" x="292"/><rect class="cell level0" x="304"/><rect class="cell level0" x="316"/><rect class="cell level0" x="328"/><rect class="cell level0" x="340"/><rect class="cell level0" x="352"/><rect class="cell level0" x="364"/><rect class="cell level0" x="376"/><rect class="cell level0" x="388"/><rect class="cell level0" x="400"/><rect class="cell level0" x="412"/><rect class="cell level0" x="424"/><rect class="cell level0" x="436"/><rect class="cell level0" x="448"/><rect class="cell level0" x="460"/><rect class="cell level0" x="472"/><rect class="cell level0" x="484"/><rect class="cell level0" x="496"/><rect class="cell level0" x="508"/><rect class="cell level0" x="520"/><rect class="cell level0" x="532"/><rect class="cell level0" x="544"/><rect class="cell level0" x="556"/><rect class="cell level0" x="568"/><rect class="cell level0" x="580"/><rect class="cell level0" x="592"/><rect class="cell level0" x="604"/><rect class="cell level0" x="616"/><rect class="cell level0" x="628"/><rect class="cell level0" x="640"/></g> +</svg> +<h2>Generate Your Own</h2> +<p>You can grab the tool from its repo <a href="https://git.ignore.pl/activity/">activity</a>. All you need is Lua, +Penlight and Git. Go check it out! I'm waiting for your feedback and patches. +</article> +<script src="https://stats.ignore.pl/track.js"></script> |