jekyll-theme-hydeout 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.md +11 -0
- data/README.md +98 -0
- data/_includes/comments.html +6 -0
- data/_includes/copyright.html +4 -0
- data/_includes/custom-foot.html +1 -0
- data/_includes/custom-head.html +1 -0
- data/_includes/disqus.html +43 -0
- data/_includes/favicons.html +2 -0
- data/_includes/font-includes.html +6 -0
- data/_includes/google-analytics.html +11 -0
- data/_includes/head.html +30 -0
- data/_includes/pagination.html +16 -0
- data/_includes/post-meta.html +30 -0
- data/_includes/post-tags.html +9 -0
- data/_includes/related_posts.html +15 -0
- data/_includes/search-form.html +17 -0
- data/_includes/sidebar-icon-links.html +26 -0
- data/_includes/sidebar-nav.html +34 -0
- data/_includes/sidebar.html +16 -0
- data/_includes/svg/back-arrow.svg +4 -0
- data/_includes/svg/download.svg +4 -0
- data/_includes/svg/feed.svg +5 -0
- data/_includes/svg/github.svg +2 -0
- data/_includes/svg/search.svg +4 -0
- data/_includes/svg/tags.svg +4 -0
- data/_includes/tags-list.html +39 -0
- data/_layouts/category.html +21 -0
- data/_layouts/default.html +16 -0
- data/_layouts/home.html +38 -0
- data/_layouts/page.html +10 -0
- data/_layouts/post.html +18 -0
- data/_sass/hydeout.scss +17 -0
- data/_sass/hydeout/_base.scss +102 -0
- data/_sass/hydeout/_code.scss +82 -0
- data/_sass/hydeout/_layout.scss +264 -0
- data/_sass/hydeout/_masthead.scss +25 -0
- data/_sass/hydeout/_message.scss +11 -0
- data/_sass/hydeout/_pagination.scss +41 -0
- data/_sass/hydeout/_posts.scss +88 -0
- data/_sass/hydeout/_search.scss +16 -0
- data/_sass/hydeout/_syntax.scss +65 -0
- data/_sass/hydeout/_tags.scss +23 -0
- data/_sass/hydeout/_type.scss +125 -0
- data/_sass/hydeout/_variables.scss +44 -0
- data/assets/css/main.scss +6 -0
- 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 @@
|
|
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,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 %}
|
data/_includes/head.html
ADDED
@@ -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 }} · {{ site.tagline }}
|
12
|
+
{% else %}
|
13
|
+
{{ page.title }} · {{ 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
|
+
•
|
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,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,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>
|