jekyll-theme-hydeout 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +11 -0
  3. data/README.md +98 -0
  4. data/_includes/comments.html +6 -0
  5. data/_includes/copyright.html +4 -0
  6. data/_includes/custom-foot.html +1 -0
  7. data/_includes/custom-head.html +1 -0
  8. data/_includes/disqus.html +43 -0
  9. data/_includes/favicons.html +2 -0
  10. data/_includes/font-includes.html +6 -0
  11. data/_includes/google-analytics.html +11 -0
  12. data/_includes/head.html +30 -0
  13. data/_includes/pagination.html +16 -0
  14. data/_includes/post-meta.html +30 -0
  15. data/_includes/post-tags.html +9 -0
  16. data/_includes/related_posts.html +15 -0
  17. data/_includes/search-form.html +17 -0
  18. data/_includes/sidebar-icon-links.html +26 -0
  19. data/_includes/sidebar-nav.html +34 -0
  20. data/_includes/sidebar.html +16 -0
  21. data/_includes/svg/back-arrow.svg +4 -0
  22. data/_includes/svg/download.svg +4 -0
  23. data/_includes/svg/feed.svg +5 -0
  24. data/_includes/svg/github.svg +2 -0
  25. data/_includes/svg/search.svg +4 -0
  26. data/_includes/svg/tags.svg +4 -0
  27. data/_includes/tags-list.html +39 -0
  28. data/_layouts/category.html +21 -0
  29. data/_layouts/default.html +16 -0
  30. data/_layouts/home.html +38 -0
  31. data/_layouts/page.html +10 -0
  32. data/_layouts/post.html +18 -0
  33. data/_sass/hydeout.scss +17 -0
  34. data/_sass/hydeout/_base.scss +102 -0
  35. data/_sass/hydeout/_code.scss +82 -0
  36. data/_sass/hydeout/_layout.scss +264 -0
  37. data/_sass/hydeout/_masthead.scss +25 -0
  38. data/_sass/hydeout/_message.scss +11 -0
  39. data/_sass/hydeout/_pagination.scss +41 -0
  40. data/_sass/hydeout/_posts.scss +88 -0
  41. data/_sass/hydeout/_search.scss +16 -0
  42. data/_sass/hydeout/_syntax.scss +65 -0
  43. data/_sass/hydeout/_tags.scss +23 -0
  44. data/_sass/hydeout/_type.scss +125 -0
  45. data/_sass/hydeout/_variables.scss +44 -0
  46. data/assets/css/main.scss +6 -0
  47. metadata +160 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a9f88c5964e43774f164f651b97248abd56a28cf
4
+ data.tar.gz: 858ebd71a0570ef6ef6b087c844c544db320e569
5
+ SHA512:
6
+ metadata.gz: 31e2540d39265eebab607e984f4624b94c320f6a8fa94e3620649cc4178c43abfce62e2c8287b15acc8f90e7020527848634410ea110c398b3f27604edebe3ac
7
+ data.tar.gz: db149f719af24f63086e30164ea0b1e57a2e8355b81740411bd4c67543039f497e06299b0eaed112bca5883d52320e3f11dd7e1e456a68480b76923880fa640d
data/LICENSE.md ADDED
@@ -0,0 +1,11 @@
1
+ # Released under MIT License
2
+
3
+ Copyright (c) 2013 Mark Otto.
4
+
5
+ Copyright (c) 2017 Andrew Fong.
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
8
+
9
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,98 @@
1
+ # Hydeout
2
+
3
+ Hydeout updates the original [Hyde](https://github.com/poole/hyde)
4
+ theme for [Jekyll](http://jekyllrb.com) 3.x and adds new functionality.
5
+
6
+ ![Desktop](/_screenshots/1.png?raw=true)
7
+ ![Mobile home page](/_screenshots/2.png?raw=true)
8
+ ![Mobile post page](/_screenshots/3.png?raw=true)
9
+
10
+ ### Usage
11
+
12
+ Hydeout is available as the `jekyll-theme-hydeout` Ruby Gem.
13
+ Add `gem "jekyll-theme-hydeout", "~> 3.1.0"` to your Gemfile and run
14
+ `bundle install`.
15
+
16
+ Hydeout uses pagination, so if you have an `index.md`, you'll need to swap
17
+ it with an `index.html` that uses the `home` layout:
18
+
19
+ ```
20
+ ---
21
+ layout: home
22
+ title: Home
23
+ ---
24
+ ```
25
+
26
+ ### Keep It Simple
27
+
28
+ In keeping with the original Hyde theme, Hydeout aims to keep the overall
29
+ design lightweight and plugin-free. JavaScript is currently limited only
30
+ to Disqus and Google Analytics (and is only loaded if you provide configuration
31
+ variables).
32
+
33
+ Hydeout makes heavy use of Flexbox in its CSS. If Flexbox is not available,
34
+ the CSS degrades into a single column layout.
35
+
36
+ ### Customization
37
+
38
+ Hydeout replaces Hyde's class-based theming with the use
39
+ of the following SASS variables:
40
+
41
+ ```scss
42
+ $sidebar-bg-color: #202020 !default;
43
+ $sidebar-sticky: true !default;
44
+ $layout-reverse: false !default;
45
+ $link-color: #268bd2 !default;
46
+ ```
47
+
48
+ To override these variables, create your own `assets/css/main.scss` file.
49
+ Define your own variables, then import in Hydeout's SCSS, like so:
50
+
51
+ ```scss
52
+ ---
53
+ # Jekyll needs front matter for SCSS files
54
+ ---
55
+
56
+ $sidebar-bg-color: #ac4142;
57
+ $link-color: #ac4142;
58
+ $sidebar-sticky: false;
59
+ @import "hydeout";
60
+ ```
61
+
62
+ See the [_variables](_sass/hydeout/_variables.scss) file for other variables
63
+ you can override.
64
+
65
+ You can also insert custom head tags (e.g. to load your own stylesheets) by
66
+ defining your own `_includes/custom-head.html` or insert tags at the end
67
+ of the body (e.g. for custom JS) by defining your own
68
+ `_includes/custom-foot.html`.
69
+
70
+ ### New Features
71
+
72
+ * Hydeout also adds a new tags page (accessible in the sidebar) and a new
73
+ "category" layout for dedicated category pages.
74
+
75
+ * Category pages are automatically added to the sidebar. All other pages
76
+ must have `sidebar_link: true` in their front matter to show up in
77
+ the sidebar.
78
+
79
+ * A simple redirect-to-Google search is available. If you want to use
80
+ Google Custom Search or Algolia or something with more involved,
81
+ override the `search.html`.
82
+
83
+ * Disqus integration is ready out of the box. Just add the following to
84
+ your config file:
85
+
86
+ ```yaml
87
+ disqus:
88
+ shortname: my-disqus-shortname
89
+ ```
90
+
91
+ If you don't want Disqus or want to use something else, override
92
+ `comments.html`.
93
+
94
+ * For Google Analytics support, define a `google_analytics` variable with
95
+ your property ID in your config file.
96
+
97
+ There's also a bunch of minor tweaks and adjustments throughout the
98
+ theme. Hope this works for you!
@@ -0,0 +1,6 @@
1
+ {% if page.comments != false %}
2
+ <section class="comments">
3
+ <h2>Comments</h2>
4
+ {% include disqus.html %}
5
+ </section>
6
+ {% endif %}
@@ -0,0 +1,4 @@
1
+ <p>
2
+ &copy; {{ site.time | date: '%Y' }}.
3
+ <a href="/LICENSE.md">MIT License.</a>
4
+ </p>
@@ -0,0 +1 @@
1
+ <!-- Optional footer content -->
@@ -0,0 +1 @@
1
+ <!-- Additional head bits without overriding original head -->
@@ -0,0 +1,43 @@
1
+ {% if site.disqus.shortname %}
2
+ <div id="disqus_thread">
3
+ <button class="disqus-load" onClick="loadDisqusComments()">
4
+ Load Comments
5
+ </button>
6
+ </div>
7
+ <script>
8
+
9
+ /**
10
+ * RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW
11
+ * TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
12
+ * LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT:s
13
+ * https://disqus.com/admin/universalcode/#configuration-variables
14
+ */
15
+ var disqus_config = function () {
16
+ this.page.url = "{{ page.url | absolute_url }}";
17
+ this.page.identifier = "{{ page.guid or page.id }}" ||
18
+ "{{ page.url | absolute_url }}";
19
+ }
20
+ function loadDisqusComments() { // DON'T EDIT BELOW THIS LINE
21
+ var d = document, s = d.createElement('script');
22
+ s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
23
+ s.setAttribute('data-timestamp', +new Date());
24
+ (d.head || d.body).appendChild(s);
25
+ }
26
+ </script>
27
+ <noscript>
28
+ Please enable JavaScript to view the
29
+ <a href="https://disqus.com/?ref_noscript">comments powered by Disqus</a>.
30
+ </noscript>
31
+
32
+ {% elsif jekyll.environment != "production" %}
33
+ <p>
34
+ You are seeing this because your Disqus shortname is not properly set. To
35
+ configure Disqus, you should edit your <code>_config.yml</code> to include
36
+ either a <code>disqus.shortname</code> variable.
37
+ </p>
38
+
39
+ <p>
40
+ If you do not wish to use Disqus, override the
41
+ <code>comments.html</code> partial for this theme.
42
+ </p>
43
+ {% endif %}
@@ -0,0 +1,2 @@
1
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ site.baseurl }}/favicon.png" />
2
+ <link rel="shortcut icon" href="{{ site.baseurl }}/favicon.ico" />
@@ -0,0 +1,6 @@
1
+ {% comment %}
2
+ Separate partial for Google Webfont include, so we can override with
3
+ different fonts as applicable.
4
+ {% endcomment %}
5
+
6
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril+Fatface" />
@@ -0,0 +1,11 @@
1
+ {% if jekyll.environment == 'production' and site.google_analytics %}
2
+ <script>
3
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
4
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
5
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
6
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
7
+
8
+ ga('create', '{{ site.google_analytics }}', 'auto');
9
+ ga('send', 'pageview');
10
+ </script>
11
+ {% endif %}
@@ -0,0 +1,30 @@
1
+ <head>
2
+ <link href="http://gmpg.org/xfn/11" rel="profile" />
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
4
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
5
+
6
+ <!-- Enable responsiveness on mobile devices-->
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
8
+
9
+ <title>
10
+ {% if page.title == "Home" %}
11
+ {{ site.title }} &middot; {{ site.tagline }}
12
+ {% else %}
13
+ {{ page.title }} &middot; {{ site.title }}
14
+ {% endif %}
15
+ </title>
16
+
17
+ {% include google-analytics.html %}
18
+
19
+ <!-- CSS -->
20
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css" />
21
+ {% include font-includes.html %}
22
+
23
+ <!-- Icons -->
24
+ {% include favicons.html %}
25
+
26
+ <!-- RSS -->
27
+ <link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.xml" />
28
+
29
+ {% include custom-head.html %}
30
+ </head>
@@ -0,0 +1,16 @@
1
+ <div class="pagination">
2
+ {% if paginator.next_page %}
3
+ <a class="pagination-item older" href="{{ site.baseurl }}/page{{paginator.next_page}}">Older</a>
4
+ {% else %}
5
+ <span class="pagination-item older">Older</span>
6
+ {% endif %}
7
+ {% if paginator.previous_page %}
8
+ {% if paginator.page == 2 %}
9
+ <a class="pagination-item newer" href="{{ site.baseurl }}">Newer</a>
10
+ {% else %}
11
+ <a class="pagination-item newer" href="{{ site.baseurl }}/page{{paginator.previous_page}}">Newer</a>
12
+ {% endif %}
13
+ {% else %}
14
+ <span class="pagination-item newer">Newer</span>
15
+ {% endif %}
16
+ </div>
@@ -0,0 +1,30 @@
1
+ <div class="post-meta">
2
+ <span class="post-date">{{ include.post.date | date_to_string }}</span>
3
+ <span class="post-categories">
4
+ {% for category in include.post.categories %}
5
+ &bull;
6
+
7
+ {% comment %}
8
+ Check if this category has a corresponding page before decide
9
+ to link to it. This is an O(n^2) operations so consider removing
10
+ it and linking for all categories (or no categories) if this
11
+ site has a lot of pages and/or a lot of categories.
12
+ {% endcomment %}
13
+ {% assign category_page = false %}
14
+ {% for node in site.pages %}
15
+ {{ node.category }}
16
+ {% if node.category == category or node.title == category %}
17
+ {% assign category_page = node %}
18
+ {% endif %}
19
+ {% endfor %}
20
+
21
+ {% if category_page %}
22
+ <a href="{{ site.baseurl }}{{ category_page.url }}">
23
+ {{ category }}
24
+ </a>
25
+ {% else %}
26
+ {{ category }}
27
+ {% endif %}
28
+ {% endfor %}
29
+ </span>
30
+ </div>
@@ -0,0 +1,9 @@
1
+ <div class="post-tags">
2
+ {% for tag in include.post.tags %}
3
+ <a href="{{ site.baseurl }}/tags#{{ tag | slugify }}">
4
+ <span class="icon">
5
+ {% include svg/tags.svg %}
6
+ </span>&nbsp;<span class="tag-name">{{ tag }}</span>
7
+ </a>
8
+ {% endfor %}
9
+ </div>
@@ -0,0 +1,15 @@
1
+ <section class="related">
2
+ <h2>Related Posts</h2>
3
+ <ul class="posts-list">
4
+ {% for post in site.related_posts limit:3 %}
5
+ <li>
6
+ <h3>
7
+ <a href="{{ post.url }}">
8
+ {{ post.title }}
9
+ <small>{{ post.date | date_to_string }}</small>
10
+ </a>
11
+ </h3>
12
+ </li>
13
+ {% endfor %}
14
+ </ul>
15
+ </section>
@@ -0,0 +1,17 @@
1
+ <form action="https://google.com/search" class="search-form">
2
+ <div class="search-row">
3
+ <input id="search-bar" type="search" name="q" />
4
+
5
+ {% comment %}
6
+ Hacky strip of protocol to the sitesearch value we pass to Google
7
+ {% endcomment %}
8
+ {% assign url = site.url | replace_first: 'https://', '' %}
9
+ {% assign url = url | replace_first: 'http://', '' %}
10
+ {% assign url = url | replace_first: 'spdy://', '' %}
11
+ {% assign url = url | replace_first: '//', '' %}
12
+ <input name="sitesearch" type="hidden"
13
+ value="{{ url }}{{ site.baseurl }}" />
14
+
15
+ <input type="submit" value="Search" />
16
+ </div>
17
+ </form>
@@ -0,0 +1,26 @@
1
+ <nav id="sidebar-icon-links">
2
+ {% if site.github.repo %}
3
+ <a class="icon" title="Github Project" aria-label="Github Project"
4
+ href="{{ site.github.repo }}">
5
+ {% include svg/github.svg %}
6
+ </a>
7
+ <a class="icon" title="Download" aria-label="Download"
8
+ href="{{ site.github.repo }}/archive/v{{ site.version }}.zip">
9
+ {% include svg/download.svg %}
10
+ </a>
11
+ {% endif %}
12
+ <a class="icon" title="Subscribe" aria-label="Subscribe"
13
+ href="{{ site.baseurl }}/feed.xml">
14
+ {% include svg/feed.svg %}
15
+ </a>
16
+ <a class="icon{% if page.url == '/tags' %} active{% endif %}"
17
+ title="Tags" aria-label="Tags"
18
+ href="{{ site.baseurl }}/tags">
19
+ {% include svg/tags.svg %}
20
+ </a>
21
+ <a class="icon{% if page.url == '/search' %} active{% endif %}"
22
+ title="Search" aria-label="Tags"
23
+ href="{{ site.baseurl }}/search">
24
+ {% include svg/search.svg %}
25
+ </a>
26
+ </nav>
@@ -0,0 +1,34 @@
1
+ <nav id="sidebar-nav">
2
+ <a class="{% if page.url == '/' %} active{% endif %}"
3
+ href="{{ site.baseurl }}/">Home</a>
4
+
5
+ {% comment %}
6
+ The code below dynamically generates a sidebar nav of pages with
7
+ `sidebar_link: true` in the front-matter. See readme for usage.
8
+ {% endcomment %}
9
+ {% assign pages_list = site.pages %}
10
+ {% for node in pages_list %}
11
+ {% if node.title != null %}
12
+ {% if node.sidebar_link %}
13
+ <a class="{% if page.url == node.url %} active{% endif %}"
14
+ href="{{ site.baseurl }}{{ node.url }}">{{ node.title }}</a>
15
+ {% endif %}
16
+ {% endif %}
17
+ {% endfor %}
18
+
19
+ {% comment %}
20
+ Now do it again, but for category pages
21
+ {% endcomment %}
22
+ {% for node in pages_list %}
23
+ {% if node.title != null %}
24
+ {% if node.layout == "category" %}
25
+ <a class="{% if page.url == node.url %} active{% endif %}"
26
+ href="{{ site.baseurl }}{{ node.url }}">{{ node.title }}</a>
27
+ {% endif %}
28
+ {% endif %}
29
+ {% endfor %}
30
+
31
+ {% if site.version %}
32
+ <span>Currently v{{ site.version }}</span>
33
+ {% endif %}
34
+ </nav>
@@ -0,0 +1,16 @@
1
+ <div id="sidebar">
2
+ <header>
3
+ <{% if page.layout == "home" %}h1{% else %}div{% endif %} class="site-title">
4
+ <a href="{{ site.baseurl }}/">
5
+ {% unless page.url == "/" %}
6
+ <span class="back-arrow icon">{% include svg/back-arrow.svg %}</span>
7
+ {% endunless %}
8
+ {{ site.title }}
9
+ </a>
10
+ </{% if page.layout == "home" %}h1{% else %}div{% endif %}>
11
+ <p class="lead">{{ site.description }}</p>
12
+ </header>
13
+ {% include sidebar-nav.html %}
14
+ {% include sidebar-icon-links.html %}
15
+ {% include copyright.html %}
16
+ </div>
@@ -0,0 +1,4 @@
1
+ <svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0 0h24v24H0z" fill="none"/>
3
+ <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/>
3
+ <path d="M0 0h24v24H0z" fill="none"/>
4
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0 0h24v24H0z" fill="none"/>
3
+ <circle cx="6.18" cy="17.82" r="2.18"/>
4
+ <path d="M4 4.44v2.83c7.03 0 12.73 5.7 12.73 12.73h2.83c0-8.59-6.97-15.56-15.56-15.56zm0 5.66v2.83c3.9 0 7.07 3.17 7.07 7.07h2.83c0-5.47-4.43-9.9-9.9-9.9z"/>
5
+ </svg>
@@ -0,0 +1,2 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 28"><path d="M12 2c6.625 0 12 5.375 12 12 0 5.297-3.437 9.797-8.203 11.391-0.609 0.109-0.828-0.266-0.828-0.578 0-0.391 0.016-1.687 0.016-3.297 0-1.125-0.375-1.844-0.812-2.219 2.672-0.297 5.484-1.313 5.484-5.922 0-1.313-0.469-2.375-1.234-3.219 0.125-0.313 0.531-1.531-0.125-3.187-1-0.313-3.297 1.234-3.297 1.234-0.953-0.266-1.984-0.406-3-0.406s-2.047 0.141-3 0.406c0 0-2.297-1.547-3.297-1.234-0.656 1.656-0.25 2.875-0.125 3.187-0.766 0.844-1.234 1.906-1.234 3.219 0 4.594 2.797 5.625 5.469 5.922-0.344 0.313-0.656 0.844-0.766 1.609-0.688 0.313-2.438 0.844-3.484-1-0.656-1.141-1.844-1.234-1.844-1.234-1.172-0.016-0.078 0.734-0.078 0.734 0.781 0.359 1.328 1.75 1.328 1.75 0.703 2.141 4.047 1.422 4.047 1.422 0 1 0.016 1.937 0.016 2.234 0 0.313-0.219 0.688-0.828 0.578-4.766-1.594-8.203-6.094-8.203-11.391 0-6.625 5.375-12 12-12zM4.547 19.234c0.031-0.063-0.016-0.141-0.109-0.187-0.094-0.031-0.172-0.016-0.203 0.031-0.031 0.063 0.016 0.141 0.109 0.187 0.078 0.047 0.172 0.031 0.203-0.031zM5.031 19.766c0.063-0.047 0.047-0.156-0.031-0.25-0.078-0.078-0.187-0.109-0.25-0.047-0.063 0.047-0.047 0.156 0.031 0.25 0.078 0.078 0.187 0.109 0.25 0.047zM5.5 20.469c0.078-0.063 0.078-0.187 0-0.297-0.063-0.109-0.187-0.156-0.266-0.094-0.078 0.047-0.078 0.172 0 0.281s0.203 0.156 0.266 0.109zM6.156 21.125c0.063-0.063 0.031-0.203-0.063-0.297-0.109-0.109-0.25-0.125-0.313-0.047-0.078 0.063-0.047 0.203 0.063 0.297 0.109 0.109 0.25 0.125 0.313 0.047zM7.047 21.516c0.031-0.094-0.063-0.203-0.203-0.25-0.125-0.031-0.266 0.016-0.297 0.109s0.063 0.203 0.203 0.234c0.125 0.047 0.266 0 0.297-0.094zM8.031 21.594c0-0.109-0.125-0.187-0.266-0.172-0.141 0-0.25 0.078-0.25 0.172 0 0.109 0.109 0.187 0.266 0.172 0.141 0 0.25-0.078 0.25-0.172zM8.937 21.438c-0.016-0.094-0.141-0.156-0.281-0.141-0.141 0.031-0.234 0.125-0.219 0.234 0.016 0.094 0.141 0.156 0.281 0.125s0.234-0.125 0.219-0.219z"></path>
2
+ </svg>