jekyll-theme-noesya 1.0.7 → 1.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -0
- data/_includes/header.html +1 -1
- data/_includes/js/hover-navigation-links.js +32 -0
- data/_includes/js/{menu.js → menu-burger.js} +6 -0
- data/_includes/js/notes.js +188 -0
- data/_includes/js/paragraphs-index.js +12 -0
- data/_includes/navigation-between-pages.html +18 -0
- data/_includes/note.html +15 -0
- data/_includes/sections-with-notes.html +16 -0
- data/_layouts/default.html +4 -1
- data/_sass/commons/darkmode.sass +0 -16
- data/_sass/commons/header.sass +4 -0
- data/_sass/commons/icon.sass +1 -1
- data/_sass/components/menu.sass +38 -8
- data/_sass/components/nav-between.sass +79 -0
- data/_sass/components/notes.sass +61 -0
- data/assets/js/main.js +13 -1
- metadata +14 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d179bf5ee168ad5034116eca3f81c39efb5fb28a3e2b6cf67d27524f7430d247
|
4
|
+
data.tar.gz: 9912412822b88d371e1e40f5c0474433e613ad7df235aa14ffac338d95e173eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9061be45e3889749dbc045c5751f3b93cda733982e1b109d86d4bccdbce12705f48b10e921067cb9b35cfd49f3c46357ef95d677e7e94d17d6635cb52d782cf8
|
7
|
+
data.tar.gz: '0867a5260a14801d15f190002a415544834e718c66ff31c3d8e842d27052e8f57ccaefd76a06d14dcae6b4dc0e5155d79e74e101bf37d92d00d682c91ac19da7'
|
data/README.md
CHANGED
@@ -1,2 +1,12 @@
|
|
1
1
|
## Gem
|
2
2
|
https://rubygems.org/gems/jekyll-theme-noesya
|
3
|
+
|
4
|
+
### Options
|
5
|
+
```
|
6
|
+
options:
|
7
|
+
menu_burger: true # For desktop
|
8
|
+
notes: false # Needed to use notes in sections-with-notes includes
|
9
|
+
paragraphs_index: false # Needed to add index to paragraphs
|
10
|
+
hover_navigation_links: false # Needed to use nav-between-pages
|
11
|
+
no_js: false
|
12
|
+
```
|
data/_includes/header.html
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
window.hoverLinks = {
|
2
|
+
timeout: null,
|
3
|
+
init: function () {
|
4
|
+
'use strict';
|
5
|
+
var i = 0,
|
6
|
+
links = document.querySelectorAll('[data-link-delay]');
|
7
|
+
|
8
|
+
for (i = 0; i < links.length; i += 1) {
|
9
|
+
this.bind(links[i]);
|
10
|
+
}
|
11
|
+
},
|
12
|
+
bind: function (link) {
|
13
|
+
'use strict';
|
14
|
+
var a = link.querySelector('a'),
|
15
|
+
delay = link.getAttribute('data-link-delay');
|
16
|
+
|
17
|
+
link.addEventListener('mouseenter', function () {
|
18
|
+
this.timeout = setTimeout(this.click.bind(this, a), delay * 1000);
|
19
|
+
}.bind(this));
|
20
|
+
|
21
|
+
link.addEventListener('mouseleave', function () {
|
22
|
+
clearTimeout(this.timeout);
|
23
|
+
}.bind(this));
|
24
|
+
},
|
25
|
+
click: function (element) {
|
26
|
+
'use strict';
|
27
|
+
var event = new MouseEvent('click');
|
28
|
+
element.dispatchEvent(event);
|
29
|
+
}
|
30
|
+
};
|
31
|
+
|
32
|
+
window.hoverLinks.init();
|
@@ -10,6 +10,7 @@ window.menu = {
|
|
10
10
|
|
11
11
|
setTimeout(function () {
|
12
12
|
document.body.classList.remove('is-loading');
|
13
|
+
window.addEventListener('resize', this.resize.bind(this));
|
13
14
|
}.bind(this), 100);
|
14
15
|
},
|
15
16
|
bind: function () {
|
@@ -37,6 +38,11 @@ window.menu = {
|
|
37
38
|
}
|
38
39
|
|
39
40
|
this.y = y;
|
41
|
+
},
|
42
|
+
resize: function () {
|
43
|
+
'use strict';
|
44
|
+
document.documentElement.classList.remove('is-menu-opened');
|
45
|
+
this.dom.classList.remove('is-hidden');
|
40
46
|
}
|
41
47
|
};
|
42
48
|
|
@@ -0,0 +1,188 @@
|
|
1
|
+
window.notes = window.notes || {};
|
2
|
+
window.notes.Item = window.notes.Item || {};
|
3
|
+
window.notes.manager = window.notes.manager || {};
|
4
|
+
|
5
|
+
window.notes.Item = function (dom, previous) {
|
6
|
+
'use strict';
|
7
|
+
this.dom = dom;
|
8
|
+
this.parent = dom.parentNode;
|
9
|
+
this.y = 0;
|
10
|
+
this.previous = previous || null;
|
11
|
+
this.anchor = document.querySelector('a[href="#' + dom.id + '"]');
|
12
|
+
this.isVisible = false;
|
13
|
+
this.verticalOffset = 6;
|
14
|
+
setTimeout(function () {
|
15
|
+
this.dom.classList.add('is-handled');
|
16
|
+
}.bind(this), 1);
|
17
|
+
this.replace();
|
18
|
+
this.ready();
|
19
|
+
};
|
20
|
+
window.notes.Item.prototype.ready = function () {
|
21
|
+
'use strict';
|
22
|
+
this.anchor.addEventListener('mouseenter', function () {
|
23
|
+
this.dom.classList.add('is-hovered');
|
24
|
+
}.bind(this));
|
25
|
+
this.anchor.addEventListener('mouseleave', function () {
|
26
|
+
this.dom.classList.remove('is-hovered');
|
27
|
+
}.bind(this));
|
28
|
+
};
|
29
|
+
|
30
|
+
window.notes.Item.prototype.replace = function () {
|
31
|
+
'use strict';
|
32
|
+
|
33
|
+
if (window.notes.manager.isFixed) {
|
34
|
+
this.dom.classList.add('is-fixed');
|
35
|
+
this.dom.style.top = '';
|
36
|
+
} else {
|
37
|
+
this.dom.classList.remove('is-fixed');
|
38
|
+
this.updatePosition();
|
39
|
+
}
|
40
|
+
|
41
|
+
this.updateVisibility();
|
42
|
+
};
|
43
|
+
|
44
|
+
window.notes.Item.prototype.updateVisibility = function () {
|
45
|
+
'use strict';
|
46
|
+
var anchorTop = this.anchor.getBoundingClientRect().top,
|
47
|
+
offset = window.innerHeight * 0.5;
|
48
|
+
|
49
|
+
this.isVisible = anchorTop > 0 && anchorTop < offset;
|
50
|
+
};
|
51
|
+
|
52
|
+
window.notes.Item.prototype.updatePosition = function () {
|
53
|
+
'use strict';
|
54
|
+
this.y = this.getTop(this.anchor) - this.getTop(this.parent);
|
55
|
+
|
56
|
+
if (this.previous) {
|
57
|
+
this.preventOverlap();
|
58
|
+
}
|
59
|
+
|
60
|
+
this.preventTitleOverlap();
|
61
|
+
|
62
|
+
this.y += this.verticalOffset;
|
63
|
+
|
64
|
+
this.dom.style.top = this.y + 'px';
|
65
|
+
};
|
66
|
+
|
67
|
+
window.notes.Item.prototype.preventOverlap = function () {
|
68
|
+
'use strict';
|
69
|
+
var distance = this.previous.bottom() - this.y;
|
70
|
+
this.y = Math.max(this.y, this.y + distance);
|
71
|
+
};
|
72
|
+
|
73
|
+
window.notes.Item.prototype.preventTitleOverlap = function () {
|
74
|
+
'use strict';
|
75
|
+
var titles = document.querySelectorAll('h2'),
|
76
|
+
i;
|
77
|
+
|
78
|
+
for (i = 0; i < titles.length; i += 1) {
|
79
|
+
this.testTitleOverlap(titles[i]);
|
80
|
+
}
|
81
|
+
};
|
82
|
+
|
83
|
+
window.notes.Item.prototype.testTitleOverlap = function (title) {
|
84
|
+
'use strict';
|
85
|
+
var top = this.getTop(title) - this.getTop(this.parent),
|
86
|
+
safer = 10,
|
87
|
+
bottom = top + title.offsetHeight,
|
88
|
+
offset = Math.max(bottom - this.y, window.notes.manager.lineHeight);
|
89
|
+
|
90
|
+
if (this.y >= top - safer && this.y <= bottom + safer) {
|
91
|
+
this.y += offset;
|
92
|
+
}
|
93
|
+
};
|
94
|
+
|
95
|
+
window.notes.Item.prototype.getTop = function (element) {
|
96
|
+
'use strict';
|
97
|
+
return element.getBoundingClientRect().top + window.scrollY;
|
98
|
+
};
|
99
|
+
|
100
|
+
window.notes.Item.prototype.bottom = function () {
|
101
|
+
'use strict';
|
102
|
+
return this.y + this.dom.offsetHeight;
|
103
|
+
};
|
104
|
+
|
105
|
+
window.notes.manager = {
|
106
|
+
breakpoint: 768,
|
107
|
+
isFixed: false,
|
108
|
+
pool: [],
|
109
|
+
nearest: null,
|
110
|
+
lineHeight: 45,
|
111
|
+
init: function () {
|
112
|
+
'use strict';
|
113
|
+
var i,
|
114
|
+
elements = document.querySelectorAll('.js-note');
|
115
|
+
|
116
|
+
if (elements.length === 0) {
|
117
|
+
return;
|
118
|
+
}
|
119
|
+
|
120
|
+
this.setMode();
|
121
|
+
|
122
|
+
for (i = 0; i < elements.length; i += 1) {
|
123
|
+
this.generate(elements[i], i);
|
124
|
+
}
|
125
|
+
|
126
|
+
this.resize();
|
127
|
+
this.listen();
|
128
|
+
|
129
|
+
setTimeout(this.resize.bind(this), 100);
|
130
|
+
},
|
131
|
+
|
132
|
+
generate: function (element, i) {
|
133
|
+
'use strict';
|
134
|
+
var previous = this.pool[i - 1] || null;
|
135
|
+
this.pool.push(new window.notes.Item(element, previous));
|
136
|
+
},
|
137
|
+
|
138
|
+
listen: function () {
|
139
|
+
'use strict';
|
140
|
+
window.addEventListener('scroll', this.scroll.bind(this));
|
141
|
+
window.addEventListener('resize', this.resize.bind(this));
|
142
|
+
window.addEventListener('load', this.resize.bind(this));
|
143
|
+
window.addEventListener('DOMContentLoaded', this.resize.bind(this));
|
144
|
+
},
|
145
|
+
|
146
|
+
resize: function () {
|
147
|
+
'use strict';
|
148
|
+
this.lineHeight = getComputedStyle(document.querySelector('section > p')).lineHeight;
|
149
|
+
this.lineHeight = parseInt(this.lineHeight.replace('px', ''), 10);
|
150
|
+
this.setMode();
|
151
|
+
this.update();
|
152
|
+
},
|
153
|
+
|
154
|
+
setMode: function () {
|
155
|
+
'use strict';
|
156
|
+
var isFixed = window.innerWidth < this.breakpoint;
|
157
|
+
this.isFixed = isFixed;
|
158
|
+
},
|
159
|
+
|
160
|
+
scroll: function () {
|
161
|
+
'use strict';
|
162
|
+
var nearest = null,
|
163
|
+
i;
|
164
|
+
|
165
|
+
if (this.isFixed) {
|
166
|
+
this.update();
|
167
|
+
}
|
168
|
+
|
169
|
+
for (i = this.pool.length - 1; i >= 0; i -= 1) {
|
170
|
+
if (this.pool[i].isVisible && (!nearest || !this.isFixed)) {
|
171
|
+
nearest = this.pool[i];
|
172
|
+
nearest.dom.classList.add('is-visible');
|
173
|
+
} else {
|
174
|
+
this.pool[i].dom.classList.remove('is-visible');
|
175
|
+
}
|
176
|
+
}
|
177
|
+
},
|
178
|
+
|
179
|
+
update: function () {
|
180
|
+
'use strict';
|
181
|
+
var i;
|
182
|
+
for (i = 0; i < this.pool.length; i += 1) {
|
183
|
+
this.pool[i].replace();
|
184
|
+
}
|
185
|
+
}
|
186
|
+
};
|
187
|
+
|
188
|
+
window.notes.manager.init();
|
@@ -0,0 +1,12 @@
|
|
1
|
+
(function () {
|
2
|
+
'use strict';
|
3
|
+
var paragraphs = document.querySelectorAll('.js-p-index > p'),
|
4
|
+
i,
|
5
|
+
index;
|
6
|
+
|
7
|
+
for (i = 0; i < paragraphs.length; i += 1) {
|
8
|
+
index = document.createElement('small');
|
9
|
+
index.innerText = '§' + (i + 1);
|
10
|
+
paragraphs[i].prepend(index);
|
11
|
+
}
|
12
|
+
}());
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{% if page.nav %}
|
2
|
+
<nav>
|
3
|
+
<ul>
|
4
|
+
<li data-link-delay="3">
|
5
|
+
<a href="{{page.nav.previous.url}}">
|
6
|
+
<span>{{page.nav.previous.title}}</span><br>
|
7
|
+
{{- page.nav.previous.text -}}
|
8
|
+
</a>
|
9
|
+
</li>
|
10
|
+
<li data-link-delay="3">
|
11
|
+
<a href="{{page.nav.next.url}}">
|
12
|
+
<span>{{page.nav.next.title}}</span><br>
|
13
|
+
{{- page.nav.next.text -}}
|
14
|
+
</a>
|
15
|
+
</li>
|
16
|
+
</ul>
|
17
|
+
</nav>
|
18
|
+
{% endif %}
|
data/_includes/note.html
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
{% capture index %}
|
3
|
+
{{ note_index }}.
|
4
|
+
{% endcapture %}
|
5
|
+
|
6
|
+
{% capture note_content %}
|
7
|
+
{{index}} Voir {% if note.url %}<a href="{{ note.url }}" target="_blank" rel="noreferrer">{% endif %}{{ note.title }}{% if note.url %}</a>{% endif %}
|
8
|
+
{% endcapture %}
|
9
|
+
|
10
|
+
<aside class="js-note" id="note-{{ note_index }}">
|
11
|
+
{% if note.image %}
|
12
|
+
{% picture note "{{ note.image }}" --img alt="{{ note.title }}" title="{{ note.title }}" loading="lazy" %}
|
13
|
+
{% endif %}
|
14
|
+
{{ note_content | markdownify | correct_punctuation }}
|
15
|
+
</aside>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<section {% if page.layout == "member" %} class="js-p-index" {% endif %}>
|
2
|
+
{% for section in page.sections %}
|
3
|
+
{% if section.title %}
|
4
|
+
<h2>{{section.title}}</h2>
|
5
|
+
{% endif %}
|
6
|
+
{{section.content | markdownify | correct_punctuation}}
|
7
|
+
{% endfor %}
|
8
|
+
|
9
|
+
{% assign note_index = 0 %}
|
10
|
+
{% for section in page.sections %}
|
11
|
+
{% for note in section.notes %}
|
12
|
+
{% assign note_index = note_index | plus: 1 %}
|
13
|
+
{% include note.html note=note index=note_index %}
|
14
|
+
{% endfor %}
|
15
|
+
{% endfor %}
|
16
|
+
</section>
|
data/_layouts/default.html
CHANGED
data/_sass/commons/darkmode.sass
CHANGED
@@ -71,22 +71,6 @@
|
|
71
71
|
&:hover
|
72
72
|
color: $white
|
73
73
|
|
74
|
-
main > nav
|
75
|
-
background-color: $bg-secondary-color-reverse
|
76
|
-
span
|
77
|
-
color: $secondary-reverse
|
78
|
-
li+li::after
|
79
|
-
background: $border-color-reverse
|
80
|
-
@include media-breakpoint-down(md)
|
81
|
-
ul li:first-child
|
82
|
-
border-bottom-color: $border-color-reverse
|
83
|
-
@include media-breakpoint-up(md)
|
84
|
-
.is-menu-opened &
|
85
|
-
background-color: $bg-secondary-color
|
86
|
-
span
|
87
|
-
.is-menu-opened &
|
88
|
-
color: $secondary
|
89
|
-
|
90
74
|
body > footer
|
91
75
|
background-color: $white
|
92
76
|
color: $primary
|
data/_sass/commons/header.sass
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
body > header
|
2
2
|
@include container
|
3
|
+
align-items: center
|
4
|
+
display: flex
|
3
5
|
left: 0
|
4
6
|
padding-top: $grid-sm-margin * 2
|
5
7
|
position: fixed
|
@@ -16,12 +18,14 @@ body > header
|
|
16
18
|
margin-left: -2px
|
17
19
|
> a
|
18
20
|
display: inline-block
|
21
|
+
flex-shrink: 0
|
19
22
|
position: relative
|
20
23
|
transition: filter .3s ease
|
21
24
|
vertical-align: middle
|
22
25
|
z-index: 1
|
23
26
|
& + em
|
24
27
|
display: inline-block
|
28
|
+
flex-shrink: 0
|
25
29
|
font-size: px2rem(25)
|
26
30
|
margin-left: $grid-gutter
|
27
31
|
margin-top: -2px
|
data/_sass/commons/icon.sass
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
$icons: ("link-blank": "\
|
1
|
+
$icons: ("link-blank": "\e90a", "link": "\e90b", "download": "\e90c", "document": "\e90d", "ecologique-thin": "\e900", "economique-thin": "\e902", "ethique-thin": "\e904", "juridique-thin": "\e906", "strategique-thin": "\e908", "ecologique": "\e901", "economique": "\e903", "ethique": "\e905", "juridique": "\e907", "strategique": "\e909")
|
2
2
|
|
3
3
|
@mixin icon
|
4
4
|
-moz-osx-font-smoothing: grayscale
|
data/_sass/components/menu.sass
CHANGED
@@ -31,6 +31,9 @@
|
|
31
31
|
@include media-breakpoint-up(md)
|
32
32
|
right: 35px
|
33
33
|
top: 35px
|
34
|
+
@include media-breakpoint-up(lg)
|
35
|
+
.menu_burger_only_mobile &
|
36
|
+
display: none
|
34
37
|
i, &::after, &::before
|
35
38
|
background: $primary
|
36
39
|
content: ''
|
@@ -38,7 +41,7 @@
|
|
38
41
|
left: 15px
|
39
42
|
position: absolute
|
40
43
|
transform-origin: center
|
41
|
-
transition: transform 0.
|
44
|
+
transition: transform 0.28s 0.2s $easeInOutQuad
|
42
45
|
width: 20px
|
43
46
|
&::after
|
44
47
|
transform: translateY(-9px)
|
@@ -52,7 +55,7 @@
|
|
52
55
|
left: 15px
|
53
56
|
position: absolute
|
54
57
|
transform-origin: center
|
55
|
-
transition: transform 0.
|
58
|
+
transition: transform 0.28s $easeInOutQuad
|
56
59
|
width: 20px
|
57
60
|
&::after
|
58
61
|
transform: rotate(-45deg) scaleX(0)
|
@@ -60,11 +63,11 @@
|
|
60
63
|
transform: rotate(45deg) scaleX(0)
|
61
64
|
&:hover
|
62
65
|
&::after
|
63
|
-
animation: 0.
|
66
|
+
animation: 0.3s 0.14s menu-hovered $easeInOutQuad
|
64
67
|
i
|
65
|
-
animation: 0.
|
68
|
+
animation: 0.3s 0.07s menu-hovered $easeInOutQuad
|
66
69
|
&::before
|
67
|
-
animation: 0.
|
70
|
+
animation: 0.3s 0s menu-hovered $easeInOutQuad
|
68
71
|
|
69
72
|
.menu
|
70
73
|
backface-visibility: hidden
|
@@ -84,6 +87,33 @@
|
|
84
87
|
width: calc(50vw + min(1040px, calc(100vw - 390px)) / 2)
|
85
88
|
@include media-breakpoint-up(lg)
|
86
89
|
width: calc(50vw + min(1010px, calc((100vw - 100px) * (10/12) - 110px)) / 2)
|
90
|
+
.menu_burger_only_mobile &
|
91
|
+
background: transparent
|
92
|
+
margin-left: auto
|
93
|
+
padding-top: 0
|
94
|
+
position: static
|
95
|
+
transform: none
|
96
|
+
transition: none
|
97
|
+
width: auto
|
98
|
+
ul
|
99
|
+
display: flex
|
100
|
+
margin: 0
|
101
|
+
&:hover
|
102
|
+
a
|
103
|
+
color: $primary
|
104
|
+
li
|
105
|
+
font-size: px2rem(25)
|
106
|
+
margin-bottom: 0
|
107
|
+
&:not(:first-child)
|
108
|
+
margin-left: $grid-gutter
|
109
|
+
a
|
110
|
+
&:hover
|
111
|
+
text-decoration: underline
|
112
|
+
@include media-breakpoint-up(lg)
|
113
|
+
.menu_burger_only_mobile &
|
114
|
+
li:not(:first-child)
|
115
|
+
margin-left: $grid-gutter * 2
|
116
|
+
|
87
117
|
ul
|
88
118
|
height: 100%
|
89
119
|
margin: 0 $grid-sm-margin * 2
|
@@ -114,14 +144,14 @@
|
|
114
144
|
span
|
115
145
|
&::after
|
116
146
|
transform: rotate(-45deg) scaleX(1)
|
117
|
-
transition-delay: 0.
|
147
|
+
transition-delay: 0.15s
|
118
148
|
&::before
|
119
149
|
transform: rotate(45deg) scaleX(1)
|
120
|
-
transition-delay: 0.
|
150
|
+
transition-delay: 0.25s
|
121
151
|
|
122
152
|
&::before
|
123
153
|
transform: translateY(9px) scaleX(0)
|
124
|
-
transition-delay: 0.
|
154
|
+
transition-delay: 0.15s
|
125
155
|
i
|
126
156
|
transform: scaleX(0)
|
127
157
|
transition-delay: 0s
|
@@ -0,0 +1,79 @@
|
|
1
|
+
main > nav
|
2
|
+
background-color: $bg-secondary-color
|
3
|
+
overflow-x: hidden
|
4
|
+
ul
|
5
|
+
li
|
6
|
+
@include media-breakpoint-down(md)
|
7
|
+
@include container
|
8
|
+
&:first-child
|
9
|
+
border-bottom: 1px solid $border-color
|
10
|
+
a
|
11
|
+
@extend h2
|
12
|
+
display: block
|
13
|
+
font-family: $font-family-sans-serif
|
14
|
+
margin-bottom: 0
|
15
|
+
padding-bottom: $grid-gutter * 2
|
16
|
+
padding-top: $grid-gutter * 2
|
17
|
+
text-decoration: none
|
18
|
+
span
|
19
|
+
color: $secondary-on-gray
|
20
|
+
|
21
|
+
@include media-breakpoint-up(md)
|
22
|
+
transition: background .3s ease
|
23
|
+
.is-menu-opened &
|
24
|
+
background-color: $bg-secondary-color-reverse
|
25
|
+
ul
|
26
|
+
@include container
|
27
|
+
@include grid(2)
|
28
|
+
> li
|
29
|
+
border-bottom: none
|
30
|
+
a
|
31
|
+
padding-bottom: $grid-gutter * 4
|
32
|
+
padding-top: $grid-gutter * 4
|
33
|
+
position: relative
|
34
|
+
z-index: 1
|
35
|
+
span
|
36
|
+
transition: color .3s ease
|
37
|
+
.is-menu-opened &
|
38
|
+
color: $secondary-reverse
|
39
|
+
li
|
40
|
+
position: relative
|
41
|
+
&::before
|
42
|
+
background: $white
|
43
|
+
content: ''
|
44
|
+
cursor: pointer
|
45
|
+
height: 100%
|
46
|
+
left: calc((max(50vw, #{$grid-width/2}) - #{$grid-width / 2 - $grid-gutter * 2}) * -1)
|
47
|
+
mix-blend-mode: exclusion
|
48
|
+
position: absolute
|
49
|
+
top: 0
|
50
|
+
transition: width 0.35s $easeInOutQuad
|
51
|
+
width: 0
|
52
|
+
z-index: 2
|
53
|
+
&:hover
|
54
|
+
&::before
|
55
|
+
transition: width 3s $easeInOutQuad
|
56
|
+
width: 50vw
|
57
|
+
li + li
|
58
|
+
@include border-line
|
59
|
+
left: -#{$grid-gutter}
|
60
|
+
padding-left: $grid-gutter
|
61
|
+
&::before
|
62
|
+
left: -$grid-gutter
|
63
|
+
right: auto
|
64
|
+
|
65
|
+
@media (prefers-color-scheme: dark)
|
66
|
+
background-color: $bg-secondary-color-reverse
|
67
|
+
span
|
68
|
+
color: $secondary-reverse
|
69
|
+
li+li::after
|
70
|
+
background: $border-color-reverse
|
71
|
+
@include media-breakpoint-down(md)
|
72
|
+
ul li:first-child
|
73
|
+
border-bottom-color: $border-color-reverse
|
74
|
+
@include media-breakpoint-up(md)
|
75
|
+
.is-menu-opened &
|
76
|
+
background-color: $bg-secondary-color
|
77
|
+
span
|
78
|
+
.is-menu-opened &
|
79
|
+
color: $secondary
|
@@ -0,0 +1,61 @@
|
|
1
|
+
aside
|
2
|
+
grid-column: 5/13
|
3
|
+
padding-bottom: $grid-gutter
|
4
|
+
&:hover
|
5
|
+
z-index: 2
|
6
|
+
img
|
7
|
+
border: 1px solid rgba(0, 0, 0, 0.05)
|
8
|
+
display: block
|
9
|
+
margin: $grid-gutter/2 0
|
10
|
+
max-width: 124px
|
11
|
+
p
|
12
|
+
margin-bottom: 0
|
13
|
+
&.is-fixed
|
14
|
+
background: $bg-secondary-color
|
15
|
+
bottom: 0
|
16
|
+
left: 0
|
17
|
+
padding: 5px 15px 10px 10px
|
18
|
+
padding-bottom: env(safe-area-inset-bottom, 10px)
|
19
|
+
position: fixed
|
20
|
+
transform: translateY(100%)
|
21
|
+
width: 100%
|
22
|
+
z-index: 3
|
23
|
+
&.is-handled
|
24
|
+
transition: 0.25s $easeInOutQuad
|
25
|
+
img
|
26
|
+
transition: 0.33s $easeInOutQuad
|
27
|
+
|
28
|
+
&.is-visible
|
29
|
+
&, img
|
30
|
+
transform: translateY(0)
|
31
|
+
img
|
32
|
+
bottom: 12px
|
33
|
+
margin: 0
|
34
|
+
max-width: 100px
|
35
|
+
position: absolute
|
36
|
+
right: 12px
|
37
|
+
transform: translateY(100%)
|
38
|
+
picture + p
|
39
|
+
padding-right: 120px
|
40
|
+
|
41
|
+
&.is-handled:not(.is-fixed)
|
42
|
+
display: flex
|
43
|
+
flex-direction: column-reverse
|
44
|
+
grid-column: 1/5
|
45
|
+
padding-bottom: 0
|
46
|
+
position: absolute
|
47
|
+
img
|
48
|
+
filter: grayscale(1)
|
49
|
+
margin-bottom: $grid-gutter/2
|
50
|
+
opacity: 0.9
|
51
|
+
transition: 0.33s $easeInOutQuad
|
52
|
+
&:hover, &.is-hovered
|
53
|
+
img
|
54
|
+
filter: grayscale(0)
|
55
|
+
opacity: 1
|
56
|
+
&:hover, &.is-hovered
|
57
|
+
a
|
58
|
+
text-decoration-color: black
|
59
|
+
img
|
60
|
+
filter: grayscale(0)
|
61
|
+
opacity: 1
|
data/assets/js/main.js
CHANGED
@@ -2,4 +2,16 @@
|
|
2
2
|
layout:
|
3
3
|
---
|
4
4
|
|
5
|
-
{% include js/menu.js %}
|
5
|
+
{% include js/menu-burger.js %}
|
6
|
+
|
7
|
+
{%- if site.options.notes -%}
|
8
|
+
{% include js/notes.js %}
|
9
|
+
{%- endif -%}
|
10
|
+
|
11
|
+
{%- if site.options.paragraphs_index -%}
|
12
|
+
{% include js/paragraphs-index.js %}
|
13
|
+
{%- endif -%}
|
14
|
+
|
15
|
+
{%- if site.options.hover_navigation_links -%}
|
16
|
+
{% include js/hover-navigation-links.js %}
|
17
|
+
{%- endif -%}
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-theme-noesya
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sébastien Moulène
|
8
8
|
- Arnaud Levy
|
9
|
+
- Alexis BENOIT
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2021-11-
|
13
|
+
date: 2021-11-04 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: jekyll
|
@@ -85,6 +86,7 @@ description:
|
|
85
86
|
email:
|
86
87
|
- sebousan@gmail.com
|
87
88
|
- contact@arnaudlevy.com
|
89
|
+
- alexis.benoit@noesya.coop
|
88
90
|
executables: []
|
89
91
|
extensions: []
|
90
92
|
extra_rdoc_files: []
|
@@ -93,11 +95,17 @@ files:
|
|
93
95
|
- README.md
|
94
96
|
- _includes/footer.html
|
95
97
|
- _includes/header.html
|
96
|
-
- _includes/js/
|
98
|
+
- _includes/js/hover-navigation-links.js
|
99
|
+
- _includes/js/menu-burger.js
|
100
|
+
- _includes/js/notes.js
|
101
|
+
- _includes/js/paragraphs-index.js
|
97
102
|
- _includes/nav/contacts.html
|
98
103
|
- _includes/nav/ecosystem.html
|
99
104
|
- _includes/nav/legal.html
|
100
105
|
- _includes/nav/primary.html
|
106
|
+
- _includes/navigation-between-pages.html
|
107
|
+
- _includes/note.html
|
108
|
+
- _includes/sections-with-notes.html
|
101
109
|
- _includes/seo.html
|
102
110
|
- _layouts/default.html
|
103
111
|
- _layouts/page.html
|
@@ -112,6 +120,8 @@ files:
|
|
112
120
|
- _sass/commons/typography.sass
|
113
121
|
- _sass/components/header.sass
|
114
122
|
- _sass/components/menu.sass
|
123
|
+
- _sass/components/nav-between.sass
|
124
|
+
- _sass/components/notes.sass
|
115
125
|
- _sass/layouts/legal.sass
|
116
126
|
- _sass/layouts/page.sass
|
117
127
|
- _sass/main.sass
|
@@ -146,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
146
156
|
- !ruby/object:Gem::Version
|
147
157
|
version: '0'
|
148
158
|
requirements: []
|
149
|
-
rubygems_version: 3.1.
|
159
|
+
rubygems_version: 3.1.4
|
150
160
|
signing_key:
|
151
161
|
specification_version: 4
|
152
162
|
summary: Noesya theme for Jekyll.
|