Refactor social service logic and UX (#425)
* Start of work * Refactor social service logic Update README Fixes #422 * Add URL to contributors instuctions * Add tiktok
60
README.md
|
@ -123,6 +123,66 @@ This theme includes a shortcode for a contact form that you can add to any page
|
|||
{{< form-contact action="https://formspree.io/your@email.com" >}}
|
||||
```
|
||||
|
||||
### Social Follow + Share
|
||||
|
||||
The theme automatically adds "Follow" link icons to the header and footer and "Share" link icons to pages unless `disable_share` site parameter is set to true. Each built-in services sports a label, an icon and a color.
|
||||
|
||||
In order to register a service to be used, user must add an `ananke_socials` parameter to its project configuration file and list them through it in the desired order. Each entry must bear a
|
||||
- name*: It matches the built-in service reference (Ex: twitter, github)
|
||||
- url*: The url of the handle's profile on the service (Ex: https://twitter.com/theNewDynamic, https://github.com/
|
||||
theNewDynamic)
|
||||
|
||||
```yaml
|
||||
params:
|
||||
ananke_socials:
|
||||
- name: twitter
|
||||
url: https://twitter.com/theNewDynamic
|
||||
- name: github
|
||||
url: https://github.com/theNewDynamic
|
||||
```
|
||||
|
||||
If user needs to overwrite default `color` and `label` of the service, they simply need to append the following to the entry:
|
||||
- label: The displayed name of the service to be used to popuplate `[title]` attributes and read-only. (Ex: Twitter, GitHub)
|
||||
- color: Used for styling purposes. (Ex: '#1da1f2', '#6cc644')
|
||||
|
||||
```yaml
|
||||
params:
|
||||
ananke_socials:
|
||||
- name: twitter
|
||||
url: https://twitter.com/theNewDynamic
|
||||
label: TND Twitter
|
||||
- name: github
|
||||
url: https://github.com/theNewDynamic
|
||||
label: TND GitHub Account
|
||||
color: '#ff6800'
|
||||
```
|
||||
|
||||
#### Social Icons Customization
|
||||
|
||||
On top of easily customizing the built-in services' label and color, user can overwrite their icon by adding an svg file at `/assets/ananke/socials` with a filename matching the service's name.
|
||||
For example, in order to use your own GitHub icon, simply add an svg file at `/assets/ananke/socials/github.svg`
|
||||
|
||||
#### Built-in Services
|
||||
Here is the list of built-in services. Those marked with an `*` are also part of the "Share" module.
|
||||
|
||||
- twitter*
|
||||
- instagram
|
||||
- youtube
|
||||
- github
|
||||
- gitlab
|
||||
- keybase
|
||||
- linkedin*
|
||||
- medium
|
||||
- mastodon
|
||||
- slack
|
||||
- stackoverflow
|
||||
- facebook*
|
||||
- rss
|
||||
|
||||
#### Complement
|
||||
|
||||
In order to add an unkown service (absent from the list above), you simply need to add all three settings to `ananke_socials`: name, url, label, color, and optionally add an icon file matching the `name` to the `assets/ananke/socials` directory. In the absence of an icon, the theme will print the service's label.
|
||||
|
||||
### Update font or body classes
|
||||
|
||||
The theme is set, by default, to use a near-white background color and the "Avenir" or serif typeface. You can change these in your config file with the `body_classes` parameter, like this:
|
||||
|
|
|
@ -1,7 +1,16 @@
|
|||
.facebook, .twitter, .instagram, .youtube, .github, .gitlab, .keybase, .linkedin, .medium, .mastodon, .slack, .stackoverflow, .rss, .tiktok {
|
||||
fill: #BABABA;
|
||||
.ananke-socials a{
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
color: #BABABA;
|
||||
fill: currentColor;
|
||||
}
|
||||
.ananke-socials a .icon svg{
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
.ananke-socials a:hover {
|
||||
color: rgb(107, 114, 128);
|
||||
}
|
||||
|
||||
.new-window {
|
||||
opacity: 0;
|
||||
display: inline-block;
|
||||
|
@ -10,59 +19,3 @@
|
|||
.link-transition:hover .new-window{
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.facebook:hover {
|
||||
fill: #3b5998;
|
||||
}
|
||||
|
||||
.twitter:hover {
|
||||
fill: #1da1f2;
|
||||
}
|
||||
|
||||
.instagram:hover {
|
||||
fill: #e1306c;
|
||||
}
|
||||
|
||||
.youtube:hover {
|
||||
fill: #cd201f;
|
||||
}
|
||||
|
||||
.github:hover {
|
||||
fill: #6cc644;
|
||||
}
|
||||
|
||||
.gitlab:hover {
|
||||
fill: #FC6D26;
|
||||
}
|
||||
|
||||
.keybase:hover {
|
||||
fill: #3d76ff;
|
||||
}
|
||||
|
||||
.linkedin:hover {
|
||||
fill: #0077b5
|
||||
}
|
||||
|
||||
.medium:hover {
|
||||
fill: #0077b5
|
||||
}
|
||||
|
||||
.mastodon:hover {
|
||||
fill: #3088d4;
|
||||
}
|
||||
|
||||
.slack:hover {
|
||||
fill: #E01E5A;
|
||||
}
|
||||
|
||||
.stackoverflow:hover {
|
||||
fill: #f48024;
|
||||
}
|
||||
|
||||
.rss:hover{
|
||||
fill: #ff6f1a;
|
||||
}
|
||||
|
||||
.tiktok:hover{
|
||||
fill: #FE2C55;
|
||||
}
|
||||
|
|
1
assets/ananke/socials/facebook.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M28.765,50.32h6.744V33.998h4.499l0.596-5.624h-5.095 l0.007-2.816c0-1.466,0.14-2.253,2.244-2.253h2.812V17.68h-4.5c-5.405,0-7.307,2.729-7.307,7.317v3.377h-3.369v5.625h3.369V50.32z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;"/></svg>
|
After Width: | Height: | Size: 502 B |
|
@ -1,3 +1,3 @@
|
|||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
|
||||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
|
||||
<path d="M256,32C132.3,32,32,134.8,32,261.7c0,101.5,64.2,187.5,153.2,217.9c11.2,2.1,15.3-5,15.3-11.1 c0-5.5-0.2-19.9-0.3-39.1c-62.3,13.9-75.5-30.8-75.5-30.8c-10.2-26.5-24.9-33.6-24.9-33.6c-20.3-14.3,1.5-14,1.5-14 c22.5,1.6,34.3,23.7,34.3,23.7c20,35.1,52.4,25,65.2,19.1c2-14.8,7.8-25,14.2-30.7c-49.7-5.8-102-25.5-102-113.5 c0-25.1,8.7-45.6,23-61.6c-2.3-5.8-10-29.2,2.2-60.8c0,0,18.8-6.2,61.6,23.5c17.9-5.1,37-7.6,56.1-7.7c19,0.1,38.2,2.6,56.1,7.7 c42.8-29.7,61.5-23.5,61.5-23.5c12.2,31.6,4.5,55,2.2,60.8c14.3,16.1,23,36.6,23,61.6c0,88.2-52.4,107.6-102.3,113.3 c8,7.1,15.2,21.1,15.2,42.5c0,30.7-0.3,55.5-0.3,63c0,6.1,4,13.3,15.4,11C415.9,449.1,480,363.1,480,261.7 C480,134.8,379.7,32,256,32z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 963 B After Width: | Height: | Size: 944 B |
1
assets/ananke/socials/gitlab.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M29.782 199.732L256 493.714 8.074 309.699c-6.856-5.142-9.712-13.996-7.141-21.993l28.849-87.974zm75.405-174.806c-3.142-8.854-15.709-8.854-18.851 0L29.782 199.732h131.961L105.187 24.926zm56.556 174.806L256 493.714l94.257-293.982H161.743zm349.324 87.974l-28.849-87.974L256 493.714l247.926-184.015c6.855-5.142 9.711-13.996 7.141-21.993zm-85.404-262.78c-3.142-8.854-15.709-8.854-18.851 0l-56.555 174.806h131.961L425.663 24.926z"></path></svg>
|
After Width: | Height: | Size: 632 B |
1
assets/ananke/socials/instagram.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M42.271,26.578v-0.006c0.502,0,1.005,0.01,1.508-0.002 c0.646-0.017,1.172-0.57,1.172-1.217c0-0.963,0-1.927,0-2.89c0-0.691-0.547-1.24-1.236-1.241c-0.961,0-1.922-0.001-2.883,0 c-0.688,0.001-1.236,0.552-1.236,1.243c-0.001,0.955-0.004,1.91,0.003,2.865c0.001,0.143,0.028,0.291,0.073,0.426 c0.173,0.508,0.639,0.82,1.209,0.823C41.344,26.579,41.808,26.578,42.271,26.578z M33,27.817c-3.384-0.002-6.135,2.721-6.182,6.089 c-0.049,3.46,2.72,6.201,6.04,6.272c3.454,0.074,6.248-2.686,6.321-6.043C39.254,30.675,36.462,27.815,33,27.817z M21.046,31.116 v0.082c0,4.515-0.001,9.03,0,13.545c0,0.649,0.562,1.208,1.212,1.208c7.16,0.001,14.319,0.001,21.479,0 c0.656,0,1.215-0.557,1.215-1.212c0.001-4.509,0-9.02,0-13.528v-0.094h-2.912c0.411,1.313,0.537,2.651,0.376,4.014 c-0.161,1.363-0.601,2.631-1.316,3.803s-1.644,2.145-2.779,2.918c-2.944,2.006-6.821,2.182-9.946,0.428 c-1.579-0.885-2.819-2.12-3.685-3.713c-1.289-2.373-1.495-4.865-0.739-7.451C22.983,31.116,22.021,31.116,21.046,31.116z M45.205,49.255c0.159-0.026,0.318-0.049,0.475-0.083c1.246-0.265,2.264-1.304,2.508-2.557c0.025-0.137,0.045-0.273,0.067-0.409 V21.794c-0.021-0.133-0.04-0.268-0.065-0.401c-0.268-1.367-1.396-2.428-2.78-2.618c-0.058-0.007-0.113-0.02-0.17-0.03H20.761 c-0.147,0.027-0.296,0.047-0.441,0.08c-1.352,0.308-2.352,1.396-2.545,2.766c-0.008,0.057-0.02,0.114-0.029,0.171V46.24 c0.028,0.154,0.05,0.311,0.085,0.465c0.299,1.322,1.427,2.347,2.77,2.52c0.064,0.008,0.13,0.021,0.195,0.03H45.205z M33,64 C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
|
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.2 KiB |
|
@ -1,3 +1,3 @@
|
|||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 65 65;" version="1.1" viewBox="0 0 65 65" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 65 65;" version="1.1" viewBox="0 0 65 65" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M50.837,48.137V36.425c0-6.275-3.35-9.195-7.816-9.195 c-3.604,0-5.219,1.983-6.119,3.374V27.71h-6.79c0.09,1.917,0,20.427,0,20.427h6.79V36.729c0-0.609,0.044-1.219,0.224-1.655 c0.49-1.22,1.607-2.483,3.482-2.483c2.458,0,3.44,1.873,3.44,4.618v10.929H50.837z M22.959,24.922c2.367,0,3.842-1.57,3.842-3.531 c-0.044-2.003-1.475-3.528-3.797-3.528s-3.841,1.524-3.841,3.528c0,1.961,1.474,3.531,3.753,3.531H22.959z M34,64 C17.432,64,4,50.568,4,34C4,17.431,17.432,4,34,4s30,13.431,30,30C64,50.568,50.568,64,34,64z M26.354,48.137V27.71h-6.789v20.427 H26.354z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 878 B After Width: | Height: | Size: 859 B |
|
@ -1,4 +1,4 @@
|
|||
<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 230 230;" version="1.1" viewBox="0 0 230 230" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg style="enable-background:new 0 0 230 230;" version="1.1" viewBox="0 0 230 230" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M211.80683 139.0875c-3.1825 16.36625-28.4925 34.2775-57.5625 37.74875-15.16 1.80875-30.0825 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.3925 27.9425 21.115.7225 39.91625-5.20625 39.91625-5.20625l.86875 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23183 213.82 1.40558 165.31125.20808 116.09125c-.36375-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67058 3.45375 78.20308.2425 107.86433 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.97625 14.7525 32.97625 65.0825 0 0 .4125 37.13375-4.6 62.915" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>
|
||||
<path d="M65.68743 96.45938c0 9.01375-7.3075 16.32125-16.3225 16.32125-9.01375 0-16.32-7.3075-16.32-16.32125 0-9.01375 7.30625-16.3225 16.32-16.3225 9.015 0 16.3225 7.30875 16.3225 16.3225M124.52893 96.45938c0 9.01375-7.30875 16.32125-16.3225 16.32125-9.01375 0-16.32125-7.3075-16.32125-16.32125 0-9.01375 7.3075-16.3225 16.32125-16.3225 9.01375 0 16.3225 7.30875 16.3225 16.3225M183.36933 96.45938c0 9.01375-7.3075 16.32125-16.32125 16.32125-9.01375 0-16.32125-7.3075-16.32125-16.32125 0-9.01375 7.3075-16.3225 16.32125-16.3225 9.01375 0 16.32125 7.30875 16.32125 16.3225" fill="#fff"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.5 KiB |
|
@ -1,3 +1,3 @@
|
|||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 170 170;" version="1.1" viewBox="0 0 170 170" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
|
||||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 170 170;" version="1.1" viewBox="0 0 170 170" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
|
||||
<path d="M46.5340803,65.2157554 C46.6968378,63.6076572 46.0836,62.018231 44.8828198,60.93592 L32.6512605,46.2010582 L32.6512605,44 L70.6302521,44 L99.9859944,108.380952 L125.794585,44 L162,44 L162,46.2010582 L151.542017,56.2281011 C150.640424,56.9153477 150.193188,58.0448862 150.380019,59.1628454 L150.380019,132.837155 C150.193188,133.955114 150.640424,135.084652 151.542017,135.771899 L161.755369,145.798942 L161.755369,148 L110.38282,148 L110.38282,145.798942 L120.963119,135.527337 C122.002801,134.487948 122.002801,134.182246 122.002801,132.592593 L122.002801,73.0417402 L92.585901,147.755438 L88.6106443,147.755438 L54.3622782,73.0417402 L54.3622782,123.115814 C54.0767278,125.221069 54.7759199,127.3406 56.2581699,128.863022 L70.0186741,145.55438 L70.0186741,147.755438 L31,147.755438 L31,145.55438 L44.7605042,128.863022 C46.2319621,127.338076 46.8903838,125.204485 46.5340803,123.115814 L46.5340803,65.2157554 Z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 344 B After Width: | Height: | Size: 344 B |
|
@ -1,4 +1,4 @@
|
|||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 65 65 150 135;" version="1.1" viewBox="65 65 150 135" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 65 65 150 135;" version="1.1" viewBox="65 65 150 135" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||
<style type="text/css">
|
||||
.st0{fill:#BABABA;}
|
||||
</style>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -2,7 +2,7 @@
|
|||
style="enable-background:new 0 0 67 67;"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 24 24"
|
||||
width="{{ .size }}"
|
||||
|
||||
>
|
||||
<path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm.869 5.903l3.114 4.567-.975.665-3.115-4.567.976-.665zm-2.812 2.585l4.84 2.838-.6 1.017-4.842-2.838.602-1.017zm-1.276 2.724l5.413 1.521-.291 1.077-5.428-1.458.306-1.14zm-.588 2.461l5.687.569-.103 1.12-5.691-.513.107-1.176zm-.169 2.16h5.835v1.167h-5.835v-1.167zm7.976 3.167h-10v-6h1v5h8v-5h1v6zm.195-8.602l-.945-5.446 1.162-.202.947 5.446-1.164.202z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 629 B After Width: | Height: | Size: 610 B |
3
assets/ananke/socials/tiktok.svg
Normal file
|
@ -0,0 +1,3 @@
|
|||
<svg style="enable-background:new 0 0 32 32;" version="1.1" viewBox="0 0 32 32" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="m 15.433,1.91 c 7.726455,0 14,6.265147 14,14 0,7.726455 -6.265147,14 -14,14 -7.7264547,0 -14,-6.265147 -14,-14 0,-7.7264547 6.265147,-14 14,-14 z m 3.031794,6.2483503 c 0.260348,2.2003597 1.486502,3.5104977 3.611277,3.6448707 v 2.469107 c -1.234553,0.117576 -2.317936,-0.285543 -3.577684,-1.041392 v 4.619076 c 0,5.878824 -6.407918,7.709658 -8.9778045,3.5021 -1.6544691,-2.70426 -0.6382724,-7.466107 4.6694665,-7.65087 v 2.611877 c -0.40312,0.06719 -0.831434,0.167967 -1.226155,0.30234 -1.184163,0.394721 -1.847631,1.15057 -1.662868,2.469106 0.361128,2.527895 4.997001,3.275345 4.610678,-1.662867 V 8.1667487 h 2.561488 z" style="fill-rule:evenodd;clip-rule:evenodd;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 868 B |
1
assets/ananke/socials/twitter.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M37.167,22.283c-2.619,0.953-4.274,3.411-4.086,6.101 l0.063,1.038l-1.048-0.127c-3.813-0.487-7.145-2.139-9.974-4.915l-1.383-1.377l-0.356,1.017c-0.754,2.267-0.272,4.661,1.299,6.271 c0.838,0.89,0.649,1.017-0.796,0.487c-0.503-0.169-0.943-0.296-0.985-0.233c-0.146,0.149,0.356,2.076,0.754,2.839 c0.545,1.06,1.655,2.097,2.871,2.712l1.027,0.487l-1.215,0.021c-1.173,0-1.215,0.021-1.089,0.467 c0.419,1.377,2.074,2.839,3.918,3.475l1.299,0.444l-1.131,0.678c-1.676,0.976-3.646,1.526-5.616,1.568 C19.775,43.256,19,43.341,19,43.405c0,0.211,2.557,1.397,4.044,1.864c4.463,1.377,9.765,0.783,13.746-1.568 c2.829-1.673,5.657-5,6.978-8.221c0.713-1.716,1.425-4.851,1.425-6.354c0-0.975,0.063-1.102,1.236-2.267 c0.692-0.678,1.341-1.419,1.467-1.631c0.21-0.403,0.188-0.403-0.88-0.043c-1.781,0.636-2.033,0.551-1.152-0.402 c0.649-0.678,1.425-1.907,1.425-2.267c0-0.063-0.314,0.042-0.671,0.233c-0.377,0.212-1.215,0.53-1.844,0.72l-1.131,0.361l-1.027-0.7 c-0.566-0.381-1.361-0.805-1.781-0.932C39.766,21.902,38.131,21.944,37.167,22.283z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4 s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
|
After Width: | Height: | Size: 1.3 KiB |
1
assets/ananke/socials/youtube.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M42.527,41.34c-0.278,0-0.478,0.078-0.6,0.244 c-0.121,0.156-0.18,0.424-0.18,0.796v0.896h1.543V42.38c0-0.372-0.062-0.64-0.185-0.796C42.989,41.418,42.792,41.34,42.527,41.34z M36.509,41.309c0.234,0,0.417,0.076,0.544,0.23c0.123,0.155,0.185,0.383,0.185,0.682v4.584c0,0.286-0.053,0.487-0.153,0.611 c-0.1,0.127-0.256,0.189-0.47,0.189c-0.148,0-0.287-0.033-0.421-0.096c-0.135-0.062-0.274-0.171-0.415-0.313v-5.531 c0.119-0.122,0.239-0.213,0.36-0.271C36.26,41.335,36.383,41.309,36.509,41.309z M41.748,44.658v1.672 c0,0.468,0.057,0.792,0.17,0.974c0.118,0.181,0.313,0.269,0.592,0.269c0.289,0,0.491-0.076,0.606-0.229 c0.114-0.153,0.175-0.489,0.175-1.013v-0.405h1.795v0.456c0,0.911-0.217,1.596-0.657,2.059c-0.435,0.459-1.089,0.687-1.958,0.687 c-0.781,0-1.398-0.242-1.847-0.731c-0.448-0.486-0.676-1.157-0.676-2.014v-3.986c0-0.768,0.249-1.398,0.742-1.882 c0.493-0.484,1.128-0.727,1.911-0.727c0.799,0,1.413,0.225,1.843,0.674c0.429,0.448,0.642,1.093,0.642,1.935v2.264H41.748z M38.623,48.495c-0.271,0.336-0.669,0.501-1.187,0.501c-0.343,0-0.646-0.062-0.912-0.192c-0.267-0.129-0.519-0.327-0.746-0.601 v0.681h-1.764V36.852h1.764v3.875c0.237-0.27,0.485-0.478,0.748-0.616c0.267-0.143,0.534-0.212,0.805-0.212 c0.554,0,0.975,0.189,1.265,0.565c0.294,0.379,0.438,0.933,0.438,1.66v4.926C39.034,47.678,38.897,48.159,38.623,48.495z M30.958,48.884v-0.976c-0.325,0.361-0.658,0.636-1.009,0.822c-0.349,0.191-0.686,0.282-1.014,0.282 c-0.405,0-0.705-0.129-0.913-0.396c-0.201-0.266-0.305-0.658-0.305-1.189v-7.422h1.744v6.809c0,0.211,0.037,0.362,0.107,0.457 c0.077,0.095,0.196,0.141,0.358,0.141c0.128,0,0.292-0.062,0.488-0.188c0.197-0.125,0.375-0.283,0.542-0.475v-6.744h1.744v8.878 H30.958z M24.916,38.6v10.284h-1.968V38.6h-2.034v-1.748h6.036V38.6H24.916z M32.994,32.978c0-0.001,12.08,0.018,13.514,1.45 c1.439,1.435,1.455,8.514,1.455,8.555c0,0-0.012,7.117-1.455,8.556C45.074,52.969,32.994,53,32.994,53s-12.079-0.031-13.516-1.462 c-1.438-1.435-1.441-8.502-1.441-8.556c0-0.041,0.004-7.12,1.441-8.555C20.916,32.996,32.994,32.977,32.994,32.978z M42.52,29.255 h-1.966v-1.08c-0.358,0.397-0.736,0.703-1.13,0.909c-0.392,0.208-0.771,0.312-1.14,0.312c-0.458,0-0.797-0.146-1.027-0.437 c-0.229-0.291-0.345-0.727-0.345-1.311v-8.172h1.962v7.497c0,0.231,0.045,0.399,0.127,0.502c0.08,0.104,0.216,0.156,0.399,0.156 c0.143,0,0.327-0.069,0.548-0.206c0.22-0.137,0.423-0.312,0.605-0.527v-7.422h1.966V29.255z M31.847,27.588 c0.139,0.147,0.339,0.219,0.6,0.219c0.266,0,0.476-0.075,0.634-0.223c0.157-0.152,0.235-0.358,0.235-0.618v-5.327 c0-0.214-0.08-0.387-0.241-0.519c-0.16-0.131-0.37-0.196-0.628-0.196c-0.241,0-0.435,0.065-0.586,0.196 c-0.148,0.132-0.225,0.305-0.225,0.519v5.327C31.636,27.233,31.708,27.439,31.847,27.588z M30.408,19.903 c0.528-0.449,1.241-0.674,2.132-0.674c0.812,0,1.48,0.237,2.001,0.711c0.517,0.473,0.777,1.083,0.777,1.828v5.051 c0,0.836-0.255,1.491-0.762,1.968c-0.513,0.476-1.212,0.714-2.106,0.714c-0.858,0-1.547-0.246-2.064-0.736 c-0.513-0.492-0.772-1.152-0.772-1.983v-5.068C29.613,20.954,29.877,20.351,30.408,19.903z M24.262,16h-2.229l2.634,8.003v5.252 h2.213v-5.5L29.454,16h-2.25l-1.366,5.298h-0.139L24.262,16z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30 S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
|
After Width: | Height: | Size: 3.4 KiB |
|
@ -31,20 +31,11 @@ enableRobotsTXT = true
|
|||
favicon = ""
|
||||
site_logo = ""
|
||||
description = "The last theme you'll ever need. Maybe."
|
||||
facebook = ""
|
||||
twitter = "https://twitter.com/GoHugoIO"
|
||||
instagram = ""
|
||||
youtube = ""
|
||||
github = ""
|
||||
gitlab = ""
|
||||
linkedin = ""
|
||||
mastodon = ""
|
||||
slack = ""
|
||||
stackoverflow = ""
|
||||
rss = ""
|
||||
tiktok = ""
|
||||
|
||||
# choose a background color from any on this page: http://tachyons.io/docs/themes/skins/ and preface it with "bg-"
|
||||
background_color_class = "bg-black"
|
||||
featured_image = "/images/gohugo-default-sample-hero-image.jpg"
|
||||
recent_posts_number = 2
|
||||
|
||||
[[params.ananke_socials]]
|
||||
name = "twitter"
|
||||
url = "https://twitter.com/GoHugoIO"
|
||||
|
|
45
layouts/partials/func/socials/Get.html
Normal file
|
@ -0,0 +1,45 @@
|
|||
{{/*
|
||||
socials/Get
|
||||
Returns the list of services registered by the user complemented by the built-in service default data if found.
|
||||
|
||||
@author @regisphilibert
|
||||
|
||||
@context Any (.)
|
||||
|
||||
@access public
|
||||
|
||||
@returns Slice of Maps
|
||||
- String (.name)
|
||||
String (.url)
|
||||
String (.label)
|
||||
String (.color)?
|
||||
Bool (.share)?
|
||||
@uses
|
||||
- partial
|
||||
|
||||
@example - Go Template
|
||||
{{ with partialCached "socials/Get" context context }}
|
||||
{{ something = . }}
|
||||
{{ end }}
|
||||
*/}}
|
||||
{{ $socials := slice }}
|
||||
{{ with partial "func/socials/GetRegisteredServices" "GetRegisteredServices" }}
|
||||
{{ range . }}
|
||||
{{ $service := . }}
|
||||
{{/* We fetch the default data and add it to service map if found */}}
|
||||
{{ with partialCached "func/socials/GetServiceData" .name .name }}
|
||||
{{ $service = merge . $service }}
|
||||
{{ end }}
|
||||
{{/* We fetch the icon and add it to service map fi found */}}
|
||||
{{ with partialCached "func/socials/GetServiceIcon" .name .name }}
|
||||
{{ $service = $service | merge (dict "icon" . ) }}
|
||||
{{ end }}
|
||||
{{/* In case no label is provided (on a non-built-in service) we add the .name as label to the service map */}}
|
||||
{{ with .label }}{{ else }}
|
||||
{{ $service = $service | merge (dict "label" $service.name ) }}
|
||||
{{ end }}
|
||||
{{ $socials = $socials | append $service }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $socials }}
|
|
@ -0,0 +1,73 @@
|
|||
{{/*
|
||||
GetBuiltInServicesData
|
||||
Returns a map whose keys stores the map of defaults data for any built-in service.
|
||||
We use a key to easily grab the data with `index $that github`
|
||||
|
||||
@author @regisphilibert
|
||||
|
||||
@context Any (.)
|
||||
|
||||
@access public
|
||||
|
||||
@returns Map
|
||||
|
||||
|
||||
## Contributors can add a built-in service
|
||||
|
||||
1. Adding it to the following map with the following format:
|
||||
```yaml
|
||||
# [...]
|
||||
shinyandnew:
|
||||
label: Shiny And New
|
||||
color: '#cccccc'
|
||||
```
|
||||
2. Edit README file with new service https://github.com/theNewDynamic/gohugo-theme-ananke/tree/422-improve-socials#built-in-services
|
||||
|
||||
*/}}
|
||||
{{ return (`
|
||||
facebook:
|
||||
share: true
|
||||
label: Facebook
|
||||
color: '#3b5998'
|
||||
twitter:
|
||||
share: true
|
||||
label: Twitter
|
||||
color: '#1da1f2'
|
||||
instagram:
|
||||
label: Instagram
|
||||
color: '#e1306c'
|
||||
youtube:
|
||||
label: YouTube
|
||||
color: '#cd201f'
|
||||
github:
|
||||
label: GitHub
|
||||
color: '#6cc644'
|
||||
gitlab:
|
||||
label: GitLab
|
||||
color: '#FC6D26'
|
||||
keybase:
|
||||
label: Keybase
|
||||
color: '#3d76ff'
|
||||
linkedin:
|
||||
share: true
|
||||
label: LinkedIn
|
||||
color: '#0077b5'
|
||||
medium:
|
||||
label: Medium
|
||||
color: '#0077b5'
|
||||
mastodon:
|
||||
label: Mastodon
|
||||
color: '#3088d4'
|
||||
slack:
|
||||
label: Slack
|
||||
color: '#E01E5A'
|
||||
stackoverflow:
|
||||
label: Stack Overflow
|
||||
color: '#f48024'
|
||||
rss:
|
||||
label: RSS
|
||||
color: '#ff6f1a'
|
||||
tiktok:
|
||||
label: TikTok
|
||||
color: '#fe2c55'
|
||||
` | transform.Unmarshal) }}
|
45
layouts/partials/func/socials/GetRegisteredServices.html
Normal file
|
@ -0,0 +1,45 @@
|
|||
{{/*
|
||||
socials/GetRegisteredServices
|
||||
Retrieves the list of user registered services.
|
||||
Support legacy settings (root of params with service name as key)
|
||||
|
||||
@author @regisphilibert
|
||||
|
||||
@context Any (.)
|
||||
|
||||
@access private
|
||||
|
||||
@returns Slice of Maps
|
||||
- String (.name)
|
||||
String (.url)
|
||||
String (.label)?
|
||||
String (.color)?
|
||||
|
||||
*/}}
|
||||
|
||||
{{ $registered_services := slice }}
|
||||
{{/* We first look for legacy settings that lives at the root of the site.Params as such (github: https://github.com/
|
||||
theNewDynamic) and them to the list with key as .name and value as .url */}}
|
||||
{{ $user_using_legacy := false }}
|
||||
|
||||
{{ $legacy_api_services := slice "facebook" "twitter" "instagram" "youtube" "github" "gitlab" "keybase" "linkedin" "medium" "mastodon" "slack" "stackoverflow" "rss" }}
|
||||
{{ range $name := $legacy_api_services }}
|
||||
{{ with $url := index site.Params . }}
|
||||
{{/* If we can find a parameter matching the key with a set value, we add it with proper name and url */}}
|
||||
{{/* We also note that user is using legacy for potential potential deprecation warnings */}}
|
||||
{{ $user_using_legacy = true }}
|
||||
{{ $registered_services = $registered_services | append (dict "name" $name "url" $url) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Then we go through the current way of registering services as per referenced in README */}}
|
||||
{{ with site.Params.ananke_socials }}
|
||||
{{ range $service := . }}
|
||||
{{/* Only if the service has a .name, we add it all its keys to the slice of registered services */}}
|
||||
{{ with .name }}
|
||||
{{ $registered_services = $registered_services | append $service }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $registered_services }}
|
27
layouts/partials/func/socials/GetServiceData.html
Normal file
|
@ -0,0 +1,27 @@
|
|||
{{/*
|
||||
socials/GetServiceDefaults
|
||||
Returns the defaults of any given service as stored in GetBuildInServicesDefaults
|
||||
|
||||
@author @regisphilibert
|
||||
|
||||
@context String (.)
|
||||
|
||||
@access private
|
||||
|
||||
@returns Map
|
||||
- String (.label)
|
||||
String (.color)
|
||||
@uses
|
||||
- func/socials/GetBuiltInServicesDefaults
|
||||
|
||||
*/}}
|
||||
{{ $service_data := dict }}
|
||||
{{ with partialCached "func/socials/GetBuiltInServicesDefaults" "socials/GetBuiltInServicesDefaults" }}
|
||||
{{/* If the passed context string (held in $) is found as a key of the map returned by the above returning partial
|
||||
We store it in the returning variable */}}
|
||||
{{ with index . $ }}
|
||||
{{ $service_data = . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $service_data }}
|
21
layouts/partials/func/socials/GetServiceIcon.html
Normal file
|
@ -0,0 +1,21 @@
|
|||
{{/*
|
||||
GetServiceIcon
|
||||
|
||||
User can overwrite/complement in assets/ananke/socials/{service_name}.svg
|
||||
|
||||
@author @regisphilibert
|
||||
|
||||
@context String (.)
|
||||
|
||||
@access private
|
||||
|
||||
@return String of safe HTML
|
||||
|
||||
@example - Go Template
|
||||
{{ $icon := partialCached "tnd-socials/private/GetIcon" $icon $icon }}
|
||||
*/}}
|
||||
{{ $icon := "" }}
|
||||
{{ with resources.Get (printf "ananke/socials/%s.svg" $) }}
|
||||
{{ $icon = .Content | safeHTML }}
|
||||
{{ end }}
|
||||
{{ return $icon }}
|
|
@ -22,6 +22,25 @@
|
|||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ with partialCached "func/socials/Get" "socials/Get" }}
|
||||
{{ $socials_rules := slice }}
|
||||
{{ range $service := . }}
|
||||
{{ with .color }}
|
||||
{{ $rule := printf `
|
||||
.ananke-socials a.%s:hover {
|
||||
color: %s
|
||||
}` $service.name $service.color }}
|
||||
{{ $socials_rules = $socials_rules | append $rule }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ with $socials_rules }}
|
||||
{{ $socials_rules = delimit . "" }}
|
||||
{{ $socials_css := $socials_rules | resources.FromString "ananke/css/generated_socials.css" }}
|
||||
{{ $assets_to_concat = $assets_to_concat | append $socials_css }}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{/* We look for any custom css files registered by the user under `site.params.custom_css and if found in the theme's
|
||||
css asset directory we add to aforementioned slice */}}
|
||||
{{ with site.Params.custom_css }}
|
||||
|
|
|
@ -1,86 +1,13 @@
|
|||
<!-- TODO: Add follow intents where available TODO: Revisit color and hover color -->
|
||||
{{ $icon_size := "32px" }}
|
||||
{{ with .Param "stackoverflow" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition stackoverflow link dib z-999 pt3 pt0-l mr1" title="Stack Overflow link" rel="noopener" aria-label="follow on Stack Overflow——Opens in a new window">
|
||||
{{ partial "svg/stackoverflow.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "facebook" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition facebook link dib z-999 pt3 pt0-l mr1" title="Facebook link" rel="noopener" aria-label="follow on Facebook——Opens in a new window">
|
||||
{{ partial "svg/facebook.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "twitter" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition twitter link dib z-999 pt3 pt0-l mr1" title="Twitter link" rel="noopener" aria-label="follow on Twitter——Opens in a new window">
|
||||
{{ partial "svg/twitter.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "instagram" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition instagram link dib z-999 pt3 pt0-l mr1" title="Instagram link" rel="noopener" aria-label="follow on Instagram——Opens in a new window">
|
||||
{{ partial "svg/instagram.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "youtube" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition youtube link dib z-999 pt3 pt0-l mr1" title="Youtube link" rel="noopener" aria-label="follow on Youtube——Opens in a new window">
|
||||
{{ partial "svg/youtube.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "linkedin" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition linkedin link dib z-999 pt3 pt0-l mr1" title="LinkedIn link" rel="noopener" aria-label="follow on LinkedIn——Opens in a new window">
|
||||
{{ partial "svg/linkedin.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "github" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition github link dib z-999 pt3 pt0-l mr1" title="Github link" rel="noopener" aria-label="follow on Github——Opens in a new window">
|
||||
{{ partial "svg/github.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "gitlab" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition gitlab link dib z-999 pt3 pt0-l mr1" title="Gitlab link" rel="noopener" aria-label="follow on Gitlab——Opens in a new window">
|
||||
{{ partial "svg/gitlab.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "keybase" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition keybase link dib z-999 pt3 pt0-l mr1" title="Keybase link" rel="noopener" aria-label="follow on Keybase——Opens in a new window">
|
||||
{{ partial "svg/keybase.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "medium" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition medium link dib z-999 pt3 pt0-l mr1" title="Medium link" rel="noopener" aria-label="follow on Medium——Opens in a new window">
|
||||
{{ partial "svg/medium.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "mastodon" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition mastodon link dib z-999 pt3 pt0-l mr1" title="Mastodon link" rel="noopener" aria-label="follow on Mastodon——Opens in a new window">
|
||||
{{ partial "svg/mastodon.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "slack" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition slack link dib z-999 pt3 pt0-l mr1" title="Slack link" rel="noopener" aria-label="follow on Slack——Opens in a new window">
|
||||
{{ partial "svg/slack.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "rss" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition rss link dib z-999 pt3 pt0-l mr1" title="RSS link" rel="noopener" aria-label="RSS——Opens in a new window">
|
||||
{{ partial "svg/rss.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .Param "tiktok" }}
|
||||
<a href="{{ . }}" target="_blank" class="link-transition tiktok link dib z-999 pt3 pt0-l mr1" title="TikTok link" rel="noopener" aria-label="follow on TikTok——Opens in a new window">
|
||||
{{ partial "svg/tiktok.svg" (dict "size" $icon_size) }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ $socials := partialCached "func/socials/Get" "socials/Get" }}
|
||||
<div class="ananke-socials">
|
||||
{{ range $socials }}
|
||||
<a href="{{ .url }}" target="_blank" class="{{ .name }} ananke-social-link link-transition stackoverflow link dib z-999 pt3 pt0-l mr1" title="{{ .label }} link" rel="noopener" aria-label="follow on {{ .label }}——Opens in a new window">
|
||||
{{ with .icon }}
|
||||
<span class="icon">{{ . }}</span>
|
||||
{{ else }}
|
||||
{{ .label }}
|
||||
{{ end }}
|
||||
{{- partial "new-window-icon.html" . -}}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
|
@ -1,26 +1,24 @@
|
|||
{{ $title := .Title }}
|
||||
{{ $url := printf "%s" .RelPermalink | absLangURL }}
|
||||
{{ $icon_size := "32px" }}
|
||||
{{ $url := printf "%s" .Permalink | absLangURL }}
|
||||
|
||||
{{ $facebook_href := printf "https://www.facebook.com/sharer.php?u=%s" $url }}
|
||||
{{ $twitter_href := printf "https://twitter.com/share?url=%s&text=%s" $url $title }}
|
||||
{{ with site.Social.twitter }}
|
||||
{{ $twitter_href = printf "%s&via=%s" $twitter_href . }}
|
||||
{{ end }}
|
||||
{{ $linkedin_href := printf "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s" $url $title }}
|
||||
{{ $hrefs := dict "facebook" $facebook_href "twitter" $twitter_href "linkedin" $linkedin_href }}
|
||||
|
||||
{{ $services := where (partialCached "func/socials/Get" "socials/Get") "share" true }}
|
||||
{{ if not .Params.disable_share }}
|
||||
<div id="sharing" class="mt3">
|
||||
|
||||
{{ $facebook_href := printf "https://www.facebook.com/sharer.php?u=%s" $url }}
|
||||
<a href="{{ $facebook_href }}" class="facebook no-underline" aria-label="share on Facebook">
|
||||
{{ partialCached "svg/facebook.svg" (dict "size" $icon_size) $icon_size }}
|
||||
</a>
|
||||
|
||||
{{ $twitter_href := printf "https://twitter.com/share?url=%s&text=%s" $url $title }}
|
||||
{{ with .Site.Social.twitter }}
|
||||
{{ $twitter_href = printf "%s&via=%s" $twitter_href . }}
|
||||
<div id="sharing" class="mt3 ananke-socials">
|
||||
{{ range $service := $services }}
|
||||
{{ $href := index $hrefs .name }}
|
||||
<a href="{{ $href }}" class="ananke-social-link {{ .name }} no-underline" aria-label="share on {{ .label }}">
|
||||
{{ with .icon }}
|
||||
<span class="icon"> {{ . }}</span>
|
||||
{{ end }}
|
||||
</a>
|
||||
{{ end }}
|
||||
<a href="{{ $twitter_href }}" class="twitter no-underline" aria-label="share on Twitter">
|
||||
{{ partialCached "svg/twitter.svg" (dict "size" $icon_size) $icon_size }}
|
||||
</a>
|
||||
|
||||
{{ $linkedin_href := printf "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s" $url $title }}
|
||||
<a href="{{ $linkedin_href }}" class="linkedin no-underline" aria-label="share on LinkedIn">
|
||||
{{ partialCached "svg/linkedin.svg" (dict "size" $icon_size) $icon_size }}
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M28.765,50.32h6.744V33.998h4.499l0.596-5.624h-5.095 l0.007-2.816c0-1.466,0.14-2.253,2.244-2.253h2.812V17.68h-4.5c-5.405,0-7.307,2.729-7.307,7.317v3.377h-3.369v5.625h3.369V50.32z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;"/></svg>
|
Before Width: | Height: | Size: 564 B |
|
@ -1 +0,0 @@
|
|||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M29.782 199.732L256 493.714 8.074 309.699c-6.856-5.142-9.712-13.996-7.141-21.993l28.849-87.974zm75.405-174.806c-3.142-8.854-15.709-8.854-18.851 0L29.782 199.732h131.961L105.187 24.926zm56.556 174.806L256 493.714l94.257-293.982H161.743zm349.324 87.974l-28.849-87.974L256 493.714l247.926-184.015c6.855-5.142 9.711-13.996 7.141-21.993zm-85.404-262.78c-3.142-8.854-15.709-8.854-18.851 0l-56.555 174.806h131.961L425.663 24.926z"></path></svg>
|
Before Width: | Height: | Size: 651 B |
|
@ -1 +0,0 @@
|
|||
<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M42.271,26.578v-0.006c0.502,0,1.005,0.01,1.508-0.002 c0.646-0.017,1.172-0.57,1.172-1.217c0-0.963,0-1.927,0-2.89c0-0.691-0.547-1.24-1.236-1.241c-0.961,0-1.922-0.001-2.883,0 c-0.688,0.001-1.236,0.552-1.236,1.243c-0.001,0.955-0.004,1.91,0.003,2.865c0.001,0.143,0.028,0.291,0.073,0.426 c0.173,0.508,0.639,0.82,1.209,0.823C41.344,26.579,41.808,26.578,42.271,26.578z M33,27.817c-3.384-0.002-6.135,2.721-6.182,6.089 c-0.049,3.46,2.72,6.201,6.04,6.272c3.454,0.074,6.248-2.686,6.321-6.043C39.254,30.675,36.462,27.815,33,27.817z M21.046,31.116 v0.082c0,4.515-0.001,9.03,0,13.545c0,0.649,0.562,1.208,1.212,1.208c7.16,0.001,14.319,0.001,21.479,0 c0.656,0,1.215-0.557,1.215-1.212c0.001-4.509,0-9.02,0-13.528v-0.094h-2.912c0.411,1.313,0.537,2.651,0.376,4.014 c-0.161,1.363-0.601,2.631-1.316,3.803s-1.644,2.145-2.779,2.918c-2.944,2.006-6.821,2.182-9.946,0.428 c-1.579-0.885-2.819-2.12-3.685-3.713c-1.289-2.373-1.495-4.865-0.739-7.451C22.983,31.116,22.021,31.116,21.046,31.116z M45.205,49.255c0.159-0.026,0.318-0.049,0.475-0.083c1.246-0.265,2.264-1.304,2.508-2.557c0.025-0.137,0.045-0.273,0.067-0.409 V21.794c-0.021-0.133-0.04-0.268-0.065-0.401c-0.268-1.367-1.396-2.428-2.78-2.618c-0.058-0.007-0.113-0.02-0.17-0.03H20.761 c-0.147,0.027-0.296,0.047-0.441,0.08c-1.352,0.308-2.352,1.396-2.545,2.766c-0.008,0.057-0.02,0.114-0.029,0.171V46.24 c0.028,0.154,0.05,0.311,0.085,0.465c0.299,1.322,1.427,2.347,2.77,2.52c0.064,0.008,0.13,0.021,0.195,0.03H45.205z M33,64 C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
|
Before Width: | Height: | Size: 1.8 KiB |
|
@ -1,3 +1,3 @@
|
|||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 1000 1000;" version="1.1" viewBox="0 0 1000 1000" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
|
||||
<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 1000 1000;" version="1.1" viewBox="0 0 1000 1000" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
|
||||
<path d="M598 128h298v298h-86v-152l-418 418-60-60 418-418h-152v-86zM810 810v-298h86v298c0 46-40 86-86 86h-596c-48 0-86-40-86-86v-596c0-46 38-86 86-86h298v86h-298v596h596z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 496 B After Width: | Height: | Size: 477 B |
|
@ -1 +0,0 @@
|
|||
<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M37.167,22.283c-2.619,0.953-4.274,3.411-4.086,6.101 l0.063,1.038l-1.048-0.127c-3.813-0.487-7.145-2.139-9.974-4.915l-1.383-1.377l-0.356,1.017c-0.754,2.267-0.272,4.661,1.299,6.271 c0.838,0.89,0.649,1.017-0.796,0.487c-0.503-0.169-0.943-0.296-0.985-0.233c-0.146,0.149,0.356,2.076,0.754,2.839 c0.545,1.06,1.655,2.097,2.871,2.712l1.027,0.487l-1.215,0.021c-1.173,0-1.215,0.021-1.089,0.467 c0.419,1.377,2.074,2.839,3.918,3.475l1.299,0.444l-1.131,0.678c-1.676,0.976-3.646,1.526-5.616,1.568 C19.775,43.256,19,43.341,19,43.405c0,0.211,2.557,1.397,4.044,1.864c4.463,1.377,9.765,0.783,13.746-1.568 c2.829-1.673,5.657-5,6.978-8.221c0.713-1.716,1.425-4.851,1.425-6.354c0-0.975,0.063-1.102,1.236-2.267 c0.692-0.678,1.341-1.419,1.467-1.631c0.21-0.403,0.188-0.403-0.88-0.043c-1.781,0.636-2.033,0.551-1.152-0.402 c0.649-0.678,1.425-1.907,1.425-2.267c0-0.063-0.314,0.042-0.671,0.233c-0.377,0.212-1.215,0.53-1.844,0.72l-1.131,0.361l-1.027-0.7 c-0.566-0.381-1.361-0.805-1.781-0.932C39.766,21.902,38.131,21.944,37.167,22.283z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4 s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
|
Before Width: | Height: | Size: 1.4 KiB |
|
@ -1 +0,0 @@
|
|||
<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M42.527,41.34c-0.278,0-0.478,0.078-0.6,0.244 c-0.121,0.156-0.18,0.424-0.18,0.796v0.896h1.543V42.38c0-0.372-0.062-0.64-0.185-0.796C42.989,41.418,42.792,41.34,42.527,41.34z M36.509,41.309c0.234,0,0.417,0.076,0.544,0.23c0.123,0.155,0.185,0.383,0.185,0.682v4.584c0,0.286-0.053,0.487-0.153,0.611 c-0.1,0.127-0.256,0.189-0.47,0.189c-0.148,0-0.287-0.033-0.421-0.096c-0.135-0.062-0.274-0.171-0.415-0.313v-5.531 c0.119-0.122,0.239-0.213,0.36-0.271C36.26,41.335,36.383,41.309,36.509,41.309z M41.748,44.658v1.672 c0,0.468,0.057,0.792,0.17,0.974c0.118,0.181,0.313,0.269,0.592,0.269c0.289,0,0.491-0.076,0.606-0.229 c0.114-0.153,0.175-0.489,0.175-1.013v-0.405h1.795v0.456c0,0.911-0.217,1.596-0.657,2.059c-0.435,0.459-1.089,0.687-1.958,0.687 c-0.781,0-1.398-0.242-1.847-0.731c-0.448-0.486-0.676-1.157-0.676-2.014v-3.986c0-0.768,0.249-1.398,0.742-1.882 c0.493-0.484,1.128-0.727,1.911-0.727c0.799,0,1.413,0.225,1.843,0.674c0.429,0.448,0.642,1.093,0.642,1.935v2.264H41.748z M38.623,48.495c-0.271,0.336-0.669,0.501-1.187,0.501c-0.343,0-0.646-0.062-0.912-0.192c-0.267-0.129-0.519-0.327-0.746-0.601 v0.681h-1.764V36.852h1.764v3.875c0.237-0.27,0.485-0.478,0.748-0.616c0.267-0.143,0.534-0.212,0.805-0.212 c0.554,0,0.975,0.189,1.265,0.565c0.294,0.379,0.438,0.933,0.438,1.66v4.926C39.034,47.678,38.897,48.159,38.623,48.495z M30.958,48.884v-0.976c-0.325,0.361-0.658,0.636-1.009,0.822c-0.349,0.191-0.686,0.282-1.014,0.282 c-0.405,0-0.705-0.129-0.913-0.396c-0.201-0.266-0.305-0.658-0.305-1.189v-7.422h1.744v6.809c0,0.211,0.037,0.362,0.107,0.457 c0.077,0.095,0.196,0.141,0.358,0.141c0.128,0,0.292-0.062,0.488-0.188c0.197-0.125,0.375-0.283,0.542-0.475v-6.744h1.744v8.878 H30.958z M24.916,38.6v10.284h-1.968V38.6h-2.034v-1.748h6.036V38.6H24.916z M32.994,32.978c0-0.001,12.08,0.018,13.514,1.45 c1.439,1.435,1.455,8.514,1.455,8.555c0,0-0.012,7.117-1.455,8.556C45.074,52.969,32.994,53,32.994,53s-12.079-0.031-13.516-1.462 c-1.438-1.435-1.441-8.502-1.441-8.556c0-0.041,0.004-7.12,1.441-8.555C20.916,32.996,32.994,32.977,32.994,32.978z M42.52,29.255 h-1.966v-1.08c-0.358,0.397-0.736,0.703-1.13,0.909c-0.392,0.208-0.771,0.312-1.14,0.312c-0.458,0-0.797-0.146-1.027-0.437 c-0.229-0.291-0.345-0.727-0.345-1.311v-8.172h1.962v7.497c0,0.231,0.045,0.399,0.127,0.502c0.08,0.104,0.216,0.156,0.399,0.156 c0.143,0,0.327-0.069,0.548-0.206c0.22-0.137,0.423-0.312,0.605-0.527v-7.422h1.966V29.255z M31.847,27.588 c0.139,0.147,0.339,0.219,0.6,0.219c0.266,0,0.476-0.075,0.634-0.223c0.157-0.152,0.235-0.358,0.235-0.618v-5.327 c0-0.214-0.08-0.387-0.241-0.519c-0.16-0.131-0.37-0.196-0.628-0.196c-0.241,0-0.435,0.065-0.586,0.196 c-0.148,0.132-0.225,0.305-0.225,0.519v5.327C31.636,27.233,31.708,27.439,31.847,27.588z M30.408,19.903 c0.528-0.449,1.241-0.674,2.132-0.674c0.812,0,1.48,0.237,2.001,0.711c0.517,0.473,0.777,1.083,0.777,1.828v5.051 c0,0.836-0.255,1.491-0.762,1.968c-0.513,0.476-1.212,0.714-2.106,0.714c-0.858,0-1.547-0.246-2.064-0.736 c-0.513-0.492-0.772-1.152-0.772-1.983v-5.068C29.613,20.954,29.877,20.351,30.408,19.903z M24.262,16h-2.229l2.634,8.003v5.252 h2.213v-5.5L29.454,16h-2.25l-1.366,5.298h-0.139L24.262,16z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30 S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
|
Before Width: | Height: | Size: 3.4 KiB |
|
@ -0,0 +1 @@
|
|||
{"Target":"ananke/css/main.min.css","MediaType":"text/css","Data":{}}
|