benjeto-jekyll-theme 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +132 -0
- data/_data/texts.yml +100 -0
- data/_includes/appbox.html +7 -0
- data/_includes/audio.html +26 -0
- data/_includes/category.html +9 -0
- data/_includes/custom_head.html +0 -0
- data/_includes/exlink.html +5 -0
- data/_includes/footer.html +21 -0
- data/_includes/head.html +104 -0
- data/_includes/image.html +16 -0
- data/_includes/lang-select.html +19 -0
- data/_includes/menu.html +97 -0
- data/_includes/miniprof.html +29 -0
- data/_includes/nicovideo.html +8 -0
- data/_includes/postbox-custom.html +18 -0
- data/_includes/postbox-feed.html +31 -0
- data/_includes/tags.html +8 -0
- data/_includes/video.html +23 -0
- data/_includes/youtube.html +8 -0
- data/_layouts/base.html +34 -0
- data/_layouts/default.html +13 -0
- data/_layouts/home.html +133 -0
- data/_layouts/post.html +50 -0
- data/_sass/benjeto/base.scss +639 -0
- data/_sass/benjeto/css/app-box.scss +33 -0
- data/_sass/benjeto/css/figure.scss +57 -0
- data/_sass/benjeto/css/highlight.scss +62 -0
- data/_sass/benjeto/css/home-tab.scss +54 -0
- data/_sass/benjeto/css/menu.scss +64 -0
- data/_sass/benjeto/css/paginate.scss +35 -0
- data/_sass/benjeto/css/section-box.scss +36 -0
- data/_sass/benjeto/custom.scss +0 -0
- data/_sass/benjeto/dark.scss +45 -0
- data/_sass/benjeto/light.scss +26 -0
- data/assets/icon/clip.svg +1 -0
- data/assets/icon/close.svg +1 -0
- data/assets/icon/love.svg +2 -0
- data/assets/icon/message.svg +2 -0
- data/assets/icon/share.svg +1 -0
- data/assets/icon.png +0 -0
- data/assets/js/lang-redirect.js +16 -0
- data/assets/js/menu.js +61 -0
- data/assets/js/share.js +92 -0
- data/assets/style.scss +46 -0
- metadata +158 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c94882db0d920456ac101c1332d33f096d63c6683610b70406d19fc7ead67230
|
4
|
+
data.tar.gz: 20da7d318060963cf0bbcde601d6e0abb0335ce1828b6d345dc5216469ffc4aa
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 354d0dc2a2b4b59540ab0bc275b3b3170923eb80ad70a3a785fcb1eaf6ccc9309a1b12668cfa7c935cf38f73d7a6b76141ac835f495aaf3909e63ed048694599
|
7
|
+
data.tar.gz: c0188d4c0448532676cdd0a52154fef0dc48f09ae184f89d51f22901f47672c4b52cbe2f9367185f81887fa659e47e2d39f34cb9bec3c002432a98dce339a26e
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2024 Cizzuk
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,132 @@
|
|
1
|
+
> [!CAUTION]
|
2
|
+
> This theme is currently under development and not yet available.
|
3
|
+
|
4
|
+
# Benjeto
|
5
|
+
|
6
|
+
Benjeto is a sleek and modern Jekyll Theme designed to create personal websites that resemble social media profiles.
|
7
|
+
This theme is perfect for sharing short posts or updates as well as long articles, and it offers a calm design with support for dark mode.
|
8
|
+
|
9
|
+
- A Jekyll Theme for creating personal websites with a look similar to social media profiles.
|
10
|
+
- Optimized for posting short updates. (and of course for longer articles.)
|
11
|
+
- Supports multilingual functionality with [jekyll-polyglot](https://github.com/untra/polyglot), including RTL.
|
12
|
+
- Compatible with [jekyll-paginate](https://github.com/jekyll/jekyll-paginate) and [jekyll-paginate-v2](https://github.com/sverrirs/jekyll-paginate-v2).
|
13
|
+
|
14
|
+
|
15
|
+
## Installation
|
16
|
+
|
17
|
+
Add this line to your Jekyll site's `Gemfile`:
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
gem "benjeto-jekyll-theme"
|
21
|
+
```
|
22
|
+
|
23
|
+
And add this line to your Jekyll site's `_config.yml`:
|
24
|
+
|
25
|
+
```yaml
|
26
|
+
theme: benjeto-jekyll-theme
|
27
|
+
```
|
28
|
+
|
29
|
+
And install the theme and its dependancies:
|
30
|
+
|
31
|
+
$ bundle install
|
32
|
+
|
33
|
+
|
34
|
+
## Settings
|
35
|
+
|
36
|
+
### _config.yml
|
37
|
+
Refer to the [sample configuration](https://github.com/Cizzuk/Benjeto/blob/main/_config.yml).
|
38
|
+
Specifically,
|
39
|
+
```yaml
|
40
|
+
defaults:
|
41
|
+
- values:
|
42
|
+
title: ""
|
43
|
+
```
|
44
|
+
is necessary for creating short posts without titles.
|
45
|
+
|
46
|
+
### Profile
|
47
|
+
Copy [`_data/profile.yml`](https://github.com/Cizzuk/Benjeto/blob/main/_data/profile.yml) to your site to create your profile.
|
48
|
+
Use relative links for images: the header should be in a 5:1 ratio and the icon in a 1:1 ratio.
|
49
|
+
|
50
|
+
### Benjeto Settings
|
51
|
+
Copy [`_data/settings.yml`](https://github.com/Cizzuk/Benjeto/blob/main/_data/settings.yml) to your site.
|
52
|
+
|
53
|
+
For tabs created in `home.tabs`, you need to create a dedicated page with `layout: home`.
|
54
|
+
When specifying `pagination.category` or `pagination.tag`, posts will be filtered by `jekyll-feed`.
|
55
|
+
Refer to the [sample](https://github.com/Cizzuk/Benjeto/blob/main/category/articles.html) for guidance.
|
56
|
+
|
57
|
+
### Translation
|
58
|
+
If you are building a site in a language other than English, translation files are available in [`_data/texts.yml`](https://github.com/Cizzuk/Benjeto/blob/main/_data/texts.yml).
|
59
|
+
You can also modify the text for categories and tags.
|
60
|
+
|
61
|
+
### Custom Head and CSS
|
62
|
+
You can configure the head in `_includes/custom_head.html`.
|
63
|
+
You can configure the CSS in `_sass/benjeto/custom.scss`.
|
64
|
+
|
65
|
+
|
66
|
+
## Using includes
|
67
|
+
|
68
|
+
### `image.html`
|
69
|
+
figure image with caption and license.
|
70
|
+
Set `pixel` to `true` to support pixel art.
|
71
|
+
```liquid
|
72
|
+
{% include image.html
|
73
|
+
src="/assets/sample.png"
|
74
|
+
pixel=false
|
75
|
+
alt="Sample alt"
|
76
|
+
caption="This is a sample image"
|
77
|
+
license="CC BY-SA 4.0"
|
78
|
+
license_url="https://creativecommons.org/licenses/by-sa/4.0/"
|
79
|
+
%}
|
80
|
+
```
|
81
|
+
|
82
|
+
### `video.html`
|
83
|
+
Video player with title, caption, thumbnail, and license
|
84
|
+
```liquid
|
85
|
+
{% include video.html
|
86
|
+
src="/assets/sample.mp4"
|
87
|
+
title="Sample video"
|
88
|
+
poster="/assets/thumbnail.png"
|
89
|
+
caption="This is a sample video"
|
90
|
+
license="CC BY-SA 4.0"
|
91
|
+
license_url="https://creativecommons.org/licenses/by-sa/4.0/"
|
92
|
+
%}
|
93
|
+
```
|
94
|
+
|
95
|
+
### `audio.html`
|
96
|
+
Audio player with title, caption, artwork, and license
|
97
|
+
```liquid
|
98
|
+
{% include audio.html
|
99
|
+
src="/assets/sapmle.mp3"
|
100
|
+
title="Sample music"
|
101
|
+
artwork="/assets/artwork.png"
|
102
|
+
alt="Artwork alt"
|
103
|
+
caption="This is a sample music"
|
104
|
+
license="CC BY-SA 4.0"
|
105
|
+
license_url="https://creativecommons.org/licenses/by-sa/4.0/"
|
106
|
+
%}
|
107
|
+
```
|
108
|
+
|
109
|
+
### `youtube.html` and `nicovideo.html`
|
110
|
+
Embedded video player for YouTube and Niconico
|
111
|
+
```liquid
|
112
|
+
YouTube
|
113
|
+
{% include youtube.html id="rdwz7QiG0lk" aspect="4/3" title="YouTube on the tube!" %}
|
114
|
+
|
115
|
+
Niconico
|
116
|
+
{% include nicovideo.html id="sm38213757" aspect="16/9" title="削除動画" %}
|
117
|
+
```
|
118
|
+
|
119
|
+
|
120
|
+
## License
|
121
|
+
|
122
|
+
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
123
|
+
|
124
|
+
This project uses the following open source software:
|
125
|
+
|
126
|
+
- [Jekyll](https://github.com/jekyll/jekyll) - MIT License
|
127
|
+
- [jekyll-feed](https://github.com/jekyll/jekyll-feed) - MIT License
|
128
|
+
- [jekyll-paginate](https://github.com/jekyll/jekyll-paginate) - MIT License
|
129
|
+
- [jekyll-paginate-v2](https://github.com/sverrirs/jekyll-paginate-v2) - MIT License
|
130
|
+
- [jekyll-polyglot](https://github.com/untra/polyglot) - MIT License
|
131
|
+
|
132
|
+
Each of these libraries is licensed under the MIT License. Please see the respective LICENSE files for more information.
|
data/_data/texts.yml
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
# Set the date format.
|
2
|
+
date_format: "%B %d, %Y"
|
3
|
+
|
4
|
+
|
5
|
+
##### Categories and tags #####
|
6
|
+
categories:
|
7
|
+
articles: "Articles" #Articles
|
8
|
+
clips: "Clips" #Clips
|
9
|
+
tags:
|
10
|
+
favorites: "Favorites" #Favorites
|
11
|
+
the_donut_kingdom: "The Donut Kingdom" #The Donut Kingdom
|
12
|
+
|
13
|
+
|
14
|
+
##### Translates #####
|
15
|
+
|
16
|
+
# Navigation
|
17
|
+
close: "Close" #Close
|
18
|
+
paginate_back: "Back" #Back
|
19
|
+
paginate_next: "Next" #Next
|
20
|
+
no_posts: "It looks like there are no posts yet.." #It looks like there are no posts yet..
|
21
|
+
|
22
|
+
# Article meta
|
23
|
+
update: "Last updated" #Last updated
|
24
|
+
post_license: "This post is licensed under: " #This post is licensed under
|
25
|
+
|
26
|
+
# Image meta
|
27
|
+
image_license: "This image is licensed under: " #This image is licensed under
|
28
|
+
|
29
|
+
# Video meta
|
30
|
+
video_license: "This video is licensed under: " #This video is licensed under
|
31
|
+
video_not_support: "Your browser does not support video." #Your browser does not support video.
|
32
|
+
|
33
|
+
# Audio meta
|
34
|
+
audio_license: "This audio is licensed under: " #This audio is licensed under
|
35
|
+
audio_not_support: "Your browser does not support audio." #Your browser does not support audio.
|
36
|
+
|
37
|
+
# Share buttons
|
38
|
+
share: "Share" #Share
|
39
|
+
copy: "Copy" #Copy
|
40
|
+
copied: "Copied!" #Copied!
|
41
|
+
|
42
|
+
# Profile buttons
|
43
|
+
message: "Message" #Message
|
44
|
+
message_menu: "Send a message" #Send a message
|
45
|
+
tip: "Tip" #Tip
|
46
|
+
tip_menu: "Send a tip" #Send a tip
|
47
|
+
subscribe: "Subscribe" #Subscribe
|
48
|
+
subscribe_menu: "Subscribe a feed" #Subscribe a feed
|
49
|
+
|
50
|
+
# YouTube
|
51
|
+
youtube_title: "YouTube video player" #YouTube video player
|
52
|
+
youtube_link: "Watch on YouTube" #Watch on YouTube
|
53
|
+
|
54
|
+
# Niconico
|
55
|
+
nicovideo_title: "Niconico video player" #Niconico video player
|
56
|
+
nicovideo_link: "Watch on Niconico" #Watch on Niconico
|
57
|
+
|
58
|
+
|
59
|
+
##### Languages #####
|
60
|
+
lang:
|
61
|
+
en: "English" #English
|
62
|
+
ja: "日本語" #Japanese
|
63
|
+
zh: "中文" #Chinese
|
64
|
+
zh-CN: "中文(简体)" #Chinese (Simplified)
|
65
|
+
zh-TW: "中文(繁體)" #Chinese (Traditional)
|
66
|
+
zh-HK: "中文(香港)" #Chinese (Hong Kong)
|
67
|
+
es: "Español" #Spanish
|
68
|
+
es-419: "Español (Latinoamérica)" #Spanish (Latin America)
|
69
|
+
fr: "Français" #French
|
70
|
+
de: "Deutsch" #German
|
71
|
+
ru: "Русский" #Russian
|
72
|
+
pt: "Português" #Portuguese
|
73
|
+
it: "Italiano" #Italian
|
74
|
+
ko: "한국어" #Korean
|
75
|
+
tr: "Türkçe" #Turkish
|
76
|
+
nl: "Nederlands" #Dutch
|
77
|
+
ar: "العربية" #Arabic
|
78
|
+
sv: "Svenska" #Swedish
|
79
|
+
da: "Dansk" #Danish
|
80
|
+
vi: "Tiếng Việt" #Vietnamese
|
81
|
+
no: "Norsk" #Norwegian
|
82
|
+
pl: "Polski" #Polish
|
83
|
+
fi: "Suomi" #Finnish
|
84
|
+
id: "Bahasa Indonesia" #Indonesian
|
85
|
+
he: "עברית" #Hebrew
|
86
|
+
el: "Ελληνικά" #Greek
|
87
|
+
ro: "Română" #Romanian
|
88
|
+
hu: "Magyar" #Hungarian
|
89
|
+
cs: "Čeština" #Czech
|
90
|
+
ca: "Català" #Catalan
|
91
|
+
sk: "Slovenčina" #Slovak
|
92
|
+
uk: "Українська" #Ukrainian
|
93
|
+
hr: "Hrvatski" #Croatian
|
94
|
+
ms: "Bahasa Melayu" #Malay
|
95
|
+
hi: "हिन्दी" #Hindi
|
96
|
+
kk: "Қазақша" #Kazakh
|
97
|
+
bg: "Български" #Bulgarian
|
98
|
+
sl: "Slovenščina" #Slovenian
|
99
|
+
lt: "Lietuvių" #Lithuanian
|
100
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{%- assign texts = site.data.texts -%}
|
2
|
+
<figure class="audio">
|
3
|
+
<figcaption>
|
4
|
+
{% if include.artwork %}
|
5
|
+
<img src="{{ include.artwork | relative_url }}" alt="" class="audio-artwork">
|
6
|
+
{% endif %}
|
7
|
+
<div>
|
8
|
+
{% if include.title %}<b>{{ include.title }}</b><br>{% endif %}
|
9
|
+
{{ include.caption }}
|
10
|
+
{% if include.license %}
|
11
|
+
<br>
|
12
|
+
<span class="license">
|
13
|
+
{{ texts.audio_license }}
|
14
|
+
<a href="{{ include.license_url }}" target="_blank">{{ include.license }}</a>
|
15
|
+
</span>
|
16
|
+
{% endif %}
|
17
|
+
</div>
|
18
|
+
</figcaption>
|
19
|
+
<audio controls
|
20
|
+
{% if include.title %} title="{{ include.title }}" {% endif %}>
|
21
|
+
<source src="{{ include.src | relative_url }}">
|
22
|
+
{{ include.track }}
|
23
|
+
{{ texts.audio_not_support }}
|
24
|
+
</audio>
|
25
|
+
</figure>
|
26
|
+
|
@@ -0,0 +1,9 @@
|
|
1
|
+
{%- assign texts = site.data.texts %}
|
2
|
+
{%- if include.category -%}
|
3
|
+
<span class="category">
|
4
|
+
{%- for category in include.category -%}
|
5
|
+
{{ texts.categories[category] | default: category }}
|
6
|
+
{%- if forloop.last == false %}, {% endif -%}
|
7
|
+
{%- endfor -%}
|
8
|
+
</span>
|
9
|
+
{%- endif -%}
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<footer>
|
2
|
+
{%- assign profile = site.data.profile -%}
|
3
|
+
{%- assign settings = site.data.settings -%}
|
4
|
+
{%- if page.layout == "post" and settings.post.footer_profile == "true" %}
|
5
|
+
{% assign show = true %}
|
6
|
+
{%- endif %}
|
7
|
+
{%- if page.layout == "post" and page.title != "" and settings.post.footer_profile == "article" %}
|
8
|
+
{% assign show = true %}
|
9
|
+
{%- endif %}
|
10
|
+
{%- if show %}
|
11
|
+
{%- include miniprof.html type="box" -%}
|
12
|
+
{%- endif %}
|
13
|
+
<div class="footer-line">
|
14
|
+
{%- if settings.copyright %}
|
15
|
+
<p class="copy">{{ settings.copyright }}</p>
|
16
|
+
{%- endif %}
|
17
|
+
{%- if site.languages.size > 1 and site.plugins contains "jekyll-polyglot" %}
|
18
|
+
{%- include lang-select.html -%}
|
19
|
+
{%- endif %}
|
20
|
+
</div>
|
21
|
+
</footer>
|
data/_includes/head.html
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
{%- assign profile = site.data.profile -%}
|
2
|
+
{%- assign settings = site.data.settings -%}
|
3
|
+
{%- assign texts = site.data.texts -%}
|
4
|
+
|
5
|
+
{%- if page.title != "" and page.layout != "home" -%}
|
6
|
+
{%- capture title -%}{{ page.title }} - {{ site.title }}{% endcapture %}
|
7
|
+
{%- elsif page.layout == "post" and page.title == "" -%}
|
8
|
+
{%- capture title -%}{{ page.excerpt | strip_html }} - {{ site.title }}{% endcapture %}
|
9
|
+
{%- elsif page.layout == "home" and page.pagination.category -%}
|
10
|
+
{%- capture title -%}{{ site.title }} | {{ page.title | default: texts.categories[page.pagination.category] }}{% endcapture %}
|
11
|
+
{%- elsif page.layout == "home" and page.pagination.tag -%}
|
12
|
+
{%- capture title -%}{{ site.title }} | {{ page.title | default: texts.tags[page.pagination.tag] }}{% endcapture %}
|
13
|
+
{%- else -%}
|
14
|
+
{%- assign title = site.title -%}
|
15
|
+
{%- endif -%}
|
16
|
+
{%- assign icon = page.icon | default: page.image | default: settings.head.siteicon | default: profile.icon -%}
|
17
|
+
{%- assign description = page.description | default: site.description | default: page.excerpt -%}
|
18
|
+
<head>
|
19
|
+
<meta charset="utf-8">
|
20
|
+
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
21
|
+
<link rel="stylesheet" href="{{ "/assets/style.css" | relative_url }}">
|
22
|
+
<title>{{ title }}</title>
|
23
|
+
{% if page.ogp == true or settings.head.ogp == true -%}
|
24
|
+
{% if page.ogp and page.layout == post -%}
|
25
|
+
<meta name="twitter:card" content="summary_large_image">
|
26
|
+
{% else -%}
|
27
|
+
<meta name="twitter:card" content="summary">
|
28
|
+
{% endif -%}
|
29
|
+
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
|
30
|
+
<meta property="og:title" content="{{ title }}">
|
31
|
+
<meta property="og:site_name" content="{{ site.title }}">
|
32
|
+
{% if description -%}
|
33
|
+
<meta property="og:description" content="{{ description }}">
|
34
|
+
{% endif -%}
|
35
|
+
{% if page.ogp or icon -%}
|
36
|
+
<meta property="og:image" content="{{ site.url }}{{ page.ogp | default: icon }}">
|
37
|
+
{% endif -%}
|
38
|
+
{% if page.ogp_alt -%}
|
39
|
+
<meta property="og:image:alt" content="{{ page.ogp_alt }}">
|
40
|
+
{% endif -%}
|
41
|
+
{% if page.type -%}
|
42
|
+
<meta property="og:type" content="{{ page.type }}">
|
43
|
+
{% elsif page.layout == "post" -%}
|
44
|
+
<meta property="og:type" content="article">
|
45
|
+
{% elsif page.layout == "home" -%}
|
46
|
+
<meta property="og:type" content="profile">
|
47
|
+
{% else -%}
|
48
|
+
<meta property="og:type" content="website">
|
49
|
+
{% endif -%}
|
50
|
+
{% if settings.head.x_id -%}
|
51
|
+
<meta content="{{ settings.head.x_id }}" name="twitter:site">
|
52
|
+
{% endif -%}
|
53
|
+
{% if page.layout == "post" -%}
|
54
|
+
{% if page.date -%}
|
55
|
+
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
|
56
|
+
{% endif -%}
|
57
|
+
{% if page.update -%}
|
58
|
+
<meta property="article:modified_time" content="{{ page.update | date_to_xmlschema }}">
|
59
|
+
{% endif -%}
|
60
|
+
{% endif -%}
|
61
|
+
{% endif -%}
|
62
|
+
|
63
|
+
{% if description -%}
|
64
|
+
<meta name="description" content="{{ description }}">
|
65
|
+
{% endif -%}
|
66
|
+
|
67
|
+
{% if icon -%}
|
68
|
+
<link rel="apple-touch-icon" href="{{ icon | relative_url }}">
|
69
|
+
{% endif -%}
|
70
|
+
|
71
|
+
{% if settings.head.favicon or profile.icon -%}
|
72
|
+
<link rel="icon" href="{{ settings.head.favicon | relative_url | default: profile.icon | relative_url }}">
|
73
|
+
{% endif -%}
|
74
|
+
|
75
|
+
{% if page.noindex == true or settings.head.noindex == true or site.plugins contains "jekyll-polyglot" and page.lang != site.active_lang and page.layout != "home" -%}
|
76
|
+
<meta name="robots" content="noindex">
|
77
|
+
{% endif -%}
|
78
|
+
|
79
|
+
{% if page.itunes_app -%}
|
80
|
+
<meta name="apple-itunes-app" content="app-id={{ page.itunes_app }}">
|
81
|
+
{% endif -%}
|
82
|
+
|
83
|
+
{% if page.layout == "home" and settings.head.feed == true or page.layout == "post" and settings.head.feed == true -%}
|
84
|
+
{% if settings.head.custom_feed -%}
|
85
|
+
<link rel="alternate" type="application/rss+xml" href="{{ site.head.custom_feed }}">
|
86
|
+
{% else -%}
|
87
|
+
{% feed_meta -%}
|
88
|
+
{% endif -%}
|
89
|
+
{% endif -%}
|
90
|
+
|
91
|
+
{% if site.languages -%}
|
92
|
+
{% if site.default_lang != "nil" -%}
|
93
|
+
<link rel="alternate" hreflang="{{ site.default_lang }}" href="{{ site.url }}{{ page.permalink }}">
|
94
|
+
{% endif -%}
|
95
|
+
{% for lang in site.languages %}
|
96
|
+
{% if lang == site.default_lang %}
|
97
|
+
{% continue %}
|
98
|
+
{% endif %}
|
99
|
+
<link rel="alternate" hreflang="{{ lang }}" href="{{ site.url }}/{{ lang }}{{ page.permalink }}">
|
100
|
+
{% endfor %}
|
101
|
+
{% endif -%}
|
102
|
+
|
103
|
+
{% include custom_head.html %}
|
104
|
+
</head>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
{%- assign texts = site.data.texts -%}
|
2
|
+
<figure class="image">
|
3
|
+
<img src="{{ include.src | relative_url }}"
|
4
|
+
{% if include.pixel == true %}class="pixel"{% endif %}
|
5
|
+
{% if include.alt %}alt="{{ include.alt }}"{% endif %}>
|
6
|
+
<figcaption>
|
7
|
+
{{ include.caption }}
|
8
|
+
{% if include.license %}
|
9
|
+
<br>
|
10
|
+
<span class="license">
|
11
|
+
{{ texts.image_license }}
|
12
|
+
<a href="{{ include.license_url }}" target="_blank">{{ include.license }}</a>
|
13
|
+
</span>
|
14
|
+
{% endif %}
|
15
|
+
</figcaption>
|
16
|
+
</figure>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{%- assign texts = site.data.texts %}
|
2
|
+
{% assign rtl_languages = "ar,arc,dv,fa,he,ks,nqo,ps,syr,ur,yi" | split: ',' %}
|
3
|
+
{%- if page.lang-exclusive.size > 1 or page.lang-exclusive == nil %}
|
4
|
+
<ul class="lang-select">
|
5
|
+
{%- for lang in site.languages %}
|
6
|
+
{%- if page.lang-exclusive contains lang or page.lang-exclusive == nil %}
|
7
|
+
<li><a {% static_href %}href="
|
8
|
+
{%- if lang == site.default_lang -%}
|
9
|
+
{{ page.url | relative_url | replace: 'index.html', '' }}
|
10
|
+
{%- else -%}
|
11
|
+
{{ site.baseurl }}/{{ lang }}{{ page.url | replace: 'index.html', '' }}
|
12
|
+
{%- endif -%}
|
13
|
+
"{% endstatic_href -%}
|
14
|
+
{%- if rtl_languages contains lang %} dir="rtl"{% endif %}>
|
15
|
+
{{- texts.lang[lang] | default: lang }}</a></li>
|
16
|
+
{%- endif -%}
|
17
|
+
{%- endfor %}
|
18
|
+
</ul>
|
19
|
+
{%- endif %}
|
data/_includes/menu.html
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
{%- assign profile = site.data.profile -%}
|
2
|
+
{%- assign texts = site.data.texts -%}
|
3
|
+
{%- assign settings = site.data.settings -%}
|
4
|
+
{%- assign needjs = false -%}
|
5
|
+
<section class="sidebutton">
|
6
|
+
<div id="overlay"></div>
|
7
|
+
{%- if include.only_subs != true %}
|
8
|
+
{%- if profile.tip %}
|
9
|
+
{%- if profile.tip.size > 1 %}
|
10
|
+
{%- assign needjs = true %}
|
11
|
+
<noscript>
|
12
|
+
<a class="menu-btn menues" href="{{ profile.tip[0].url }}" title="{{ texts.tip_menu }}">
|
13
|
+
<img class="icon" src="{{ "/assets/icon/love.svg" | relative_url }}" alt="{{ texts.tip }}">
|
14
|
+
</a>
|
15
|
+
</noscript>
|
16
|
+
<button id="btn" class="menu-btn menues" data-menu="menu-tip" title="{{ texts.tip_menu }}" aria-haspopup="menu" aria-label="{{ texts.tip }}">
|
17
|
+
<img class="icon" src="{{ "/assets/icon/love.svg" | relative_url }}" alt="{{ texts.tip }}">
|
18
|
+
</button>
|
19
|
+
<div class="menu" id="menu-tip" role="menu">
|
20
|
+
<div class="menuline">
|
21
|
+
<button class="close-btn" aria-label="{{ texts.close }}">
|
22
|
+
<img class="icon" src="{{ "/assets/icon/close.svg" | relative_url }}" alt="{{ texts.close }}">
|
23
|
+
</button>
|
24
|
+
<b>{{ texts.tip_menu }}</b>
|
25
|
+
</div>
|
26
|
+
<ul>
|
27
|
+
{%- for entry in profile.tip %}
|
28
|
+
<li><a href="{{ entry.url }}" target="_blank" rel="nofollow" role="menuitem">{{ entry.name }}</a></li>
|
29
|
+
{%- endfor -%}
|
30
|
+
</ul>
|
31
|
+
</div>
|
32
|
+
{%- else %}
|
33
|
+
<a class="menu-btn" href="{{ profile.tip[0].url }}" title="{{ texts.tip_menu }}">
|
34
|
+
<img class="icon" src="{{ "/assets/icon/love.svg" | relative_url }}" alt="{{ texts.tip }}">
|
35
|
+
</a>
|
36
|
+
{%- endif -%}
|
37
|
+
{%- endif -%}
|
38
|
+
{%- if profile.message %}
|
39
|
+
{%- if profile.message.size > 1 %}
|
40
|
+
{%- assign needjs = true %}
|
41
|
+
<noscript>
|
42
|
+
<a class="menu-btn menues" href="{{ profile.message[0].url }}" title="{{ texts.message_menu }}">
|
43
|
+
<img class="icon" src="{{ "/assets/icon/message.svg" | relative_url }}" alt="{{ texts.message }}">
|
44
|
+
</a>
|
45
|
+
</noscript>
|
46
|
+
<button id="btn" class="menu-btn menues" data-menu="menu-message" title="{{ texts.message_menu }}" aria-haspopup="menu" aria-label="{{ texts.message }}">
|
47
|
+
<img class="icon" src="{{ "/assets/icon/message.svg" | relative_url }}" alt="{{ texts.message }}">
|
48
|
+
</button>
|
49
|
+
<div class="menu" id="menu-message" role="menu">
|
50
|
+
<div class="menuline">
|
51
|
+
<button class="close-btn" aria-label="{{ texts.close }}">
|
52
|
+
<img class="icon" src="{{ "/assets/icon/close.svg" | relative_url }}" alt="{{ texts.close }}">
|
53
|
+
</button>
|
54
|
+
<b>{{ texts.message_menu }}</b>
|
55
|
+
</div>
|
56
|
+
<ul>
|
57
|
+
{%- for entry in profile.message %}
|
58
|
+
<li><a href="{{ entry.url }}" target="_blank" rel="nofollow" role="menuitem">{{ entry.name }}</a></li>
|
59
|
+
{%- endfor -%}
|
60
|
+
</ul>
|
61
|
+
</div>
|
62
|
+
{%- else %}
|
63
|
+
<a class="menu-btn" href="{{ profile.message[0].url }}" title="{{ texts.message_menu }}">
|
64
|
+
<img class="icon" src="{{ "/assets/icon/message.svg" | relative_url }}" alt="{{ texts.message }}">
|
65
|
+
</a>
|
66
|
+
{%- endif -%}
|
67
|
+
{%- endif -%}
|
68
|
+
{%- endif %}
|
69
|
+
{%- if settings.home.subscribe_button == true %}
|
70
|
+
{%- assign subscribe_list = profile.subscribe | default: settings.home.tabs %}
|
71
|
+
{%- if subscribe_list.size > 1 %}
|
72
|
+
{%- assign needjs = true %}
|
73
|
+
<noscript>
|
74
|
+
<a class="menu-btn subscribe menues" href="{{ subscribe_list[0].feed | relative_url }}" title="{{ texts.subscribe_menu }}">{{ texts.subscribe }}</a>
|
75
|
+
</noscript>
|
76
|
+
<button id="btn" class="menu-btn subscribe menues" data-menu="menu-subscribe" title="{{ texts.subscribe_menu }}" aria-haspopup="menu">{{ texts.subscribe }}</button>
|
77
|
+
<div class="menu" id="menu-subscribe" role="menu">
|
78
|
+
<div class="menuline">
|
79
|
+
<button class="close-btn" aria-label="{{ texts.close }}">
|
80
|
+
<img class="icon" src="{{ "/assets/icon/close.svg" | relative_url }}" alt="{{ texts.close }}">
|
81
|
+
</button>
|
82
|
+
<b>{{ texts.subscribe_menu }}</b>
|
83
|
+
</div>
|
84
|
+
<ul>
|
85
|
+
{%- for entry in subscribe_list %}
|
86
|
+
<li><a href="{{ entry.feed | relative_url }}" role="menuitem">{{ entry.name }}{% if entry.description %} - {{ entry.description }}{% endif %}</a></li>
|
87
|
+
{%- endfor -%}
|
88
|
+
</ul>
|
89
|
+
</div>
|
90
|
+
{%- else %}
|
91
|
+
<a class="menu-btn subscribe" href="{{ subscribe_list.feed | relative_url }}" title="{{ texts.subscribe_menu }}">{{ texts.subscribe }}</a>
|
92
|
+
{%- endif -%}
|
93
|
+
{%- endif -%}
|
94
|
+
</section>
|
95
|
+
{%- if needjs == true %}
|
96
|
+
<script src="{{ "/assets/js/menu.js" | relative_url }}"></script>
|
97
|
+
{%- endif %}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{%- assign profile = site.data.profile -%}
|
2
|
+
{%- assign texts = site.data.texts -%}
|
3
|
+
{%- assign settings = site.data.settings -%}
|
4
|
+
{%- assign type = include.type -%}
|
5
|
+
<div class="miniprof{% if type == "box" %} box{% endif %}"{% if type == "nav" %} role="navigation"{% elsif type == "box" %} role="complementary"{% endif %}>
|
6
|
+
<div class="profline">
|
7
|
+
<a class="proficon {% if settings.round_icon == true %}round{% endif %}" href="{{ "/" | relative_url }}">
|
8
|
+
{%- if profile.icon %}
|
9
|
+
<img src="{{ profile.icon | relative_url }}" alt="">
|
10
|
+
{%- endif %}
|
11
|
+
<span itemprop="name">{{ profile.name | default: site.title }}</span>
|
12
|
+
</a>
|
13
|
+
<div class="buttonline">
|
14
|
+
{%- if page.layout == "post" and type == "nav" and settings.post.share_button == true %}
|
15
|
+
<button class="shareBtn" id="shareButton" data-title="{{ page.title | default: page.excerpt | strip_html }}" data-url="{{ page.url }}" role="button" title="{{ texts.share }}">
|
16
|
+
<span class="shareMsg"></span>
|
17
|
+
<img class="icon" src="{{ "/assets/icon/clip.svg" | relative_url }}" alt="{{ texts.copy }}">
|
18
|
+
</button>
|
19
|
+
<script src="{{ "/assets/js/share.js" | relative_url }}"></script>
|
20
|
+
{%- endif %}
|
21
|
+
{%- if page.layout == "post" and settings.post.subscribe_button == true %}
|
22
|
+
{%- include menu.html only_subs=true %}
|
23
|
+
{%- endif %}
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
{%- if type == "box" %}
|
27
|
+
<p class="bio">{{ profile.bio }}</p>
|
28
|
+
{%- endif %}
|
29
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{%- assign id = include.id -%}
|
2
|
+
{%- assign title = include.title -%}
|
3
|
+
{%- assign aspect = include.aspect | default: "16 / 9" -%}
|
4
|
+
{%- if id -%}
|
5
|
+
<iframe class="nicovideo" style="aspect-ratio: {{ aspect }}" src="https://embed.nicovideo.jp/watch/{{ id }}" title="{{ texts.nicovideo_title }}" frameborder="0" allowfullscreen>
|
6
|
+
<a href="https://www.nicovideo.jp/watch/{{ id }}" target="_blank" rel="noopener noreferrer">{{ title | default: texts.nicovideo_link }}</a>
|
7
|
+
</iframe>
|
8
|
+
{%- endif -%}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{%- assign content = include.content -%}
|
2
|
+
{%- assign url = include.url -%}
|
3
|
+
{%- assign texts = site.texts | default: site.text | default: site.data.texts -%}
|
4
|
+
{%- assign settings = site.settings | default: site.data.settings -%}
|
5
|
+
|
6
|
+
<div class="custom-feed pagebox">
|
7
|
+
<div class="post-custom">
|
8
|
+
{%- if url %}
|
9
|
+
<a href="{{ url }}" class="post-link post-lighter"{% if include.new_tab == true %} target="blank"{% endif %}>
|
10
|
+
{{ content }}
|
11
|
+
</a>
|
12
|
+
{%- else %}
|
13
|
+
<div class="no-link">
|
14
|
+
{{ content }}
|
15
|
+
</div>
|
16
|
+
{%- endif %}
|
17
|
+
</div>
|
18
|
+
</div>
|