You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
4.4 KiB

4 years ago
  1. +++
  2. title = "SVG Favicon"
  3. description = "Decorate your site with a unique SVG favicon."
  4. categories = ["customizing"]
  5. tags = ["color", "style", "graphics", "branding"]
  6. features = ["code highlighter", "snippets", "related content"]
  7. [[copyright]]
  8. owner = "Josh Habdas"
  9. date = "2019"
  10. license = "agpl-3.0-or-later"
  11. +++
  12. After Dark ships with an 169B optimized[^1] SVG favicon embedded into every page:
  13. <details>
  14. <summary>Expand to view code</summary>
  15. {{< highlight html >}}
  16. {{< include "themes/after-dark/layouts/partials/head/favicon.html" >}}
  17. {{< /highlight >}}
  18. </details>
  19. {{% hackcss-alert type="info" %}}**Note**: HTML (Go) template comments are stripped out during site generation.{{% /hackcss-alert %}}
  20. The favicon is a black-colored oblique triangle in the shape of a tepee as shown[^2] on the [Online Help](../online-help) [Overview](/). The center of the triangle uses negative space to give the illusion of a second equilateral triangle in the shape of a pyramid, or open fire, contained within.
  21. The color of the icon can be modified by changing the `fill` attribute:
  22. <style>
  23. .hack figure {
  24. text-align: center;
  25. margin-top: 2rem;
  26. }
  27. </style>
  28. {{< hackcss-grid class="-around" >}}
  29. {{< hackcss-cell class="-2of12" >}}
  30. <figure>
  31. <img src="data:image/svg+xml,%3Csvg%20viewBox='0%200%2046%2045'%20xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EAfter%20Dark%3C/title%3E%3Cpath%20d='M.708%2045L23%20.416%2045.292%2045H.708zM35%2038L23%2019%2011%2038h24z'%20fill='%23f00'/%3E%3C/svg%3E" width="96">
  32. <figcaption class="highlight">
  33. <pre class="chroma"><code class="language-toml" data-lang="toml"><span class="nx">fill</span><span class="p">=</span><span class="s1">&quot;%23f00&quot;</span></code></pre>
  34. </figcaption>
  35. </figure>
  36. {{< /hackcss-cell >}}
  37. {{< hackcss-cell class="-2of12" >}}
  38. <figure>
  39. <img src="data:image/svg+xml,%3Csvg%20viewBox='0%200%2046%2045'%20xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EAfter%20Dark%3C/title%3E%3Cpath%20d='M.708%2045L23%20.416%2045.292%2045H.708zM35%2038L23%2019%2011%2038h24z'%20fill='lime'/%3E%3C/svg%3E" width="96">
  40. <figcaption class="highlight">
  41. <pre class="chroma"><code class="language-toml" data-lang="toml"><span class="nx">fill</span><span class="p">=</span><span class="s1">&quot;lime&quot;</span></code></pre>
  42. </figcaption>
  43. </figure>
  44. {{< /hackcss-cell >}}
  45. {{< hackcss-cell class="-2of12" >}}
  46. <figure>
  47. <img src="data:image/svg+xml,%3Csvg%20viewBox='0%200%2046%2045'%20xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EAfter%20Dark%3C/title%3E%3Cpath%20d='M.708%2045L23%20.416%2045.292%2045H.708zM35%2038L23%2019%2011%2038h24z'%20fill='%2300f'/%3E%3C/svg%3E" width="96">
  48. <figcaption class="highlight">
  49. <pre class="chroma"><code class="language-toml" data-lang="toml"><span class="nx">fill</span><span class="p">=</span><span class="s1">&quot;%2300f&quot;</span></code></pre>
  50. </figcaption>
  51. </figure>
  52. {{< /hackcss-cell >}}
  53. {{< /hackcss-grid >}}
  54. Adjust it from `favicon.html` in the site `layouts/partials/head` directory:
  55. ```
  56. ├── content
  57. ├── layouts
  58. │   └── partials
  59. │      └── head
  60. │   └── favicon.html
  61. ├── static
  62. ```
  63. If the file doesn't exist yet, copy it from the theme default:
  64. ```sh
  65. mkdir -p layouts/partials/head && \
  66. cp themes/after-dark/layouts/partials/head/favicon.html layouts/partials/head
  67. ```
  68. Replace SVG with another graphic if desired:
  69. ```html
  70. <link rel="icon" sizes="128x128" href="/favicon.png">
  71. ```
  72. If optimizing for platform experiences do so from within `favicon.html`:
  73. {{< highlight go-html-template >}}
  74. <meta name="apple-mobile-web-app-capable" content="yes">
  75. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  76. <meta name="apple-mobile-web-app-title" content="{{ .Site.Title }}">
  77. <link rel="apple-touch-icon" href="data:image/png;base64,{{ readFile "static/icon.png" | base64Encode }}">
  78. {{< /highlight >}}
  79. See {{< external href="https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/extend.md#web-apps" text="H5BP Extend" />}} for platform-specific requirements and {{< external href="https://gohugo.io/documentation/" text="Hugo Documentation" />}} for help with templating functions and variables.
  80. [^1]: See [Optimizing SVGs in data URIs](https://codepen.io/tigt/post/optimizing-svgs-in-data-uris) for help optimizing your own SVGs.
  81. [^2]: Learn how to apply [SVG animation with SMIL](https://devdocs.io/svg/svg_animation_with_smil).