chulapa-jekyll 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +45 -9
- data/README.md +139 -81
- data/_data/welcomments/01_install/01H35P308R2G2YMW849CK7V1VP.json +9 -0
- data/_data/welcomments/02_config/01GMBNMYVQS6NCQ45S7KP1TK80.json +10 -0
- data/_data/welcomments/02_config/01GMBNP7RB0CBQNKKXKWG5CHJN.json +10 -0
- data/_data/welcomments/02_config/01GMBNX1CNV06WN12XR72CNN8D.json +11 -0
- data/_data/welcomments/02_config/01GME95BGP5HDQWAWFXT49FDB5.json +10 -0
- data/_data/welcomments/02_config/01GME9BZ4N0K0RT3WEPM397VP1.json +10 -0
- data/_data/welcomments/02_config/01HAH50GMY2SEESXQNR9D3V44R.json +9 -0
- data/_data/welcomments/welcome/01GMDMF77D4VZ7VQX9JAK0RMT5.json +10 -0
- data/_data/welcomments/welcome/01H1QVV3C210ND4XY30H0BZHQP.json +9 -0
- data/_includes/components/author.html +12 -7
- data/_includes/components/breadcrumbdatesocial.html +20 -12
- data/_includes/components/cactus.html +18 -0
- data/_includes/components/categories.html +1 -1
- data/_includes/components/cusdis.html +18 -0
- data/_includes/components/disqus.html +1 -1
- data/_includes/components/headers.html +10 -10
- data/_includes/components/indexcards.html +1 -1
- data/_includes/components/navbeforeafter.html +23 -4
- data/_includes/components/related.html +72 -0
- data/_includes/components/sidetoc.html +15 -0
- data/_includes/components/tags.html +1 -1
- data/_includes/components/toc.html +120 -50
- data/_includes/components/welcomments.html +10 -0
- data/_includes/footer.html +27 -9
- data/_includes/head.html +39 -30
- data/_includes/navbar.html +4 -4
- data/_includes/snippets/bootstrapdemo.html +3 -0
- data/_includes/snippets/carousel.html +3 -3
- data/_includes/snippets/masonry.html +3 -1
- data/_includes/snippets/video.html +20 -10
- data/_includes/snippets/youtube.html +10 -1
- data/_includes/welcomments/comment_form.html +26 -0
- data/_includes/welcomments/comments.html +109 -0
- data/_includes/welcomments/single_comment.html +57 -0
- data/_includes/welcomments/template.html +46 -0
- data/_layouts/cloudcategory.html +4 -4
- data/_layouts/compress.html +2 -2
- data/_layouts/default.html +17 -3
- data/_layouts/landingpage.html +21 -3
- data/_layouts/minimal.html +5 -6
- data/_layouts/search.html +8 -7
- data/_sass/chulapa/_classes.scss +1270 -0
- data/_sass/{chulapa-misc.scss → chulapa/_reboot.scss} +24 -4
- data/_sass/{chulapa-vars.scss → chulapa/_variables.scss} +25 -5
- data/_sass/chulapa-master.scss +5 -5
- data/_sass/highlight/monokai.scss +1 -1
- data/_sass/reset-algolia.scss +1 -1
- data/_sass/skins/academia.scss +23 -17
- data/_sass/skins/auto.scss +2 -1
- data/_sass/skins/chulapa.scss +14 -12
- data/_sass/skins/dark-bg.scss +62 -0
- data/_sass/skins/deeply.scss +4 -3
- data/_sass/skins/gitdev-dark.scss +97 -0
- data/_sass/skins/gitdev.scss +86 -0
- data/_sass/skins/graymor.scss +17 -18
- data/_sass/skins/hootstrap.scss +12 -12
- data/_sass/skins/journal.scss +6 -5
- data/_sass/skins/lux.scss +9 -10
- data/_sass/skins/lymcha.scss +10 -10
- data/_sass/skins/minty.scss +14 -11
- data/_sass/skins/pear.scss +18 -18
- data/_sass/skins/preptor.scss +13 -14
- data/_sass/skins/sketchy.scss +5 -4
- data/_sass/skins/sunset.scss +10 -10
- data/_sass/skins/towards.scss +50 -0
- data/_sass/skins/twitter-dim.scss +38 -28
- data/_sass/skins/twitter-lights-out.scss +38 -30
- data/_sass/skins/twitter.scss +25 -25
- data/_sass/skins/universal.scss +79 -21
- data/_sass/skins/wandoo.scss +12 -13
- data/assets/css/main.scss +1 -1
- data/assets/css/welcomments.scss +572 -0
- data/assets/fonts/Hubot-Sans/Hubot-Sans.woff2 +0 -0
- data/assets/fonts/Hubot-Sans/LICENSE.txt +93 -0
- data/assets/fonts/Mona-Sans/LICENSE.txt +93 -0
- data/assets/fonts/Mona-Sans/Mona-Sans.woff2 +0 -0
- data/assets/js/ch_ytdefer/ch_ytdefer.js +3 -1
- data/assets/js/chulapa_script.js +175 -0
- data/assets/js/clipboard/chulapa_clipboard.js +109 -0
- data/assets/js/cusdis/chulapa_cusdis.js +1 -0
- data/assets/js/google/google-search.js +0 -1
- metadata +37 -63
- data/_sass/chulapa-classes.scss +0 -844
- data/assets/fonts/Chulapa/Chulapa-Bold.otf +0 -0
- data/assets/fonts/Chulapa/Chulapa-Bold_v2.1.otf +0 -0
- data/assets/fonts/Chulapa/Chulapa-Bold_v2.2.otf +0 -0
- data/assets/fonts/Chulapa/Chulapa-Bold_v2.otf +0 -0
- data/assets/fonts/Chulapa/Chulapa-Light.otf +0 -0
- data/assets/fonts/Chulapa/Chulapa-Regular.otf +0 -0
- data/assets/js/ch_ytdefer/ch_ytdefer.min.js +0 -1
- data/assets/js/clipboardrouge.js +0 -95
- /data/_sass/{bootstrapv5-migration.scss → chulapa/_bootstrapv5.scss} +0 -0
- /data/_sass/{chulapa-mixins.scss → chulapa/_mixins.scss} +0 -0
data/_includes/head.html
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<head>
|
2
2
|
<meta charset="utf-8">
|
3
|
-
<!-- Chulapa Jekyll Theme - v1.
|
3
|
+
<!-- Chulapa Jekyll Theme - v1.1.0 -->
|
4
4
|
<!-- MIT License-->
|
5
5
|
<!-- Docs: https://dieghernan.github.io/chulapa -->
|
6
6
|
<!-- Repo: https://github.com/dieghernan/chulapa -->
|
@@ -209,55 +209,61 @@ where_exp: "item", "item.url contains 'http'"
|
|
209
209
|
<title>{{ metatitle | strip_html }}</title>
|
210
210
|
<link rel="canonical" href="{{ canonical_url }}">
|
211
211
|
<!-- Atom feed -->
|
212
|
-
<link href="{{ './atom.xml' | absolute_url }}" type="application/atom+xml" rel="alternate" title="Atom feed {{ site.title }}"
|
212
|
+
<link href="{{ './atom.xml' | absolute_url }}" type="application/atom+xml" rel="alternate" title="Atom feed {{ site.title }}" >
|
213
213
|
<!-- RSS 2.0 feed -->
|
214
|
-
<link href="{{ './rss.xml' | absolute_url }}" type="application/rss+xml" rel="alternate" title="RSS 2.0 feed {{ site.title }}"
|
214
|
+
<link href="{{ './rss.xml' | absolute_url }}" type="application/rss+xml" rel="alternate" title="RSS 2.0 feed {{ site.title }}" >
|
215
215
|
<!-- Meta tags -->
|
216
216
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
217
|
-
<meta name="author" content="{{ page.author.name | default: site.author.name | default: site.github.owner_name }}"
|
218
|
-
<meta name="copyright" content="{{ site.author.name | default: site.github.owner_name }}"
|
219
|
-
<meta name="description" content="{{- ogdesc | truncate: 160 -}}"
|
220
|
-
<meta name="thumbnail" content="{{ ogimage }}"
|
217
|
+
<meta name="author" content="{{ page.author.name | default: site.author.name | default: site.github.owner_name }}" >
|
218
|
+
<meta name="copyright" content="{{ site.author.name | default: site.github.owner_name }}" >
|
219
|
+
<meta name="description" content="{{- ogdesc | truncate: 160 -}}">
|
220
|
+
<meta name="thumbnail" content="{{ ogimage }}" >
|
221
221
|
<meta name="robots" content="index, follow">
|
222
222
|
{%- assign: keyword = site.github.public_repositories |
|
223
223
|
where_exp:"item", "item.name == site.github.repository_name " |
|
224
224
|
map: "topics" -%}
|
225
225
|
{% if keyword -%}
|
226
|
-
<meta name="keywords" content="{{- keyword - | join: ','}}"
|
226
|
+
<meta name="keywords" content="{{- keyword - | join: ','}}">
|
227
227
|
{%- endif %}
|
228
228
|
{% if site.chulapa-skin.vars.primary -%}
|
229
229
|
<!-- Chrome, Firefox OS and Opera -->
|
230
230
|
<meta name="theme-color" content="{{ site.chulapa-skin.vars.primary }}">
|
231
231
|
{%- endif %}
|
232
232
|
<!-- OpenGraph -->
|
233
|
-
<meta property="og:title" content="{{ metatitle | strip_html }}"
|
234
|
-
<meta property="og:site_name" content="{{ sitename | strip_html }}"
|
235
|
-
<meta property="og:url" content="{{ canonical_url }}"
|
236
|
-
<meta property="og:type" content="website"
|
237
|
-
<meta property="og:description" content="{{ ogdesc | truncatewords: 20 }}"
|
238
|
-
<meta property="og:locale" content="{{- site.locale | default: 'en-US' -}}"
|
239
|
-
<meta property="og:image" content="{{- ogimage -}}"
|
233
|
+
<meta property="og:title" content="{{ metatitle | strip_html }}" >
|
234
|
+
<meta property="og:site_name" content="{{ sitename | strip_html }}" >
|
235
|
+
<meta property="og:url" content="{{ canonical_url }}" >
|
236
|
+
<meta property="og:type" content="website" >
|
237
|
+
<meta property="og:description" content="{{ ogdesc | truncatewords: 20 }}" >
|
238
|
+
<meta property="og:locale" content="{{- site.locale | default: 'en-US' -}}" >
|
239
|
+
<meta property="og:image" content="{{- ogimage -}}" >
|
240
240
|
<!-- Twitter Cards -->
|
241
241
|
<meta name="twitter:card" content="summary_large_image">
|
242
242
|
{%- if site.twitter_site %}
|
243
|
-
<meta name="twitter:site" content="@{{- site.twitter_site -}}"
|
243
|
+
<meta name="twitter:site" content="@{{- site.twitter_site -}}" >
|
244
244
|
{% endif -%}
|
245
245
|
{%- if twitterauthor %}
|
246
|
-
<meta name="twitter:creator" content="@{{- twitterauthor -}}"
|
246
|
+
<meta name="twitter:creator" content="@{{- twitterauthor -}}" >
|
247
247
|
{% endif -%}
|
248
248
|
|
249
249
|
{%- include custom/custom_head_before_css.html -%}
|
250
250
|
|
251
251
|
<!-- CSS -->
|
252
|
+
{% if site.comments.provider == 'cactus' -%}
|
253
|
+
<!-- Cactus comments -->
|
254
|
+
<script src="https://latest.cactus.chat/cactus.js"></script>
|
255
|
+
<link rel="stylesheet" href="https://latest.cactus.chat/style.css" type="text/css">
|
256
|
+
{%- endif %}
|
252
257
|
<!-- Preconnect with Google Fonts -->
|
253
|
-
<link rel="preconnect" href="https://fonts.
|
258
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
259
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
254
260
|
{% for font in site.googlefonts -%}
|
255
261
|
{% if font.url -%}
|
256
262
|
<link href="{{ font.url }}" rel="stylesheet">
|
257
263
|
{%- endif %}
|
258
264
|
{%- endfor %}
|
259
265
|
<!-- Fontawesome-->
|
260
|
-
<!--
|
266
|
+
<!-- v6 -->
|
261
267
|
{% assign fakit = site.fa5_kit_code | default: fa_kit_code %}
|
262
268
|
{% if fakit -%}
|
263
269
|
<script src="https://kit.fontawesome.com/{{ fakit }}.js" crossorigin="anonymous"></script>
|
@@ -266,21 +272,24 @@ where_exp: "item", "item.url contains 'http'"
|
|
266
272
|
{%- endif %}
|
267
273
|
{% if site.fa_v4_support -%}
|
268
274
|
<!-- Compatibility with FontAwesome 4 -->
|
269
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/v4-shims.css">
|
275
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/v4-shims.min.css">
|
270
276
|
{%- endif %}
|
277
|
+
{%- if page.show_applause %}
|
278
|
+
<link rel="stylesheet" href="https://unpkg.com/applause-button/dist/applause-button.css">
|
279
|
+
<script src="https://unpkg.com/applause-button/dist/applause-button.js"></script>
|
280
|
+
{% endif -%}
|
281
|
+
<link rel="preload" href="https://cdn.jsdelivr.net/gh/dieghernan/chulapa@master/assets/js/chulapa_script.js" as="script" >
|
282
|
+
<link rel="preload" href="https://cdn.jsdelivr.net/gh/dieghernan/chulapa@master/assets/fonts/Chulapa/Chulapa-Bold_vmod.otf" as="font" type="font/otf" crossorigin>
|
271
283
|
<!-- Theme css (Bootstrap included) -->
|
272
|
-
<link rel="stylesheet" href="{{- "assets/css/main.css " | absolute_url -}}"
|
284
|
+
<link rel="stylesheet" id="maincss" href="{{- "assets/css/main.css " | absolute_url -}}" >
|
273
285
|
<!-- Highlighter -->
|
274
|
-
<link id="csshigh" rel="stylesheet" href="{{- "assets/css/highlighter.css " | absolute_url -}}"
|
286
|
+
<link id="csshigh" rel="stylesheet" href="{{- "assets/css/highlighter.css " | absolute_url -}}" >
|
275
287
|
<!-- Custom css -->
|
276
|
-
<link rel="stylesheet" href="{{- "assets/css/custom.css " | absolute_url -}}"
|
277
|
-
|
278
|
-
<script
|
279
|
-
{
|
280
|
-
|
281
|
-
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
|
282
|
-
</script>
|
283
|
-
{%- endif %}
|
288
|
+
<link rel="stylesheet" href="{{- "assets/css/custom.css " | absolute_url -}}" >
|
289
|
+
{% if page.mathjax -%}
|
290
|
+
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.min.js"></script>
|
291
|
+
{%- endif %}
|
292
|
+
|
284
293
|
{%- if site.gtag_id %}
|
285
294
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
286
295
|
<script async src="https://www.googletagmanager.com/gtag/js?id={{- site.gtag_id -}}"></script>
|
data/_includes/navbar.html
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
<span class="navbar-toggler-icon m-auto"> </span>
|
19
19
|
</label>
|
20
20
|
<div class="navbar-chulapa-fab-background"> </div>
|
21
|
-
<nav class="navbar-chulapa-fab-nav">
|
21
|
+
<nav class="navbar-chulapa-fab-nav" aria-label="primary-navigation">
|
22
22
|
<ul class="navbar-nav text-center text-uppercase font-weight-light mt-0 mb-1 py-1">
|
23
23
|
<li class="nav-item">
|
24
24
|
<a class="nav-link px-3 navbar-brand mx-1 " href="{{ site.navbar.brand.url | default: "" | absolute_url }}">
|
@@ -67,7 +67,7 @@
|
|
67
67
|
<span class="navbar-toggler-icon m-auto"> </span>
|
68
68
|
</label>
|
69
69
|
<div class="navbar-chulapa-fab-background"> </div>
|
70
|
-
<nav class="navbar-chulapa-fab-nav">
|
70
|
+
<nav class="navbar-chulapa-fab-nav" aria-label="alternative-navigation">
|
71
71
|
<ul class="navbar-nav text-center text-uppercase font-weight-light mt-0 mb-1 py-1">
|
72
72
|
<li class="nav-item">
|
73
73
|
<a class="nav-link px-3 navbar-brand mx-1 " href="{{ site.navbar.brand.url | default: "" | absolute_url }}">
|
@@ -110,7 +110,7 @@
|
|
110
110
|
</nav>
|
111
111
|
</div>
|
112
112
|
|
113
|
-
<nav class="navbar navbar-expand sticky-top navbar-chulapa d-none d-{{- disp -}}-block ">
|
113
|
+
<nav class="navbar navbar-expand sticky-top navbar-chulapa d-none d-{{- disp -}}-block " aria-label="primary-navigation">
|
114
114
|
<div class="container-fluid mx-md-2">
|
115
115
|
<a class="navbar-brand text-uppercase font-weight-light" href="{{ site.navbar.brand.url | default: "/" | absolute_url }}">
|
116
116
|
{%- if site.navbar.brand.img -%}
|
@@ -155,7 +155,7 @@
|
|
155
155
|
|
156
156
|
|
157
157
|
{%- else -%}
|
158
|
-
<nav class="navbar {{ navexp }} sticky-top navbar-chulapa">
|
158
|
+
<nav class="navbar {{ navexp }} sticky-top navbar-chulapa" aria-label="primary-navigation">
|
159
159
|
<div class="container-fluid mx-md-2">
|
160
160
|
<a class="navbar-brand font-weight-bold" href="{{ site.navbar.brand.url | default: "/" | absolute_url }}">
|
161
161
|
{%- if site.navbar.brand.img -%}
|
@@ -39,11 +39,11 @@
|
|
39
39
|
<div class="carousel-inner">
|
40
40
|
{%- for brick in bricks limit: end -%}
|
41
41
|
{% if forloop.first == true %}
|
42
|
-
<div class="carousel-item active">
|
42
|
+
<div class="carousel-item active" itemscope itemtype="https://schema.org/ImageObject">
|
43
43
|
{% else %}
|
44
|
-
<div class="carousel-item">
|
44
|
+
<div class="carousel-item" itemscope itemtype="https://schema.org/ImageObject">
|
45
45
|
{% endif %}
|
46
|
-
<img class="d-block mw-100 chulapa-carousel" src="{{- brick | absolute_url -}}" alt="Carousel Item #{{- forloop.index -}}">
|
46
|
+
<img class="d-block mw-100 chulapa-carousel" src="{{- brick | absolute_url -}}" alt="Carousel Item #{{- forloop.index -}}" itemprop="contentUrl" >
|
47
47
|
</div>
|
48
48
|
{%- endfor -%}
|
49
49
|
</div>
|
@@ -16,8 +16,10 @@
|
|
16
16
|
{%- endif -%}
|
17
17
|
<div class="chulapa-masonry mx-2 mt-2">
|
18
18
|
{%- for brick in bricks limit: end -%}
|
19
|
+
<div itemscope itemtype="https://schema.org/ImageObject">
|
19
20
|
<img loading="lazy" class="chulapa-masonry-brick" src="{{- brick | absolute_url -}}"
|
20
|
-
alt="Masonry Item #{{- forloop.index -}}">
|
21
|
+
alt="Masonry Item #{{- forloop.index -}}" itemprop="contentUrl" >
|
22
|
+
</div>
|
21
23
|
{%- endfor -%}
|
22
24
|
</div>
|
23
25
|
{%- endif -%}
|
@@ -1,25 +1,35 @@
|
|
1
1
|
{%- if include.fileurl -%}
|
2
|
-
<div class="embed-responsive embed-responsive-16by9 my-2 chulapa-rounded-lg">
|
3
|
-
<video src="{{ include.fileurl | absolute_url }}#t=0.1" class="embed-responsive-item" controls>
|
2
|
+
<div class="embed-responsive embed-responsive-16by9 my-2 chulapa-rounded-lg" itemscope itemprop="VideoObject" itemtype="https://schema.org/VideoObject">
|
3
|
+
<video src="{{ include.fileurl | absolute_url }}#t=0.1" class="embed-responsive-item u-video" controls itemprop="contentUrl" >
|
4
4
|
Your browser does not support the video tag.
|
5
5
|
</video>
|
6
6
|
</div>
|
7
|
-
{%-
|
7
|
+
{%- elsif include.provider == "youtube" -%}
|
8
|
+
{%- if include.nolazy -%}
|
9
|
+
<!-- Thanks to Minimal Mistakes -->
|
10
|
+
<!-- https://embedresponsively.com/ -->
|
11
|
+
<div class="embed-responsive embed-responsive-16by9 my-2 chulapa-rounded-lg" itemscope itemprop="VideoObject" itemtype="https://schema.org/VideoObject">
|
12
|
+
<iframe loading="lazy" title="Video from YouTube" class="embed-responsive-item" src="https://www.youtube-nocookie.com/embed/{{ include.id }}" allowfullscreen itemprop="embedUrl"></iframe>
|
13
|
+
|
14
|
+
</div>
|
15
|
+
{%- else -%}
|
16
|
+
{% include snippets/youtube.html id=include.id video_res = include.video_res %}
|
17
|
+
{%- endif %}
|
18
|
+
|
19
|
+
{%- else -%
|
8
20
|
{% assign video_id = include.id %}
|
9
21
|
{% assign video_provider = include.provider %}
|
10
22
|
<!-- Thanks to Minimal Mistakes -->
|
11
23
|
<!-- https://embedresponsively.com/ -->
|
12
|
-
<div class="embed-responsive embed-responsive-16by9 my-2 chulapa-rounded-lg">
|
24
|
+
<div class="embed-responsive embed-responsive-16by9 my-2 chulapa-rounded-lg" itemscope itemprop="VideoObject" itemtype="https://schema.org/VideoObject">
|
13
25
|
{%- if video_provider == "vimeo" -%}
|
14
|
-
<iframe loading="lazy" class="embed-responsive-item" src="https://player.vimeo.com/video/{{ video_id }}?dnt=true" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
|
15
|
-
{%- elsif video_provider == "youtube" -%}
|
16
|
-
<iframe loading="lazy" class="embed-responsive-item" src="https://www.youtube-nocookie.com/embed/{{ video_id }}" allowfullscreen></iframe>
|
26
|
+
<iframe loading="lazy" title="Video from {{ video_provider }}" class="embed-responsive-item" src="https://player.vimeo.com/video/{{ video_id }}?dnt=true" webkitAllowFullScreen mozallowfullscreen allowFullScreen itemprop="embedUrl"></iframe>
|
17
27
|
{%- elsif video_provider == "google-drive" -%}
|
18
|
-
<iframe loading="lazy" class="embed-responsive-item" src="https://drive.google.com/file/d/{{ video_id }}/preview" allowfullscreen></iframe>
|
28
|
+
<iframe loading="lazy" title="Video from {{ video_provider }}" class="embed-responsive-item" src="https://drive.google.com/file/d/{{ video_id }}/preview" allowfullscreen itemprop="embedUrl"></iframe>
|
19
29
|
{%- elsif video_provider == "bilibili" -%}
|
20
|
-
<iframe loading="lazy" class="embed-responsive-item" src="https://player.bilibili.com/player.html?bvid={{ video_id }}&page=1&as_wide=1&high_quality=1&danmaku=0" scrolling="no" border="0" framespacing="0" allowfullscreen="true"></iframe>
|
30
|
+
<iframe loading="lazy" title="Video from {{ video_provider }}" class="embed-responsive-item" src="https://player.bilibili.com/player.html?bvid={{ video_id }}&page=1&as_wide=1&high_quality=1&danmaku=0" scrolling="no" border="0" framespacing="0" allowfullscreen="true" itemprop="embedUrl"></iframe>
|
21
31
|
{%- elsif video_provider == "dailymotion" -%}
|
22
|
-
<iframe loading="lazy" class="embed-responsive-item" src="https://www.dailymotion.com/embed/video/{{ video_id }}" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
|
32
|
+
<iframe loading="lazy" title="Video from {{ video_provider }}" class="embed-responsive-item" src="https://www.dailymotion.com/embed/video/{{ video_id }}" webkitAllowFullScreen mozallowfullscreen allowFullScreen itemprop="embedUrl"></iframe>
|
23
33
|
|
24
34
|
{% endif %}
|
25
35
|
</div>
|
@@ -1,6 +1,15 @@
|
|
1
1
|
{% assign video_id = include.id %}
|
2
|
+
{% assign video_res = include.video_res | default: "maxresdefault" %}
|
2
3
|
<!-- Thanks to alfurka,groupboard -->
|
3
4
|
<!-- Based on https://github.com/alfurka/jekyll-embed-youtube-lazy-load -->
|
4
|
-
<div
|
5
|
+
<div itemscope itemprop="VideoObject" itemtype="https://schema.org/VideoObject">
|
6
|
+
<div data-src="{{ video_id }}" class="ch_ytdefer embed-responsive embed-responsive-16by9 my-2 chulapa-rounded-lg" style="background-image: url(https://img.youtube.com/vi/{{ video_id }}/{{ video_res }}.jpg); background-position: center; background-size: cover;" itemprop="thumbnailUrl" content="https://img.youtube.com/vi/{{ video_id }}/{{ video_res }}.jpg">
|
7
|
+
<div class="d-none" itemprop="embedUrl" content="https://www.youtube-nocookie.com/embed/{{ video_id }}"></div>
|
5
8
|
<button class="ch_ytdefer_btn" aria-label="Play" style="background-image: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMCUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDY4IDQ4IiB3aWR0aD0iMTAwJSI+PHBhdGggY2xhc3M9Inl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZyIgZD0iTTY2LjUyLDcuNzRjLTAuNzgtMi45My0yLjQ5LTUuNDEtNS40Mi02LjE5QzU1Ljc5LC4xMywzNCwwLDM0LDBTMTIuMjEsLjEzLDYuOSwxLjU1IEMzLjk3LDIuMzMsMi4yNyw0LjgxLDEuNDgsNy43NEMwLjA2LDEzLjA1LDAsMjQsMCwyNHMwLjA2LDEwLjk1LDEuNDgsMTYuMjZjMC43OCwyLjkzLDIuNDksNS40MSw1LjQyLDYuMTkgQzEyLjIxLDQ3Ljg3LDM0LDQ4LDM0LDQ4czIxLjc5LTAuMTMsMjcuMS0xLjU1YzIuOTMtMC43OCw0LjY0LTMuMjYsNS40Mi02LjE5QzY3Ljk0LDM0Ljk1LDY4LDI0LDY4LDI0UzY3Ljk0LDEzLjA1LDY2LjUyLDcuNzR6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9IjAuOCI+PC9wYXRoPjxwYXRoIGQ9Ik0gNDUsMjQgMjcsMTQgMjcsMzQiIGZpbGw9IiNmZmYiPjwvcGF0aD48L3N2Zz4="); position: absolute; border: 0px; background-color: transparent; left: calc(50% - 73px/2); top: calc(50% - 52px/2); width: 73px; height: 52px; pointer-events: none;"></button>
|
6
9
|
</div>
|
10
|
+
</div>
|
11
|
+
<!-- Load script only if needed -->
|
12
|
+
<script>
|
13
|
+
if(null==(ch_defer_script=document.getElementById("ch_ytdeferScript"))){var e=document,t=e.createElement("script");t.src="https://cdn.jsdelivr.net/gh/dieghernan/chulapa@master/assets/js/ch_ytdefer/ch_ytdefer.min.js",t.id="ch_ytdeferScript",e.body.appendChild(t)}else console.log("Chulapa YouTube Defer already loaded");
|
14
|
+
</script>
|
15
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<form id="welcomments__form" class="welcomments__comment-form" autocomplete="on" action="{{ include.api_url }}/comments" method="post">
|
2
|
+
<input type="hidden" name="website-id" id="website-id" value="{{ include.website_id }}" >
|
3
|
+
<input type="hidden" name="replying-to" id="replying-to" >
|
4
|
+
<input type="hidden" name="permalink" id="permalink" value="{{ site.url }}{{ page.url }}" >
|
5
|
+
<input type="hidden" name="page-slug" id="page-slug" value="{{ page.slug }}"/>
|
6
|
+
<div class="welcomments__form-group">
|
7
|
+
<textarea rows="5" name="message" id="message" required spellcheck="true" placeholder="Type here..."></textarea>
|
8
|
+
<p class="welcomments__markdown-notice"><a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet" target="_blank">GitHub-flavored Markdown</a> & a sane subset of HTML is supported.</p>
|
9
|
+
</div>
|
10
|
+
<div class="welcomments__form-group">
|
11
|
+
<label for="author-name">Name</label>
|
12
|
+
<input type="text" id="author-name" name="author-name" required spellcheck="false" placeholder="Your name">
|
13
|
+
</div>
|
14
|
+
<div class="welcomments__form-group welcomments__flex">
|
15
|
+
<div class="welcomments__column-left">
|
16
|
+
<label for="author-url">Website <span class="welcomments__optional-notice">(optional)</span></label>
|
17
|
+
<input type="url" id="author-url" name="author-url" placeholder="https://example.com" >
|
18
|
+
</div>
|
19
|
+
<div class="welcomments__column-right">
|
20
|
+
<label for="author-email">Email <span class="welcomments__optional-notice">(optional)</span></label>
|
21
|
+
<input type="email" id="author-email" name="author-email" placeholder="johndoe@example.com" >
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
<p class="welcomments__email-notice">Fill in your email address if you want to get notified when someone replies to your comment. Your email address is safely stored with strong 256-bit AES encryption. You can unsubscribe from notification emails any time by following a link on the bottom of a reply notification email. Check also your spam folder</p>
|
25
|
+
<button type="submit" class="welcomments__submit-button" id="welcomments__submit-button">Send comment</button>
|
26
|
+
</form>
|
@@ -0,0 +1,109 @@
|
|
1
|
+
{%- if include.api_url -%}
|
2
|
+
{%- assign api_url = include.api_url -%}
|
3
|
+
{%- else -%}
|
4
|
+
{%- assign api_url = "https://welcomments.io/api" -%}
|
5
|
+
{%- endif -%}
|
6
|
+
|
7
|
+
{%- if include.website_id == "YOUR-WEBSITE-ID-HERE" -%}
|
8
|
+
<div style="color: #ff0000;">
|
9
|
+
<h1>Website id not configured!</h1>
|
10
|
+
<p>Please replace <code>YOUR-WEBSITE-ID-HERE</code> with the website id from Welcomments console.</p>
|
11
|
+
</div>
|
12
|
+
{%- endif -%}
|
13
|
+
|
14
|
+
<div id="welcomments__container" class="welcomments__container">
|
15
|
+
{%- assign article_url = page.slug -%}
|
16
|
+
|
17
|
+
{%- if article_url != "" -%}
|
18
|
+
{%- assign all_comments = site.data.welcomments[article_url] -%}
|
19
|
+
{%- else -%}
|
20
|
+
{%- assign all_comments = site.data.welcomments["___root___"] -%}
|
21
|
+
{%- endif -%}
|
22
|
+
|
23
|
+
{%- if all_comments.size > 0 -%}
|
24
|
+
<h3 id="welcomments__comment-count-title" class="welcomments__comments-title">{{ all_comments.size }} comment{%- if all_comments.size > 1 -%}s{%- endif -%}</h3>
|
25
|
+
{%- else -%}
|
26
|
+
<h3 id="welcomments__comment-count-title" class="welcomments__comments-title">No comments yet!</h3>
|
27
|
+
{%- endif -%}
|
28
|
+
|
29
|
+
<section id="welcomments__comment-container" class="welcomments__comment-container">
|
30
|
+
{%- if all_comments.size > 0 -%}
|
31
|
+
{%- assign parent_comments = all_comments | where_exp: "c", "c.replying_to == nil" | sort: 'id' -%}
|
32
|
+
|
33
|
+
{%- for comment_map in parent_comments -%}
|
34
|
+
{%- assign comment = comment_map -%}
|
35
|
+
{%- include welcomments/single_comment.html
|
36
|
+
nesting_level = 0
|
37
|
+
all_comments = all_comments
|
38
|
+
comment = comment
|
39
|
+
api_url = api_url
|
40
|
+
website_id = include.website_id -%}
|
41
|
+
{%- endfor -%}
|
42
|
+
{%- endif -%}
|
43
|
+
</section>
|
44
|
+
|
45
|
+
{%- include welcomments/comment_form.html
|
46
|
+
api_url = api_url
|
47
|
+
website_id = include.website_id -%}
|
48
|
+
</div>
|
49
|
+
|
50
|
+
<!--
|
51
|
+
Contains some basic comment section styling, so that you can get started quickly
|
52
|
+
without having to come up with your own CSS if you don't want to.
|
53
|
+
-->
|
54
|
+
<link rel="stylesheet" href="{{'/assets/css/welcomments.css' | absolute_url }}" />
|
55
|
+
|
56
|
+
<!--
|
57
|
+
Includes the optional Welcomments Javascript file. It enhances the user experience
|
58
|
+
by sending the comment form fields without the user having to leave your site.
|
59
|
+
|
60
|
+
It also saves the comment to the local storage while your site is being rebuilt so
|
61
|
+
that your users don't get confused and resubmit the same comment multiple times. If
|
62
|
+
there are comments that other users posted that haven't been rebuilt as a part of your
|
63
|
+
site yet, this script also "fills in" them from the Welcomments Pending Comments API.
|
64
|
+
|
65
|
+
It's gzipped and weighs just about 2.1kB. If you want, you can just delete this line
|
66
|
+
and your comment form works just fine but is a bit less interactive! :-)
|
67
|
+
-->
|
68
|
+
<script defer id="welcomments__script" src="https://cdn.welcomments.io/welcomments.js" ></script>
|
69
|
+
<script type="text/javascript">
|
70
|
+
welcomments = {
|
71
|
+
apiUrl: "{{ api_url }}",
|
72
|
+
|
73
|
+
// Updates the "x comments" title when there are comments that are dynamically loaded.
|
74
|
+
// By default, the result of this function becomes the innerText of an element with the
|
75
|
+
// id "welcomments__comment-count-title". It's okay if that element doesn't exist.
|
76
|
+
commentCountTitleFactory: function (commentCount) {
|
77
|
+
if (commentCount === 0) {
|
78
|
+
return "No comments yet!";
|
79
|
+
}
|
80
|
+
|
81
|
+
return commentCount === 1 ? "One comment" : `${commentCount} comments`;
|
82
|
+
},
|
83
|
+
|
84
|
+
// Builds comments dynamically when they are not part of the static HTML of the rest of
|
85
|
+
// your Jekyll website yet. Should return the desired HTML as a string. By default, appends
|
86
|
+
// the resulting HTML as a child element into the correct position in an element with the
|
87
|
+
// id "welcomments__comment-container".
|
88
|
+
placeholderCommentFactory: function (comment) {
|
89
|
+
var year = new Intl.DateTimeFormat("en", {year: "numeric"}).format(comment.date);
|
90
|
+
var month = new Intl.DateTimeFormat("en", {month: "long"}).format(comment.date);
|
91
|
+
var day = new Intl.DateTimeFormat("en", {day: "2-digit"}).format(comment.date);
|
92
|
+
var avatarUrl = comment.author.avatar_url ||
|
93
|
+
`https://eu.ui-avatars.com/api/?background=random&name=${comment.author.name}`
|
94
|
+
|
95
|
+
return `{%- include welcomments/template.html
|
96
|
+
id = "${comment.id}"
|
97
|
+
element_id = "welcomments__comment-${comment.id}"
|
98
|
+
element_classname = "welcomments__comment"
|
99
|
+
nesting_level = "0"
|
100
|
+
formatted_date = "${month} ${day}, ${year}"
|
101
|
+
author_name = "${comment.author.name}"
|
102
|
+
author_website = "${comment.author.website}"
|
103
|
+
author_avatar_url = "${avatarUrl}"
|
104
|
+
message = "${comment.message}"
|
105
|
+
api_url = api_url
|
106
|
+
website_id = include.website_id -%}`;
|
107
|
+
},
|
108
|
+
};
|
109
|
+
</script>
|
@@ -0,0 +1,57 @@
|
|
1
|
+
{%- assign nesting_level = include.nesting_level -%}
|
2
|
+
{%- assign all_comments = include.all_comments -%}
|
3
|
+
{%- assign comment = include.comment -%}
|
4
|
+
|
5
|
+
{%- assign nesting_level_class = "" -%}
|
6
|
+
{%- if nesting_level > 0 -%}
|
7
|
+
{% capture nesting_level_class %} welcomments__nesting-level-{{ nesting_level }}{% endcapture %}
|
8
|
+
{%- endif -%}
|
9
|
+
|
10
|
+
{%- assign author_highlight = "" -%}
|
11
|
+
{%- if comment.author.role == "owner" -%}
|
12
|
+
{% capture author_highlight %} welcomments__comment-role-owner{% endcapture %}
|
13
|
+
{%- endif -%}
|
14
|
+
|
15
|
+
{%- capture comment_element_id -%}welcomments__comment-{{ comment.id }}{%- endcapture -%}
|
16
|
+
{%- capture comment_element_class -%}welcomments__comment{{nesting_level_class}}{{ author_highlight }}{%- endcapture -%}
|
17
|
+
|
18
|
+
{%- capture formatted_date -%}{{ comment.date | date: '%B %d, %Y' }}{%- endcapture -%}
|
19
|
+
{%- capture date_xml_schema -%}{{ comment.date | date_to_xmlschema }}{%- endcapture -%}
|
20
|
+
{%- capture comment_message -%}{{ comment.message | markdownify }}{%- endcapture -%}
|
21
|
+
|
22
|
+
{% if comment.author.avatar_url %}
|
23
|
+
{% capture author_avatar_url %}{{ comment.author.avatar_url }}{% endcapture %}
|
24
|
+
{% else %}
|
25
|
+
{% capture author_avatar_url %}https://eu.ui-avatars.com/api/?background=random&name={{ comment.author.name }}{% endcapture %}
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
{%- include welcomments/template.html
|
29
|
+
id = comment.id
|
30
|
+
element_id = comment_element_id
|
31
|
+
element_classname = comment_element_class
|
32
|
+
nesting_level = nesting_level
|
33
|
+
formatted_date = formatted_date
|
34
|
+
date_xml_schema = date_xml_schema
|
35
|
+
author_name = comment.author.name
|
36
|
+
author_website = comment.author.website
|
37
|
+
author_avatar_url = author_avatar_url
|
38
|
+
message = comment_message
|
39
|
+
api_url = include.api_url
|
40
|
+
website_id = include.website_id -%}
|
41
|
+
|
42
|
+
{%- assign parent_id = comment.id -%}
|
43
|
+
{%- assign replies = all_comments | where_exp: "c", "c.replying_to == parent_id" -%}
|
44
|
+
|
45
|
+
{%- if replies.size > 0 -%}
|
46
|
+
{%- assign nesting_level = nesting_level | plus:1 -%}
|
47
|
+
{%- assign sorted_replies = replies | sort: 'id' -%}
|
48
|
+
{%- for reply in sorted_replies -%}
|
49
|
+
{%- include
|
50
|
+
welcomments/single_comment.html
|
51
|
+
nesting_level = nesting_level
|
52
|
+
all_comments = all_comments
|
53
|
+
comment = reply
|
54
|
+
api_url = include.api_url
|
55
|
+
website_id = include.website_id -%}
|
56
|
+
{%- endfor -%}
|
57
|
+
{%- endif -%}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
{%- assign id = include.id -%}
|
2
|
+
{%- assign element_id = include.element_id -%}
|
3
|
+
{%- assign element_classname = include.element_classname -%}
|
4
|
+
{%- assign nesting_level = include.nesting_level -%}
|
5
|
+
{%- assign formatted_date = include.formatted_date -%}
|
6
|
+
{%- assign date_xml_schema = include.date_xml_schema -%}
|
7
|
+
{%- assign author_name = include.author_name -%}
|
8
|
+
{%- assign author_website = include.author_website -%}
|
9
|
+
{%- assign avatar_url = include.author_avatar_url -%}
|
10
|
+
{%- assign message = include.message -%}
|
11
|
+
|
12
|
+
<article
|
13
|
+
id="{{ element_id }}"
|
14
|
+
class="{{ element_classname }}"
|
15
|
+
data-comment-id="{{ id }}"
|
16
|
+
data-author-name="{{ author_name }}"
|
17
|
+
data-nesting-level="{{ nesting_level }}"
|
18
|
+
itemprop="comment" itemscope itemtype="https://schema.org/Comment">
|
19
|
+
<div class="welcomments__comment-header">
|
20
|
+
<div class="welcomments__author-avatar">
|
21
|
+
<img class="welcomments__author-avatar-img" src="{{ avatar_url }}" alt="{{ author_name }}">
|
22
|
+
</div>
|
23
|
+
<div class="welcomments__author-information">
|
24
|
+
<div class="welcomments__author-name-and-time">
|
25
|
+
<h3 class="welcomments__author-name" itemprop="author" itemscope itemtype="https://schema.org/Person">
|
26
|
+
<span itemprop="name">{{ author_name }}</span>
|
27
|
+
{%- if author_website -%}
|
28
|
+
<a href="{{ author_website }}" class="mx-2" title="{{ author_name }} url"><span class="sr-only">{{ author_name }} url</span><i class="fas fa-link fa-xs" aria-hidden="true"></i></a>
|
29
|
+
{%- endif -%}
|
30
|
+
</h3>
|
31
|
+
<p class="welcomments__comment-time">
|
32
|
+
<a href="#welcomments__comment-{{ id }}" itemprop="url">
|
33
|
+
<time datetime="{{ date_xml_schema }}" itemprop="datePublished">
|
34
|
+
{{- formatted_date -}}
|
35
|
+
</time>
|
36
|
+
</a>
|
37
|
+
</p>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
<div itemprop="text" class="welcomments__comment-message">{{ message }}</div>
|
42
|
+
<a class="welcomments__comment-reply-link"
|
43
|
+
href="{{ include.api_url }}/websites/{{ include.website_id }}/comments/{{ id }}/reply">
|
44
|
+
Reply to {{ author_name }}
|
45
|
+
</a>
|
46
|
+
</article>
|
data/_layouts/cloudcategory.html
CHANGED
@@ -59,19 +59,19 @@ layout: default
|
|
59
59
|
{% assign readtime = words | divided_by:words_per_minute | append: "’" %}
|
60
60
|
{% endif %}
|
61
61
|
{% if document.categories contains category.name %}
|
62
|
-
<article class="chulapa-links-hover-only my-1 mb-4 row g-0">
|
62
|
+
<article class="chulapa-links-hover-only my-1 mb-4 row g-0 h-entry">
|
63
63
|
<div class="col">
|
64
|
-
<h6><a href="{{ document.url | absolute_url }}">{{ document.title }}</a></h6>
|
64
|
+
<h6><a href="{{ document.url | absolute_url }}" class="p-name u-url">{{ document.title }}</a></h6>
|
65
65
|
{%- if document.subtitle -%}<p>{{- document.subtitle -}}</p> {%- endif -%}
|
66
66
|
<div class="small">
|
67
67
|
{% if document.date %}
|
68
68
|
{% assign dateformat = document.date | date: "%B %d, %Y" %}
|
69
|
-
<i class="far fa-calendar" aria-hidden="true"></i> <time datetime="{{- document.date | date_to_xmlschema -}}">{% include_cached snippets/datetranslate.html date=dateformat %}</time>
|
69
|
+
<i class="far fa-calendar" aria-hidden="true"></i> <time class="dt-published" datetime="{{- document.date | date_to_xmlschema -}}">{% include_cached snippets/datetranslate.html date=dateformat %}</time>
|
70
70
|
{% if document.last_modified_at %} <i class="fa fa-redo" aria-hidden="true"></i>{% endif %} |
|
71
71
|
{% endif %}
|
72
72
|
<i class="far fa-clock" aria-hidden="true"></i> {{ readtime }}
|
73
73
|
{%- if showcol -%}
|
74
|
-
<span class="ml-2 badge chulapa-pill-bg-body">{{ document.collection }}</span>
|
74
|
+
<span class="ml-2 badge chulapa-pill-bg-body p-category">{{ document.collection }}</span>
|
75
75
|
{%- endif -%}
|
76
76
|
</div>
|
77
77
|
</div>
|
data/_layouts/compress.html
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
---
|
2
2
|
# Jekyll layout that compresses HTML
|
3
|
-
# v3.0
|
3
|
+
# v3.1.0
|
4
4
|
# http://jch.penibelst.de/
|
5
5
|
# © 2014–2015 Anatol Broder
|
6
6
|
# MIT License
|
7
7
|
---
|
8
8
|
|
9
9
|
{% capture _LINE_FEED %}
|
10
|
-
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd
|
10
|
+
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment or site.compress_html.ignore.envs == "all" %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
|
data/_layouts/default.html
CHANGED
@@ -12,13 +12,24 @@ layout: minimal
|
|
12
12
|
{% include components/author.html %}
|
13
13
|
{%- endif -%}
|
14
14
|
</aside>
|
15
|
-
<article class="col-lg-8 mt-3">
|
15
|
+
<article id="maincontent" class="col-lg-8 mt-3 e-content">
|
16
|
+
{% if page.show_sidetoc %}
|
17
|
+
|
18
|
+
{% include components/sidetoc.html %}
|
19
|
+
|
20
|
+
{% endif %}
|
16
21
|
{% if page.show_toc %}
|
17
22
|
{% assign h_min = page.h_min | default: 2 %}
|
18
23
|
{% assign h_max = page.h_max | default: 4 %}
|
19
|
-
|
24
|
+
<nav aria-label="table-of-contents">
|
25
|
+
{% include components/toc.html sanitize=false html=content h_min=h_min h_max=h_max skip_no_ids=true id="toc" class="chulapa-toc-wrapper.list-group.mb-5.mx-3.mx-lg-5" item_class="list-group-item.font-weight-bold.py-1.pr-0.mr-0.chulapa-toc-reset" %}
|
26
|
+
</nav>
|
20
27
|
{% endif %}
|
21
28
|
{{- content -}}
|
29
|
+
|
30
|
+
{% if page.show_applause %}
|
31
|
+
<div class="mb-2 mt-5 text-center"><applause-button id="applause" class="mx-auto" style="width: 40px; height: 40px;" url="{{ page.url | absolute_url }}"></applause-button></div>
|
32
|
+
{% endif %}
|
22
33
|
</article>
|
23
34
|
</div>
|
24
35
|
</main>
|
@@ -36,4 +47,7 @@ layout: minimal
|
|
36
47
|
{% if size > 0 %}
|
37
48
|
{%- include components/tags.html-%}
|
38
49
|
{% endif %}
|
39
|
-
{%- endif -%}
|
50
|
+
{%- endif -%}
|
51
|
+
{%- if page.show_related -%}
|
52
|
+
{%- include components/related.html -%}
|
53
|
+
{%- endif -%}
|