jekyll-theme-jsblog 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +23 -0
- data/README.md +341 -0
- data/_includes/custom_comments_provider.html +3 -0
- data/_includes/fonts.html +2 -0
- data/_includes/footer.html +11 -0
- data/_includes/footer_content.html +5 -0
- data/_includes/google_analytics.html +13 -0
- data/_includes/head.html +78 -0
- data/_includes/head_custom.html +0 -0
- data/_includes/header.html +20 -0
- data/_includes/pagination.html +11 -0
- data/_layouts/default.html +20 -0
- data/_layouts/feed.xml +97 -0
- data/_layouts/home.html +48 -0
- data/_layouts/page.html +20 -0
- data/_layouts/post.html +27 -0
- data/_sass/jsblog.scss +101 -0
- data/_sass/jsblog/_base.scss +236 -0
- data/_sass/jsblog/_layout.scss +300 -0
- data/_sass/jsblog/_syntax-highlighting.scss +72 -0
- data/assets/main.scss +58 -0
- metadata +135 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 42e643355884076d5ab9d14c35db5fb400f6e148a920555a60ceb9d731b1fae4
|
4
|
+
data.tar.gz: 8599f0145b5442d138076d29e21549104240670e699fb9124b747973ec294377
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5a2a6d230f57b1cb6b00e7341be9caa38330d9d64c86d5af0572ce25bcc3044caed639d8aec98a77c3b2e321ce7c42a57f243ade1faf4343f76cd83da7719f35
|
7
|
+
data.tar.gz: 65056b9b1b9690d6b4597a6eeb5fcaa5a3714a6faadc4e3f039e1725f3af808ada3f3e2051aa6561b8a9d0842c293e77946ee2573e41bfb81ba490c9631160e0
|
data/LICENSE
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Original Theme Copyright (c) 2017 Chayoung You
|
4
|
+
`jekyll-apple` Theme Copyright (c) 2018 Jamie Bishop
|
5
|
+
`jekyll-theme-jsblog` Theme Copyright (c) 2019 Julian Schiavo
|
6
|
+
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
|
+
of this software and associated documentation files (the "Software"), to deal
|
9
|
+
in the Software without restriction, including without limitation the rights
|
10
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
+
copies of the Software, and to permit persons to whom the Software is
|
12
|
+
furnished to do so, subject to the following conditions:
|
13
|
+
|
14
|
+
The above copyright notice and this permission notice shall be included in
|
15
|
+
all copies or substantial portions of the Software.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
20
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
22
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
23
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,341 @@
|
|
1
|
+
# jekyll-theme-jsblog
|
2
|
+
|
3
|
+
<!--[](https://badge.fury.io/rb/jekyll-theme-jsblog)
|
4
|
+
[](https://travis-ci.org/justjs/jekyll-theme-jsblog)-->
|
5
|
+
|
6
|
+
Minimal, responsive theme used on my blog.
|
7
|
+
|
8
|
+

|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
Add this line to your Jekyll site's Gemfile:
|
13
|
+
|
14
|
+
``` ruby
|
15
|
+
gem "jekyll-theme-jsblog"
|
16
|
+
```
|
17
|
+
|
18
|
+
And add this line to your Jekyll site's `_config.yml`:
|
19
|
+
|
20
|
+
``` yaml
|
21
|
+
theme: jekyll-theme-jsblog
|
22
|
+
```
|
23
|
+
|
24
|
+
And then execute:
|
25
|
+
|
26
|
+
``` sh
|
27
|
+
bundle
|
28
|
+
```
|
29
|
+
|
30
|
+
Or install it yourself as:
|
31
|
+
|
32
|
+
``` sh
|
33
|
+
gem install jekyll-theme-jsblog
|
34
|
+
```
|
35
|
+
|
36
|
+
## Quick Start
|
37
|
+
|
38
|
+
1. Generate a new Jekyll blog:
|
39
|
+
|
40
|
+
``` sh
|
41
|
+
jekyll new blog --skip-bundle
|
42
|
+
cd blog
|
43
|
+
```
|
44
|
+
|
45
|
+
2. Edit `Gemfile` to use the theme:
|
46
|
+
|
47
|
+
``` ruby
|
48
|
+
gem "jekyll-theme-jsblog"
|
49
|
+
```
|
50
|
+
|
51
|
+
3. Edit `_config.yml` to use the theme and its plugins:
|
52
|
+
|
53
|
+
``` yaml
|
54
|
+
theme: jekyll-theme-jsblog
|
55
|
+
plugins:
|
56
|
+
- jekyll-paginate
|
57
|
+
- jekyll-sitemap
|
58
|
+
|
59
|
+
permalink: /:year/:month/:day/:title/
|
60
|
+
paginate_path: /posts/:num/
|
61
|
+
paginate: 5
|
62
|
+
```
|
63
|
+
|
64
|
+
4. Copy
|
65
|
+
[`index.html`](https://github.com/justjs/jekyll-theme-jsblog/blob/master/index.html),
|
66
|
+
[`about.md`](https://github.com/justjs/jekyll-theme-jsblog/blob/master/about.md),
|
67
|
+
[`archives.md`](https://github.com/justjs/jekyll-theme-jsblog/blob/master/archives.md),
|
68
|
+
[`feed.xml`](https://github.com/justjs/jekyll-theme-jsblog/blob/master/feed.xml), and
|
69
|
+
[`_data/navigation.yml`](https://github.com/justjs/jekyll-theme-jsblog/blob/master/_data/navigation.yml)
|
70
|
+
from the theme:
|
71
|
+
|
72
|
+
``` sh
|
73
|
+
rm index.md
|
74
|
+
curl -L -O "https://github.com/justjs/jekyll-theme-jsblog/raw/master/{index.html,about.md,archives.md,feed.xml}"
|
75
|
+
curl -L --create-dirs -o _data/navigation.yml https://github.com/justjs/jekyll-theme-jsblog/raw/master/_data/navigation.yml
|
76
|
+
```
|
77
|
+
|
78
|
+
5. Install gems and you're good to go! The blog will be available on
|
79
|
+
`http://127.0.0.1:4000`.
|
80
|
+
|
81
|
+
``` sh
|
82
|
+
bundle install
|
83
|
+
bundle exec jekyll serve
|
84
|
+
```
|
85
|
+
|
86
|
+
## Deployment to GitHub Pages using Travis CI
|
87
|
+
|
88
|
+
This theme uses [jekyll-archives](https://github.com/jekyll/jekyll-archives) gem
|
89
|
+
which is [not supported by GitHub Pages](https://help.github.com/articles/configuring-jekyll-plugins/).
|
90
|
+
If you want to use full features like categories and tags, I recommend you to
|
91
|
+
use Travis CI or other CI services.
|
92
|
+
|
93
|
+
To deploy using Travis CI, first copy the [`.travis.yml`](.travis.yml) of this
|
94
|
+
repository. You can change `target-branch` (`gh-pages` by default) and
|
95
|
+
`on.branch` (`master` by default) as you want. If you want further
|
96
|
+
customization, see [Travis CI's documentation page](https://docs.travis-ci.com/user/deployment/pages/).
|
97
|
+
|
98
|
+
You'll see there's `github-token: $GITHUB_TOKEN`, and this is what you should
|
99
|
+
configure. Go to your [personal access tokens](https://github.com/settings/tokens)
|
100
|
+
page, and generate new token with `public_repo` or `repo` permission as you
|
101
|
+
need. Then go to Travis CI's settings page of your repository, and add a new
|
102
|
+
environment variable `GITHUB_TOKEN` with the value of the token you generated.
|
103
|
+
|
104
|
+
## Usage
|
105
|
+
|
106
|
+
### Customization
|
107
|
+
|
108
|
+
To override the default structure and style of this theme, simply create the
|
109
|
+
concerned directory at the root of your site, copy the file you wish to
|
110
|
+
customize to that directory, and then edit the file. e.g., to override the
|
111
|
+
[`_includes/footer_content.html`](_includes/footer_content.html) file to add
|
112
|
+
contents to footer, create an `_includes` directory, copy
|
113
|
+
`_includes/footer_content.html` from jekyll-theme-jsblog gem folder to
|
114
|
+
`<your-site>/_includes` and start editing that file.
|
115
|
+
|
116
|
+
For example, you can add favicons to `_includes/head_custom.html`:
|
117
|
+
|
118
|
+
``` html
|
119
|
+
<link rel="icon" type="image/x-icon" href="{{ "/favicon.ico" | relative_url }}">
|
120
|
+
<link rel="apple-touch-icon" href="{{ "/apple-touch-icon.png" | relative_url }}">
|
121
|
+
<link rel="apple-touch-icon" sizes="76x76" href="{{ "/apple-touch-icon-76x76.png" | relative_url }}">
|
122
|
+
<link rel="apple-touch-icon" sizes="120x120" href="{{ "/apple-touch-icon-120x120.png" | relative_url }}">
|
123
|
+
<link rel="apple-touch-icon" sizes="152x152" href="{{ "/apple-touch-icon-152x152.png" | relative_url }}">
|
124
|
+
<link rel="apple-touch-icon" sizes="180x180" href="{{ "/apple-touch-icon-180x180.png" | relative_url }}">
|
125
|
+
```
|
126
|
+
|
127
|
+
The site's default CSS is in the gem itself,
|
128
|
+
[`assets/main.scss`](assets/main.scss). To override the default CSS, the file
|
129
|
+
has to exist at your site source. Do either of the following:
|
130
|
+
|
131
|
+
- Create a new instance of `main.scss` at site source
|
132
|
+
- Create a new file `main.scss` at `<your-site>/assets/`
|
133
|
+
- Add the frontmatter dashes, and
|
134
|
+
- Add `@import "theme-jsblog";`, to `<your-site>/assets/main.scss`
|
135
|
+
- Add your custom CSS
|
136
|
+
- Download the file from this repo
|
137
|
+
- Create a new file `main.scss` at `<your-site>/assets/`
|
138
|
+
- Copy the contents at [`assets/main.scss`](assets/main.scss) onto the `main.scss` you just created, and edit away
|
139
|
+
- Copy directly from jekyll-theme-jsblog gem
|
140
|
+
- Go to your local jekyll-theme-jsblog gem installation directory (run `bundle show jekyll-theme-jsblog` to get the path to it)
|
141
|
+
- Copy the `assets/` folder from there into the root of `<your-site>`
|
142
|
+
- Change whatever values you want, inside `<your-site>/assets/main.scss`
|
143
|
+
|
144
|
+
### Locale
|
145
|
+
|
146
|
+
`site.lang` is used to declare the primary language for each web page within the
|
147
|
+
site.
|
148
|
+
|
149
|
+
`lang: en-US` sets the `lang` attribute for the site to the United States flavor
|
150
|
+
of English, while `en-GB` would be for the United Kingdom style of English.
|
151
|
+
Country codes are optional and the shorter variation `lang: en` is also
|
152
|
+
acceptable. You may want to write a post in different language, then add `lang`
|
153
|
+
attribute to the frontmatter of that post:
|
154
|
+
|
155
|
+
``` yaml
|
156
|
+
layout: post
|
157
|
+
title: "안녕하세요"
|
158
|
+
lang: ko
|
159
|
+
```
|
160
|
+
|
161
|
+
### Description
|
162
|
+
|
163
|
+
`site.description` describes the site. This is mainly used in meta descriptions
|
164
|
+
for improving SEO. Also, you can set `description` attribute for each post:
|
165
|
+
|
166
|
+
``` yaml
|
167
|
+
layout: post
|
168
|
+
title: Awesome Post
|
169
|
+
description: This is an awesome post.
|
170
|
+
```
|
171
|
+
|
172
|
+
If you don't specify `post.description`, then `post.excerpt` will be used if it
|
173
|
+
exist.
|
174
|
+
|
175
|
+
### External URL
|
176
|
+
|
177
|
+
`external-url` turns the title of your post to a link. Specify a URL which you
|
178
|
+
want to link to.
|
179
|
+
|
180
|
+
``` yaml
|
181
|
+
layout: post
|
182
|
+
title: Jekyll Theme
|
183
|
+
external-url: https://github.com/justjs/jekyll-theme-jsblog
|
184
|
+
```
|
185
|
+
|
186
|
+
Then the title of your post would look like a link with text
|
187
|
+
`Jekyll Theme →`. This also applies to your blog feed.
|
188
|
+
|
189
|
+
### Category
|
190
|
+
|
191
|
+
Each post can have `categories` attribute. It can be a string or an array. This
|
192
|
+
will be displayed on index, archive and each post, and provide a link to the
|
193
|
+
archive of category.
|
194
|
+
|
195
|
+
``` yaml
|
196
|
+
layout: post
|
197
|
+
title: Awesome Post
|
198
|
+
categories: Misc
|
199
|
+
```
|
200
|
+
|
201
|
+
``` yaml
|
202
|
+
layout: post
|
203
|
+
title: Another Awesome Post
|
204
|
+
categories:
|
205
|
+
- Misc
|
206
|
+
- Idea
|
207
|
+
```
|
208
|
+
|
209
|
+
### Tag
|
210
|
+
|
211
|
+
Each post can have `tags` attribute. It can be a string or an array. This will
|
212
|
+
be displayed on index, archive and each post, and provide a link to the archive
|
213
|
+
of tag.
|
214
|
+
|
215
|
+
``` yaml
|
216
|
+
layout: post
|
217
|
+
title: Awesome Post
|
218
|
+
tags: food
|
219
|
+
```
|
220
|
+
|
221
|
+
``` yaml
|
222
|
+
layout: post
|
223
|
+
title: Another Awesome Post
|
224
|
+
tags:
|
225
|
+
- food
|
226
|
+
- trip
|
227
|
+
```
|
228
|
+
|
229
|
+
### Feed
|
230
|
+
|
231
|
+
Create `<your-site>/feed.xml` with:
|
232
|
+
|
233
|
+
``` yaml
|
234
|
+
---
|
235
|
+
layout: feed
|
236
|
+
---
|
237
|
+
```
|
238
|
+
|
239
|
+
If you want to use another path for feed, you can specify a non-default path via
|
240
|
+
your site's config.
|
241
|
+
|
242
|
+
``` yaml
|
243
|
+
feed:
|
244
|
+
path: atom.xml
|
245
|
+
```
|
246
|
+
|
247
|
+
Then create `<your-site>/atom.xml` with the same content of `feed.xml` above.
|
248
|
+
|
249
|
+
### Comments
|
250
|
+
|
251
|
+
This theme provides the ability to include your favourite commenting service, like [Disqus](https://disqus.com) or [Isso](https://posativ.org/isso).
|
252
|
+
|
253
|
+
To enable comments on pages and posts:
|
254
|
+
1. Overwrite the `_includes/custom_comments_provider.html` with your custom provider of comments.
|
255
|
+
2. Add `comments: true` to your `_config.yml`.
|
256
|
+
|
257
|
+
To disable comments on certain pages or posts specify `comments: false` in the front matter of the page or post.
|
258
|
+
|
259
|
+
### Metadata for SEO
|
260
|
+
|
261
|
+
#### Keywords
|
262
|
+
|
263
|
+
Each post can have `keywords` attribute. This is a comma-separated list which is
|
264
|
+
used in meta descriptions for improving SEO.
|
265
|
+
|
266
|
+
``` yaml
|
267
|
+
layout: post
|
268
|
+
title: How to configure jekyll-theme-jsblog
|
269
|
+
keywords: jekyll, js, github pages
|
270
|
+
```
|
271
|
+
|
272
|
+
YAML list is also available:
|
273
|
+
|
274
|
+
``` yaml
|
275
|
+
keywords:
|
276
|
+
- jekyll
|
277
|
+
- js
|
278
|
+
- github pages
|
279
|
+
```
|
280
|
+
|
281
|
+
#### Twitter
|
282
|
+
|
283
|
+
- `site.twitter_username` sets `twitter:site` and `twitter:creator` meta tag
|
284
|
+
- `site.twitter_image` sets `twitter:image:src` meta tag
|
285
|
+
- `page.twitter_card.type` sets `twitter:card` meta tag (default: `summary`)
|
286
|
+
- If `page.twitter_card.type` is `gallery`, it sets `twitter:image0`, `twitter:image1`, `twitter:image2` and `twitter:image3` meta tags with `page.twitter_card.image`, `page.twitter_card.image1`, `page.twitter_card.image2` and `page.twitter_card.image3`, respectively
|
287
|
+
- If `page.twitter_card.type` is `photo`, `page.twitter_card.width` sets `twitter:image:width` meta tag and `page.twitter_card.height` sets `twitter:image:height` meta tag
|
288
|
+
- `page.twitter_card.creator` sets `twitter:creator` meta tag. It overrides `site.twitter_username`
|
289
|
+
- `page.twitter_card.image` sets `twitter:image:src` meta tag if `page.twitter_card.type` is not `gallery`. It overrides `site.twitter_image`
|
290
|
+
|
291
|
+
#### Facebook
|
292
|
+
|
293
|
+
- `site.facebook_app_id` sets `fb:admins` meta tag
|
294
|
+
- `site.facebook_page` sets `article:author` meta tag
|
295
|
+
- `site.facebook_image` sets `og:image` meta tag
|
296
|
+
- `page.facebook.image` sets `og:image` meta tag. It overrides `site.facebook_image`
|
297
|
+
|
298
|
+
### Navigation
|
299
|
+
|
300
|
+
To define header links, add titles and URLs under the `main` key in
|
301
|
+
`_data/navigation.yml`:
|
302
|
+
|
303
|
+
``` yaml
|
304
|
+
main:
|
305
|
+
- title: "About"
|
306
|
+
url: /about/
|
307
|
+
- title: "GitHub"
|
308
|
+
url: https://github.com/justjs/jekyll-theme-jsblog
|
309
|
+
```
|
310
|
+
|
311
|
+
### Enabling Google Analytics
|
312
|
+
|
313
|
+
To enable Google Analytics, add the following lines to your Jekyll site:
|
314
|
+
|
315
|
+
``` yaml
|
316
|
+
google_analytics: UA-NNNNNNNN-N
|
317
|
+
```
|
318
|
+
|
319
|
+
## Contributing
|
320
|
+
|
321
|
+
Bug reports and pull requests are welcome on GitHub at
|
322
|
+
<https://github.com/justjs/jekyll-theme-jsblog>. This project is intended to be a safe,
|
323
|
+
welcoming space for collaboration, and contributors are expected to adhere to
|
324
|
+
the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
325
|
+
|
326
|
+
## Development
|
327
|
+
|
328
|
+
To set up your environment to develop this theme, run `bundle install`.
|
329
|
+
|
330
|
+
Your theme is setup just like a normal Jekyll site! To test your theme, run
|
331
|
+
`bundle exec jekyll serve` and open your browser at
|
332
|
+
`http://localhost:4000/jsblog/`. This starts a Jekyll server using your
|
333
|
+
theme. Add pages, documents, data, etc. like normal to test your theme's
|
334
|
+
contents. As you make modifications to your theme and to your content, your site
|
335
|
+
will regenerate and you should see the changes in the browser after a refresh,
|
336
|
+
just like normal.
|
337
|
+
|
338
|
+
## License
|
339
|
+
|
340
|
+
The theme is available as open source under the terms of the
|
341
|
+
[MIT License](http://opensource.org/licenses/MIT).
|
@@ -0,0 +1,5 @@
|
|
1
|
+
{% assign feed_path = "/feed.xml" %}
|
2
|
+
{% if site.feed and site.feed.path %}
|
3
|
+
{% assign feed_path = site.feed.path %}
|
4
|
+
{% endif %}
|
5
|
+
© {{ site.author }} - Powered by <a href="https://jekyllrb.com">Jekyll</a> <!--& <a href="https://github.com/justjs/jekyll-theme-jsblog">jsblogtheme</a>--> - Subscribe via <a href="{{ feed_path | absolute_url }}">RSS</a>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{% if site.google_analytics %}
|
2
|
+
<!-- Google Analytics -->
|
3
|
+
<script>
|
4
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
5
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
6
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
7
|
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
8
|
+
|
9
|
+
ga('create', '{{ site.google_analytics }}', 'auto');
|
10
|
+
ga('send', 'pageview');
|
11
|
+
|
12
|
+
</script>
|
13
|
+
{% endif %}
|
data/_includes/head.html
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
<head>
|
2
|
+
<meta charset="utf-8">
|
3
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5
|
+
|
6
|
+
{% assign title = page.title | default: site.title | escape %}
|
7
|
+
{% assign canonical = page.url | replace:'index.html','' | absolute_url %}
|
8
|
+
{% assign description = page.description | default: page.excerpt | default: site.description | strip_html | normalize_whitespace | escape %}
|
9
|
+
<title>{{ title }}</title>
|
10
|
+
<meta name="description" content="{{ description }}">
|
11
|
+
{% if page.keywords %}
|
12
|
+
{% if page.keywords.first %}
|
13
|
+
{% assign keywords = page.keywords | join: ',' %}
|
14
|
+
{% else %}
|
15
|
+
{% assign keywords = page.keywords %}
|
16
|
+
{% endif %}
|
17
|
+
<meta name="keywords" content="{{ keywords }}">
|
18
|
+
{% endif %}
|
19
|
+
|
20
|
+
<link rel="stylesheet" href="{{ "/assets/main.css" | relative_url }}">
|
21
|
+
<link rel="canonical" href="{{ canonical }}">
|
22
|
+
{% assign feed_path = "/feed.xml" %}
|
23
|
+
{% if site.feed and site.feed.path %}
|
24
|
+
{% assign feed_path = site.feed.path %}
|
25
|
+
{% endif %}
|
26
|
+
<link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ feed_path | absolute_url }}">
|
27
|
+
|
28
|
+
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
29
|
+
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
30
|
+
<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png">
|
31
|
+
<link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png">
|
32
|
+
<link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png">
|
33
|
+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png">
|
34
|
+
|
35
|
+
{% include head_custom.html %}
|
36
|
+
|
37
|
+
{% if site.facebook_app_id %}
|
38
|
+
<meta property="fb:admins" content="{{ site.facebook_app_id }}">
|
39
|
+
<meta property="og:title" content="{{ title }}">
|
40
|
+
<meta property="og:site_name" content="{{ site.title | escape }}">
|
41
|
+
<meta property="og:url" content="{{ canonical }}">
|
42
|
+
<meta property="og:description" content="{{ description }}">
|
43
|
+
{% if site.facebook_page %}<meta property="article:author" content="{{ site.facebook_page }}">{% endif %}
|
44
|
+
{% if page.facebook.image %}
|
45
|
+
<meta property="og:image" content="{{ page.facebook.image }}">
|
46
|
+
{% elsif site.facebook_image %}
|
47
|
+
<meta property="og:image" content="{{ site.facebook_image }}">
|
48
|
+
{% endif %}
|
49
|
+
{% endif %}
|
50
|
+
<meta name="twitter:card" content="{{ page.twitter_card.type | default: "summary" }}">
|
51
|
+
{% if site.twitter_username %}<meta name="twitter:site" content="{{ site.twitter_username }}">{% endif %}
|
52
|
+
<meta name="twitter:title" content="{{ title | truncate: 70 }}">
|
53
|
+
<meta name="twitter:description" content="{{ description | truncate: 200 }}">
|
54
|
+
{% if page.twitter_card.creator %}
|
55
|
+
<meta name="twitter:creator" content="{{ page.twitter_card.creator }}">
|
56
|
+
{% elsif site.twitter_username %}
|
57
|
+
<meta name="twitter:creator" content="{{ site.twitter_username }}">
|
58
|
+
{% endif %}
|
59
|
+
{% if page.twitter_card.image %}
|
60
|
+
{% if page.twitter_card.type == 'gallery' %}
|
61
|
+
<meta name="twitter:image0" content="{{ page.twitter_card.image }}">
|
62
|
+
<meta name="twitter:image1" content="{{ page.twitter_card.image1 }}">
|
63
|
+
<meta name="twitter:image2" content="{{ page.twitter_card.image2 }}">
|
64
|
+
<meta name="twitter:image3" content="{{ page.twitter_card.image3 }}">
|
65
|
+
{% else %}
|
66
|
+
<meta name="twitter:image:src" content="{{ page.twitter_card.image }}">
|
67
|
+
{% if page.twitter_card.type == 'photo' %}
|
68
|
+
{% if page.twitter_card.width %}<meta name="twitter:image:width" content="{{ page.twitter_card.width }}">{% endif %}
|
69
|
+
{% if page.twitter_card.height %}<meta name="twitter:image:height" content="{{ page.twitter_card.height }}">{% endif %}
|
70
|
+
{% endif %}
|
71
|
+
{% endif %}
|
72
|
+
{% elsif site.twitter_image %}
|
73
|
+
<meta name="twitter:image:src" content="{{ site.twitter_image }}">
|
74
|
+
{% endif %}
|
75
|
+
|
76
|
+
{% include fonts.html %}
|
77
|
+
{% include google_analytics.html %}
|
78
|
+
</head>
|