jekyll-twitter-bootstrap 5.3.0.dev5
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 +222 -0
- data/README_OWNER.md +33 -0
- data/_config.yml +85 -0
- data/_includes/_components/carousel.html +78 -0
- data/_includes/_components/columns_icons.html +60 -0
- data/_includes/_components/columns_icons_grid.html +97 -0
- data/_includes/_components/columns_icons_hanging.html +51 -0
- data/_includes/_components/columns_image_cards.html +52 -0
- data/_includes/_components/featurette_left.html +21 -0
- data/_includes/_components/featurette_right.html +21 -0
- data/_includes/_components/hero_centered.html +18 -0
- data/_includes/_components/hero_centered_dark.html +20 -0
- data/_includes/_components/hero_image_right.html +23 -0
- data/_includes/_components/jumbotron_full.html +20 -0
- data/_includes/_components/jumbotron_split.html +46 -0
- data/_includes/categories.html +16 -0
- data/_includes/footer.html +33 -0
- data/_includes/footer_custom.html +0 -0
- data/_includes/google_analytics.html +13 -0
- data/_includes/head.html +16 -0
- data/_includes/head_custom.html +0 -0
- data/_includes/header.html +30 -0
- data/_includes/header_custom.html +0 -0
- data/_includes/posts_categories.html +14 -0
- data/_includes/posts_latest.html +22 -0
- data/_includes/posts_tags.html +14 -0
- data/_includes/tags.html +16 -0
- data/_layouts/base.html +16 -0
- data/_layouts/blog.html +73 -0
- data/_layouts/example_components.html +471 -0
- data/_layouts/home.html +7 -0
- data/_layouts/page.html +9 -0
- data/_layouts/page_no_title.html +5 -0
- data/_layouts/page_sidebar.html +24 -0
- data/_layouts/post.html +41 -0
- data/_sass/styles.scss +0 -0
- data/assets/css/styles.css +176 -0
- data/assets/images/bootstrap-themes.png +0 -0
- data/assets/images/favicons/apple-touch-icon.png +0 -0
- data/assets/images/favicons/favicon-16x16.png +0 -0
- data/assets/images/favicons/favicon-32x32.png +0 -0
- data/assets/images/favicons/favicon.ico +0 -0
- data/assets/images/favicons/safari-pinned-tab.svg +1 -0
- data/assets/images/unsplash-photo-1.jpg +0 -0
- data/assets/images/unsplash-photo-2.jpg +0 -0
- data/assets/images/unsplash-photo-3.jpg +0 -0
- data/assets/svg/bootstrap-icons.svg +58 -0
- data/assets/svg/bootstrap.svg +23 -0
- data/assets/svg/placeholder-500-500.svg +5 -0
- data/assets/svg/placeholder-full-gray.svg +3 -0
- metadata +157 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
<!-- BEGIN Hanging icons -->
|
2
|
+
<div class="container px-4 py-5 component-columns-icons-hanging">
|
3
|
+
{%- if include.title -%}
|
4
|
+
<h2 class="pb-2 border-bottom">{{ include.title }}</h2>
|
5
|
+
{%- endif -%}
|
6
|
+
<div class="row g-4 py-5 row-cols-1 row-cols-lg-3">
|
7
|
+
{%- if !include.col1_title -%}
|
8
|
+
<div class="col d-flex align-items-start">
|
9
|
+
<div class="icon-square text-bg-light d-inline-flex align-items-center justify-content-center fs-4 flex-shrink-0 me-3">
|
10
|
+
<svg class="bi" width="1em" height="1em"><use xlink:href="{{ include.col1_icon_path }}"/></svg>
|
11
|
+
</div>
|
12
|
+
<div>
|
13
|
+
<h3 class="fs-2">{{ include.col1_title }}</h3>
|
14
|
+
<div class="mb-3">{{ include.col1_body }}</div>
|
15
|
+
{%- if !include.col1_link_text -%}
|
16
|
+
<a href="{{ include.col1_link_url}}" class="btn btn-primary">{{ include.col1_link_text }}</a>
|
17
|
+
{%- endif -%}
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
{%- endif -%}
|
21
|
+
{%- if !include.col2_title -%}
|
22
|
+
<div class="col d-flex align-items-start">
|
23
|
+
<div class="icon-square text-bg-light d-inline-flex align-items-center justify-content-center fs-4 flex-shrink-0 me-3">
|
24
|
+
<svg class="bi" width="1em" height="1em"><use xlink:href="{{ include.col2_icon_path }}"/></svg>
|
25
|
+
</div>
|
26
|
+
<div>
|
27
|
+
<h3 class="fs-2">{{ include.col2_title }}</h3>
|
28
|
+
<div class="mb-3">{{ include.col2_body }}</div>
|
29
|
+
{%- if !include.col2_link_text -%}
|
30
|
+
<a href="{{ include.col2_link_url}}" class="btn btn-primary">{{ include.col2_link_text }}</a>
|
31
|
+
{%- endif -%}
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
{%- endif -%}
|
35
|
+
{%- if !include.col1_title -%}
|
36
|
+
<div class="col d-flex align-items-start">
|
37
|
+
<div class="icon-square text-bg-light d-inline-flex align-items-center justify-content-center fs-4 flex-shrink-0 me-3">
|
38
|
+
<svg class="bi" width="1em" height="1em"><use xlink:href="{{ include.col3_icon_path }}"/></svg>
|
39
|
+
</div>
|
40
|
+
<div>
|
41
|
+
<h3 class="fs-2">{{ include.col3_title }}</h3>
|
42
|
+
<div class="mb-3">{{ include.col3_body }}</div>
|
43
|
+
{%- if !include.col3_link_text -%}
|
44
|
+
<a href="{{ include.col3_link_url}}" class="btn btn-primary">{{ include.col3_link_text }}</a>
|
45
|
+
{%- endif -%}
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
{%- endif -%}
|
49
|
+
</div>
|
50
|
+
</div>
|
51
|
+
<!-- END Hanging icons -->
|
@@ -0,0 +1,52 @@
|
|
1
|
+
{%- if include.card_title_align == "Center" -%}
|
2
|
+
{% assign col_title_align_class = "text-center" %}
|
3
|
+
{% assign col_link_align_class = "mx-auto" %}
|
4
|
+
{%- else -%}
|
5
|
+
{% assign class_align = "" %}
|
6
|
+
{% assign col_link_align_class = "me-auto" %}
|
7
|
+
{%- endif -%}
|
8
|
+
<!-- BEGIN Custom cards -->
|
9
|
+
<div class="container px-4 py-5 columns-image-cards">
|
10
|
+
{%- if include.title -%}
|
11
|
+
<h2 class="pb-2 border-bottom">{{ include.title }}</h2>
|
12
|
+
{%- endif -%}
|
13
|
+
<div class="row row-cols-1 row-cols-lg-3 align-items-stretch g-4 py-5">
|
14
|
+
{%- if !include.col1_title -%}
|
15
|
+
<div class="col">
|
16
|
+
<div class="card card-cover h-100 overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('{{ include.col1_bgimg_path }}');">
|
17
|
+
<div class="d-flex flex-column h-100 p-5 pb-3 text-white text-shadow-1 {{ col_title_align_class }}">
|
18
|
+
<h3 class="pt-5 mt-5 mb-4 display-6 lh-1 fw-bold">{{ include.col1_title }}</h3>
|
19
|
+
{%- if !include.col1_link_text -%}
|
20
|
+
<a href="{{ include.col1_link_url }}" class="btn btn-secondary {{ col_link_align_class }}">{{ include.col1_link_text }}</a>
|
21
|
+
{%- endif -%}
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
{%- endif -%}
|
26
|
+
{%- if !include.col2_title -%}
|
27
|
+
<div class="col">
|
28
|
+
<div class="card card-cover h-100 overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('{{ include.col2_bgimg_path }}');">
|
29
|
+
<div class="d-flex flex-column h-100 p-5 pb-3 text-white text-shadow-1 {{ col_title_align_class }}">
|
30
|
+
<h3 class="pt-5 mt-5 mb-4 display-6 lh-1 fw-bold">{{ include.col2_title }}</h3>
|
31
|
+
{%- if !include.col2_link_text -%}
|
32
|
+
<a href="{{ include.col2_link_url }}" class="btn btn-secondary {{ col_link_align_class }}">{{ include.col2_link_text }}</a>
|
33
|
+
{%- endif -%}
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
{%- endif -%}
|
38
|
+
{%- if !include.col3_title -%}
|
39
|
+
<div class="col">
|
40
|
+
<div class="card card-cover h-100 overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('{{ include.col3_bgimg_path }}');">
|
41
|
+
<div class="d-flex flex-column h-100 p-5 pb-3 text-white text-shadow-1 {{ col_title_align_class }}">
|
42
|
+
<h3 class="pt-5 mt-5 mb-4 display-6 lh-1 fw-bold">{{ include.col3_title }}</h3>
|
43
|
+
{%- if !include.col3_link_text -%}
|
44
|
+
<a href="{{ include.col3_link_url }}" class="btn btn-secondary {{ col_link_align_class }}">{{ include.col3_link_text }}</a>
|
45
|
+
{%- endif -%}
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
{%- endif -%}
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
<!-- END Custom cards -->
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<!-- BEGIN Featurette Left -->
|
2
|
+
<div class="row featurette featurette-left my-5">
|
3
|
+
<div class="col-md-7">
|
4
|
+
{%- if include.title -%}
|
5
|
+
<h2 class="featurette-heading fw-normal lh-1">{{ include.title }}
|
6
|
+
{%- if include.tagline -%}
|
7
|
+
<span class="text-muted ms-3">{{ include.tagline }}</span>
|
8
|
+
{%- endif -%}
|
9
|
+
</h2>
|
10
|
+
{%- endif -%}
|
11
|
+
{%- if include.body -%}
|
12
|
+
<p class="lead">{{ include.body }}</p>
|
13
|
+
{%- endif -%}
|
14
|
+
</div>
|
15
|
+
<div class="col-md-5">
|
16
|
+
{%- if include.image_path -%}
|
17
|
+
<img class="bd-placeholder-img bd-placeholder-img-lg featurette-image img-fluid mx-auto" width="500" height="500" src="{{ include.image_path }}" alt="{{ include.image_text }}" />
|
18
|
+
{%- endif -%}
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
<!-- END Featurette Left -->
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<!-- BEGIN Featurette Right -->
|
2
|
+
<div class="row featurette featurette-right my-5">
|
3
|
+
<div class="col-md-7 order-md-2">
|
4
|
+
{%- if include.title -%}
|
5
|
+
<h2 class="featurette-heading fw-normal lh-1">{{ include.title }}
|
6
|
+
{%- if include.tagline -%}
|
7
|
+
<span class="text-muted ms-3">{{ include.tagline }}</span>
|
8
|
+
{%- endif -%}
|
9
|
+
</h2>
|
10
|
+
{%- endif -%}
|
11
|
+
{%- if include.body -%}
|
12
|
+
<p class="lead">{{ include.body }}</p>
|
13
|
+
{%- endif -%}
|
14
|
+
</div>
|
15
|
+
<div class="col-md-5 order-md-1">
|
16
|
+
{%- if include.image_path -%}
|
17
|
+
<img class="bd-placeholder-img bd-placeholder-img-lg featurette-image img-fluid mx-auto" width="500" height="500" src="{{ include.image_path }}" alt="{{ include.image_text }}" />
|
18
|
+
{%- endif -%}
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
<!-- END Featurette Right -->
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<!-- BEGIN Hero Centered -->
|
2
|
+
<div class="px-4 py-5 my-5 text-center component-hero-centered">
|
3
|
+
<h1 class="display-5 fw-bold">{{ include.title }}</h1>
|
4
|
+
<div class="col-lg-6 mx-auto">
|
5
|
+
<p class="lead mb-4">{{ include.body }}</p>
|
6
|
+
{%- if include.primary_link_text or include.secondary_link_text -%}
|
7
|
+
<div class="d-grid gap-2 d-sm-flex justify-content-sm-center">
|
8
|
+
{%- if include.primary_link_text -%}
|
9
|
+
<button type="button" class="btn btn-primary btn-lg px-4 gap-3" onclick="window.location.href='{{ include.primary_link_url }}';">{{ include.primary_link_text }}</button>
|
10
|
+
{%- endif -%}
|
11
|
+
{%- if include.secondary_link_text -%}
|
12
|
+
<button type="button" class="btn btn-outline-secondary btn-lg px-4" onclick="window.location.href='{{ include.secondary_link_url }}';">{{ include.secondary_link_text }}</button>
|
13
|
+
{%- endif -%}
|
14
|
+
</div>
|
15
|
+
{%- endif -%}
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<!-- BEGIN Hero Centered -->
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<!-- BEGIN Hero Centered Dark -->
|
2
|
+
<div class="bg-dark text-secondary px-4 py-5 my-5 text-center component-hero-centered-dark">
|
3
|
+
<div class="py-5">
|
4
|
+
<h1 class="display-5 fw-bold text-white">{{ include.title }}</h1>
|
5
|
+
<div class="col-lg-6 mx-auto">
|
6
|
+
<p class="fs-5 mb-4">{{ include.body }}</p>
|
7
|
+
{%- if include.primary_link_text or include.secondary_link_text -%}
|
8
|
+
<div class="d-grid gap-2 d-sm-flex justify-content-sm-center">
|
9
|
+
{%- if include.primary_link_text -%}
|
10
|
+
<button type="button" class="btn btn-outline-primary btn-lg px-4 me-sm-3 fw-bold" onclick="window.location.href='{{ include.primary_link_url }}';">{{ include.primary_link_text }}</button>
|
11
|
+
{%- endif -%}
|
12
|
+
{%- if include.secondary_link_text -%}
|
13
|
+
<button type="button" class="btn btn-outline-light btn-lg px-4" onclick="window.location.href='{{ include.secondary_link_url }}';">{{ include.secondary_link_text }}</button>
|
14
|
+
{%- endif -%}
|
15
|
+
</div>
|
16
|
+
{%- endif -%}
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
<!-- END Hero Centered Dark -->
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<!-- BEGIN Hero Image Right -->
|
2
|
+
<div class="container col-xxl-8 px-4 my-5 component-hero-image-right">
|
3
|
+
<div class="row flex-lg-row-reverse align-items-center g-5 py-5">
|
4
|
+
<div class="col-10 col-sm-8 col-lg-6">
|
5
|
+
<img src="{{ include.image_path }}" class="d-block mx-lg-auto img-fluid" alt="{{ include.image_text }}" title="{{ include.image_title }}" width="700" height="500" loading="lazy">
|
6
|
+
</div>
|
7
|
+
<div class="col-lg-6">
|
8
|
+
<h1 class="display-5 fw-bold lh-1 mb-3">{{ include.title }}</h1>
|
9
|
+
<p class="lead">{{ include.body }}</p>
|
10
|
+
{%- if include.primary_link_text or include.secondary_link_text -%}
|
11
|
+
<div class="d-grid gap-2 d-md-flex justify-content-md-start">
|
12
|
+
{%- if include.primary_link_text -%}
|
13
|
+
<button type="button" class="btn btn-primary btn-lg px-4 me-md-2" onclick="window.location.href='{{ include.primary_link_url }}';">{{ include.primary_link_text }}</button>
|
14
|
+
{%- endif -%}
|
15
|
+
{%- if include.secondary_link_text -%}
|
16
|
+
<button type="button" class="btn btn-outline-secondary btn-lg px-4" onclick="window.location.href='{{ include.secondary_link_url }}';">{{ include.secondary_link_text }}</button>
|
17
|
+
{%- endif -%}
|
18
|
+
</div>
|
19
|
+
{%- endif -%}
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
<!-- END Hero Image Right -->
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<!-- BEGIN Jumbotron Full -->
|
2
|
+
<div class="p-5 mb-4 bg-light rounded-3 jumbotron-full">
|
3
|
+
<div class="container-fluid py-5">
|
4
|
+
{%- if include.title -%}
|
5
|
+
<h1 class="display-5 fw-bold">{{ include.title }}</h1>
|
6
|
+
{%- endif -%}
|
7
|
+
<div class="col-md-12 fs-4">{{ include.body }}</div>
|
8
|
+
{%- if include.primary_link_text or include.secondary_link_text -%}
|
9
|
+
<div class="mt-3">
|
10
|
+
{%- if include.primary_link_text -%}
|
11
|
+
<button class="btn btn-primary btn-lg me-3" type="button" onclick="window.location.href='{{ include.primary_link_url }}';">{{ include.primary_link_text }}</button>
|
12
|
+
{%- endif -%}
|
13
|
+
{%- if include.secondary_link_text -%}
|
14
|
+
<button class="btn btn-secondary btn-lg me-3" type="button" onclick="window.location.href='{{ include.secondary_link_url }}';">{{ include.secondary_link_text }}</button>
|
15
|
+
{%- endif -%}
|
16
|
+
</div>
|
17
|
+
{%- endif -%}
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
<!-- END Jumbotron Full -->
|
@@ -0,0 +1,46 @@
|
|
1
|
+
{%- if include.left_style_dark != false -%}
|
2
|
+
{% assign left_div_style = "text-bg-dark" %}
|
3
|
+
{% assign left_button_style = "btn-outline-light" %}
|
4
|
+
{%- else -%}
|
5
|
+
{% assign left_div_style = "bg-light border" %}
|
6
|
+
{% assign left_button_style = "btn-outline-secondary" %}
|
7
|
+
{%- endif -%}
|
8
|
+
|
9
|
+
{%- if include.right_style_dark != false -%}
|
10
|
+
{% assign right_div_style = "text-bg-dark" %}
|
11
|
+
{% assign right_button_style = "btn-outline-light" %}
|
12
|
+
{%- else -%}
|
13
|
+
{% assign right_div_style = "bg-light border" %}
|
14
|
+
{% assign right_button_style = "btn-outline-secondary" %}
|
15
|
+
{%- endif -%}
|
16
|
+
|
17
|
+
<!-- BEGIN Jumbotron Split -->
|
18
|
+
<div class="row align-items-md-stretch jumbotron-split px-4 my-5">
|
19
|
+
<div class="col-md-6">
|
20
|
+
<div class="h-100 p-5 rounded-3 {{ left_div_style }}">
|
21
|
+
{%- if include.left_title -%}
|
22
|
+
<h2>{{ include.left_title }}</h2>
|
23
|
+
{%- endif -%}
|
24
|
+
{%- if include.left_body -%}
|
25
|
+
<div class="mb-3">{{ include.left_body }}</div>
|
26
|
+
{%- endif -%}
|
27
|
+
{%- if include.left_link_text -%}
|
28
|
+
<button class="btn {{ left_button_style }}" type="button" onclick="window.location.href='{{ include.left_link_url }}';">{{ include.left_link_text }}</button>
|
29
|
+
{%- endif -%}
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
<div class="col-md-6">
|
33
|
+
<div class="h-100 p-5 rounded-3 {{ right_div_style }}">
|
34
|
+
{%- if include.right_title -%}
|
35
|
+
<h2>{{ include.right_title }}</h2>
|
36
|
+
{%- endif -%}
|
37
|
+
{%- if include.right_body -%}
|
38
|
+
<div class="mb-3">{{ include.right_body }}</div>
|
39
|
+
{%- endif -%}
|
40
|
+
{%- if include.right_link_text -%}
|
41
|
+
<button class="btn {{ right_button_style }}" type="button" onclick="window.location.href='{{ include.right_link_url }}';">{{ include.right_link_text }}</button>
|
42
|
+
{%- endif -%}
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<!-- END Jumbotron Split -->
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<!-- BEGIN categories listing -->
|
2
|
+
{% capture categories %}{% for category in site.categories %}{{ category | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
3
|
+
{% assign categories_list = categories | split:',' | sort_natural %}
|
4
|
+
<h3>Categories</h3>
|
5
|
+
<ul id="category-list" class="entry-meta inline-list">
|
6
|
+
{% for category in (0..site.categories.size) %}
|
7
|
+
{% unless forloop.last %}
|
8
|
+
{% capture category_name %}{{ categories_list[category] | strip_newlines }}{% endcapture %}
|
9
|
+
<li>
|
10
|
+
<a href="/categories/#{{ category_name | slugify }}"><span class="category-name">{{ category_name }}</span></a>
|
11
|
+
<span class="category-count">({{ site.categories[category_name].size }})</span>
|
12
|
+
</li>
|
13
|
+
{% endunless %}
|
14
|
+
{% endfor %}
|
15
|
+
</ul>
|
16
|
+
<!-- END categories listing -->
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<footer class="d-flex flex-wrap justify-content-between align-items-center py-3 my-4 border-top">
|
2
|
+
{% include footer_custom.html %}
|
3
|
+
<div class="col-md-4 d-flex align-items-center">
|
4
|
+
<a href="/" class="mb-3 me-2 mb-md-0 text-muted text-decoration-none lh-1">
|
5
|
+
{%- if site.jekyll-twitter-bootstrap.logo.footer -%}
|
6
|
+
{{ site.jekyll-twitter-bootstrap.logo.footer }}
|
7
|
+
{%- else -%}
|
8
|
+
<svg class="bi" width="30" height="24"><use xlink:href="/assets/svg/bootstrap-icons.svg#bootstrap"/></svg>
|
9
|
+
{%- endif -%}
|
10
|
+
</a>
|
11
|
+
{%- assign copyright_year = 'now' | date: "%Y" -%}
|
12
|
+
{%- if site.jekyll-twitter-bootstrap.copyright_year_start -%}
|
13
|
+
{%- assign copyright_year = site.jekyll-twitter-bootstrap.copyright_year_start | append: "-" | append: copyright_year -%}
|
14
|
+
{%- endif -%}
|
15
|
+
<span class="mb-3 mb-md-0 text-muted">© {{ copyright_year }} {{ site.title | escape }}</span>
|
16
|
+
</div>
|
17
|
+
{%- if titles_size > 0 -%}
|
18
|
+
<ul class="nav col-md-4 justify-content-end list-unstyled d-flex">
|
19
|
+
{%- for path in page_paths -%}
|
20
|
+
{%- assign this_page = site.pages | where: "path", path | first -%}
|
21
|
+
{%- if this_page.title -%}
|
22
|
+
{%- if this_page.url == page.url -%}
|
23
|
+
{% assign class = 'text-decoration-underline' %}
|
24
|
+
{% assign aria = 'aria-current="page"' %}
|
25
|
+
{%- endif -%}
|
26
|
+
<li class="nav-item"><a href="{{ this_page.url | relative_url }}" class="nav-link px-2 text-muted {{ class }}" {{ aria }}>{{ this_page.title | escape }}</a></li>
|
27
|
+
{% assign class = nil %}
|
28
|
+
{% assign aria = nil %}
|
29
|
+
{%- endif -%}
|
30
|
+
{%- endfor -%}
|
31
|
+
</ul>
|
32
|
+
{%- endif -%}
|
33
|
+
</footer>
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{%- if site.google_analytics_tracking_id and page.ga_do_not_track != true -%}
|
2
|
+
<!-- BEGIN Google Analytics -->
|
3
|
+
<!-- Google tag (gtag.js) -->
|
4
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics_tracking_id }}"></script>
|
5
|
+
<script>
|
6
|
+
window.dataLayer = window.dataLayer || [];
|
7
|
+
function gtag(){dataLayer.push(arguments);}
|
8
|
+
gtag('js', new Date());
|
9
|
+
|
10
|
+
gtag('config', '{{ site.google_analytics_tracking_id }}');
|
11
|
+
</script>
|
12
|
+
<!-- END Google Analytics -->
|
13
|
+
{%- endif -%}
|
data/_includes/head.html
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
<meta charset="utf-8">
|
2
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
3
|
+
<meta name="description" content="{{ site.description }}">
|
4
|
+
<meta name="author" content="{{ site.author.name }}">
|
5
|
+
<title>{{ page.title }} | {{ site.title }}</title>
|
6
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
|
7
|
+
<link href="/assets/css/styles.css" rel="stylesheet">
|
8
|
+
<!-- BEGIN Favicons -->
|
9
|
+
<link rel="apple-touch-icon" href="/assets/images/favicons/apple-touch-icon.png" sizes="180x180">
|
10
|
+
<link rel="icon" href="/assets/images/favicons/favicon-32x32.png" sizes="32x32" type="image/png">
|
11
|
+
<link rel="icon" href="/assets/images/favicons/favicon-16x16.png" sizes="16x16" type="image/png">
|
12
|
+
<link rel="mask-icon" href="/assets/images/favicons/safari-pinned-tab.svg" color="#712cf9">
|
13
|
+
<link rel="icon" href="/assets/images/favicons/favicon.ico">
|
14
|
+
<!-- END Favicons -->
|
15
|
+
{% include google_analytics.html %}
|
16
|
+
{% include head_custom.html %}
|
File without changes
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{%- assign default_paths = site.pages | map: "path" -%}
|
2
|
+
{%- assign page_paths = site.header_pages | default: default_paths -%}
|
3
|
+
{%- assign titles_size = site.pages | map: 'title' | join: '' | size -%}
|
4
|
+
<header class="d-flex flex-wrap justify-content-center py-3 mb-4 border-bottom">
|
5
|
+
<a href="{{ "/" | relative_url }}" class="d-flex align-items-center mb-3 mb-md-0 me-md-auto text-dark text-decoration-none">
|
6
|
+
{%- if site.jekyll-twitter-bootstrap.logo.header -%}
|
7
|
+
{{ site.jekyll-twitter-bootstrap.logo.header }}
|
8
|
+
{%- else -%}
|
9
|
+
<svg class="bi me-2" width="40" height="32"><use xlink:href="/assets/svg/bootstrap.svg#bootstrap"/></svg>
|
10
|
+
{%- endif -%}
|
11
|
+
<span class="fs-4">{{ site.title | escape }}</span>
|
12
|
+
</a>
|
13
|
+
{%- if titles_size > 0 -%}
|
14
|
+
<ul class="nav nav-pills">
|
15
|
+
{%- for path in page_paths -%}
|
16
|
+
{%- assign this_page = site.pages | where: "path", path | first -%}
|
17
|
+
{%- if this_page.title -%}
|
18
|
+
{%- if this_page.url == page.url -%}
|
19
|
+
{% assign class = 'active' %}
|
20
|
+
{% assign aria = 'aria-current="page"' %}
|
21
|
+
{%- endif -%}
|
22
|
+
<li class="nav-item"><a href="{{ this_page.url | relative_url }}" class="nav-link {{ class }}" {{ aria }}>{{ this_page.title | escape }}</a></li>
|
23
|
+
{% assign class = nil %}
|
24
|
+
{% assign aria = nil %}
|
25
|
+
{%- endif -%}
|
26
|
+
{%- endfor -%}
|
27
|
+
</ul>
|
28
|
+
{%- endif -%}
|
29
|
+
{% include header_custom.html %}
|
30
|
+
</header>
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!-- BEGIN post listings by categories -->
|
2
|
+
{%- assign date_format = site.jekyll-twitter-bootstrap.date_format | default: "%B %e, %Y at %l:%M%p" -%}
|
3
|
+
{% for category in site.categories %}
|
4
|
+
<h3><a name="{{ category[0] | slugify }}"></a>{{ category[0] }}</h3>
|
5
|
+
<ul class="list-unstyled">
|
6
|
+
{% for post in category[1] %}
|
7
|
+
<li class="ms-3">
|
8
|
+
<h4 class="fs-5 mb-1"><a href="{{ post.url }}">{{ post.title }}</a></h4>
|
9
|
+
<p class="fst-italic lh-sm">{{ post.date | date: date_format }}</p>
|
10
|
+
</li>
|
11
|
+
{% endfor %}
|
12
|
+
</ul>
|
13
|
+
{% endfor %}
|
14
|
+
<!-- END post listings by categories -->
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<!-- BEGIN post listings by latest, count -->
|
2
|
+
{%- assign date_format = site.jekyll-twitter-bootstrap.date_format | default: "%B %e, %Y at %l:%M%p" -%}
|
3
|
+
{% assign posts = site.posts %}
|
4
|
+
{%- if posts.size > 0 -%}
|
5
|
+
<ul class="list-unstyled">
|
6
|
+
{% for post in posts limit:include.posts_count | sort: 'date' | reverse %}
|
7
|
+
<li class="mb-5">
|
8
|
+
<h4 class="fs-5 mb-1"><a href="{{ post.url }}">{{ post.title }}</a></h4>
|
9
|
+
<p class="fst-italic lh-sm">{{ post.date | date: date_format }}</p>
|
10
|
+
<div>
|
11
|
+
{%- if site.show_excerpts -%}
|
12
|
+
{{ post.excerpt }}
|
13
|
+
{%- endif -%}
|
14
|
+
</div>
|
15
|
+
<div>
|
16
|
+
<p><a href="{{ post.url | relative_url }}" class="fst-italic">Continue reading...</a></p>
|
17
|
+
</div>
|
18
|
+
</li>
|
19
|
+
{% endfor %}
|
20
|
+
</ul>
|
21
|
+
{% endif %}
|
22
|
+
<!-- END post listings by latest, count -->
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!-- BEGIN post listings by tags -->
|
2
|
+
{%- assign date_format = site.jekyll-twitter-bootstrap.date_format | default: "%B %e, %Y at %l:%M%p" -%}
|
3
|
+
{% for tag in site.tags %}
|
4
|
+
<h3><a name="{{ tag[0] | slugify }}"></a>{{ tag[0] }}</h3>
|
5
|
+
<ul class="list-unstyled">
|
6
|
+
{% for post in tag[1] %}
|
7
|
+
<li class="ms-3">
|
8
|
+
<h4 class="fs-5 mb-1"><a href="{{ post.url }}">{{ post.title }}</a></h4>
|
9
|
+
<p class="fst-italic lh-sm">{{ post.date | date: date_format }}</p>
|
10
|
+
</li>
|
11
|
+
{% endfor %}
|
12
|
+
</ul>
|
13
|
+
{% endfor %}
|
14
|
+
<!-- END post listings by tags -->
|
data/_includes/tags.html
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
<!-- BEGIN tags listing -->
|
2
|
+
{% capture tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
3
|
+
{% assign tags_list = tags | split:',' | sort_natural %}
|
4
|
+
<h3>Tags</h3>
|
5
|
+
<ul id="tag-list" class="entry-meta inline-list">
|
6
|
+
{% for tag in (0..site.tags.size) %}
|
7
|
+
{% unless forloop.last %}
|
8
|
+
{% capture tag_name %}{{ tags_list[tag] | strip_newlines }}{% endcapture %}
|
9
|
+
<li>
|
10
|
+
<a href="/tags/#{{ tag_name | slugify }}"><span class="tag-name">{{ tag_name }}</span></a>
|
11
|
+
<span class="tag-count">({{ site.tags[tag_name].size }})</span>
|
12
|
+
</li>
|
13
|
+
{% endunless %}
|
14
|
+
{% endfor %}
|
15
|
+
</ul>
|
16
|
+
<!-- END tags listing -->
|
data/_layouts/base.html
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
{% include head.html %}
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<div class="container">
|
8
|
+
{% include header.html %}
|
9
|
+
<main>
|
10
|
+
{{ content }}
|
11
|
+
</main>
|
12
|
+
{% include footer.html %}
|
13
|
+
</div>
|
14
|
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
|
15
|
+
</body>
|
16
|
+
</html>
|
data/_layouts/blog.html
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
---
|
2
|
+
layout: page_sidebar
|
3
|
+
---
|
4
|
+
|
5
|
+
{{ content }}
|
6
|
+
<!-- BEGIN Main blog content -->
|
7
|
+
{% if site.paginate %}
|
8
|
+
{% assign posts = paginator.posts %}
|
9
|
+
{% else %}
|
10
|
+
{% assign posts = site.posts %}
|
11
|
+
{% endif %}
|
12
|
+
{%- if posts.size > 0 -%}
|
13
|
+
{%- assign date_format = site.jekyll-twitter-bootstrap.date_format | default: "%B %e, %Y at %l:%M%p" -%}
|
14
|
+
{%- for post in posts -%}
|
15
|
+
<!-- BEGIN Blog post -->
|
16
|
+
<article class="blog-post mb-5">
|
17
|
+
<h2 class="blog-post-title mb-1"><a href="{{ post.url | relative_url }}"
|
18
|
+
class="text-decoration-none">{{ post.title | escape }}</a></h2>
|
19
|
+
<p class="blog-post-meta">
|
20
|
+
<time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}"
|
21
|
+
itemprop="datePublished">{{ post.date | date: date_format }}</time> by
|
22
|
+
{%- if post.author -%}
|
23
|
+
{% for author in post.author %}
|
24
|
+
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
25
|
+
<span class="p-author h-card" itemprop="name">{{ author }}</span></span>
|
26
|
+
{%- if forloop.last == false %}, {% endif -%}
|
27
|
+
{% endfor %}
|
28
|
+
{%- endif -%}
|
29
|
+
{%- if post.categories or post.category -%}
|
30
|
+
<span class="blog-category-spacer mx-2">|</span>
|
31
|
+
{%- endif -%}
|
32
|
+
{%- if post.categories -%}
|
33
|
+
{% for category in post.categories %}
|
34
|
+
<a href="/categories/#{{ category | slugify }}">{{ category }}</a>
|
35
|
+
{%- if forloop.last == false %}, {% endif -%}
|
36
|
+
{% endfor %}
|
37
|
+
{%- elsif post.category -%}
|
38
|
+
<a href="/categories/#{{ post.category | slugify }}">{{ post.category }}</a>
|
39
|
+
{%- endif -%}
|
40
|
+
<div>
|
41
|
+
{%- if site.show_excerpts -%}
|
42
|
+
{{ post.excerpt }}
|
43
|
+
{%- endif -%}
|
44
|
+
</div>
|
45
|
+
<div>
|
46
|
+
<p><a href="{{ post.url | relative_url }}" class="fst-italic">Continue reading...</a></p>
|
47
|
+
</div>
|
48
|
+
<div itemprop="keywords">
|
49
|
+
{%- if post.tags -%}
|
50
|
+
{% for tag in post.tags %}
|
51
|
+
<a href="/tags/#{{ tag | slugify }}">{{ tag }}</a>
|
52
|
+
{%- if forloop.last == false %}, {% endif -%}
|
53
|
+
{% endfor %}
|
54
|
+
{%- endif -%}
|
55
|
+
</div>
|
56
|
+
</article>
|
57
|
+
{%- endfor -%}
|
58
|
+
<!-- END Blog post -->
|
59
|
+
{% if site.paginate %}
|
60
|
+
<!-- BEGIN Paging -->
|
61
|
+
<nav class="blog-pagination" aria-label="Pagination">
|
62
|
+
{%- if paginator.previous_page %}
|
63
|
+
<a class="btn btn-outline-primary rounded-pill"
|
64
|
+
href="{{ paginator.previous_page_path | relative_url }}">Newer</a>
|
65
|
+
{%- endif %}
|
66
|
+
{%- if paginator.next_page %}
|
67
|
+
<a class="btn btn-outline-primary rounded-pill"
|
68
|
+
href="{{ paginator.next_page_path | relative_url }}">Older</a>
|
69
|
+
{%- endif %}
|
70
|
+
</nav>
|
71
|
+
<!-- END Paging -->
|
72
|
+
{%- endif %}
|
73
|
+
{%- endif -%}
|