Tauri 2 + Vue app that draws the commit graph of the repository given on the command line. Branches can be hidden one by one or by patterns, runs of plain commits fold into a dotted line, and everything is reachable from the keyboard.
38 lines
1.8 KiB
XML
38 lines
1.8 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
<defs>
|
|
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
|
<stop offset="0" stop-color="#1e1b3a"/>
|
|
<stop offset="1" stop-color="#0d1020"/>
|
|
</linearGradient>
|
|
<linearGradient id="main" gradientUnits="userSpaceOnUse" x1="0" y1="420" x2="0" y2="92">
|
|
<stop offset="0" stop-color="#4dabf7"/>
|
|
<stop offset="1" stop-color="#b197fc"/>
|
|
</linearGradient>
|
|
<linearGradient id="left" gradientUnits="userSpaceOnUse" x1="0" y1="360" x2="0" y2="170">
|
|
<stop offset="0" stop-color="#ff6b6b"/>
|
|
<stop offset="1" stop-color="#ffd43b"/>
|
|
</linearGradient>
|
|
<linearGradient id="right" gradientUnits="userSpaceOnUse" x1="0" y1="300" x2="0" y2="150">
|
|
<stop offset="0" stop-color="#38d9a9"/>
|
|
<stop offset="1" stop-color="#69db7c"/>
|
|
</linearGradient>
|
|
<filter id="glow" x="-50%" y="-50%" width="200%" height="200%">
|
|
<feGaussianBlur stdDeviation="10" result="b"/>
|
|
<feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge>
|
|
</filter>
|
|
</defs>
|
|
<rect x="16" y="16" width="480" height="480" rx="112" fill="url(#bg)"/>
|
|
<g fill="none" stroke-width="30" stroke-linecap="round" filter="url(#glow)">
|
|
<path d="M256 420 V92" stroke="url(#main)"/>
|
|
<path d="M256 360 C256 300 150 300 150 240 V170" stroke="url(#left)"/>
|
|
<path d="M256 300 C256 250 362 250 362 200 V150" stroke="url(#right)" stroke-dasharray="2 46"/>
|
|
</g>
|
|
<g stroke="#0d1020" stroke-width="12">
|
|
<circle cx="256" cy="420" r="30" fill="#4dabf7"/>
|
|
<circle cx="256" cy="92" r="34" fill="#b197fc"/>
|
|
<circle cx="150" cy="170" r="30" fill="#ffd43b"/>
|
|
<circle cx="362" cy="150" r="30" fill="#69db7c"/>
|
|
</g>
|
|
<circle cx="256" cy="92" r="52" fill="none" stroke="#b197fc" stroke-width="10" opacity="0.6"/>
|
|
</svg>
|