jekyll-theme-lydde 0.1.1 → 0.1.2
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 +4 -4
- data/_config.yml +5 -0
- data/_includes/analytics.liquid +12 -0
- data/_includes/breadcrumb.liquid +31 -12
- data/_includes/footer.liquid +48 -44
- data/_includes/header.liquid +129 -100
- data/_includes/hero.liquid +39 -0
- data/_includes/scripts.liquid +2 -2
- data/_includes/seo.liquid +148 -0
- data/_includes/todo/hierachy.liquid +22 -0
- data/_layouts/default.html +45 -5
- data/_sass/website.scss +74 -7
- data/assets/resources/site/debug.json +5 -0
- data/assets/resources/site/humans.txt +14 -14
- data/assets/resources/site/{sitemap.md → sitemap.markdown} +1 -2
- data/assets/videos/demo.mp4 +0 -0
- metadata +11 -4
- /data/assets/resources/site/{404.md → 404.markdown} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a55e172d5a897d5688fa8f3bb94a935b0c03b8bde9dbde31c75457513343c87
|
4
|
+
data.tar.gz: 5099f6a9e8ff744d35167bf95d769f5cf33d3994e7d683eea3417175f06a1aa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c72ab91bbbf9b206f81654b9c92d2d73a551d7a99bc461dffbc2c2da5a668192d6639e354fad677a144c75d300a776d71f54dc01bb234f45a322ca89a859ea8
|
7
|
+
data.tar.gz: 59bba63820abe7cf3f5b24544bc41f606c3fa682b55d4928d61ea270fa248f047bd881ad627cef91952543eab76d4f7f4f34728278b389c11e92d0628cb6c5ee
|
data/_config.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
{%- assign analytics = site.data.settings.analytics | default: site.analytics -%}
|
2
|
+
{% if analytics %}
|
3
|
+
<!-- Global Google Site Tag -->
|
4
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id={{ analytics }}"></script>
|
5
|
+
<script>
|
6
|
+
window.dataLayer = window.dataLayer || [];
|
7
|
+
function gtag(){dataLayer.push(arguments);}
|
8
|
+
gtag('js', new Date());
|
9
|
+
|
10
|
+
gtag('config', '{{ analytics }}');
|
11
|
+
</script>
|
12
|
+
{% endif %}
|
data/_includes/breadcrumb.liquid
CHANGED
@@ -1,20 +1,39 @@
|
|
1
|
-
|
1
|
+
{%- comment -%}
|
2
|
+
The breadcrumb component is used to show the current page's location in the site hierarchy.
|
3
|
+
It is based on Bootstrap's breadcrumb component.
|
4
|
+
Each crumb expose the page title (if exist)
|
5
|
+
{%- endcomment -%}
|
2
6
|
<nav
|
3
7
|
id="breadcrumb"
|
4
8
|
aria-label="breadcrumb">
|
5
|
-
<ol
|
6
|
-
|
7
|
-
<li class="breadcrumb-item">
|
9
|
+
<ol>
|
10
|
+
<li>
|
8
11
|
<a href="/">Home</a>
|
9
12
|
</li>
|
10
|
-
{
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
{%- comment -%}
|
14
|
+
Hierarchy-Based Breadcrumbs (a.k.a., Location-Based Breadcrumbs)
|
15
|
+
The most common type of breadcrumbs that tell users where they are in the site structure and how to get back to the homepage.
|
16
|
+
For example: Home > Resources > Page
|
17
|
+
{%- endcomment -%}
|
18
|
+
{%- assign crumbs = page.url | remove: '/index.html' | split: '/' -%}
|
19
|
+
{%- for crumb in crumbs offset: 1 -%}
|
20
|
+
{%- unless forloop.last -%}
|
21
|
+
<li>
|
22
|
+
{%- capture crumb_path -%}
|
23
|
+
{%- assign crumb_limit = forloop.index | plus: 1 -%}
|
24
|
+
{%- for crumb in crumbs limit: crumb_limit -%}{{ crumb | append: '/' }}{%- endfor -%}
|
25
|
+
{%- endcapture -%}
|
26
|
+
<a href="{{ crumb_path }}">
|
27
|
+
{%- assign aim = site.pages | where:"url", crumb_path | first -%}
|
28
|
+
{{ aim.title }}
|
29
|
+
</a>
|
16
30
|
</li>
|
17
|
-
|
18
|
-
{
|
31
|
+
{%- endunless -%}
|
32
|
+
{%- endfor -%}
|
33
|
+
{% comment %}
|
34
|
+
Attribute-Based Breadcrumbs
|
35
|
+
This is commonly used on ecommerce sites to show what attributes the user has clicked.
|
36
|
+
For example: Home > Shoes > Hiking > Womens
|
37
|
+
{% endcomment %}
|
19
38
|
</ol>
|
20
39
|
</nav>
|
data/_includes/footer.liquid
CHANGED
@@ -1,60 +1,64 @@
|
|
1
1
|
{%- assign company = authors.default.name | default: site.title | escape -%}
|
2
2
|
{%- assign menus = site.settings.menus.footer | default: site.data.settings.menus.footer -%}
|
3
|
-
{%- assign social = site.settings.social| default: site.data.settings.social -%}
|
3
|
+
{%- assign social = site.settings.social | default: site.data.settings.social -%}
|
4
4
|
|
5
5
|
{%- if page.footer != false -%}
|
6
|
-
<footer id="footer" class="border-top text-muted">
|
6
|
+
<footer id="footer" class="border-top text-muted">
|
7
7
|
<div class="container">
|
8
|
-
|
9
|
-
|
8
|
+
<!-- Footer Top -->
|
9
|
+
<div id="footer-top"></div>
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
<!-- Footer Main-->
|
12
|
+
{% if social or menus %}
|
13
13
|
<div id="footer-main" class="row pt-3 border-bottom">
|
14
|
-
|
14
|
+
{% if social %}
|
15
15
|
<!-- Social Media -->
|
16
16
|
<div id="social" class="col-sm-12 col-lg-6">
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
<h2 class="h5">Let's Connect</h2>
|
18
|
+
<p>Follow us on your favorite platform</p>
|
19
|
+
<div>
|
20
|
+
{% include social.liquid class = "nav pb-3" %}
|
21
|
+
</div>
|
22
22
|
</div>
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
23
|
+
{% endif %}
|
24
|
+
{% if menus %}
|
25
|
+
<!-- Links -->
|
26
|
+
{%- for menu in menus -%}
|
27
|
+
<div id="{{ menu.title | slugify }}" class="col-lg-3 col-sm-6">
|
28
|
+
<h2 class="h5">{{ menu.title }}</h2>
|
29
|
+
<div>
|
30
|
+
<ul class="nav flex-column pb-3">
|
31
|
+
{% for item in menu.links %}
|
32
|
+
<li class="nav-item mb-2">
|
33
|
+
<a
|
34
|
+
class="nav-link p-0 text-muted"
|
35
|
+
href="{{ item.link | absolute_url }}"
|
36
|
+
title="{{ menu.title }}: {{ item.title }}">{{ item.title }}</a>
|
37
|
+
</li>
|
38
|
+
{% endfor %}
|
39
|
+
</ul>
|
38
40
|
</div>
|
39
|
-
|
40
|
-
{%-
|
41
|
+
</div>
|
42
|
+
{%- endfor -%}
|
43
|
+
{%- endif -%}
|
41
44
|
</div>
|
42
|
-
|
45
|
+
{% endif %}
|
43
46
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
47
|
+
<!-- Footer Bottom: Website information -->
|
48
|
+
<div id="footer-bottom">
|
49
|
+
<div class="row py-3">
|
50
|
+
<div id="copyright" class="col-sm-6">
|
51
|
+
<p>© Copyright {{ "now" | date: "%Y" }}{% if company %}
|
52
|
+
- {{ company }}{%- endif -%}
|
53
|
+
</p>
|
54
|
+
</div>
|
55
|
+
<div id="disclaimer" class="col-sm-6 text-center text-lg-end">
|
56
|
+
<a href="https://lydde.com">
|
57
|
+
<img src="{{ '/assets/lydde.png' | absolute_url }}"alt="{%- if company -%}{{ company }} is {%- endif -%}a subsidiary of LYDDE Group">
|
58
|
+
</a>
|
59
|
+
</div>
|
57
60
|
</div>
|
61
|
+
</div>
|
58
62
|
</div>
|
59
|
-
</footer>
|
63
|
+
</footer>
|
60
64
|
{%- endif -%}
|
data/_includes/header.liquid
CHANGED
@@ -1,124 +1,153 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
The header is based on Bootstrap 5 Navbar component
|
3
|
+
The structure is composed of 3 parts:
|
4
|
+
- Header Top: Social Network
|
5
|
+
- Header Main: Site Menu
|
6
|
+
- Header Bottom: links
|
7
|
+
{%- endcomment -%}
|
1
8
|
{%- assign company = authors.default.name | site.title | default: 'Theme' | escape -%}
|
2
9
|
{%- assign menus = site.settings.menus.header | default: site.data.settings.menus.header -%}
|
3
10
|
{%- assign social = site.settings.social | default: site.data.settings.social -%}
|
4
11
|
|
5
12
|
{%- assign logo = site.logo | default: "/assets/logo.png" -%}
|
6
13
|
{%- for files in site.static_files -%}
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
14
|
+
{%- if files.path == logo -%}
|
15
|
+
{%- assign logoExist = true -%}
|
16
|
+
{%- break -%}
|
17
|
+
{%- endif -%}
|
11
18
|
{%- endfor -%}
|
12
19
|
|
13
20
|
{%- if page.header != false -%}
|
14
21
|
<header id="header">
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
</div>
|
22
|
+
<div class="container">
|
23
|
+
|
24
|
+
<!-- Header Top: Social Network -->
|
25
|
+
{%- if social -%}
|
26
|
+
<div id="header-top">
|
27
|
+
<div class="d-lg-none spacer"> </div>
|
28
|
+
<div class="d-none d-lg-block">
|
29
|
+
<!-- Social Network -->
|
30
|
+
{% include social.liquid class = "nav justify-content-end" %}
|
25
31
|
</div>
|
26
|
-
|
32
|
+
</div>
|
33
|
+
{%- endif -%}
|
27
34
|
|
28
|
-
|
29
|
-
|
30
|
-
|
35
|
+
<!-- Header Main: Site Menu -->
|
36
|
+
<nav id="header-main" class="navbar navbar-expand-lg">
|
37
|
+
<div class="container-fluid">
|
38
|
+
<!-- Logo -->
|
39
|
+
<div id="logo">
|
40
|
+
<a
|
41
|
+
id="brand"
|
42
|
+
class="navbar-brand"
|
43
|
+
href="{{ '/' | absolute_url }}"
|
44
|
+
title="{{ company }}"
|
45
|
+
rel="author">
|
31
46
|
{%- if logoExist -%}
|
32
|
-
|
33
|
-
<div id="logo" class="navbar-brand">
|
34
|
-
<a id="brand" href="{{ '/'' | absolute_url }}" title="{{ company }}" rel="author">
|
35
|
-
<img src="{{ logo | absolute_url }}" alt="{{ company }}">
|
36
|
-
</a>
|
37
|
-
</div>
|
47
|
+
<img src="{{ logo | absolute_url }}" alt="{{ company }}" />
|
38
48
|
{%- else -%}
|
39
|
-
|
40
|
-
<a id="brand" href="{{ '/' | absolute_url }}" title="{{ company }}" rel="author" class="navbar-brand">{{ company }}</a>
|
49
|
+
{{ company }}
|
41
50
|
{%- endif -%}
|
51
|
+
</a>
|
52
|
+
</div>
|
42
53
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
+
<!-- Responsive Toggle Button -->
|
55
|
+
<button
|
56
|
+
class="navbar-toggler"
|
57
|
+
type="button"
|
58
|
+
data-bs-toggle="collapse"
|
59
|
+
data-bs-target="#navbarContent"
|
60
|
+
aria-controls="navbarContent"
|
61
|
+
aria-expanded="false"
|
62
|
+
aria-label="Toggle navigation menu">
|
63
|
+
<span class="navbar-toggler-icon"></span>
|
64
|
+
</button>
|
54
65
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
{% endfor %}
|
72
|
-
</ul>
|
73
|
-
</div>
|
74
|
-
<hr />
|
75
|
-
{% endfor %}
|
76
|
-
{%- else -%}
|
77
|
-
<!-- Default Navigation -->
|
78
|
-
<ul class="navbar-nav col-lg-6 justify-content-lg-center">
|
79
|
-
{%- assign paths = site.pages | map: "path" -%}
|
80
|
-
{%- for path in paths -%}
|
81
|
-
{%- assign item = site.pages | where: "path", path | first -%}
|
82
|
-
{%- if item.title and item.path contains "resources/pages" -%}
|
83
|
-
{%- assign resources = true -%}
|
84
|
-
{%- break -%}
|
66
|
+
<!-- Navigation -->
|
67
|
+
<div id="navbarContent" class="collapse navbar-collapse p-2 pt-5 p-lg-0">
|
68
|
+
{% comment %}
|
69
|
+
Display the menu from the configuration file (site or data) if it exists
|
70
|
+
Overwise, display the default menu based on the page hierarchy
|
71
|
+
{% endcomment %}
|
72
|
+
{%- if menus -%}
|
73
|
+
{% for menu in menus %}
|
74
|
+
<!-- Site -->
|
75
|
+
<div id="{{ menu.title | slugify }}" {% if menu.position == 'left' %}class="me-auto"{% endif %}>
|
76
|
+
<ul class="navbar-nav nav-pills">
|
77
|
+
{% for item in menu.links %}
|
78
|
+
<li class="nav-item">
|
79
|
+
<a class="nav-link px-3{%- if page.url == item.link -%} active{%- endif -%}" {%- if page.url == item.link -%}aria-current="page"{%- endif -%}href="{{ item.link | absolute_url }}"title="{{ item.title }}">
|
80
|
+
{%- if item.icon -%}
|
81
|
+
<i class="{{ item.icon }}"></i>
|
85
82
|
{%- endif -%}
|
86
|
-
|
83
|
+
{{ item.title | escape }}
|
84
|
+
</a>
|
85
|
+
</li>
|
86
|
+
{% endfor %}
|
87
|
+
</ul>
|
88
|
+
</div>
|
89
|
+
<hr/>
|
90
|
+
{% endfor %}
|
91
|
+
{%- else -%}
|
92
|
+
<!-- Default Navigation -->
|
93
|
+
<ul class="navbar-nav justify-content-lg-center">
|
94
|
+
{% comment %}
|
95
|
+
Extract all pages and sort them by path
|
96
|
+
{% endcomment %}
|
97
|
+
{%- assign paths = site.pages | map: "path" | sort -%}
|
98
|
+
{%- for path in paths -%}
|
99
|
+
{%- assign item = site.pages | where: "path", path | first -%}
|
100
|
+
{%- if item.title and item.path contains "resources/pages" -%}
|
101
|
+
{%- assign resources = true -%}
|
102
|
+
{%- break -%}
|
103
|
+
{%- endif -%}
|
104
|
+
{%- endfor -%}
|
87
105
|
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
{
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
106
|
+
{%- for path in paths -%}
|
107
|
+
{%- assign item = site.pages | where: "path", path | first -%}
|
108
|
+
{%- if resources == true -%}
|
109
|
+
{%- if item.title and item.path contains "resources/pages" -%}
|
110
|
+
<li>
|
111
|
+
<a
|
112
|
+
class="nav-link"
|
113
|
+
href="{{ item.url | absolute_url }}"
|
114
|
+
title="{{ item.title }}">{{ item.title }}</a>
|
115
|
+
</li>
|
116
|
+
{%- endif -%}
|
117
|
+
{%- else -%}
|
118
|
+
{% comment %}
|
119
|
+
Create a hiearchy of pages but exclude resources
|
120
|
+
{% endcomment %}
|
121
|
+
|
122
|
+
{%- unless item.path contains "resources" -%}
|
123
|
+
{%- if item.title and item.layout == "page" -%}
|
124
|
+
<li>
|
125
|
+
<a
|
126
|
+
class="nav-link"
|
127
|
+
href="{{ item.url | absolute_url }}"
|
128
|
+
title="{{ item.title }}">{{ item.title }}</a>
|
129
|
+
</li>
|
130
|
+
|
104
131
|
{%- endif -%}
|
105
|
-
|
106
|
-
</ul>
|
107
|
-
{%- endif -%}
|
108
|
-
{%- if social -%}
|
109
|
-
<hr />
|
110
|
-
<!-- Social Network -->
|
111
|
-
<div class="d-lg-none border-top">
|
112
|
-
<h4>Follow us</h4>
|
113
|
-
{% include social.html class="nav justify-content-center" %}
|
114
|
-
</div>
|
132
|
+
{%- endunless -%}
|
115
133
|
{%- endif -%}
|
116
|
-
|
134
|
+
{%- endfor -%}
|
135
|
+
</ul>
|
136
|
+
{%- endif -%}
|
137
|
+
{%- if social -%}
|
138
|
+
<hr/>
|
139
|
+
<!-- Social Network -->
|
140
|
+
<div class="d-lg-none border-top">
|
141
|
+
<h4>Follow us</h4>
|
142
|
+
{% include social.liquid class = "nav justify-content-center" %}
|
117
143
|
</div>
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
144
|
+
{%- endif -%}
|
145
|
+
</div>
|
146
|
+
</div>
|
147
|
+
</nav>
|
148
|
+
|
149
|
+
<!-- Header Bottom -->
|
150
|
+
<div id="header-bottom"></div>
|
151
|
+
</div>
|
123
152
|
</header>
|
124
153
|
{%- endif -%}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
The Hero section is used to display a title, a description and a call to action.
|
3
|
+
It can also display a background image or a video.
|
4
|
+
|
5
|
+
TODO : include a carousel
|
6
|
+
{%- endcomment -%}
|
7
|
+
{%- unless page.hero == false -%}
|
8
|
+
<section id="hero" {% if layout.splash or page.splash %}class="vh-100"{% endif %}>
|
9
|
+
<!-- Background -->
|
10
|
+
{%- if page.trailer -%}
|
11
|
+
<video autoplay muted loop poster="{{ page.image | absolute_url }}" class="background">
|
12
|
+
<source src="{{ page.trailer | absolute_url }}" type="video/mp4">
|
13
|
+
</video>
|
14
|
+
{%- elsif page.image -%}
|
15
|
+
<picture>
|
16
|
+
<source srcset="{{ page.image | absolute_url }}">
|
17
|
+
<img src="{{ page.image | absolute_url }}" alt="{{ page.title | escape }}" class="background">
|
18
|
+
</picture>
|
19
|
+
{%- else -%}
|
20
|
+
<span class="background"> </span>
|
21
|
+
{%- endif -%}
|
22
|
+
<!-- Content -->
|
23
|
+
<div id="hero-content">
|
24
|
+
<div>
|
25
|
+
<div class="col">
|
26
|
+
<h1 class="display-1">{{ page.title | default: site.title | default: "Welcome to Symphony theme" | escape }}</h1>
|
27
|
+
<!-- Breadcrumbs -->
|
28
|
+
{%- include breadcrumb.liquid -%}
|
29
|
+
<p class="lead">{{ page.excerpt | default: site.description | default: "Review our documentation to fix issue" | strip_html | escape }}</p>
|
30
|
+
</div>
|
31
|
+
{%- if page.action -%}
|
32
|
+
<div class="col-4 text-center">
|
33
|
+
<a class="btn btn-primary btn-lg" href="{{ page.action.link }}" role="button" title="{{ page.action.title }}">{{ page.action.title }}</a>
|
34
|
+
</div>
|
35
|
+
{%- endif -%}
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</section>
|
39
|
+
{%- endunless -%}
|
data/_includes/scripts.liquid
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r"
|
4
4
|
crossorigin="anonymous"
|
5
5
|
id="popper-script"></script>
|
6
|
-
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
7
|
-
integrity="sha384-
|
6
|
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js"
|
7
|
+
integrity="sha384-BBtl+eGJRgqQAUMxJ7pMwbEyER4l1g+O15P+16Ep7Q9Q+zqX6gSbd85u4mG4QzX+"
|
8
8
|
crossorigin="anonymous"
|
9
9
|
id="bootstrap-script"></script>
|
10
10
|
|
@@ -0,0 +1,148 @@
|
|
1
|
+
{%- assign facebook = site.settings.social.facebook| default: site.data.settings.social.facebook -%}
|
2
|
+
{%- assign twitter = site.settings.social.twitter| default: site.data.settings.social.twitter -%}
|
3
|
+
{%- assign webmaster = site.settings.webmaster| default: site.data.settings.webmaster -%}
|
4
|
+
|
5
|
+
{%- assign title = page.title | default: site.title -%}
|
6
|
+
{%- assign description = page.excerpt | default: site.description | strip_html | normalize_whitespace | truncate: 160 | escape -%}
|
7
|
+
|
8
|
+
{%- assign theme = site.settings.theme | site.data.settings.theme -%}
|
9
|
+
|
10
|
+
<!-- Page information -->
|
11
|
+
<title>{{ site.title }} | {{ page.title | default: site.tagline }}</title>
|
12
|
+
<meta property="og:title" content="{{ title }}" />
|
13
|
+
<meta property="twitter:title" content="{{ title }}" />
|
14
|
+
|
15
|
+
<meta property="og:site_name" content="{{ site.title }}">
|
16
|
+
<meta name="apple-mobile-web-app-title" content="{{ site.title }}">
|
17
|
+
<meta name="application-name" content="{{ site.title }}">
|
18
|
+
|
19
|
+
<meta name="description" content="{{ description }}">
|
20
|
+
<meta property="og:description" content="{{ description }}" />
|
21
|
+
|
22
|
+
<meta property="og:locale" content="{{ page.locale | default: site.locale }}" />
|
23
|
+
|
24
|
+
<link type="text/plain" rel="author" href="{{ "/humans.txt" | absolute_url }}"/>
|
25
|
+
|
26
|
+
<meta name="author" content="{{ site.authors.default.name }}">
|
27
|
+
{% if twitter.username %}
|
28
|
+
<meta name="twitter:site" content="@{{ twitter.username | remove:'@' }}" />
|
29
|
+
{% if page.author.twitter %}
|
30
|
+
<meta name="twitter:creator" content="@{{ page.author.twitter | remove:'@' }}" />
|
31
|
+
{% endif %}
|
32
|
+
{% endif %}
|
33
|
+
|
34
|
+
<link rel="canonical" href="{{ page.url | absolute_url }}">
|
35
|
+
<meta property="og:url" content="{{ page.url | absolute_url }}" />
|
36
|
+
|
37
|
+
{%- if webmaster %}
|
38
|
+
<!-- Search Engine & Analytics -->
|
39
|
+
{%- if webmaster.verification.google %}
|
40
|
+
<meta name="google-site-verification" content="{{ webmaster.verification.google }}" />
|
41
|
+
{%- endif %}
|
42
|
+
{%- if webmaster.verification.bing %}
|
43
|
+
<meta name="msvalidate.01" content="{{ webmaster.verification.bing }}" />
|
44
|
+
{%- endif %}
|
45
|
+
{%- if webmaster.verification.alexa %}
|
46
|
+
<meta name="alexaVerifyID" content="{{ webmaster.verification.alexa }}" />
|
47
|
+
{%- endif %}
|
48
|
+
{%- if webmaster.verification.yandex %}
|
49
|
+
<meta name="yandex-verification" content="{{ webmaster.verification.yandex }}" />
|
50
|
+
{%- endif %}
|
51
|
+
{%- if webmaster.verification.baidu %}
|
52
|
+
<meta name="baidu-site-verification" content="{{ webmaster.verification.baidu }}" />
|
53
|
+
{%- endif %}
|
54
|
+
{%- if webmaster.verification.facebook %}
|
55
|
+
<meta name="facebook-domain-verification" content="{{ webmaster.verification.facebook }}" />
|
56
|
+
{%- endif %}
|
57
|
+
{%- endif %}
|
58
|
+
|
59
|
+
<!-- Browser Config -->
|
60
|
+
<link rel="manifest" href="{{ "/site.webmanifest" | absolute_url }}">
|
61
|
+
<meta name="msapplication-config" content="{{ "/browserconfig.xml" | absolute_url }}" />
|
62
|
+
|
63
|
+
{% assign iconPath = "/assets/icons/" %}
|
64
|
+
<link rel="icon" type="image/svg+xml" href="{{ "favicon.svg" | prepend: iconPath | absolute_url }}">
|
65
|
+
<link rel="icon" type="image/png" href="{{ "favicon.png" | prepend: iconPath | absolute_url }}">
|
66
|
+
<link rel="icon" type="image/png" sizes="32x32" href="{{ "favicon-32x32.png" | prepend: iconPath | absolute_url }}">
|
67
|
+
<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon-16x16.png" | prepend: iconPath | absolute_url }}">
|
68
|
+
<link rel="shortcut icon" href="{{ "favicon.ico" | prepend: iconPath | absolute_url }}">
|
69
|
+
<link type="image/png" rel="apple-touch-icon" href="{{ "apple-touch-icon-180x180.png" | prepend: iconPath | absolute_url }}" sizes="180x180">
|
70
|
+
<link rel="mask-icon" type="image/svg+xml" href="{{ "safari-pinned-tab.svg" | prepend: iconPath | absolute_url }}" color="{{ theme.color.primary }}">
|
71
|
+
|
72
|
+
{%- if theme.color.primary -%}
|
73
|
+
<meta name="msapplication-TileColor" content="{{ theme.color.primary }}">
|
74
|
+
<meta name="theme-color" content="{{ theme.color.primary }}">
|
75
|
+
{%- endif -%}
|
76
|
+
|
77
|
+
<!-- Open Graph -->
|
78
|
+
{%- if page.layout == "home" -%}
|
79
|
+
<meta property="og:type" content="website" />
|
80
|
+
{%- else -%}
|
81
|
+
<meta property="og:type" content="article" />
|
82
|
+
{%- if page.date -%}
|
83
|
+
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}" />
|
84
|
+
<meta property="article:modified_time" content="{{ "now" | date_to_xmlschema }}" />
|
85
|
+
{%- endif -%}
|
86
|
+
{%- if facebook.link -%}
|
87
|
+
<meta property="article:publisher" content="{{ facebook.link }}" />
|
88
|
+
{%- endif %}
|
89
|
+
{%- if page.author -%}
|
90
|
+
<meta property="article:author" content="{{ author.page }}" />
|
91
|
+
{%- endif -%}
|
92
|
+
{%- endif -%}
|
93
|
+
|
94
|
+
{% assign image = page.image %}
|
95
|
+
{% if image %}
|
96
|
+
<meta property="og:image" content="{{ page.image | absolute_url }}" />
|
97
|
+
<meta property="twitter:image" content="{{ page.image | absolute_url }}" />
|
98
|
+
<meta name="twitter:card" content="{{ page.twitter.card | default: twitter.card | default: "summary_large_image" }}" />
|
99
|
+
{% if image.height %}
|
100
|
+
<meta property="og:image:height" content="{{ image.height }}" />
|
101
|
+
{% endif %}
|
102
|
+
{% if image.width %}
|
103
|
+
<meta property="og:image:width" content="{{ image.width }}" />
|
104
|
+
{% endif %}
|
105
|
+
{% if image.alt %}
|
106
|
+
<meta property="og:image:alt" content="{{ image.alt }}" />
|
107
|
+
<meta name="twitter:image:alt" content="{{ image.alt }}" />
|
108
|
+
{% endif %}
|
109
|
+
{% else %}
|
110
|
+
<meta name="twitter:card" content="summary" />
|
111
|
+
{% endif %}
|
112
|
+
|
113
|
+
|
114
|
+
{% comment %}
|
115
|
+
See https://json-ld.org/
|
116
|
+
T be updated with https://schema.org/Article
|
117
|
+
{% endcomment %}
|
118
|
+
|
119
|
+
<script type="application/ld+json">
|
120
|
+
{
|
121
|
+
"@context": "https://schema.org",
|
122
|
+
"@type": "Organization",
|
123
|
+
"url": "{{ site.url }}",
|
124
|
+
"logo": "{{ site.logo }}"
|
125
|
+
}
|
126
|
+
</script>
|
127
|
+
|
128
|
+
{% comment %}
|
129
|
+
<script type="application/ld+json">
|
130
|
+
{
|
131
|
+
"name": "{{ site.title }}",
|
132
|
+
"description": "{{ description }}",
|
133
|
+
"url": "{{ page.url | absolute_url }}",
|
134
|
+
"headline": "{{ page.title }}",
|
135
|
+
"@type": "WebSite",
|
136
|
+
"@context": "https://schema.org",
|
137
|
+
"author": {
|
138
|
+
"@type":"Person",
|
139
|
+
"name": "{{ author }}"
|
140
|
+
}
|
141
|
+
}
|
142
|
+
</script>
|
143
|
+
{% endcomment %}
|
144
|
+
|
145
|
+
{% if page.apple %}
|
146
|
+
<!-- Apps Store -->
|
147
|
+
<meta name="apple-itunes-app" content="app-id=APP_ID,app-argument=SOME_TEXT">
|
148
|
+
{% endif %}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{% comment %}
|
2
|
+
Display the menu from the configuration file (site or data) if it exists
|
3
|
+
Overwise, display the default menu based on the page hierarchy
|
4
|
+
{% endcomment %}
|
5
|
+
{%- if site.data.menu -%}
|
6
|
+
{% comment %}
|
7
|
+
Ignore
|
8
|
+
{% endcomment %}
|
9
|
+
{%- else -%}
|
10
|
+
{%- assign paths = site.pages | map: "path" | sort -%}
|
11
|
+
{%- for path in paths %}
|
12
|
+
{%- assign item = site.pages | where: "path", path | first -%}
|
13
|
+
{%- if item.title and item.layout == "page" -%}
|
14
|
+
{%- assign levels = item.url | split: '/' -%}
|
15
|
+
{{ path }} - {{levels.size}}
|
16
|
+
{%- for level in levels -%}
|
17
|
+
|
18
|
+
{%- endfor -%}
|
19
|
+
|
20
|
+
{%- endif -%}
|
21
|
+
{%- endfor -%}
|
22
|
+
{%- endif -%}
|
data/_layouts/default.html
CHANGED
@@ -1,4 +1,21 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
Default layout for all pages in the website.
|
3
|
+
- Based on the lastest bootstrap
|
4
|
+
- Includes the following partials:
|
5
|
+
In HTML head
|
6
|
+
- seo.liquid - Manage all SEO tags
|
7
|
+
- analytics.liquid - Manage all analytics tags
|
8
|
+
In HTML body
|
9
|
+
- header.liquid - Manage the NavBarMenu
|
10
|
+
- hero.liquid - Manage the hero section with carousel and call to action
|
11
|
+
- breadcrumb.liquid - Manage the breadcrumb navigation
|
12
|
+
- footer.liquid - Manage the footer links
|
13
|
+
- scripts.liquid - Manage all scripts
|
14
|
+
{%- endcomment -%}
|
15
|
+
|
1
16
|
{%- assign language = page.language | default: site.language | default: "en" -%}
|
17
|
+
{%- assign stylesheet = "/assets/styles/main.css" | absolute_url -%}
|
18
|
+
|
2
19
|
<!doctype html>
|
3
20
|
<html
|
4
21
|
lang="{{ language }}"
|
@@ -8,25 +25,48 @@
|
|
8
25
|
<meta
|
9
26
|
name="viewport"
|
10
27
|
content="width=device-width, initial-scale=1">
|
28
|
+
|
29
|
+
{% if jekyll.environment == 'production' %}
|
30
|
+
<!-- SEO -->
|
31
|
+
{%- include seo.liquid -%}
|
32
|
+
{% endif %}
|
11
33
|
|
12
34
|
<!-- Style -->
|
13
|
-
<link rel="stylesheet" type="text/css" href="{{
|
14
|
-
|
35
|
+
<link rel="stylesheet" type="text/css" href="{{ stylesheet }}">
|
36
|
+
|
37
|
+
{% if jekyll.environment == 'production' %}
|
38
|
+
<!-- Analytics -->
|
39
|
+
{%- include analytics.liquid -%}
|
40
|
+
{% endif %}
|
41
|
+
|
15
42
|
</head>
|
16
43
|
<body>
|
17
44
|
<a href="#main" class="visually-hidden">Skip to main content</a>
|
45
|
+
|
18
46
|
<!-- Header -->
|
19
47
|
{%- include header.liquid -%}
|
48
|
+
|
49
|
+
<!-- Hero -->
|
50
|
+
{%- include hero.liquid -%}
|
51
|
+
|
20
52
|
<!-- Content -->
|
21
|
-
|
53
|
+
{%- unless page.content == "" or page.content == nil -%}
|
54
|
+
<main>
|
55
|
+
{%- if page.hero == false -%}
|
56
|
+
{%- if page.title -%}
|
22
57
|
<!-- Page Title -->
|
23
|
-
<
|
58
|
+
<h1 class="pt-2">{{ page.title }}</h1>
|
59
|
+
{%- endif -%}
|
24
60
|
<!-- Breadcrumbs -->
|
25
|
-
{
|
61
|
+
{%- include breadcrumb.liquid -%}
|
62
|
+
{%- endif -%}
|
26
63
|
{{ content }}
|
27
64
|
</main>
|
65
|
+
{%- endunless -%}
|
66
|
+
|
28
67
|
<!-- Footer -->
|
29
68
|
{%- include footer.liquid -%}
|
69
|
+
|
30
70
|
<!-- Scripts -->
|
31
71
|
{%- include scripts.liquid -%}
|
32
72
|
</body>
|
data/_sass/website.scss
CHANGED
@@ -7,25 +7,92 @@
|
|
7
7
|
*/
|
8
8
|
|
9
9
|
/*
|
10
|
-
|
10
|
+
*
|
11
|
+
* Default Website structure
|
12
|
+
* header - Manage the Navigation
|
13
|
+
* hero - Manage the hero section with carousel and call to action
|
14
|
+
* breadcrumb - Manage the breadcrumb navigation
|
15
|
+
* footer - Manage the footer links
|
16
|
+
*
|
11
17
|
*/
|
12
|
-
|
18
|
+
//
|
19
|
+
// Header
|
20
|
+
//
|
21
|
+
#header
|
22
|
+
{
|
13
23
|
@extend .border-bottom;
|
14
24
|
@extend .text-muted;
|
15
25
|
}
|
16
|
-
#header > div
|
26
|
+
#header > div
|
27
|
+
{
|
17
28
|
@extend .container;
|
18
29
|
}
|
19
|
-
|
20
|
-
|
30
|
+
#header-main
|
31
|
+
{
|
21
32
|
@extend .navbar;
|
22
33
|
@extend .navbar-expand-lg;
|
23
34
|
}
|
35
|
+
//
|
36
|
+
// Hero
|
37
|
+
//
|
38
|
+
#hero
|
39
|
+
{
|
40
|
+
@extend .position-relative;
|
41
|
+
@extend .bg-primary;
|
42
|
+
overflow: hidden;
|
43
|
+
z-index: 0;
|
44
|
+
height: 640px;
|
45
|
+
}
|
46
|
+
#hero .background
|
47
|
+
{
|
48
|
+
z-index: 1;
|
49
|
+
top: 0;
|
50
|
+
width: 100%;
|
51
|
+
height: 100%;
|
52
|
+
object-fit: cover;
|
53
|
+
opacity:0.8;
|
54
|
+
}
|
55
|
+
#hero-content
|
56
|
+
{
|
57
|
+
@extend .container;
|
58
|
+
@extend .position-absolute;
|
59
|
+
@extend .top-50;
|
60
|
+
@extend .start-50;
|
61
|
+
@extend .translate-middle;
|
24
62
|
|
25
|
-
|
63
|
+
z-index: 2;
|
64
|
+
background:rgba(255, 255, 255, 0.8);
|
65
|
+
padding:5rem;
|
66
|
+
border:1px solid rgba(255, 255, 255, 0.1);
|
67
|
+
border-radius:5px;
|
68
|
+
}
|
69
|
+
#hero-content > div
|
70
|
+
{
|
71
|
+
@extend .row;
|
72
|
+
@extend .align-items-center;
|
73
|
+
}
|
74
|
+
//
|
75
|
+
// Breadcrumb
|
76
|
+
//
|
77
|
+
#breadcrumb > ol
|
78
|
+
{
|
79
|
+
@extend .breadcrumb;
|
80
|
+
}
|
81
|
+
#breadcrumb > ol > li
|
82
|
+
{
|
83
|
+
@extend .breadcrumb-item;
|
84
|
+
}
|
85
|
+
//
|
86
|
+
// Main
|
87
|
+
//
|
88
|
+
body > main
|
89
|
+
{
|
90
|
+
@extend .container;
|
91
|
+
@extend .pt-3;
|
92
|
+
}
|
26
93
|
/*
|
27
94
|
Post
|
28
95
|
- header
|
29
96
|
- main
|
30
97
|
- footer
|
31
|
-
*/
|
98
|
+
*/
|
@@ -4,28 +4,28 @@ permalink: "/humans.txt"
|
|
4
4
|
---
|
5
5
|
{%- assign company = authors.default.name | default: site.title | escape -%}
|
6
6
|
{%- assign social = site.settings.social -%}
|
7
|
-
|
8
7
|
{% if company %}
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
8
|
+
Site: {{ company }}
|
9
|
+
{{ site.description }}
|
10
|
+
{% if social %}
|
11
|
+
***
|
12
|
+
Social Information
|
13
|
+
{%- for item in social -%}
|
14
|
+
{%- assign key = item | first -%}
|
15
|
+
{%- if social[key].link -%}
|
16
|
+
{{ social[key].title | default: key | capitalize }}: {{ social[key].link }}{{ social[key].username }}
|
17
|
+
{% endif %}
|
18
|
+
{%- endfor -%}
|
19
|
+
{% endif %}
|
21
20
|
{% else %}
|
22
21
|
This site is not fully setup
|
23
22
|
{% endif %}
|
24
23
|
***
|
25
24
|
Technical information
|
25
|
+
***
|
26
26
|
Website: {{ site.url }}
|
27
27
|
Last update: {{ site.time }}
|
28
28
|
Standards: HTML5, CSS3, Javascript
|
29
|
-
Components: Bootstrap 3.5.
|
29
|
+
Components: Bootstrap 3.5.2, Jekyll
|
30
30
|
Software: GitHub / Visual Studio Code
|
31
31
|
Hosting: GitHub Pages
|
@@ -21,9 +21,8 @@ permalink: "/sitemap.html"
|
|
21
21
|
<!-- Collections -->
|
22
22
|
{% assign collections = site.collections | where_exp:'collection','collection.output != false' %}
|
23
23
|
{%- if collections -%}
|
24
|
-
## Collections
|
25
24
|
{% for collection in collections %}
|
26
|
-
<
|
25
|
+
<h2>{{ collection.label | capitalize }}</h2>
|
27
26
|
{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}
|
28
27
|
<ul>
|
29
28
|
{% for doc in docs %}
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-theme-lydde
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MrKoubyak
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -33,9 +33,12 @@ extra_rdoc_files: []
|
|
33
33
|
files:
|
34
34
|
- LICENSE.txt
|
35
35
|
- README.md
|
36
|
+
- _config.yml
|
37
|
+
- _includes/analytics.liquid
|
36
38
|
- _includes/breadcrumb.liquid
|
37
39
|
- _includes/footer.liquid
|
38
40
|
- _includes/header.liquid
|
41
|
+
- _includes/hero.liquid
|
39
42
|
- _includes/info.liquid
|
40
43
|
- _includes/menu.liquid
|
41
44
|
- _includes/post-author.liquid
|
@@ -44,6 +47,8 @@ files:
|
|
44
47
|
- _includes/post-tags.liquid
|
45
48
|
- _includes/post-toc.liquid
|
46
49
|
- _includes/scripts.liquid
|
50
|
+
- _includes/seo.liquid
|
51
|
+
- _includes/todo/hierachy.liquid
|
47
52
|
- _layouts/default.html
|
48
53
|
- _layouts/home.html
|
49
54
|
- _layouts/page.html
|
@@ -163,11 +168,12 @@ files:
|
|
163
168
|
- assets/images/tags.jpeg
|
164
169
|
- assets/logo.png
|
165
170
|
- assets/lydde.png
|
166
|
-
- assets/resources/site/404.
|
171
|
+
- assets/resources/site/404.markdown
|
172
|
+
- assets/resources/site/debug.json
|
167
173
|
- assets/resources/site/humans.txt
|
168
174
|
- assets/resources/site/robots.txt
|
169
175
|
- assets/resources/site/site.webmanifest
|
170
|
-
- assets/resources/site/sitemap.
|
176
|
+
- assets/resources/site/sitemap.markdown
|
171
177
|
- assets/resources/site/sitemap.xml
|
172
178
|
- assets/scripts/bootstrap/5.3.2/bootstrap.bundle.js
|
173
179
|
- assets/scripts/bootstrap/5.3.2/bootstrap.bundle.js.map
|
@@ -183,6 +189,7 @@ files:
|
|
183
189
|
- assets/scripts/bootstrap/5.3.2/bootstrap.min.js.map
|
184
190
|
- assets/scripts/main.js
|
185
191
|
- assets/styles/main.scss
|
192
|
+
- assets/videos/demo.mp4
|
186
193
|
homepage: https://lyddegroup.com/jekyll-theme-lydde/
|
187
194
|
licenses:
|
188
195
|
- MIT
|
File without changes
|