benjeto-jekyll-theme 0.0.1
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.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>
|