benjeto-jekyll-theme 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +132 -0
  4. data/_data/texts.yml +100 -0
  5. data/_includes/appbox.html +7 -0
  6. data/_includes/audio.html +26 -0
  7. data/_includes/category.html +9 -0
  8. data/_includes/custom_head.html +0 -0
  9. data/_includes/exlink.html +5 -0
  10. data/_includes/footer.html +21 -0
  11. data/_includes/head.html +104 -0
  12. data/_includes/image.html +16 -0
  13. data/_includes/lang-select.html +19 -0
  14. data/_includes/menu.html +97 -0
  15. data/_includes/miniprof.html +29 -0
  16. data/_includes/nicovideo.html +8 -0
  17. data/_includes/postbox-custom.html +18 -0
  18. data/_includes/postbox-feed.html +31 -0
  19. data/_includes/tags.html +8 -0
  20. data/_includes/video.html +23 -0
  21. data/_includes/youtube.html +8 -0
  22. data/_layouts/base.html +34 -0
  23. data/_layouts/default.html +13 -0
  24. data/_layouts/home.html +133 -0
  25. data/_layouts/post.html +50 -0
  26. data/_sass/benjeto/base.scss +639 -0
  27. data/_sass/benjeto/css/app-box.scss +33 -0
  28. data/_sass/benjeto/css/figure.scss +57 -0
  29. data/_sass/benjeto/css/highlight.scss +62 -0
  30. data/_sass/benjeto/css/home-tab.scss +54 -0
  31. data/_sass/benjeto/css/menu.scss +64 -0
  32. data/_sass/benjeto/css/paginate.scss +35 -0
  33. data/_sass/benjeto/css/section-box.scss +36 -0
  34. data/_sass/benjeto/custom.scss +0 -0
  35. data/_sass/benjeto/dark.scss +45 -0
  36. data/_sass/benjeto/light.scss +26 -0
  37. data/assets/icon/clip.svg +1 -0
  38. data/assets/icon/close.svg +1 -0
  39. data/assets/icon/love.svg +2 -0
  40. data/assets/icon/message.svg +2 -0
  41. data/assets/icon/share.svg +1 -0
  42. data/assets/icon.png +0 -0
  43. data/assets/js/lang-redirect.js +16 -0
  44. data/assets/js/menu.js +61 -0
  45. data/assets/js/share.js +92 -0
  46. data/assets/style.scss +46 -0
  47. 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,7 @@
1
+ <div class="app-box">
2
+ <img src="{{ include.icon | relative_url }}" class="app-icon" aria-hidden="true" alt="">
3
+ <div class="app-info">
4
+ <b>{{ include.title }}</b>
5
+ {{ include.description }}
6
+ </div>
7
+ </div>
@@ -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,5 @@
1
+ <li itemprop="url">
2
+ {%- assign entry = include.item -%}
3
+ <a href="{{ entry.url }}" target="_blank" rel="nofollow" title="{{ entry.name }}">
4
+ {{- entry.name -}}
5
+ </a></li>
@@ -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>
@@ -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 %}
@@ -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>