| @ -0,0 +1,12 @@ | |||||
| # For more information visit http://editorconfig.org/ | |||||
| root = true | |||||
| [*] | |||||
| end_of_line = lf | |||||
| insert_final_newline = true | |||||
| trim_trailing_whitespace = true | |||||
| indent_style = space | |||||
| indent_size = 2 | |||||
| [Makefile] | |||||
| indent_style = tab | |||||
| @ -0,0 +1,2 @@ | |||||
| temp.svg | |||||
| *.png | |||||
| @ -0,0 +1,51 @@ | |||||
| # Variables | |||||
| ifdef dark | |||||
| dark_color=$(dark) | |||||
| endif | |||||
| ifdef light | |||||
| light_color=$(light) | |||||
| endif | |||||
| ifdef middle | |||||
| middle_color=$(middle) | |||||
| endif | |||||
| ifneq ($(wildcard $(dark)),) | |||||
| dark_color=transparent | |||||
| endif | |||||
| ifneq ($(wildcard $(light)),) | |||||
| light_color=transparent | |||||
| endif | |||||
| ifneq ($(wildcard $(middle)),) | |||||
| middle_color=transparent | |||||
| endif | |||||
| size?=1024 | |||||
| dark_color?=black | |||||
| light_color?=white | |||||
| middle_color?=gray | |||||
| # Base targets | |||||
| default: build | |||||
| # Build process | |||||
| build: clean logo.svg | |||||
| @cp logo.svg temp.svg | |||||
| @sed -i 's/fill: black/:fill1:/' temp.svg | |||||
| @sed -i 's/fill: white/:fill2:/' temp.svg | |||||
| @sed -i 's/fill: gray/:fill3:/' temp.svg | |||||
| @sed -i 's/:fill1:/fill: $(dark_color)/' temp.svg | |||||
| @sed -i 's/:fill2:/fill: $(light_color)/' temp.svg | |||||
| @sed -i 's/:fill3:/fill: $(middle_color)/' temp.svg | |||||
| @sed -i 's/dark.png/:image1:/' temp.svg | |||||
| @sed -i 's/light.png/:image2:/' temp.svg | |||||
| @sed -i 's/middle.png/:image3:/' temp.svg | |||||
| @sed -i 's/:image1:/$(dark)/' temp.svg | |||||
| @sed -i 's/:image2:/$(light)/' temp.svg | |||||
| @sed -i 's/:image3:/$(middle)/' temp.svg | |||||
| convert -background none -size $(size)x$(size) temp.svg logo.png | |||||
| @rm temp.svg | |||||
| clean: | |||||
| @rm -f logo.png temp.svg | |||||
| # Linting | |||||
| lint: xmllint | |||||
| xmllint: logo.svg | |||||
| xmllint --noout logo.svg | |||||
| @ -0,0 +1,101 @@ | |||||
| <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="512" height="512" viewBox="0 0 512 512"> | |||||
| <!-- Remove to show images --> | |||||
| <style type="text/css"> | |||||
| #dark-pattern rect { fill: black } | |||||
| #light-pattern rect { fill: white } | |||||
| #middle-pattern rect { fill: gray } | |||||
| </style> | |||||
| <defs> | |||||
| <!-- Background patterns --> | |||||
| <pattern id="dark-pattern" patternUnits="userSpaceOnUse" width="100%" height="100%"> | |||||
| <image xlink:href="dark.png" x="0" y="0" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" /> | |||||
| <rect width="100%" height="100%" /> | |||||
| </pattern> | |||||
| <pattern id="light-pattern" patternUnits="userSpaceOnUse" width="100%" height="100%"> | |||||
| <image xlink:href="light.png" x="0" y="0" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" /> | |||||
| <rect width="100%" height="100%" /> | |||||
| </pattern> | |||||
| <pattern id="middle-pattern" patternUnits="userSpaceOnUse" width="100%" height="100%"> | |||||
| <image xlink:href="middle.png" x="0" y="0" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" /> | |||||
| <rect width="100%" height="100%" /> | |||||
| </pattern> | |||||
| <!-- Gradients for arrow --> | |||||
| <linearGradient id="dark-arrow-gradient-1" x1="0" x2="1" y1="0" y2="1"> | |||||
| <stop stop-color="white" offset="41%" /> | |||||
| <stop stop-color="black" offset="49.9%" /> | |||||
| </linearGradient> | |||||
| <linearGradient id="dark-arrow-gradient-2" x1="0" x2="0" y1="0" y2="1"> | |||||
| <stop stop-color="white" offset="19%" /> | |||||
| <stop stop-color="black" offset="100%" /> | |||||
| </linearGradient> | |||||
| <linearGradient id="light-arrow-gradient-1" x1="1" x2="0" y1="1" y2="0"> | |||||
| <stop stop-color="white" offset="41%" /> | |||||
| <stop stop-color="black" offset="49.9%" /> | |||||
| </linearGradient> | |||||
| <linearGradient id="light-arrow-gradient-2" x1="1" x2="0" y1="0" y2="0"> | |||||
| <stop stop-color="white" offset="19%" /> | |||||
| <stop stop-color="black" offset="100%" /> | |||||
| </linearGradient> | |||||
| <!-- Grid definitions --> | |||||
| <mask id="dark-grid-mask"> | |||||
| <circle cx="50%" cy="50%" r="46%" fill="none" stroke="white" stroke-width="8%" /> | |||||
| <rect x="46%" y="70%" width="8%" height="25%" fill="white" transform="rotate(-45 256 256)" /> | |||||
| <rect x="0%" y="0%" width="100%" height="50%" fill="black" transform="rotate(45 256 256) translate(0 -20)" /> | |||||
| <rect x="50%" y="46%" width="50%" height="8%" fill="white" /> | |||||
| <rect x="46%" y="50%" width="8%" height="46%" fill="white" /> | |||||
| <rect x="-4%" y="40%" width="25%" height="25%" fill="black" transform="rotate(-45 256 256)" /> | |||||
| <circle cx="50%" cy="50%" r="5.656854249%" fill="black" /> | |||||
| <polygon fill="black" points="-1,-1 -1,513 513,-1" /> | |||||
| <rect x="96%" y="46%" width="4%" height="4%" fill="black" /> | |||||
| <path d="M 0 256 V 512 H 256 Q 33 501, 0 256" fill="black" /> | |||||
| </mask> | |||||
| <mask id="light-grid-mask"> | |||||
| <circle cx="50%" cy="50%" r="46%" fill="none" stroke="white" stroke-width="8%" /> | |||||
| <rect x="46%" y="6%" width="8%" height="25%" fill="white" transform="rotate(-45 256 256)" /> | |||||
| <rect x="0%" y="0%" width="100%" height="50%" fill="black" transform="rotate(45 256 256) translate(0 -20)" /> | |||||
| <rect x="46%" y="0%" width="8%" height="54%" fill="white" /> | |||||
| <rect x="4%" y="46%" width="50%" height="8%" fill="white" /> | |||||
| <rect x="-4%" y="30%" width="25%" height="25%" fill="black" transform="rotate(-45 256 256)" /> | |||||
| <circle cx="50%" cy="50%" r="5.656854249%" fill="black" /> | |||||
| <polygon fill="black" points="-1,513 513,513 513,-1" /> | |||||
| <rect x="50%" y="0%" width="4%" height="4%" fill="black" /> | |||||
| <path d="M 0 256 V 512 H 256 Q 11 479, 0 256" fill="black" /> | |||||
| </mask> | |||||
| <!-- Arrow definitions --> | |||||
| <mask id="dark-arrow-mask"> | |||||
| <rect x="46%" y="0%" width="8%" height="44%" fill="url(#dark-arrow-gradient-2)" /> | |||||
| <rect x="50%" y="0%" width="4%" height="4%" fill="black" /> | |||||
| <circle cx="50%" cy="50%" r="46%" fill="none" stroke="url(#dark-arrow-gradient-1)" stroke-width="8%" /> | |||||
| <rect x="0%" y="0%" width="46%" height="100%" fill="black" /> | |||||
| <rect x="0%" y="54%" width="100%" height="46%" fill="black" /> | |||||
| <rect x="46%" y="-50%" width="8%" height="110%" fill="white" transform="rotate(45 256 256) translate(-82 282)" /> | |||||
| <rect x="0%" y="46%" width="50%" height="8%" fill="black" /> | |||||
| <path d="M 0 256 V 512 H 256 Q 11 479, 0 256" fill="black" /> | |||||
| </mask> | |||||
| <mask id="light-arrow-mask"> | |||||
| <rect x="56%" y="46%" width="44%" height="8%" fill="url(#light-arrow-gradient-2)" /> | |||||
| <rect x="96%" y="46%" width="4%" height="4%" fill="black" /> | |||||
| <circle cx="50%" cy="50%" r="46%" fill="none" stroke="url(#light-arrow-gradient-1)" stroke-width="8%" /> | |||||
| <rect x="0%" y="0%" width="46%" height="100%" fill="black" /> | |||||
| <rect x="0%" y="54%" width="100%" height="46%" fill="black" /> | |||||
| <rect x="46%" y="-50%" width="8%" height="110%" fill="white" transform="rotate(45 256 256) translate(82 282)" /> | |||||
| <rect x="46%" y="50%" width="8%" height="50%" fill="black" /> | |||||
| <path d="M 0 256 V 512 H 256 Q 33 501, 0 256" fill="black" /> | |||||
| </mask> | |||||
| </defs> | |||||
| <!-- Background --> | |||||
| <rect width="100%" height="100%" fill="url(#middle-pattern)" /> | |||||
| <!-- Grids --> | |||||
| <rect width="100%" height="100%" fill="url(#dark-pattern)" mask="url(#dark-grid-mask)" /> | |||||
| <rect width="100%" height="100%" fill="url(#light-pattern)" mask="url(#light-grid-mask)" /> | |||||
| <!-- Arrows --> | |||||
| <rect width="100%" height="100%" fill="url(#dark-pattern)" mask="url(#dark-arrow-mask)" /> | |||||
| <rect width="100%" height="100%" fill="url(#light-pattern)" mask="url(#light-arrow-mask)" /> | |||||
| </svg> | |||||
| @ -0,0 +1,85 @@ | |||||
| <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="512" height="512" viewBox="0 0 512 512"> | |||||
| <!-- Remove to show images --> | |||||
| <style type="text/css"> | |||||
| #dark-pattern rect { fill: black } | |||||
| #light-pattern rect { fill: white } | |||||
| #middle-pattern rect { fill: gray } | |||||
| </style> | |||||
| <defs> | |||||
| <!-- Background patterns --> | |||||
| <pattern id="dark-pattern" patternUnits="userSpaceOnUse" width="100%" height="100%"> | |||||
| <image xlink:href="dark.png" x="0" y="0" width="100%" height="100%" preserveAspectRatio="xMidYMid slice"/> | |||||
| <rect width="100%" height="100%"/> | |||||
| </pattern> | |||||
| <pattern id="light-pattern" patternUnits="userSpaceOnUse" width="100%" height="100%"> | |||||
| <image xlink:href="light.png" x="0" y="0" width="100%" height="100%" preserveAspectRatio="xMidYMid slice"/> | |||||
| <rect width="100%" height="100%"/> | |||||
| </pattern> | |||||
| <pattern id="middle-pattern" patternUnits="userSpaceOnUse" width="100%" height="100%"> | |||||
| <image xlink:href="middle.png" x="0" y="0" width="100%" height="100%" preserveAspectRatio="xMidYMid slice"/> | |||||
| <rect width="100%" height="100%"/> | |||||
| </pattern> | |||||
| <!-- Gradients for arrow --> | |||||
| <linearGradient id="dark-arrow-gradient-1" x1="0" x2="1" y1="0" y2="0"> | |||||
| <stop stop-color="white" offset="50%"/> | |||||
| <stop stop-color="black" offset="84%"/> | |||||
| </linearGradient> | |||||
| <linearGradient id="dark-arrow-gradient-2" x1="0" x2="0" y1="0" y2="1"> | |||||
| <stop stop-color="white" offset="19%"/> | |||||
| <stop stop-color="black" offset="100%"/> | |||||
| </linearGradient> | |||||
| <linearGradient id="light-arrow-gradient-1" x1="0" x2="0" y1="1" y2="0"> | |||||
| <stop stop-color="white" offset="50%"/> | |||||
| <stop stop-color="black" offset="84%"/> | |||||
| </linearGradient> | |||||
| <linearGradient id="light-arrow-gradient-2" x1="1" x2="0" y1="0" y2="0"> | |||||
| <stop stop-color="white" offset="19%"/> | |||||
| <stop stop-color="black" offset="100%"/> | |||||
| </linearGradient> | |||||
| <!-- Grid definitions --> | |||||
| <mask id="dark-grid-mask"> | |||||
| <rect x="50%" y="46%" width="50%" height="8%" fill="white"/> | |||||
| <rect x="46%" y="50%" width="8%" height="50%" fill="white"/> | |||||
| <rect x="28%" y="92%" width="72%" height="8%" fill="white"/> | |||||
| <circle cx="50%" cy="50%" r="5.656854249%" fill="black"/> | |||||
| <rect x="47%" y="63%" width="8%" height="87%" fill="white" transform="rotate(-45 256 256) translate(4)"/> | |||||
| <polygon fill="black" points="-1,-1 -1,513 513,-1"/> | |||||
| </mask> | |||||
| <mask id="light-grid-mask"> | |||||
| <rect x="0%" y="0%" width="8%" height="72%" fill="white"/> | |||||
| <rect x="46%" y="0%" width="8%" height="54%" fill="white"/> | |||||
| <rect x="0%" y="46%" width="50%" height="8%" fill="white"/> | |||||
| <circle cx="50%" cy="50%" r="5.656854249%" fill="black"/> | |||||
| <rect x="47%" y="-50%" width="8%" height="87%" fill="white" transform="rotate(-45 256 256) translate(4)"/> | |||||
| <polygon fill="black" points="-1,513 513,513 513,-1"/> | |||||
| </mask> | |||||
| <!-- Arrow definitions --> | |||||
| <mask id="dark-arrow-mask"> | |||||
| <rect x="46%" y="-50%" width="8%" height="200%" fill="white" transform="rotate(45 256 256) translate(-82 -82)"/> | |||||
| <rect x="50%" y="0%" width="50%" height="8%" fill="url(#dark-arrow-gradient-1)"/> | |||||
| <rect x="0%" y="46%" width="50%" height="8%" fill="black"/> | |||||
| <rect x="46%" y="0%" width="8%" height="44%" fill="url(#dark-arrow-gradient-2)"/> | |||||
| </mask> | |||||
| <mask id="light-arrow-mask"> | |||||
| <rect x="46%" y="-50%" width="8%" height="200%" fill="white" transform="rotate(45 256 256) translate(82 82)"/> | |||||
| <rect x="92%" y="0%" width="8%" height="50%" fill="url(#light-arrow-gradient-1)"/> | |||||
| <rect x="46%" y="50%" width="8%" height="50%" fill="black"/> | |||||
| <rect x="56%" y="46%" width="44%" height="8%" fill="url(#light-arrow-gradient-2)"/> | |||||
| </mask> | |||||
| </defs> | |||||
| <!-- Background --> | |||||
| <rect width="100%" height="100%" fill="url(#middle-pattern)"/> | |||||
| <!-- Grids --> | |||||
| <rect width="100%" height="100%" fill="url(#dark-pattern)" mask="url(#dark-grid-mask)"/> | |||||
| <rect width="100%" height="100%" fill="url(#light-pattern)" mask="url(#light-grid-mask)"/> | |||||
| <!-- Arrows --> | |||||
| <rect width="100%" height="100%" fill="url(#dark-pattern)" mask="url(#dark-arrow-mask)"/> | |||||
| <rect width="100%" height="100%" fill="url(#light-pattern)" mask="url(#light-arrow-mask)"/> | |||||
| </svg> | |||||