From 3a0324fe1af3d6bb7c2d8c8a7640212763d15248 Mon Sep 17 00:00:00 2001 From: Todd Gamblin <tgamblin@llnl.gov> Date: Mon, 6 Nov 2017 22:42:16 -0800 Subject: [PATCH] add artisanal handcrafted SVG Spack logo. (#6165) - This isn't one of those autogenerated SVGs from a drawing program! - This is a completely re-traced, minimalist SVG file with clearly delineated pieces so that your favorite renderer can draw a Spack logo at whatever resolution you want. - Included versions with text, as well. --- README.md | 3 +- lib/spack/docs/conf.py | 2 +- share/spack/logo/spack-logo-text-64.png | Bin 18644 -> 0 bytes share/spack/logo/spack-logo-text-bottom.svg | 66 ++++++++++++++++++ share/spack/logo/spack-logo-text.svg | 64 +++++++++++++++++ share/spack/logo/spack-logo-white-text-48.png | Bin 12201 -> 0 bytes .../logo/spack-logo-white-text-bottom.svg | 66 ++++++++++++++++++ share/spack/logo/spack-logo-white-text.svg | 64 +++++++++++++++++ share/spack/logo/spack-logo-white.svg | 61 ++++++++++++++++ share/spack/logo/spack-logo.svg | 61 ++++++++++++++++ 10 files changed, 384 insertions(+), 3 deletions(-) delete mode 100644 share/spack/logo/spack-logo-text-64.png create mode 100644 share/spack/logo/spack-logo-text-bottom.svg create mode 100644 share/spack/logo/spack-logo-text.svg delete mode 100644 share/spack/logo/spack-logo-white-text-48.png create mode 100644 share/spack/logo/spack-logo-white-text-bottom.svg create mode 100644 share/spack/logo/spack-logo-white-text.svg create mode 100644 share/spack/logo/spack-logo-white.svg create mode 100644 share/spack/logo/spack-logo.svg diff --git a/README.md b/README.md index cffd8a74e2..44d828d3f3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ - -============ +# <img src="https://cdn.rawgit.com/spack/spack/features/svg-logo/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack [](https://travis-ci.org/spack/spack) [](https://codecov.io/gh/spack/spack) diff --git a/lib/spack/docs/conf.py b/lib/spack/docs/conf.py index ba4fe05b36..94d301f6d9 100644 --- a/lib/spack/docs/conf.py +++ b/lib/spack/docs/conf.py @@ -249,7 +249,7 @@ def setup(sphinx): # The name of an image file (relative to this directory) to place at the top # of the sidebar. -html_logo = '../../../share/spack/logo/spack-logo-white-text-48.png' +html_logo = '../../../share/spack/logo/spack-logo-white-text.svg' # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 diff --git a/share/spack/logo/spack-logo-text-64.png b/share/spack/logo/spack-logo-text-64.png deleted file mode 100644 index 8dad4c519fafcece2d060c4ef919b59f62ccf10c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18644 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 Sz4HvTRov6n&t;ucLK6URK#zO? diff --git a/share/spack/logo/spack-logo-text-bottom.svg b/share/spack/logo/spack-logo-text-bottom.svg new file mode 100644 index 0000000000..90f5c5515e --- /dev/null +++ b/share/spack/logo/spack-logo-text-bottom.svg @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="256" height="340" + viewBox="-128 -128 256 340" + version="1.1" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ev="http://www.w3.org/2001/xml-events"> + + <style> + .logo { font-family:Arial; font-weight:bold; } + .diamond { fill:#0f3a80; } + circle.back { fill:#ffa600; stroke:#0f3a80; stroke-width:6; } + circle.front { fill:#ffffff; stroke:#0f3a80; stroke-width:6; } + line.back { stroke:#ffa600; stroke-width:7; } + line.front { stroke:#ffffff; stroke-width:7; } + line.shadow { stroke:#0f3a80; stroke-width:7; } + </style> + + <defs> + <!-- need two arrows b/c we can't sync color with the marked element --> + <marker id="barrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffa600"/> + </marker> + <marker id="farrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffffff"/> + </marker> + </defs> + + <!-- rounded diamond shape --> + <rect x="-97" y="-97" width="194" height="194" rx="26" ry="26" + transform="rotate(45)" class="diamond"/> + + <!-- background dependency structure --> + <line x1="-11" y1="-80" x2="-11" y2="-29" transform="rotate(42 -11 -80)" + class="back" marker-end="url(#barrow)"/> + <line x1="-80" y1="0" x2="-80" y2="57" transform="rotate(-45 -80 0)" + class="back" marker-end="url(#barrow)"/> + <line x1="-11" y1="-80" x2="-11" y2="28" class="back" + marker-end="url(#barrow)"/> + + <circle cx="-11" cy="-80" r="23" class="back"/> + <circle cx="0" cy="80" r="23" class="back"/> + <circle cx="-80" cy="0" r="23" class="back"/> + + <!-- foreground dependency structure --> + <line x1="18" y1="-80" x2="18" y2="0" transform="rotate(42 17 -80)" + class="shadow"/> + <line x1="13" y1="-80" x2="13" y2="-5" transform="rotate(42 11 -80)" + class="front" marker-end="url(#farrow)"/> + + <line x1="11" y1="-80" x2="11" y2="-29" transform="rotate(-42 11 -80)" + class="front" marker-end="url(#farrow)"/> + <line x1="80" y1="0" x2="80" y2="57" transform="rotate(45 80 0)" + class="front" marker-end="url(#farrow)"/> + <line x1="11" y1="-80" x2="11" y2="28" class="front" + marker-end="url(#farrow)"/> + + <circle cx="11" cy="-80" r="23" class="front"/> + <circle cx="80" cy="0" r="23" class="front"/> + + <text x="0" y="184" text-anchor="middle" font-size="64pt" class="logo"> + Spack + </text> +</svg> diff --git a/share/spack/logo/spack-logo-text.svg b/share/spack/logo/spack-logo-text.svg new file mode 100644 index 0000000000..5ad4588d8a --- /dev/null +++ b/share/spack/logo/spack-logo-text.svg @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="850" height="256" + viewBox="-128 -128 850 256" + version="1.1" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ev="http://www.w3.org/2001/xml-events"> + + <style> + .logo { font-family:Arial; font-weight:bold; } + .diamond { fill:#0f3a80; } + circle.back { fill:#ffa600; stroke:#0f3a80; stroke-width:6; } + circle.front { fill:#ffffff; stroke:#0f3a80; stroke-width:6; } + line.back { stroke:#ffa600; stroke-width:7; } + line.front { stroke:#ffffff; stroke-width:7; } + line.shadow { stroke:#0f3a80; stroke-width:7; } + </style> + + <defs> + <!-- need two arrows b/c we can't sync color with the marked element --> + <marker id="barrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffa600"/> + </marker> + <marker id="farrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffffff"/> + </marker> + </defs> + + <!-- rounded diamond shape --> + <rect x="-97" y="-97" width="194" height="194" rx="26" ry="26" + transform="rotate(45)" class="diamond"/> + + <!-- background dependency structure --> + <line x1="-11" y1="-80" x2="-11" y2="-29" transform="rotate(42 -11 -80)" + class="back" marker-end="url(#barrow)"/> + <line x1="-80" y1="0" x2="-80" y2="57" transform="rotate(-45 -80 0)" + class="back" marker-end="url(#barrow)"/> + <line x1="-11" y1="-80" x2="-11" y2="28" class="back" + marker-end="url(#barrow)"/> + + <circle cx="-11" cy="-80" r="23" class="back"/> + <circle cx="0" cy="80" r="23" class="back"/> + <circle cx="-80" cy="0" r="23" class="back"/> + + <!-- foreground dependency structure --> + <line x1="18" y1="-80" x2="18" y2="0" transform="rotate(42 17 -80)" + class="shadow"/> + <line x1="13" y1="-80" x2="13" y2="-5" transform="rotate(42 11 -80)" + class="front" marker-end="url(#farrow)"/> + + <line x1="11" y1="-80" x2="11" y2="-29" transform="rotate(-42 11 -80)" + class="front" marker-end="url(#farrow)"/> + <line x1="80" y1="0" x2="80" y2="57" transform="rotate(45 80 0)" + class="front" marker-end="url(#farrow)"/> + <line x1="11" y1="-80" x2="11" y2="28" class="front" + marker-end="url(#farrow)"/> + + <circle cx="11" cy="-80" r="23" class="front"/> + <circle cx="80" cy="0" r="23" class="front"/> + + <text x="160" y="64" font-size="128pt" class="logo">Spack</text> +</svg> diff --git a/share/spack/logo/spack-logo-white-text-48.png b/share/spack/logo/spack-logo-white-text-48.png deleted file mode 100644 index 9e60867e81cac2b86fe38b12bd506653682e964b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12201 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 U?8P0|K<l48UHx3vIVCg!0A%iuJOBUy diff --git a/share/spack/logo/spack-logo-white-text-bottom.svg b/share/spack/logo/spack-logo-white-text-bottom.svg new file mode 100644 index 0000000000..25d62a6b2d --- /dev/null +++ b/share/spack/logo/spack-logo-white-text-bottom.svg @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="256" height="340" + viewBox="-128 -128 256 340" + version="1.1" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ev="http://www.w3.org/2001/xml-events"> + + <style> + .logo { font-family:Arial; font-weight:bold; fill:#ffffff; } + .diamond { fill:#ffffff; } + circle.back { fill:#ffa600; stroke:#ffffff; stroke-width:6; } + circle.front { fill:#0e3d7e; stroke:#ffffff; stroke-width:6; } + line.back { stroke:#ffa600; stroke-width:7; } + line.front { stroke:#0e3d7e; stroke-width:7; } + line.shadow { stroke:#ffffff; stroke-width:7; } + </style> + + <defs> + <!-- need two arrows b/c we can't sync color with the marked element --> + <marker id="barrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffa600"/> + </marker> + <marker id="farrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#0e3d7e"/> + </marker> + </defs> + + <!-- rounded diamond shape --> + <rect x="-97" y="-97" width="194" height="194" rx="26" ry="26" + transform="rotate(45)" class="diamond"/> + + <!-- background dependency structure --> + <line x1="-11" y1="-80" x2="-11" y2="-29" transform="rotate(42 -11 -80)" + class="back" marker-end="url(#barrow)"/> + <line x1="-80" y1="0" x2="-80" y2="57" transform="rotate(-45 -80 0)" + class="back" marker-end="url(#barrow)"/> + <line x1="-11" y1="-80" x2="-11" y2="28" class="back" + marker-end="url(#barrow)"/> + + <circle cx="-11" cy="-80" r="23" class="back"/> + <circle cx="0" cy="80" r="23" class="back"/> + <circle cx="-80" cy="0" r="23" class="back"/> + + <!-- foreground dependency structure --> + <line x1="18" y1="-80" x2="18" y2="0" transform="rotate(42 17 -80)" + class="shadow"/> + <line x1="13" y1="-80" x2="13" y2="-5" transform="rotate(42 11 -80)" + class="front" marker-end="url(#farrow)"/> + + <line x1="11" y1="-80" x2="11" y2="-29" transform="rotate(-42 11 -80)" + class="front" marker-end="url(#farrow)"/> + <line x1="80" y1="0" x2="80" y2="57" transform="rotate(45 80 0)" + class="front" marker-end="url(#farrow)"/> + <line x1="11" y1="-80" x2="11" y2="28" class="front" + marker-end="url(#farrow)"/> + + <circle cx="11" cy="-80" r="23" class="front"/> + <circle cx="80" cy="0" r="23" class="front"/> + + <text x="0" y="184" text-anchor="middle" font-size="64pt" class="logo"> + Spack + </text> +</svg> diff --git a/share/spack/logo/spack-logo-white-text.svg b/share/spack/logo/spack-logo-white-text.svg new file mode 100644 index 0000000000..d3dfd73f5c --- /dev/null +++ b/share/spack/logo/spack-logo-white-text.svg @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="850" height="256" + viewBox="-128 -128 850 256" + version="1.1" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ev="http://www.w3.org/2001/xml-events"> + + <style> + .logo { font-family:Arial; font-weight:bold; fill:#ffffff; } + .diamond { fill:#ffffff; } + circle.back { fill:#ffa600; stroke:#ffffff; stroke-width:6; } + circle.front { fill:#0e3d7e; stroke:#ffffff; stroke-width:6; } + line.back { stroke:#ffa600; stroke-width:7; } + line.front { stroke:#0e3d7e; stroke-width:7; } + line.shadow { stroke:#ffffff; stroke-width:7; } + </style> + + <defs> + <!-- need two arrows b/c we can't sync color with the marked element --> + <marker id="barrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffa600"/> + </marker> + <marker id="farrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#0e3d7e"/> + </marker> + </defs> + + <!-- rounded diamond shape --> + <rect x="-97" y="-97" width="194" height="194" rx="26" ry="26" + transform="rotate(45)" class="diamond"/> + + <!-- background dependency structure --> + <line x1="-11" y1="-80" x2="-11" y2="-29" transform="rotate(42 -11 -80)" + class="back" marker-end="url(#barrow)"/> + <line x1="-80" y1="0" x2="-80" y2="57" transform="rotate(-45 -80 0)" + class="back" marker-end="url(#barrow)"/> + <line x1="-11" y1="-80" x2="-11" y2="28" class="back" + marker-end="url(#barrow)"/> + + <circle cx="-11" cy="-80" r="23" class="back"/> + <circle cx="0" cy="80" r="23" class="back"/> + <circle cx="-80" cy="0" r="23" class="back"/> + + <!-- foreground dependency structure --> + <line x1="18" y1="-80" x2="18" y2="0" transform="rotate(42 17 -80)" + class="shadow"/> + <line x1="13" y1="-80" x2="13" y2="-5" transform="rotate(42 11 -80)" + class="front" marker-end="url(#farrow)"/> + + <line x1="11" y1="-80" x2="11" y2="-29" transform="rotate(-42 11 -80)" + class="front" marker-end="url(#farrow)"/> + <line x1="80" y1="0" x2="80" y2="57" transform="rotate(45 80 0)" + class="front" marker-end="url(#farrow)"/> + <line x1="11" y1="-80" x2="11" y2="28" class="front" + marker-end="url(#farrow)"/> + + <circle cx="11" cy="-80" r="23" class="front"/> + <circle cx="80" cy="0" r="23" class="front"/> + + <text x="160" y="64" font-size="128pt" class="logo">Spack</text> +</svg> diff --git a/share/spack/logo/spack-logo-white.svg b/share/spack/logo/spack-logo-white.svg new file mode 100644 index 0000000000..3e6c40d123 --- /dev/null +++ b/share/spack/logo/spack-logo-white.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="256" height="256" + viewBox="-128 -128 256 256" + version="1.1" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ev="http://www.w3.org/2001/xml-events"> + + <style> + .diamond { fill:#ffffff; } + circle.back { fill:#ffa600; stroke:#ffffff; stroke-width:6; } + circle.front { fill:#0e3d7e; stroke:#ffffff; stroke-width:6; } + line.back { stroke:#ffa600; stroke-width:7; } + line.front { stroke:#0e3d7e; stroke-width:7; } + line.shadow { stroke:#ffffff; stroke-width:7; } + </style> + + <defs> + <!-- need two arrows b/c we can't sync color with the marked element --> + <marker id="barrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffa600"/> + </marker> + <marker id="farrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#0e3d7e"/> + </marker> + </defs> + + <!-- rounded diamond shape --> + <rect x="-97" y="-97" width="194" height="194" rx="26" ry="26" + transform="rotate(45)" class="diamond"/> + + <!-- background dependency structure --> + <line x1="-11" y1="-80" x2="-11" y2="-29" transform="rotate(42 -11 -80)" + class="back" marker-end="url(#barrow)"/> + <line x1="-80" y1="0" x2="-80" y2="57" transform="rotate(-45 -80 0)" + class="back" marker-end="url(#barrow)"/> + <line x1="-11" y1="-80" x2="-11" y2="28" class="back" + marker-end="url(#barrow)"/> + + <circle cx="-11" cy="-80" r="23" class="back"/> + <circle cx="0" cy="80" r="23" class="back"/> + <circle cx="-80" cy="0" r="23" class="back"/> + + <!-- foreground dependency structure --> + <line x1="18" y1="-80" x2="18" y2="0" transform="rotate(42 17 -80)" + class="shadow"/> + <line x1="13" y1="-80" x2="13" y2="-5" transform="rotate(42 11 -80)" + class="front" marker-end="url(#farrow)"/> + + <line x1="11" y1="-80" x2="11" y2="-29" transform="rotate(-42 11 -80)" + class="front" marker-end="url(#farrow)"/> + <line x1="80" y1="0" x2="80" y2="57" transform="rotate(45 80 0)" + class="front" marker-end="url(#farrow)"/> + <line x1="11" y1="-80" x2="11" y2="28" class="front" + marker-end="url(#farrow)"/> + + <circle cx="11" cy="-80" r="23" class="front"/> + <circle cx="80" cy="0" r="23" class="front"/> +</svg> diff --git a/share/spack/logo/spack-logo.svg b/share/spack/logo/spack-logo.svg new file mode 100644 index 0000000000..a56eed57a6 --- /dev/null +++ b/share/spack/logo/spack-logo.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="256" height="256" + viewBox="-128 -128 256 256" + version="1.1" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ev="http://www.w3.org/2001/xml-events"> + + <style> + .diamond { fill:#0f3a80; } + circle.back { fill:#ffa600; stroke:#0f3a80; stroke-width:6; } + circle.front { fill:#ffffff; stroke:#0f3a80; stroke-width:6; } + line.back { stroke:#ffa600; stroke-width:7; } + line.front { stroke:#ffffff; stroke-width:7; } + line.shadow { stroke:#0f3a80; stroke-width:7; } + </style> + + <defs> + <!-- need two arrows b/c we can't sync color with the marked element --> + <marker id="barrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffa600"/> + </marker> + <marker id="farrow" markerWidth="4" markerHeight="3" refX=".05" refY="1.5" + orient="auto" markerUnits="strokeWidth"> + <path d="M0,0 L0,3 L4,1.5 z" fill="#ffffff"/> + </marker> + </defs> + + <!-- rounded diamond shape --> + <rect x="-97" y="-97" width="194" height="194" rx="26" ry="26" + transform="rotate(45)" class="diamond"/> + + <!-- background dependency structure --> + <line x1="-11" y1="-80" x2="-11" y2="-29" transform="rotate(42 -11 -80)" + class="back" marker-end="url(#barrow)"/> + <line x1="-80" y1="0" x2="-80" y2="57" transform="rotate(-45 -80 0)" + class="back" marker-end="url(#barrow)"/> + <line x1="-11" y1="-80" x2="-11" y2="28" class="back" + marker-end="url(#barrow)"/> + + <circle cx="-11" cy="-80" r="23" class="back"/> + <circle cx="0" cy="80" r="23" class="back"/> + <circle cx="-80" cy="0" r="23" class="back"/> + + <!-- foreground dependency structure --> + <line x1="18" y1="-80" x2="18" y2="0" transform="rotate(42 17 -80)" + class="shadow"/> + <line x1="13" y1="-80" x2="13" y2="-5" transform="rotate(42 11 -80)" + class="front" marker-end="url(#farrow)"/> + + <line x1="11" y1="-80" x2="11" y2="-29" transform="rotate(-42 11 -80)" + class="front" marker-end="url(#farrow)"/> + <line x1="80" y1="0" x2="80" y2="57" transform="rotate(45 80 0)" + class="front" marker-end="url(#farrow)"/> + <line x1="11" y1="-80" x2="11" y2="28" class="front" + marker-end="url(#farrow)"/> + + <circle cx="11" cy="-80" r="23" class="front"/> + <circle cx="80" cy="0" r="23" class="front"/> +</svg> -- GitLab