Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f8c4e6bdc | ||
|
|
db81998d57 | ||
|
|
30c69ad7fc | ||
|
|
36271d15f5 | ||
|
|
0ce3ef6bd8 | ||
|
|
e675044d29 | ||
|
|
a59342a068 | ||
|
|
b7e170c5cf | ||
|
|
cf6c261061 | ||
|
|
6de27253e7 | ||
|
|
61ae48d92a | ||
|
|
2d4e1e1ed1 | ||
|
|
918d04fa43 | ||
|
|
126f71694f | ||
|
|
8193f6071e | ||
|
|
903ad6596c | ||
|
|
90ab9d28b9 | ||
|
|
d90b7e5b3e | ||
|
|
af81ee840f | ||
|
|
cb140fc5e6 | ||
|
|
1c6bd0d9e2 | ||
|
|
8f02ec7714 | ||
|
|
ef464c868e | ||
|
|
85e1ba131e | ||
|
|
1ae32a42cb | ||
|
|
6f5e6f4391 | ||
|
|
bc0c83c0c4 | ||
|
|
cff0e2a387 | ||
|
|
844812b4f4 | ||
|
|
5fd703674b | ||
|
|
a3e2b33c5e | ||
|
|
6be43f77a5 | ||
|
|
075fad74cb | ||
|
|
7d212bc310 | ||
|
|
96149caa54 | ||
|
|
b939edc600 | ||
|
|
3d44327497 | ||
|
|
b0b2698d35 | ||
|
|
6e83c1acd5 | ||
|
|
66949b5c4c | ||
|
|
959d5fe1f9 | ||
|
|
7a7c8022ad | ||
|
|
33c6dbd1be | ||
|
|
d27cc9c132 | ||
|
|
922440cd55 | ||
|
|
9ffaf41d20 | ||
|
|
ded2d87b2b | ||
|
|
97f0f35498 | ||
|
|
621529aaf2 | ||
|
|
ef5018ee6f | ||
|
|
12ae094b8a | ||
|
|
93022d6432 | ||
|
|
1e6bcecb5a | ||
|
|
784efffcd1 | ||
|
|
b82680b103 | ||
|
|
7b6b45055c | ||
|
|
02342c919a | ||
|
|
5b203f46c4 | ||
|
|
ff56bc2bd6 | ||
|
|
4efb8638c4 | ||
|
|
536e89d174 | ||
|
|
1a85a28685 | ||
|
|
be3c046acf | ||
|
|
573f286971 | ||
|
|
70462d0e16 | ||
|
|
9dce68d58a | ||
|
|
4c3ada478a | ||
|
|
438710da82 | ||
|
|
4f76c2546a | ||
|
|
14e3fa2b28 | ||
|
|
dc965c5bbe | ||
|
|
accc82a03b | ||
|
|
148349b029 | ||
|
|
0527e17354 | ||
|
|
c76813f6f5 | ||
|
|
4364fb73f5 | ||
|
|
dfaac405f0 | ||
|
|
9c386c5509 | ||
|
|
2f5e771072 | ||
|
|
16103c6d49 | ||
|
|
bf66a5c345 | ||
|
|
ceeda03132 | ||
|
|
f1ffad4b5e | ||
|
|
162f659f61 | ||
|
|
adae207d17 | ||
|
|
4b08acb115 | ||
|
|
d240efaa7c | ||
|
|
0378a31f53 | ||
|
|
d47d62f695 | ||
|
|
64b1d429a4 | ||
|
|
244eff763a | ||
|
|
25ce47de8c | ||
|
|
256e626503 | ||
|
|
1d3fd5d7d6 | ||
|
|
f8ea22fdb8 | ||
|
|
7e7b901974 | ||
|
|
f33349c2ee | ||
|
|
ed883ea2d4 | ||
|
|
ab42c3ba1d | ||
|
|
b278dac7fb | ||
|
|
0b8b5230f9 | ||
|
|
6165d896a0 | ||
|
|
bde92b6d4a | ||
|
|
271b5da8e5 | ||
|
|
bce2b50556 | ||
|
|
7daa7aceb3 | ||
|
|
3ed92f5ea8 | ||
|
|
dc41016c62 | ||
|
|
7ef6af66e4 | ||
|
|
4b0c8bd1b9 | ||
|
|
9ac9602e22 | ||
|
|
f3c617f7de | ||
|
|
753ccbbd03 | ||
|
|
1b06aff3bc | ||
|
|
7ea8510d4f | ||
|
|
7d61488f5e | ||
|
|
a7af9b0ad2 | ||
|
|
4310b5459c | ||
|
|
f8f6e589ac | ||
|
|
172a5169f1 | ||
|
|
48ed1444b9 | ||
|
|
409bc92868 | ||
|
|
f8527e7916 | ||
|
|
a179735103 | ||
|
|
60b9565277 | ||
|
|
7746db6f7e | ||
|
|
5e3d1406d2 | ||
|
|
a0aa8f80a7 | ||
|
|
6308789788 | ||
|
|
c7ef8c0fd0 | ||
|
|
ada1b6184e | ||
|
|
9b9d2c66e2 | ||
|
|
6693a4a8cc | ||
|
|
aca6648bd4 | ||
|
|
6e94773083 | ||
|
|
4c38bab95b | ||
|
|
6f1cbfb3be | ||
|
|
8d3592ff70 | ||
|
|
aae8dac76c | ||
|
|
b604e2a686 | ||
|
|
02d989370a | ||
|
|
2c92d34938 | ||
|
|
0d56036557 | ||
|
|
73c2ad818c | ||
|
|
495fb29b45 | ||
|
|
75841313de | ||
|
|
7aee05ce0c | ||
|
|
08b0303298 | ||
|
|
6eaee034d1 | ||
|
|
9770b663f9 | ||
|
|
2cc21c1e88 | ||
|
|
830595d967 | ||
|
|
f18799a0c9 | ||
|
|
51fcef50d0 | ||
|
|
91ab537546 | ||
|
|
23a91f8695 | ||
|
|
8a67ce8e41 | ||
|
|
18e89666a6 | ||
|
|
5946bd4ea0 | ||
|
|
3d65710bf7 | ||
|
|
c940a73b50 | ||
|
|
e44403e276 | ||
|
|
6f0ba5e363 | ||
|
|
955a19b955 | ||
|
|
de1e2b73a6 | ||
|
|
1433887f67 | ||
|
|
2f5af9050b | ||
|
|
03a26a105d | ||
|
|
65237df377 | ||
|
|
f92670442f | ||
|
|
cee4c86ee3 | ||
|
|
58d1ba8293 | ||
|
|
8dc2997d1f | ||
|
|
daf51177f8 | ||
|
|
416933d98a | ||
|
|
55f6e8fae5 | ||
|
|
bcb15f80e7 | ||
|
|
00b86b1ff8 | ||
|
|
a66bf7e317 | ||
|
|
3f36d171bb | ||
|
|
4ef57be787 | ||
|
|
df97788050 | ||
|
|
a499b0dcae | ||
|
|
3051fcd3c9 | ||
|
|
4e19f46d68 | ||
|
|
7aa8c7b5dc | ||
|
|
23e7ad2903 | ||
|
|
a19dbdbf78 | ||
|
|
8b67db3ff4 | ||
|
|
2632ff650a | ||
|
|
ad1e06633c | ||
|
|
9539e3bd84 | ||
|
|
d6c84c9508 | ||
|
|
5ef199a3eb | ||
|
|
d639c605c8 | ||
|
|
a431dd5cc3 | ||
|
|
691df116da | ||
|
|
9ab55b6c54 | ||
|
|
bdcfd791a0 | ||
|
|
9f7c0e4144 | ||
|
|
dbc9479fd5 | ||
|
|
6bd64ffd47 | ||
|
|
ebc8123d36 | ||
|
|
a6b51ed91e | ||
|
|
642ec7b20f | ||
|
|
000dc3b4a2 | ||
|
|
50d312d04c | ||
|
|
25e871c096 | ||
|
|
20cd63c05b | ||
|
|
eaef9ecd9f | ||
|
|
62c123c6b5 | ||
|
|
234d859040 | ||
|
|
c6c6bafad0 | ||
|
|
97cf6e189b | ||
|
|
9cf80336b3 | ||
|
|
ff5b354a9a | ||
|
|
0629bb770d | ||
|
|
1ca125d61b | ||
|
|
aa5dab277e | ||
|
|
f9b17c6249 | ||
|
|
084ddf8d8e | ||
|
|
9269842e9d | ||
|
|
567836e43c | ||
|
|
7e7e683801 | ||
|
|
0f06cb8225 | ||
|
|
89de4d46db | ||
|
|
65e79f5a7d | ||
|
|
42f7512702 | ||
|
|
cc18679227 | ||
|
|
5094a4092a | ||
|
|
6ade4536f7 | ||
|
|
bd46e0a1a8 | ||
|
|
14a47c9d39 | ||
|
|
2eda29dd1f | ||
|
|
26db31c52d | ||
|
|
4fcd51b9bd | ||
|
|
0491cd362b | ||
|
|
3c075fe76b | ||
|
|
00fa7be38b | ||
|
|
297989c1be | ||
|
|
8adb089a68 | ||
|
|
ad094187f7 | ||
|
|
5aeff0c01b | ||
|
|
579d1759d1 | ||
|
|
cc9d1fdaf3 | ||
|
|
3b62fcef6b | ||
|
|
8152b4cbfc | ||
|
|
3c60ebde58 | ||
|
|
b997dc5e25 | ||
|
|
7597735c73 | ||
|
|
184f4f3430 | ||
|
|
351174e494 | ||
|
|
5704e9c0ae | ||
|
|
00d9900743 | ||
|
|
d9305929cf | ||
|
|
f2461af7a8 | ||
|
|
327a7b6f62 | ||
|
|
5516883310 | ||
|
|
1f9698ce37 | ||
|
|
1f0746f2d5 | ||
|
|
b4b8369f5b | ||
|
|
1d2a1c51df | ||
|
|
e7687a8e15 | ||
|
|
edd326376b | ||
|
|
e2f65248b0 | ||
|
|
e134d13e45 | ||
|
|
5423463ca0 | ||
|
|
65eb672dcc | ||
|
|
ee67ad9743 | ||
|
|
635b1790f3 | ||
|
|
4847ce3330 | ||
|
|
b0f5370ede | ||
|
|
4e2e64989f | ||
|
|
2127655ad8 | ||
|
|
b0261f7c43 | ||
|
|
68327eb69b | ||
|
|
1ae5b070b6 | ||
|
|
4710639f05 | ||
|
|
736f77c9c6 | ||
|
|
e1fce9fc94 | ||
|
|
4259ffdd6f | ||
|
|
de6870743d | ||
|
|
99cd379c61 | ||
|
|
5ffad0d956 | ||
|
|
b1e4881c50 | ||
|
|
c521fe58df | ||
|
|
2e05b8568b | ||
|
|
2301fdf5a7 | ||
|
|
8a39b748c2 | ||
|
|
deaed193af | ||
|
|
641ca6f3d8 | ||
|
|
3d3cb58a2e | ||
|
|
6e4aa384d0 | ||
|
|
c501842db8 | ||
|
|
30ae2357c9 | ||
|
|
aaee7b0ac7 | ||
|
|
4556423b66 | ||
|
|
f734cf7e99 | ||
|
|
6282bd9221 | ||
|
|
29c403b3f6 | ||
|
|
3a2075a090 | ||
|
|
9be80f891f | ||
|
|
f189e40766 | ||
|
|
7bb68edf03 | ||
|
|
5fe4c4810d | ||
|
|
d585934803 | ||
|
|
0ec1aa1292 | ||
|
|
923aa95c97 | ||
|
|
20f45e1d01 | ||
|
|
4b29913413 | ||
|
|
0fe0d83976 | ||
|
|
784264d1e6 | ||
|
|
e243901e9f | ||
|
|
db9cff2ade | ||
|
|
08c53cb804 | ||
|
|
5d52384b85 | ||
|
|
5ef9af5fe5 | ||
|
|
fe77557d60 | ||
|
|
faf86f59e9 | ||
|
|
e61476d0a9 | ||
|
|
e3200acafc | ||
|
|
f69e6cbfc4 | ||
|
|
13a644d22c | ||
|
|
48bf0d4e6c | ||
|
|
2d813530d4 | ||
|
|
72897524d7 | ||
|
|
2e6fe02f78 | ||
|
|
d591b2b8d8 | ||
|
|
64dc575476 | ||
|
|
899050cdfa | ||
|
|
d1dd94246c | ||
|
|
010825dfca | ||
|
|
b24f69a71f | ||
|
|
144cfee5b7 | ||
|
|
d993845dfd | ||
|
|
133dffe2f9 | ||
|
|
8d162a7767 | ||
|
|
de2cf5609b | ||
|
|
2a6d2bdd13 | ||
|
|
0c8cb15210 | ||
|
|
0c9553da06 | ||
|
|
caa21efd4d | ||
|
|
a5aeef3d70 | ||
|
|
efe9f3bf94 | ||
|
|
7e3a7c1b16 | ||
|
|
f98d7de897 | ||
|
|
10a4cb116f | ||
|
|
95f3f0ac64 | ||
|
|
c70990aa70 | ||
|
|
b69acb6743 | ||
|
|
f75d8e552c | ||
|
|
11524f165e | ||
|
|
4488d4cf2b | ||
|
|
c2c05b9b67 | ||
|
|
50bd68e6d0 | ||
|
|
187752b673 | ||
|
|
052f3f786f | ||
|
|
d6444412c6 | ||
|
|
99a77e4d3a | ||
|
|
bdc8ac01e8 | ||
|
|
ab19c77ac9 | ||
|
|
526445bffe | ||
|
|
8bec01b76d | ||
|
|
e21035e62d | ||
|
|
2fcb13a8cc | ||
|
|
8cb95a7005 | ||
|
|
c6f10529a4 | ||
|
|
7a6060a55a | ||
|
|
5b5b3ad4e0 | ||
|
|
24b4585084 | ||
|
|
b75f057a5e | ||
|
|
92f94d5549 | ||
|
|
e0b0448f05 | ||
|
|
b7144931c7 | ||
|
|
5c8b220bf9 | ||
|
|
d57fe1de2c | ||
|
|
5741539e17 | ||
|
|
b4abce3b78 | ||
|
|
53ad4d343a | ||
|
|
3135099203 | ||
|
|
95ba9242bf | ||
|
|
cb18aaa7a0 | ||
|
|
6d1aea573c | ||
|
|
e4fbcf7383 | ||
|
|
eb31e33365 | ||
|
|
f15e02ea58 | ||
|
|
5d85bf1912 | ||
|
|
b093b52074 | ||
|
|
a695d7728f | ||
|
|
83b4dba2f0 | ||
|
|
1f0b50044c | ||
|
|
f099739f42 | ||
|
|
cd7aa71ffc | ||
|
|
960d80dc6d | ||
|
|
34ff24e31b | ||
|
|
d5d3863322 | ||
|
|
bae1a2eb0d | ||
|
|
a0e3387677 | ||
|
|
16bacdcc37 | ||
|
|
be9a90fa0c | ||
|
|
a89a015ce7 | ||
|
|
8a60d43b12 | ||
|
|
a0309bba05 | ||
|
|
af7805a985 | ||
|
|
adb301096f | ||
|
|
42c4df6244 | ||
|
|
8711be97c6 | ||
|
|
28edd82198 | ||
|
|
91433e72e6 | ||
|
|
82f79d3045 | ||
|
|
3af9e57c6a | ||
|
|
c980d7f079 | ||
|
|
f297fe1b51 | ||
|
|
4f8e2b48bb | ||
|
|
2ef1bfb856 | ||
|
|
776ab26ce1 | ||
|
|
a870cbddd9 | ||
|
|
5021021fc8 | ||
|
|
c6145356fd | ||
|
|
7ec8e90c76 | ||
|
|
3ab6ba0b1f | ||
|
|
59e007b20e | ||
|
|
875dbdefb8 | ||
|
|
da2035c1ff | ||
|
|
b336eab85b | ||
|
|
3ca2503745 | ||
|
|
d392698661 | ||
|
|
a3d1d904d5 | ||
|
|
cf398b07ab | ||
|
|
f7770ad079 | ||
|
|
7a4b65711d | ||
|
|
7bdc8dc193 | ||
|
|
1a6bc842ae | ||
|
|
476b12c867 | ||
|
|
890e573989 | ||
|
|
b27da24c8d | ||
|
|
502e28a54e | ||
|
|
9280de7075 | ||
|
|
2147ee2b66 | ||
|
|
172321f115 | ||
|
|
f8ab328e8a | ||
|
|
ac970d98b8 | ||
|
|
3c6c8586ba | ||
|
|
f9c4e37816 | ||
|
|
4ba02060e4 | ||
|
|
8ba8be1cac | ||
|
|
ef9431ccdd | ||
|
|
d387d410eb | ||
|
|
07957f6d64 | ||
|
|
f3c74113fd | ||
|
|
63c929655d | ||
|
|
7790757722 | ||
|
|
b4ccaa6ae2 | ||
|
|
29f4efc441 | ||
|
|
54001dade7 | ||
|
|
843c38b892 | ||
|
|
c57dfd78b0 | ||
|
|
a0a0a78b07 | ||
|
|
7f222d7e1f | ||
|
|
e773a08645 | ||
|
|
def3aaf229 | ||
|
|
2d0b445634 | ||
|
|
6bc673d331 | ||
|
|
0d4e54283a | ||
|
|
c5523d119a | ||
|
|
e00e24dc9d | ||
|
|
e3fd8dc17b | ||
|
|
2d407a9d9e | ||
|
|
b1d7c4062f | ||
|
|
4e25e5242e | ||
|
|
eeecf26117 | ||
|
|
864892c507 | ||
|
|
ece34c1c57 | ||
|
|
7051c2b595 | ||
|
|
e31701787e | ||
|
|
78f049abee | ||
|
|
f9b4ddb869 | ||
|
|
a2385e2584 | ||
|
|
b5abe62bf6 | ||
|
|
9c90563d1a | ||
|
|
02098bc079 | ||
|
|
60f0f1c33a | ||
|
|
e1724aec9d | ||
|
|
7b953b6b01 | ||
|
|
21ae828654 | ||
|
|
cba217a6da | ||
|
|
72bc135b5f | ||
|
|
5e5d4210e2 | ||
|
|
bcd6126612 | ||
|
|
0cf1a2e114 | ||
|
|
52fcc60474 | ||
|
|
dc8a41bb60 | ||
|
|
4fa9cf63d2 | ||
|
|
4bf72cf73f | ||
|
|
31dff63ad1 | ||
|
|
648ef257a4 | ||
|
|
909745a7c9 | ||
|
|
2513357cdc | ||
|
|
e8b36c94d3 | ||
|
|
f7884a31c6 | ||
|
|
060d50eda0 | ||
|
|
b06b6477e9 | ||
|
|
1799ddd6a5 | ||
|
|
636ea3eb87 | ||
|
|
82a71a59f2 | ||
|
|
ec0b288f9e | ||
|
|
1b9b8465b0 | ||
|
|
3332196ec5 | ||
|
|
1163ddc3f2 | ||
|
|
d6c935aaaa | ||
|
|
741b6dcb10 | ||
|
|
0ce6c0d648 | ||
|
|
2397da4e28 | ||
|
|
c6b4cdac97 | ||
|
|
b84c196178 | ||
|
|
d1db419e59 | ||
|
|
31d230934c | ||
|
|
a9f927a353 | ||
|
|
39423bc233 | ||
|
|
eb1af70810 | ||
|
|
6deaab8d3a | ||
|
|
be0e7ca971 | ||
|
|
f2af873e94 | ||
|
|
e2f0cf82f9 | ||
|
|
65051cce2e | ||
|
|
f331584125 | ||
|
|
e604b4742a | ||
|
|
8e2d290c7f | ||
|
|
92401a14b7 | ||
|
|
e7d429cd74 | ||
|
|
7607fcf7b6 | ||
|
|
4a85725bfe | ||
|
|
abf29432f6 | ||
|
|
af528d49ce | ||
|
|
df3da4f7e3 | ||
|
|
e749af9ff8 | ||
|
|
ee9aa75213 | ||
|
|
032aaf209b | ||
|
|
5c9b5c3218 | ||
|
|
02dd27ccdc | ||
|
|
6c733c3b93 | ||
|
|
0be64d50fc | ||
|
|
14ebcce4a9 | ||
|
|
c7e3c5e3cb | ||
|
|
c2c33a9ca8 | ||
|
|
e09ff7efd7 | ||
|
|
2d257a905e | ||
|
|
13d7a231f7 | ||
|
|
4ef8db79ba | ||
|
|
5eaa0e5ec8 | ||
|
|
96feec08a9 | ||
|
|
ef22eb314e | ||
|
|
d4edd0c1e3 | ||
|
|
6d1edf339c | ||
|
|
13ab95d1ad | ||
|
|
2328c8192c | ||
|
|
6d28d12d1d | ||
|
|
29263ac102 | ||
|
|
8e722d0276 | ||
|
|
4462af335e | ||
|
|
4f206843e4 | ||
|
|
647c1672c5 | ||
|
|
1c8c7e6844 | ||
|
|
9a8a64cfbe | ||
|
|
f5da37ea7e | ||
|
|
3e4069c5ba | ||
|
|
a101d668e8 | ||
|
|
2d22b95c32 | ||
|
|
519824eee7 | ||
|
|
9238caac41 | ||
|
|
3b3da46fea | ||
|
|
6a3d325cd4 | ||
|
|
57a7401768 | ||
|
|
a52394c02e | ||
|
|
69edbfba58 | ||
|
|
4b6b76853f | ||
|
|
5c19a81fe6 | ||
|
|
f2c5d79451 | ||
|
|
a2fdc94fb7 | ||
|
|
cc365940c5 | ||
|
|
c642c0f694 | ||
|
|
5ab086cb4c | ||
|
|
58f1d16900 | ||
|
|
143bb32a95 | ||
|
|
2388cbe020 | ||
|
|
35b31e7143 | ||
|
|
724ea26197 | ||
|
|
14e009ee29 | ||
|
|
43b5e5f2ef | ||
|
|
9ffdabb51f | ||
|
|
d48fe54559 | ||
|
|
6d44ad6ca4 | ||
|
|
0959ef52ce | ||
|
|
b84e5fde6a | ||
|
|
4f9aca2a55 | ||
|
|
07461d7648 | ||
|
|
bd449813e5 | ||
|
|
666c15a66b | ||
|
|
a2255d03e1 | ||
|
|
bd2d947a55 | ||
|
|
ae2ab92420 | ||
|
|
c1df29422b | ||
|
|
a1200bbd1d | ||
|
|
6311da0b16 | ||
|
|
95ad34bcf5 | ||
|
|
958441dc15 | ||
|
|
f1fba3d8db | ||
|
|
64daa7f882 | ||
|
|
af772af56f | ||
|
|
75c120f56d | ||
|
|
ca786b68f7 | ||
|
|
3bbfeac62d | ||
|
|
8b708a0ee3 | ||
|
|
cfad550975 | ||
|
|
00bec58bee | ||
|
|
86e9d31857 | ||
|
|
8444d54593 | ||
|
|
dc99092c54 | ||
|
|
b5b8c45530 | ||
|
|
098a475726 | ||
|
|
828b0041a6 | ||
|
|
56701a0bde | ||
|
|
301594f1a3 | ||
|
|
ee81b4613a | ||
|
|
349e4840f1 | ||
|
|
1436671500 | ||
|
|
14adf5c9ef | ||
|
|
e664d1d4d6 | ||
|
|
08e14587cd | ||
|
|
ca12dcd340 | ||
|
|
74ea18ecc5 | ||
|
|
7127afad90 | ||
|
|
3b43fac12b | ||
|
|
f5dafab391 | ||
|
|
480e81d285 | ||
|
|
cd928021ea | ||
|
|
80b6f60205 | ||
|
|
16fc624b82 | ||
|
|
f0037aeb00 | ||
|
|
1b30ffdec2 | ||
|
|
26c1989bf6 | ||
|
|
cb4acd9423 | ||
|
|
64a34ee5ae | ||
|
|
843fa688cc | ||
|
|
8da334b517 | ||
|
|
9b68374559 | ||
|
|
06820bc6b1 | ||
|
|
d7af62a34b | ||
|
|
129500b852 | ||
|
|
93d29be369 | ||
|
|
31cb045a61 | ||
|
|
abf71c6b2a | ||
|
|
3f83a0df91 | ||
|
|
b83ab5600c | ||
|
|
b797deffeb | ||
|
|
4e41e73558 | ||
|
|
d90cea5ef3 | ||
|
|
7cd711e416 | ||
|
|
d84c3ded70 | ||
|
|
0cf24b028d | ||
|
|
90df6afc68 | ||
|
|
cf0c046dd2 | ||
|
|
44760c989e | ||
|
|
dce8f9c10a | ||
|
|
3f1f7da5c8 | ||
|
|
d06e437ced | ||
|
|
9164fda18a | ||
|
|
df8a030a42 | ||
|
|
9baef1bda2 | ||
|
|
e4c0689cda | ||
|
|
29acb2a0bf | ||
|
|
60b5bacca8 | ||
|
|
2413ea7204 | ||
|
|
d09bf47087 | ||
|
|
ac2975a8dd | ||
|
|
146186ab82 | ||
|
|
c7184ba2a2 | ||
|
|
63f3240366 | ||
|
|
01150a8dac | ||
|
|
737c011d46 | ||
|
|
b93ec8ca34 | ||
|
|
baec5d00b5 | ||
|
|
54e141aa0b | ||
|
|
346c8a9257 | ||
|
|
7fa5ac49db | ||
|
|
2e9e2ab312 | ||
|
|
a66cf1d700 | ||
|
|
a1ff46cc59 | ||
|
|
5ed1f79557 | ||
|
|
a44dc2f914 | ||
|
|
94e8280950 | ||
|
|
8625e0708a | ||
|
|
097c01eff1 | ||
|
|
960d6af1a2 | ||
|
|
bd5f157833 | ||
|
|
d5dae86319 | ||
|
|
102924ff94 | ||
|
|
59111d1e01 | ||
|
|
4a38b5fae0 | ||
|
|
3dbe89d3f0 | ||
|
|
fb74bde6f6 | ||
|
|
10f62bb9ac | ||
|
|
c1094cad44 | ||
|
|
78817f9c66 | ||
|
|
7f414f4968 | ||
|
|
4501e4f4b0 | ||
|
|
397c13f087 | ||
|
|
1e78b160ca | ||
|
|
8eb880aaa0 | ||
|
|
67c08a05fd | ||
|
|
65c401b319 | ||
|
|
9be0551c69 | ||
|
|
aefe633770 | ||
|
|
adfdf4b1d9 | ||
|
|
1d4cad2fd7 | ||
|
|
f59711945e | ||
|
|
8efaa7e46a | ||
|
|
246c678028 | ||
|
|
81f7851347 | ||
|
|
ea2b6de555 | ||
|
|
622005cb44 | ||
|
|
cc4471e4dd | ||
|
|
bcb7343b17 | ||
|
|
c510b51a43 | ||
|
|
d41a284bd2 | ||
|
|
f405d24ce2 | ||
|
|
d0d267697e | ||
|
|
8f5140ab42 | ||
|
|
afd8cfd99e | ||
|
|
c44e65cdec | ||
|
|
282806ae07 | ||
|
|
86e95b4f6f | ||
|
|
1b7e8335fe | ||
|
|
a974e45712 | ||
|
|
cac73fb87d | ||
|
|
89c4169191 | ||
|
|
77059e3710 | ||
|
|
2274abb67d | ||
|
|
4c2557d670 | ||
|
|
04e1614184 | ||
|
|
6990f8fcc9 | ||
|
|
f2f580101e | ||
|
|
d361c00f8a | ||
|
|
33551c8cdb | ||
|
|
2784b3ad43 | ||
|
|
9232a38f2a | ||
|
|
53a45a240e | ||
|
|
c848d1ed61 | ||
|
|
b45c66f1f8 | ||
|
|
a81ed706da | ||
|
|
1cd1e7112a | ||
|
|
47450e8d08 | ||
|
|
f27bd39a41 | ||
|
|
70c937392d | ||
|
|
9fb484940f | ||
|
|
8ec8def1b8 | ||
|
|
f98445ef96 | ||
|
|
599847bf2d | ||
|
|
f3f73fdedc | ||
|
|
7de372cea9 | ||
|
|
e647af55dd | ||
|
|
c1412e3958 | ||
|
|
f4d890f282 | ||
|
|
4c6dd4fb41 | ||
|
|
7178b37b08 | ||
|
|
5b8a9de8eb | ||
|
|
f83fce9a02 | ||
|
|
f6d41f8fc8 | ||
|
|
aeb09ff7e1 | ||
|
|
63109a8316 | ||
|
|
5a8f737732 | ||
|
|
9de7eab353 | ||
|
|
be82750f82 | ||
|
|
f4f6e32cc3 | ||
|
|
6a93cea9bd | ||
|
|
f36a8a0bb0 | ||
|
|
19862018e5 | ||
|
|
82e9aee6a8 | ||
|
|
4e745d2f14 | ||
|
|
763d1c1bb5 | ||
|
|
b689af7eea | ||
|
|
83aa6ecb98 | ||
|
|
ed09740b42 | ||
|
|
5a68b46e5a | ||
|
|
edaf61b3ef | ||
|
|
e954039b13 | ||
|
|
2a64d8f514 | ||
|
|
573ce183c8 | ||
|
|
319a74621b | ||
|
|
851426dba2 | ||
|
|
1a88b6a24a | ||
|
|
e2ea799424 | ||
|
|
99ca41c4fe | ||
|
|
8a03ffb439 | ||
|
|
31828d3174 | ||
|
|
22a9c523d6 | ||
|
|
2729b692f3 | ||
|
|
cbcc53de31 | ||
|
|
3cd24c4b69 | ||
|
|
a59dd4a84c | ||
|
|
e4af8a4036 | ||
|
|
e24e259650 | ||
|
|
b2b66378ac | ||
|
|
a2620d34f6 | ||
|
|
d89c9a35fe | ||
|
|
ed24ab50be | ||
|
|
bede124d3f | ||
|
|
8fd8a0ff3d | ||
|
|
dbec2b9975 | ||
|
|
c00e5cf84c | ||
|
|
4b8de03b82 | ||
|
|
309b664cdb | ||
|
|
7d257e4e8b | ||
|
|
2cd757e601 | ||
|
|
5c7fe6b603 | ||
|
|
d786c190c7 | ||
|
|
85237fda1e | ||
|
|
d0ee15eb5c | ||
|
|
9aedf9a694 | ||
|
|
6fcd16154a | ||
|
|
85dca86d0a | ||
|
|
f4cfc87b0a | ||
|
|
0db8fc3ffb | ||
|
|
50e1ed8900 | ||
|
|
6bb8ff0c24 | ||
|
|
6690630917 | ||
|
|
edae4eaa00 | ||
|
|
39a0aa91de | ||
|
|
bf2c543c6c | ||
|
|
45d2ad86ed | ||
|
|
28e918e47d | ||
|
|
98d518817f | ||
|
|
c8f4820d31 | ||
|
|
de15fb80c4 | ||
|
|
4f21d99d56 | ||
|
|
c3693656dd | ||
|
|
91e71e3de5 | ||
|
|
e665944f26 | ||
|
|
f932eeae3e | ||
|
|
05d296c247 | ||
|
|
86d64f412c | ||
|
|
9e8899569a | ||
|
|
2a323940b7 | ||
|
|
e704cd40d4 | ||
|
|
c801107754 | ||
|
|
71df5e0112 | ||
|
|
dcdbba835c | ||
|
|
a7258d4fe4 | ||
|
|
4bd6efc323 | ||
|
|
6d6d738e23 | ||
|
|
2f1b8f3321 | ||
|
|
0a7cab0180 | ||
|
|
a5e96659a0 | ||
|
|
adfbe8622b | ||
|
|
7869947455 | ||
|
|
fe67efdee8 | ||
|
|
396e2ae402 | ||
|
|
2167884cae | ||
|
|
07f203bd1d | ||
|
|
a95fae0155 | ||
|
|
90f5a98406 | ||
|
|
2f40bb6403 | ||
|
|
98682985d7 | ||
|
|
5b2a699a11 | ||
|
|
f4bb3971e7 | ||
|
|
2ef2f27ab9 | ||
|
|
1504379168 | ||
|
|
42de7a56fc | ||
|
|
68df0b6b63 | ||
|
|
833ab3933d | ||
|
|
d082dc2a39 | ||
|
|
d23a569eff | ||
|
|
0fe7a7af2e | ||
|
|
192c22a637 | ||
|
|
174dfd1ba0 | ||
|
|
b0ff6ef4c6 | ||
|
|
1bebba692c | ||
|
|
a50c84e5d7 | ||
|
|
ea2573fdc9 | ||
|
|
c0725e9653 | ||
|
|
0d9978fe65 | ||
|
|
8dc845e4fb | ||
|
|
7ffc103437 | ||
|
|
3ada7c1483 | ||
|
|
4a072e50dc | ||
|
|
b40018d280 | ||
|
|
07411719a0 | ||
|
|
961d0b4db8 | ||
|
|
2d808b783d | ||
|
|
3b77428c49 | ||
|
|
cd14423918 | ||
|
|
0c1157977d | ||
|
|
61fee28543 | ||
|
|
f5c33989c8 | ||
|
|
67f94f0588 | ||
|
|
74def8eb65 | ||
|
|
f008388e39 | ||
|
|
623ac4a650 | ||
|
|
f9c418c740 | ||
|
|
73f47af242 | ||
|
|
1fbbe993c6 | ||
|
|
ca9d1ccb58 | ||
|
|
b3d7ea1fc6 | ||
|
|
c259535e44 | ||
|
|
ec0f75b9c0 | ||
|
|
9c65724955 | ||
|
|
e707057fa8 | ||
|
|
676b9cc0e3 | ||
|
|
26e3864478 | ||
|
|
0adebd240f | ||
|
|
7760108601 | ||
|
|
ac618ec2b5 | ||
|
|
4cfbede6e4 | ||
|
|
ecd1748247 | ||
|
|
858b5cc2a4 | ||
|
|
2be90f8f4a | ||
|
|
c427b9bd39 | ||
|
|
120ba7a0b0 | ||
|
|
3c48a2ed02 | ||
|
|
9cfa4865fd | ||
|
|
89d3cb3d02 | ||
|
|
99f727138f | ||
|
|
a3fe9487ce | ||
|
|
f1231ce243 | ||
|
|
8d2625bdf2 | ||
|
|
fc3e7a6176 | ||
|
|
8de5331a81 | ||
|
|
8dcb71e312 |
+9
-5
@@ -1,6 +1,10 @@
|
|||||||
assets/fonts/* linguist-vendored
|
assets/fonts/* linguist-vendored
|
||||||
assets/js/main.min.js linguist-vendored
|
assets/js/main.min.js linguist-vendored
|
||||||
assets/js/lunr/* linguist-vendored
|
assets/js/lunr/* linguist-vendored
|
||||||
assets/js/plugins/* linguist-vendored
|
assets/js/plugins/* linguist-vendored
|
||||||
assets/js/vendor/* linguist-vendored
|
assets/js/vendor/* linguist-vendored
|
||||||
_sass/minimal-mistakes/vendor/* linguist-vendored
|
_sass/minimal-mistakes/vendor/* linguist-vendored
|
||||||
|
CHANGELOG.md text merge=union
|
||||||
|
docs/_docs/18-history.md text merge=union
|
||||||
|
|
||||||
|
*.md text
|
||||||
|
|||||||
+13
-5
@@ -1,15 +1,23 @@
|
|||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
Having trouble working with the theme? Found a typo in the documentation? Interested in adding a feature or [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
|
Found a typo in the documentation or interested in [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
|
||||||
|
|
||||||
Minimal Mistakes has been designed as a base for you to customize and fit your site's unique needs. Please keep this in mind when requesting features and/or submitting pull requests. If it's not something that most people will use, I probably won't consider it. When in doubt ask.
|
For help with using the theme or general Jekyll support questions, please use the [Jekyll Talk forums](https://talk.jekyllrb.com/).
|
||||||
|
|
||||||
This goes for author sidebar links and "share button" additions -- I have no intention of merging in every possibly option, the essentials are there to get you started :smile:.
|
Minimal Mistakes has been designed as a base for you to customize and fit your
|
||||||
|
site's unique needs. Please keep this in mind when requesting features and/or
|
||||||
|
submitting pull requests. If it's not something that most people will use, I
|
||||||
|
probably won't consider it. When in doubt ask.
|
||||||
|
|
||||||
|
This goes for author sidebar links and "share button" additions -- I have no
|
||||||
|
intention of merging in every possibly option, the essentials are there to get
|
||||||
|
you started :smile:.
|
||||||
|
|
||||||
## Pull Requests
|
## Pull Requests
|
||||||
|
|
||||||
When submitting a pull request:
|
When submitting a pull request:
|
||||||
|
|
||||||
1. Clone the repo.
|
1. Clone the repo.
|
||||||
2. Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`) and describe the feature or fix.
|
2. Create a branch off of `master` and give it a meaningful name (e.g.
|
||||||
3. Open a pull request on GitHub.
|
`my-awesome-new-feature`) and describe the feature or fix.
|
||||||
|
3. Open a pull request on GitHub.
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
<!--
|
|
||||||
Before opening a new issue please:
|
|
||||||
|
|
||||||
- Verify you have the latest versions of Jekyll and Minimal Mistakes
|
|
||||||
installed by running `bundle update`.
|
|
||||||
- Thoroughly read the theme's documentation at
|
|
||||||
https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/
|
|
||||||
- Search all issues at https://github.com/mmistakes/minimal-mistakes/issues
|
|
||||||
for solutions and to avoid duplication.
|
|
||||||
- Ask for help at https://talk.jekyllrb.com/
|
|
||||||
|
|
||||||
After exhausting these suggestions use the format below.
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Description
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Describe the issue or proposed feature enhancement.
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Environment
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Please include theme version, Jekyll version, public git repository, whether
|
|
||||||
you are hosting with GitHub Pages, and the operating system you tested with.
|
|
||||||
|
|
||||||
Issues without a link to a public repository or ZIP file will likely go ignored.
|
|
||||||
Being able to see your actual files is necessary to troubleshoot, as most
|
|
||||||
issues stem from invalid/missing YAML Front Matter, a mis-configured _config.sys
|
|
||||||
file, or problematic site content.
|
|
||||||
-->
|
|
||||||
|
|
||||||
- Minimal Mistakes version:
|
|
||||||
- Ruby gem or remote theme version:
|
|
||||||
- Jekyll version:
|
|
||||||
- Git repository URL:
|
|
||||||
- Operating system:
|
|
||||||
- GitHub Pages hosted (if yes provide URL to site):
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Expected behavior
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Describe the intended output or what you expected to see.
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Steps to reproduce the behavior
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Describe the steps you took for this problem to exist. Such as: you installed
|
|
||||||
the theme, customized _config.yml, added your own posts, and started up a
|
|
||||||
Jekyll server locally.
|
|
||||||
|
|
||||||
If an error occurred on GitHub Pages when pushing, please test a local version
|
|
||||||
following these setup instructions:
|
|
||||||
https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/
|
|
||||||
|
|
||||||
Then provide a complete log by running `bundle exec jekyll build --trace --verbose`
|
|
||||||
and include this output in the filed issue.
|
|
||||||
|
|
||||||
Screenshots can also be included if they help illustrate a behavior.
|
|
||||||
-->
|
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
name: Bug Report
|
||||||
|
description: There is something wrong with the theme. 99% of the time you should select Support below.
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Before opening a new issue please:
|
||||||
|
|
||||||
|
- Verify you have the latest versions of Jekyll and Minimal Mistakes
|
||||||
|
installed by running `bundle update`.
|
||||||
|
- Thoroughly read the theme's documentation at
|
||||||
|
https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/
|
||||||
|
- Search all issues at https://github.com/mmistakes/minimal-mistakes/issues
|
||||||
|
for solutions and to avoid duplication.
|
||||||
|
- Ask for help at https://talk.jekyllrb.com/
|
||||||
|
|
||||||
|
If none of the above solved your problem, you can continue below.
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: environment
|
||||||
|
attributes:
|
||||||
|
label: Theme version and system environment
|
||||||
|
description: |
|
||||||
|
Please include theme version, Jekyll version, public git repository, whether
|
||||||
|
you are hosting with GitHub Pages, and the operating system you tested with.
|
||||||
|
|
||||||
|
Issues without a link to a public repository or ZIP file will likely go ignored.
|
||||||
|
Being able to see your actual files is necessary to troubleshoot, as most
|
||||||
|
issues stem from invalid/missing YAML Front Matter, a mis-configured _config.yml
|
||||||
|
file, or problematic site content.
|
||||||
|
value: |-
|
||||||
|
- Minimal Mistakes version:
|
||||||
|
- Ruby gem or remote theme version:
|
||||||
|
- Jekyll version:
|
||||||
|
- Git repository URL:
|
||||||
|
- URL to the page with the problem:
|
||||||
|
- Operating system:
|
||||||
|
- Browser version:
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: what-happened
|
||||||
|
attributes:
|
||||||
|
label: What happened?
|
||||||
|
description: |
|
||||||
|
Describe the problem **in detail**. For example:
|
||||||
|
|
||||||
|
- What is missing?
|
||||||
|
- What error do you see? Attach the error log if available.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: expected-behavior
|
||||||
|
attributes:
|
||||||
|
label: Expected behavior
|
||||||
|
description: |
|
||||||
|
Please describe the expected behavior and the actual result you got.
|
||||||
|
placeholder: >
|
||||||
|
What is it you expected to happen? This should be a description of how the
|
||||||
|
functionality you tried to use is supposed to work.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: steps-to-reproduce
|
||||||
|
attributes:
|
||||||
|
label: Steps to reproduce the behavior
|
||||||
|
description: |
|
||||||
|
Describe the steps you took for this problem to come up. Such as: you installed
|
||||||
|
the theme, customized _config.yml, added your own posts, and started up a
|
||||||
|
Jekyll server locally.
|
||||||
|
|
||||||
|
If an error occurred on GitHub Pages when pushing, please test a local version
|
||||||
|
following these setup instructions:
|
||||||
|
https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/
|
||||||
|
|
||||||
|
Then provide a complete log by running `bundle exec jekyll build --trace --verbose`
|
||||||
|
and include this output in the filed issue.
|
||||||
|
|
||||||
|
Screenshots can also be included if they help illustrate a behavior.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: other
|
||||||
|
attributes:
|
||||||
|
label: Other
|
||||||
|
description: |
|
||||||
|
Please provide a code repository, gist, code snippet, sample files,
|
||||||
|
screenshots, or anything else you think will aid in reproducing the issue.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Support
|
||||||
|
url: https://github.com/mmistakes/minimal-mistakes/discussions
|
||||||
|
about: Please post your support questions in the Discussions section.
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
name: Documentation
|
||||||
|
description: Found a typo or something that needs clarification?
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to open an issue and help make the docs better.
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: motivation
|
||||||
|
attributes:
|
||||||
|
label: Motivation
|
||||||
|
description: |
|
||||||
|
Why should we update our docs?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: suggestion
|
||||||
|
attributes:
|
||||||
|
label: Suggestion
|
||||||
|
description: |
|
||||||
|
What should we do instead?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<!--
|
||||||
|
Thanks for creating a Pull Request! Before you submit, please make sure
|
||||||
|
you've done the following:
|
||||||
|
|
||||||
|
- Read the contributing document at https://github.com/mmistakes/minimal-mistakes#contributing
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Choose one of the following by uncommenting it:
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- This is a bug fix. -->
|
||||||
|
<!-- This is an enhancement or feature. -->
|
||||||
|
<!-- This is a documentation change. -->
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Provide a description of what your pull request changes.
|
||||||
|
-->
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Is this related to any GitHub issue(s)?
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Please confirm that you want to submit this Pull Request to Minimal Mistakes, the free Jekyll theme by Michael Rose, by deleting this comment block.
|
||||||
|
-->
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# Number of days of inactivity before an issue becomes stale
|
|
||||||
daysUntilStale: 30
|
|
||||||
# Number of days of inactivity before a stale issue is closed
|
|
||||||
daysUntilClose: 7
|
|
||||||
# Issues with these labels will never be considered stale
|
|
||||||
exemptLabels:
|
|
||||||
- "Status: Accepted"
|
|
||||||
- "Status: Under Consideration"
|
|
||||||
# Label to use when marking an issue as stale
|
|
||||||
staleLabel: "Status: Stale"
|
|
||||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
|
||||||
markComment: |
|
|
||||||
This issue has been automatically marked as stale because it has not had recent activity.
|
|
||||||
|
|
||||||
If this is a **bug** and you can still reproduce this error on the `master` branch, please reply with any additional information you have about it in order to keep the issue open.
|
|
||||||
|
|
||||||
If this is a feature request, please consider whether it can be accomplished in another way. If it cannot, please elaborate on why it is core to this project and why you feel more than 80% of users would find this beneficial.
|
|
||||||
|
|
||||||
This issue will automatically be closed in 7 days if no further activity occurs. Thank you for all your contributions.
|
|
||||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
|
||||||
closeComment: false
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
name: Cleanup bad PR
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types: [opened, reopened]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
close-pr:
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: "contains(github.event.pull_request.body, 'by deleting this comment block') || github.event.pull_request.body == ''"
|
||||||
|
steps:
|
||||||
|
- uses: actions-ecosystem/action-add-labels@v1
|
||||||
|
with:
|
||||||
|
labels: 'Type: Invalid'
|
||||||
|
- uses: actions-ecosystem/action-add-labels@v1
|
||||||
|
with:
|
||||||
|
labels: 'Type: Spam'
|
||||||
|
- uses: superbrothers/close-pull-request@v3
|
||||||
|
with:
|
||||||
|
# Optional. Post an issue comment just before closing a pull request.
|
||||||
|
comment: |
|
||||||
|
**You have created a Pull Request to the wrong repository.** This is the repository for [Minimal Mistakes][1], the free Jekyll theme. See [GitHub Docs: About pull requests][2] if you need help.
|
||||||
|
|
||||||
|
[1]: https://mmistakes.github.io/minimal-mistakes/
|
||||||
|
[2]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests
|
||||||
|
- uses: sudo-bot/action-pull-request-lock@v1.0.5
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
number: ${{ github.event.pull_request.number }}
|
||||||
|
lock-reason: spam
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
repository_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
if: github.repository == 'mmistakes/minimal-mistakes'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
ruby-version: '3.2'
|
||||||
|
- name: Setup cache for Bundler
|
||||||
|
id: cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
docs/Gemfile.lock
|
||||||
|
docs/vendor/bundle
|
||||||
|
key: ${{ runner.os }}-bundler-${{ hashFiles('docs/Gemfile') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-bundler-
|
||||||
|
|
||||||
|
- name: Install - Bundler
|
||||||
|
env:
|
||||||
|
MAKE: make -j2
|
||||||
|
working-directory: docs/
|
||||||
|
run: |
|
||||||
|
bundle config set path vendor/bundle
|
||||||
|
bundle install --jobs=4 --retry=3
|
||||||
|
bundle clean
|
||||||
|
|
||||||
|
- name: Update Algolia index
|
||||||
|
working-directory: docs/
|
||||||
|
run: bundle exec jekyll algolia push
|
||||||
|
env:
|
||||||
|
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
||||||
|
continue-on-error: true
|
||||||
+24
-6
@@ -1,14 +1,32 @@
|
|||||||
*.gem
|
# Vim
|
||||||
|
*~
|
||||||
|
*.sw[p_]
|
||||||
|
|
||||||
|
# IntelliJ IDEA
|
||||||
|
*.idea
|
||||||
|
|
||||||
|
# Sublime Text
|
||||||
*.sublime-project
|
*.sublime-project
|
||||||
*.sublime-workspace
|
*.sublime-workspace
|
||||||
|
|
||||||
|
# Ruby Gem
|
||||||
|
*.gem
|
||||||
.bundle
|
.bundle
|
||||||
|
Gemfile.lock
|
||||||
|
**/vendor/bundle
|
||||||
|
|
||||||
|
# Node.js and NPM
|
||||||
|
node_modules
|
||||||
|
npm-debug.log*
|
||||||
|
package-lock.json
|
||||||
|
codekit-config.json
|
||||||
|
|
||||||
|
# macOS
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
# Jekyll generated files
|
||||||
|
.jekyll-cache
|
||||||
.jekyll-metadata
|
.jekyll-metadata
|
||||||
.sass-cache
|
.sass-cache
|
||||||
_asset_bundler_cache
|
_asset_bundler_cache
|
||||||
_site
|
_site
|
||||||
codekit-config.json
|
|
||||||
example/_site
|
|
||||||
Gemfile.lock
|
|
||||||
node_modules
|
|
||||||
npm-debug.log*
|
|
||||||
+1109
-426
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,2 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
gemspec
|
gemspec
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2013-2024 Michael Rose and contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
-63
@@ -1,63 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2013-2018 Michael Rose and contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates icons from [The Noun Project](https://thenounproject.com/)
|
|
||||||
creators Garrett Knoll, Arthur Shlain, and Tracy Tam.
|
|
||||||
Icons are distributed under Creative Commons Attribution 3.0 United States (CC BY 3.0 US).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [Font Awesome](http://fontawesome.io/),
|
|
||||||
Copyright (c) 2017 Dave Gandy.
|
|
||||||
Font Awesome is distributed under the terms of the [SIL OFL 1.1](http://scripts.sil.org/OFL)
|
|
||||||
and [MIT License](http://opensource.org/licenses/MIT).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates photographs from [Unsplash](https://unsplash.com).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [Susy](http://susy.oddbird.net/),
|
|
||||||
Copyright (c) 2017, Miriam Eric Suzanne.
|
|
||||||
Susy is distributed under the terms of the [BSD 3-clause "New" or "Revised" License](https://opensource.org/licenses/BSD-3-Clause).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [Breakpoint](http://breakpoint-sass.com/).
|
|
||||||
Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opensource.org/licenses/MIT).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
|
||||||
Copyright (c) 2013 Dave Rubert and Chris Coyier.
|
|
||||||
FitVids is distributed under the terms of the [WTFPL License](http://sam.zoy.org/wtfpl/).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
|
|
||||||
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
|
||||||
Magnific Popup is distributed under the terms of the MIT License.
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
|
|
||||||
Copyright (c) 2017 Karl Swedberg.
|
|
||||||
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
|
|
||||||
Copyright (c) 2015 Luke Jackson.
|
|
||||||
GreedyNav.js is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [Jekyll Group-By-Array](https://github.com/mushishi78/jekyll-group-by-array),
|
|
||||||
Copyright (c) 2015 Max White <mushishi78@gmail.com>.
|
|
||||||
Jekyll Group-By-Array is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
|
||||||
|
|
||||||
Minimal Mistakes incorporates [Lunr](http://lunrjs.com),
|
|
||||||
Copyright (c) 2017 Oliver Nightingale.
|
|
||||||
Lunr is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
# [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/)
|
# [Minimal Mistakes Jekyll theme](https://mmistakes.github.io/minimal-mistakes/)
|
||||||
|
|
||||||
[](https://raw.githubusercontent.com/mmistakes/minimal-mistakes/master/LICENSE.txt)
|
[](https://raw.githubusercontent.com/mmistakes/minimal-mistakes/master/LICENSE)
|
||||||
[](https://jekyllrb.com/)
|
[](https://jekyllrb.com/)
|
||||||
[](https://rubygems.org/gems/minimal-mistakes-jekyll)
|
|
||||||
[](https://www.paypal.me/mmistakes)
|
|
||||||
|
|
||||||
Minimal Mistakes is a flexible two-column Jekyll theme. Perfect for hosting your personal site, blog, or portfolio on GitHub or self-hosting on your own server. As the name implies --- styling is purposely minimalistic to be enhanced and customized by you :smile:.
|
Minimal Mistakes is a flexible two-column Jekyll theme, perfect for building personal sites, blogs, and portfolios. As the name implies, styling is purposely minimalistic to be enhanced and customized by you :smile:.
|
||||||
|
|
||||||
:sparkles: See what's new in the [CHANGELOG](CHANGELOG.md).
|
:sparkles: See what's new in the [CHANGELOG](CHANGELOG.md).
|
||||||
|
|
||||||
|
**Note:** The theme uses the [jekyll-include-cache](https://github.com/benbalter/jekyll-include-cache) plugin which will need to be installed in your `Gemfile` and must be retained in the `plugins` array of `_config.yml`. Otherwise you'll encounter `Unknown tag 'include_cached'` errors at build.
|
||||||
|
|
||||||
[![Minimal Mistakes live preview][2]][1]
|
[![Minimal Mistakes live preview][2]][1]
|
||||||
|
|
||||||
[1]: https://mmistakes.github.io/minimal-mistakes/
|
[1]: https://mmistakes.github.io/minimal-mistakes/
|
||||||
@@ -16,36 +16,36 @@ Minimal Mistakes is a flexible two-column Jekyll theme. Perfect for hosting your
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Notable Features
|
## Notable features
|
||||||
|
|
||||||
- Bundled as a "theme gem" for easier install/upgrading.
|
- Bundled as a "theme gem" for easier installation/upgrading.
|
||||||
- Compatible with GitHub Pages.
|
- Compatible with GitHub Pages.
|
||||||
- Support for Jekyll's built-in Sass/SCSS preprocessor.
|
- Support for Jekyll's built-in Sass/SCSS preprocessor.
|
||||||
- Nine different skins (color variations).
|
- Nine different skins (color variations).
|
||||||
- Several responsive layout options (single, archive index, search, splash, and paginated home page).
|
- Several responsive layout options (single, archive index, search, splash, and paginated home page).
|
||||||
- Optimized for search engines with support for [Twitter Cards](https://dev.twitter.com/cards/overview) and [Open Graph](http://ogp.me/) data
|
- Optimized for search engines with support for [Twitter Cards](https://dev.twitter.com/cards/overview) and [Open Graph](http://ogp.me/) data.
|
||||||
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
||||||
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), static-based via [Staticman v1 and v2](https://staticman.net/), and custom).
|
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), static-based via [Staticman](https://staticman.net/), [utterances](https://utteranc.es/), and [giscus](https://giscus.app/)).
|
||||||
- [Google Analytics](https://www.google.com/analytics/) support.
|
- [Google Analytics](https://www.google.com/analytics/) support.
|
||||||
- UI localized text in English (default), Brazilian Portuguese (Português brasileiro), Chinese, Danish, Dutch, French (Français), German (Deutsch), Greek, Hungarian, Indonesian, Italian (Italiano), Japanese, Korean, Nepali (Nepalese), Polish, Russian, Slovak, Spanish (Español), Swedish, Turkish (Türkçe), and Vietnamese.
|
- UI localized text in English (default), Arabic (عربي), Brazilian Portuguese (Português brasileiro), Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, Finnish, French (Français), German (Deutsch), Greek, Hebrew, Hindi (हिंदी), Hungarian, Indonesian, Irish (Gaeilge), Italian (Italiano), Japanese, Kiswahili, Korean, Malayalam, Myanmar (Burmese), Nepali (Nepalese), Norwegian (Norsk), Persian (فارسی), Polish, Punjabi (ਪੰਜਾਬੀ), Romanian, Russian, Slovak, Spanish (Español), Swedish, Thai, Turkish (Türkçe), Ukrainian (Українська) and Vietnamese.
|
||||||
|
|
||||||
## Skins (Color Variations)
|
## Skins (color variations)
|
||||||
|
|
||||||
This theme comes in nine different skins (including the default one).
|
This theme comes in nine different skins (in addition to the default one).
|
||||||
|
|
||||||
| `air` | `contrast` | `dark` |
|
| `air` | `contrast` | `dark` |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|  |  |  |
|
| [](https://mmistakes.github.io/minimal-mistakes/assets/images/air-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/contrast-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/dark-skin-archive-large.png) |
|
||||||
|
|
||||||
| `dirt` | `mint` | `sunrise` |
|
| `dirt` | `mint` | `sunrise` |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|  |  |  |
|
| [](https://mmistakes.github.io/minimal-mistakes/assets/images/dirt-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/mint-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/sunrise-skin-archive-large.png) |
|
||||||
|
|
||||||
| `aqua` | `neon` | `plum` |
|
| `aqua` | `neon` | `plum` |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|  |  |  |
|
| [](https://mmistakes.github.io/minimal-mistakes/assets/images/aqua-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/neon-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/plum-skin-archive-large.png) |
|
||||||
|
|
||||||
## Demo Pages
|
## Demo pages
|
||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| ------------------------------------------- | ----------------------------------------------------- |
|
| ------------------------------------------- | ----------------------------------------------------- |
|
||||||
@@ -70,11 +70,15 @@ Additional sample posts are available under [posts archive][year-archive] on the
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
There are three ways to install the theme: as a Ruby gem (for self-hosted sites), as a Ruby gem + jekyll-remote-theme plugin (GitHub Pages hosted sites), or forking/directly copying all of the theme files into your project.
|
There are three ways to install: as a [gem-based theme](https://jekyllrb.com/docs/themes/#understanding-gem-based-themes), as a [remote theme](https://blog.github.com/2017-11-29-use-any-theme-with-github-pages/) (GitHub Pages compatible), or forking/directly copying all of the theme files into your project.
|
||||||
|
|
||||||
### Ruby Gem Method
|
### Gem-based method
|
||||||
|
|
||||||
1. Install the theme as a Ruby Gem by adding it to your `Gemfile` like so:
|
With Gem-based themes, directories such as the `assets`, `_layouts`, `_includes`, and `_sass` are stored in the theme’s gem, hidden from your immediate view. Yet all of the necessary directories will be read and processed during Jekyll’s build process.
|
||||||
|
|
||||||
|
This allows for easier installation and updating as you don't have to manage any of the theme files. To install:
|
||||||
|
|
||||||
|
1. Add the following to your `Gemfile`:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
gem "minimal-mistakes-jekyll"
|
gem "minimal-mistakes-jekyll"
|
||||||
@@ -94,7 +98,11 @@ There are three ways to install the theme: as a Ruby gem (for self-hosted sites)
|
|||||||
|
|
||||||
To update the theme run `bundle update`.
|
To update the theme run `bundle update`.
|
||||||
|
|
||||||
### GitHub Pages Method
|
### Remote theme method
|
||||||
|
|
||||||
|
Remote themes are similar to Gem-based themes, but do not require `Gemfile` changes or whitelisting making them ideal for sites hosted with GitHub Pages.
|
||||||
|
|
||||||
|
To install:
|
||||||
|
|
||||||
1. Create/replace the contents of your `Gemfile` with the following:
|
1. Create/replace the contents of your `Gemfile` with the following:
|
||||||
|
|
||||||
@@ -102,29 +110,54 @@ To update the theme run `bundle update`.
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "github-pages", group: :jekyll_plugins
|
gem "github-pages", group: :jekyll_plugins
|
||||||
|
gem "jekyll-include-cache", group: :jekyll_plugins
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Fetch and update bundled gems by running the following [Bundler](http://bundler.io/) command:
|
2. Add `jekyll-include-cache` to the `plugins` array of your `_config.yml`.
|
||||||
|
|
||||||
|
3. Fetch and update bundled gems by running the following [Bundler](https://bundler.io/) command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bundle
|
bundle
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Add `remote_theme: "mmistakes/minimal-mistakes"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.27.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Dev note: The version number is currently hard-coded in these files:
|
||||||
|
|
||||||
|
- package.json
|
||||||
|
- README.md (this file)
|
||||||
|
- docs/_data/theme.yml
|
||||||
|
- docs/_pages/home.md (in Front Matter "excerpt")
|
||||||
|
|
||||||
|
`package.json` holds the authoritative version number, and the others can be updated with `bundle exec rake version`.
|
||||||
|
|
||||||
|
The following files should also be regenerated:
|
||||||
|
|
||||||
|
- _includes/copyright.html, _includes/copyright.js, _sass/minimal-mistakes/_copyright.scss
|
||||||
|
(Run `bundle exec rake clean` then `bundle exec rake copyright` - all three references `package.json`)
|
||||||
|
- assets/js/main.min.js (Run `bundle exec rake js`, references `_includes/copyright.js`)
|
||||||
|
|
||||||
|
*Tip*: The default Rake task will update all of the above files at once.
|
||||||
|
|
||||||
|
Additionally, the license year is hard-coded in these files and are NOT covered by a Rake task:
|
||||||
|
|
||||||
|
- README.md (this file, near the end)
|
||||||
|
- LICENSE
|
||||||
|
-->
|
||||||
|
|
||||||
|
**Looking for an example?** Use the [Minimal Mistakes remote theme starter](https://github.com/mmistakes/mm-github-pages-starter/generate) for the quickest method of getting a GitHub Pages hosted site up and running. Generate a new repository from the starter, replace sample content with your own, and configure as needed.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
For detailed instructions on how to configure, customize, add/migrate content, and more read the [theme's documentation](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/).
|
For detailed instructions on how to configure, customize, add/migrate content, and more read the [theme's documentation](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/).
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Having trouble working with the theme? Found a typo in the documentation? Interested in adding a feature or [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
|
Found a typo in the documentation or interested in [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
|
||||||
|
|
||||||
Minimal Mistakes has been designed as a base for you to customize and fit your site's unique needs. Please keep this in mind when requesting features and/or submitting pull requests. If it's not something that most people will use, I probably won't consider it. When in doubt ask.
|
For help with using the theme or general Jekyll support questions, please use the [Jekyll Talk forums](https://talk.jekyllrb.com/).
|
||||||
|
|
||||||
This goes for author sidebar links and "share button" additions -- I have no intention of merging in every possibly option, the essentials are there to get you started :smile:.
|
|
||||||
|
|
||||||
### Pull Requests
|
### Pull Requests
|
||||||
|
|
||||||
@@ -142,8 +175,6 @@ To set up your environment to develop this theme, run `bundle install`.
|
|||||||
|
|
||||||
To test the theme, run `bundle exec rake preview` and open your browser at `http://localhost:4000/test/`. This starts a Jekyll server using content in the `test/` directory. As modifications are made to the theme and test site, it will regenerate and you should see the changes in the browser after a refresh.
|
To test the theme, run `bundle exec rake preview` and open your browser at `http://localhost:4000/test/`. This starts a Jekyll server using content in the `test/` directory. As modifications are made to the theme and test site, it will regenerate and you should see the changes in the browser after a refresh.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
### Creator
|
### Creator
|
||||||
@@ -156,7 +187,7 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
|
|||||||
|
|
||||||
### Icons + Demo Images:
|
### Icons + Demo Images:
|
||||||
|
|
||||||
- [The Noun Project](https://thenounproject.com) -- Garrett Knoll, Arthur Shlain, and [tracy tam](https://thenounproject.com/tracytam)
|
- [The Noun Project](https://thenounproject.com) - Garrett Knoll, Arthur Shlain, and [tracy tam](https://thenounproject.com/tracytam)
|
||||||
- [Font Awesome](http://fontawesome.io/)
|
- [Font Awesome](http://fontawesome.io/)
|
||||||
- [Unsplash](https://unsplash.com/)
|
- [Unsplash](https://unsplash.com/)
|
||||||
|
|
||||||
@@ -169,16 +200,17 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
|
|||||||
- [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/)
|
- [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/)
|
||||||
- [FitVids.JS](http://fitvidsjs.com/)
|
- [FitVids.JS](http://fitvidsjs.com/)
|
||||||
- [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav)
|
- [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav)
|
||||||
- [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll)
|
- [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll)
|
||||||
|
- [Gumshoe](https://github.com/cferdinandi/gumshoe)
|
||||||
|
- [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/)
|
||||||
- [Lunr](http://lunrjs.com)
|
- [Lunr](http://lunrjs.com)
|
||||||
|
- [Clipboard.js](https://clipboardjs.com)
|
||||||
---
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2013-2018 Michael Rose and contributors
|
Copyright (c) 2013-2024 Michael Rose and contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -218,15 +250,23 @@ Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opens
|
|||||||
|
|
||||||
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
||||||
Copyright (c) 2013 Dave Rubert and Chris Coyier.
|
Copyright (c) 2013 Dave Rubert and Chris Coyier.
|
||||||
FitVids is distributed under the terms of the [WTFPL License](http://sam.zoy.org/wtfpl/).
|
FitVids is distributed under the terms of the [WTFPL License](http://www.wtfpl.net/).
|
||||||
|
|
||||||
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
|
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
|
||||||
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
||||||
Magnific Popup is distributed under the terms of the MIT License.
|
Magnific Popup is distributed under the terms of the MIT License.
|
||||||
|
|
||||||
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
|
Minimal Mistakes incorporates [Smooth Scroll](http://github.com/cferdinandi/smooth-scroll),
|
||||||
Copyright (c) 2017 Karl Swedberg.
|
Copyright (c) 2019 Chris Ferdinandi.
|
||||||
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||||
|
|
||||||
|
Minimal Mistakes incorporates [Gumshoejs](http://github.com/cferdinandi/gumshoe),
|
||||||
|
Copyright (c) 2019 Chris Ferdinandi.
|
||||||
|
Gumshoejs is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||||
|
|
||||||
|
Minimal Mistakes incorporates [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/),
|
||||||
|
Copyright (c) 2010 "Cowboy" Ben Alman.
|
||||||
|
jQuery throttle / debounce is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||||
|
|
||||||
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
|
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
|
||||||
Copyright (c) 2015 Luke Jackson.
|
Copyright (c) 2015 Luke Jackson.
|
||||||
@@ -241,5 +281,9 @@ Copyright (c) 2017 Vladimir Jimenez.
|
|||||||
Pure Liquid Jekyll Table of Contents is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
Pure Liquid Jekyll Table of Contents is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||||
|
|
||||||
Minimal Mistakes incorporates [Lunr](http://lunrjs.com),
|
Minimal Mistakes incorporates [Lunr](http://lunrjs.com),
|
||||||
Copyright (c) 2017 Oliver Nightingale.
|
Copyright (c) 2018 Oliver Nightingale.
|
||||||
Lunr is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
Lunr is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||||
|
|
||||||
|
Minimal Mistakes incorporates [clipboard.js](https://clipboardjs.com/),
|
||||||
|
Copyright (c) 2021 Zeno Rocha.
|
||||||
|
Clipboard.js is distributed under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
||||||
|
|||||||
@@ -1,6 +1,15 @@
|
|||||||
require "bundler/gem_tasks"
|
require "bundler/gem_tasks"
|
||||||
require "jekyll"
|
require "jekyll"
|
||||||
|
require "json"
|
||||||
require "listen"
|
require "listen"
|
||||||
|
require "rake/clean"
|
||||||
|
require "shellwords"
|
||||||
|
require "time"
|
||||||
|
require "yaml"
|
||||||
|
|
||||||
|
task :default => %i[copyright changelog js version]
|
||||||
|
|
||||||
|
package_json = JSON.parse(File.read("package.json"))
|
||||||
|
|
||||||
def listen_ignore_paths(base, options)
|
def listen_ignore_paths(base, options)
|
||||||
[
|
[
|
||||||
@@ -65,8 +74,7 @@ task :preview do
|
|||||||
puts " Halting auto-regeneration."
|
puts " Halting auto-regeneration."
|
||||||
exit 0
|
exit 0
|
||||||
end
|
end
|
||||||
|
sleep
|
||||||
loop { sleep 1000 }
|
|
||||||
end
|
end
|
||||||
rescue ThreadError
|
rescue ThreadError
|
||||||
# You pressed Ctrl-C, oh my!
|
# You pressed Ctrl-C, oh my!
|
||||||
@@ -74,3 +82,130 @@ task :preview do
|
|||||||
|
|
||||||
Jekyll::Commands::Serve.process(options)
|
Jekyll::Commands::Serve.process(options)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
task :history => :changelog
|
||||||
|
task :changelog => "docs/_docs/18-history.md"
|
||||||
|
file "docs/_docs/18-history.md" => "CHANGELOG.md" do |t|
|
||||||
|
front_matter = {
|
||||||
|
title: "History",
|
||||||
|
classes: "wide",
|
||||||
|
permalink: "/docs/history/",
|
||||||
|
excerpt: "Change log of enhancements and bug fixes made to the theme.",
|
||||||
|
sidebar: {
|
||||||
|
nav: "docs",
|
||||||
|
},
|
||||||
|
last_modified_at: Time.now.iso8601,
|
||||||
|
toc: false,
|
||||||
|
}
|
||||||
|
# https://stackoverflow.com/a/49553523/5958455
|
||||||
|
front_matter = JSON.parse(JSON.dump(front_matter))
|
||||||
|
File.open(t.name, "w") do |f|
|
||||||
|
f.puts front_matter.to_yaml
|
||||||
|
f.puts "---"
|
||||||
|
f.puts ""
|
||||||
|
f.puts "<!--\n Sourced from CHANGELOG.md\n See Rakefile `task :changelog` for details\n-->"
|
||||||
|
f.puts ""
|
||||||
|
f.puts "{% raw %}"
|
||||||
|
# Remove H1
|
||||||
|
changelog = File.read(t.prerequisites.first)
|
||||||
|
.gsub(/^# [^\n]*$/m, "")
|
||||||
|
.gsub(/\(#(\d+)\)$/m, "[#\\1](https://github.com/mmistakes/minimal-mistakes/issues/\\1)")
|
||||||
|
.strip
|
||||||
|
f.write changelog
|
||||||
|
f.puts ""
|
||||||
|
f.puts "{% endraw %}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
COPYRIGHT_LINES = [
|
||||||
|
"Minimal Mistakes Jekyll Theme #{package_json["version"]} by Michael Rose",
|
||||||
|
"Copyright 2013-#{Time.now.year} Michael Rose - mademistakes.com | @mmistakes",
|
||||||
|
"Free for personal and commercial use under the MIT license",
|
||||||
|
"https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE",
|
||||||
|
]
|
||||||
|
|
||||||
|
COPYRIGHT_FILES = [
|
||||||
|
"_includes/copyright.html",
|
||||||
|
"_includes/copyright.js",
|
||||||
|
"_sass/minimal-mistakes/_copyright.scss",
|
||||||
|
]
|
||||||
|
|
||||||
|
def genenerate_copyright_file(filename, header, prefix, footer)
|
||||||
|
File.open(filename, "w") do |f|
|
||||||
|
f.puts header
|
||||||
|
COPYRIGHT_LINES.each do |line|
|
||||||
|
f.puts "#{prefix}#{line}"
|
||||||
|
end
|
||||||
|
f.puts footer
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
file "_includes/copyright.html" => "package.json" do |t|
|
||||||
|
genenerate_copyright_file(t.name, "<!--", " ", "-->")
|
||||||
|
end
|
||||||
|
|
||||||
|
file "_includes/copyright.js" => "package.json" do |t|
|
||||||
|
genenerate_copyright_file(t.name, "/*!", " * ", " */")
|
||||||
|
end
|
||||||
|
|
||||||
|
file "_sass/minimal-mistakes/_copyright.scss" => "package.json" do |t|
|
||||||
|
genenerate_copyright_file(t.name, "/*!", " * ", " */")
|
||||||
|
end
|
||||||
|
|
||||||
|
task :copyright => COPYRIGHT_FILES
|
||||||
|
|
||||||
|
CLEAN.include(*COPYRIGHT_FILES)
|
||||||
|
|
||||||
|
JS_FILES = ["assets/js/vendor/jquery/jquery-3.6.0.js"] + Dir.glob("assets/js/plugins/*.js") + ["assets/js/_main.js"]
|
||||||
|
JS_TARGET = "assets/js/main.min.js"
|
||||||
|
task :js => JS_TARGET
|
||||||
|
file JS_TARGET => ["_includes/copyright.js"] + JS_FILES do |t|
|
||||||
|
sh Shellwords.join(%w[npx uglifyjs -c --comments /@mmistakes/ --source-map -m -o] +
|
||||||
|
[t.name] + t.prerequisites)
|
||||||
|
end
|
||||||
|
|
||||||
|
task :watch_js do
|
||||||
|
listener = Listen.to(
|
||||||
|
"assets/js",
|
||||||
|
ignore: /main\.min\.js$/,
|
||||||
|
) do |modified, added, removed|
|
||||||
|
Rake::Task[:js].invoke
|
||||||
|
end
|
||||||
|
|
||||||
|
trap("INT") do
|
||||||
|
listener.stop
|
||||||
|
exit 0
|
||||||
|
end
|
||||||
|
|
||||||
|
begin
|
||||||
|
listener.start
|
||||||
|
sleep
|
||||||
|
rescue ThreadError
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
task :version => ["docs/_data/theme.yml", "README.md", "docs/_pages/home.md"]
|
||||||
|
|
||||||
|
file "docs/_data/theme.yml" => "package.json" do |t|
|
||||||
|
theme = { "version" => package_json["version"] }
|
||||||
|
File.open(t.name, "w") do |f|
|
||||||
|
f.puts "# for use with in-page templates"
|
||||||
|
f.puts theme.to_yaml
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
file "README.md" => "package.json" do |t|
|
||||||
|
content = File.read(t.name)
|
||||||
|
content = content.gsub(/(mmistakes\/minimal-mistakes@)[\d.]+/, '\1' + package_json["version"])
|
||||||
|
File.write(t.name, content)
|
||||||
|
end
|
||||||
|
|
||||||
|
file "docs/_pages/home.md" => "package.json" do |t|
|
||||||
|
content = File.read(t.name)
|
||||||
|
content = content.gsub(/(\breleases\/tag\/|Latest release v)[\d.]+/, '\1' + package_json["version"])
|
||||||
|
File.write(t.name, content)
|
||||||
|
end
|
||||||
|
|
||||||
|
task :gem do
|
||||||
|
sh 'gem build minimal-mistakes-jekyll.gemspec'
|
||||||
|
end
|
||||||
|
|||||||
+109
-53
@@ -16,18 +16,25 @@ minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt"
|
|||||||
|
|
||||||
# Site Settings
|
# Site Settings
|
||||||
locale : "en-US"
|
locale : "en-US"
|
||||||
|
rtl : # true, false (default) # turns direction of the page into right to left for RTL languages
|
||||||
title : "Site Title"
|
title : "Site Title"
|
||||||
title_separator : "-"
|
title_separator : "-"
|
||||||
|
subtitle : # site tagline that appears below site title in masthead
|
||||||
name : "Your Name"
|
name : "Your Name"
|
||||||
description : "An amazing website."
|
description : "An amazing website."
|
||||||
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
||||||
baseurl : # the subpath of your site, e.g. "/blog"
|
baseurl : # the subpath of your site, e.g. "/blog"
|
||||||
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
|
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
|
||||||
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
|
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
|
||||||
# breadcrumbs : false # true, false (default)
|
logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
|
||||||
|
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
|
||||||
|
breadcrumbs : # true, false (default)
|
||||||
words_per_minute : 200
|
words_per_minute : 200
|
||||||
|
enable_copy_code_button : # true, false (default)
|
||||||
|
copyright : # "copyright" name, defaults to site.title
|
||||||
|
copyright_url : # "copyright" URL, defaults to site.url
|
||||||
comments:
|
comments:
|
||||||
provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "staticman_v2" "custom"
|
provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "giscus", "custom"
|
||||||
disqus:
|
disqus:
|
||||||
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
|
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
|
||||||
discourse:
|
discourse:
|
||||||
@@ -37,30 +44,35 @@ comments:
|
|||||||
appid :
|
appid :
|
||||||
num_posts : # 5 (default)
|
num_posts : # 5 (default)
|
||||||
colorscheme : # "light" (default), "dark"
|
colorscheme : # "light" (default), "dark"
|
||||||
staticman:
|
utterances:
|
||||||
allowedFields : # ['name', 'email', 'url', 'message']
|
theme : # "github-light" (default), "github-dark"
|
||||||
branch : # "master"
|
issue_term : # "pathname" (default)
|
||||||
commitMessage : # "New comment."
|
giscus:
|
||||||
filename : # comment-{@timestamp}
|
repo_id : # Shown during giscus setup at https://giscus.app
|
||||||
format : # "yml"
|
category_name : # Full text name of the category
|
||||||
moderation : # true
|
category_id : # Shown during giscus setup at https://giscus.app
|
||||||
path : # "/_data/comments/{options.slug}" (default)
|
discussion_term : # "pathname" (default), "url", "title", "og:title"
|
||||||
requiredFields : # ['name', 'email', 'message']
|
reactions_enabled : # '1' for enabled (default), '0' for disabled
|
||||||
transforms:
|
theme : # "light" (default), "dark", "dark_dimmed", "transparent_dark", "preferred_color_scheme"
|
||||||
email : # "md5"
|
strict : # 1 for enabled, 0 for disabled (default)
|
||||||
generatedFields:
|
input_position : # "top", "bottom" # The comment input box will be placed above or below the comments
|
||||||
date:
|
emit_metadata : # 1 for enabled, 0 for disabled (default) # https://github.com/giscus/giscus/blob/main/ADVANCED-USAGE.md#imetadatamessage
|
||||||
type : # "date"
|
lang : # "en" (default)
|
||||||
options:
|
lazy : # true, false # Loading of the comments will be deferred until the user scrolls near the comments container.
|
||||||
format : # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds"
|
staticman:
|
||||||
|
branch : # "master"
|
||||||
|
endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
|
||||||
reCaptcha:
|
reCaptcha:
|
||||||
siteKey :
|
siteKey :
|
||||||
secret :
|
secret :
|
||||||
atom_feed:
|
atom_feed:
|
||||||
path : # blank (default) uses feed.xml
|
path : # blank (default) uses feed.xml
|
||||||
|
hide : # true, false (default)
|
||||||
search : # true, false (default)
|
search : # true, false (default)
|
||||||
search_full_content : # true, false (default)
|
search_full_content : # true, false (default)
|
||||||
search_provider : # lunr (default), algolia, google
|
search_provider : # lunr (default), algolia, google
|
||||||
|
lunr:
|
||||||
|
search_within_pages : # true, false (default)
|
||||||
algolia:
|
algolia:
|
||||||
application_id : # YOUR_APPLICATION_ID
|
application_id : # YOUR_APPLICATION_ID
|
||||||
index_name : # YOUR_INDEX_NAME
|
index_name : # YOUR_INDEX_NAME
|
||||||
@@ -72,8 +84,9 @@ google:
|
|||||||
# SEO Related
|
# SEO Related
|
||||||
google_site_verification :
|
google_site_verification :
|
||||||
bing_site_verification :
|
bing_site_verification :
|
||||||
yandex_site_verification :
|
|
||||||
naver_site_verification :
|
naver_site_verification :
|
||||||
|
yandex_site_verification :
|
||||||
|
baidu_site_verification :
|
||||||
|
|
||||||
# Social Sharing
|
# Social Sharing
|
||||||
twitter:
|
twitter:
|
||||||
@@ -92,7 +105,7 @@ social:
|
|||||||
|
|
||||||
# Analytics
|
# Analytics
|
||||||
analytics:
|
analytics:
|
||||||
provider : false # false (default), "google", "google-universal", "custom"
|
provider : # false (default), "google", "google-universal", "google-gtag", "custom"
|
||||||
google:
|
google:
|
||||||
tracking_id :
|
tracking_id :
|
||||||
anonymize_ip : # true, false (default)
|
anonymize_ip : # true, false (default)
|
||||||
@@ -102,34 +115,51 @@ analytics:
|
|||||||
author:
|
author:
|
||||||
name : "Your Name"
|
name : "Your Name"
|
||||||
avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
|
avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
|
||||||
bio : "I am an amazing person."
|
bio : "I am an **amazing** person."
|
||||||
location : "Somewhere"
|
location : "Somewhere"
|
||||||
email :
|
email :
|
||||||
uri :
|
links:
|
||||||
home : # null (default), "absolute or relative url to link to author home"
|
- label: "Email"
|
||||||
bitbucket :
|
icon: "fas fa-fw fa-envelope-square"
|
||||||
codepen :
|
# url: "mailto:your.name@email.com"
|
||||||
dribbble :
|
- label: "Website"
|
||||||
flickr :
|
icon: "fas fa-fw fa-link"
|
||||||
facebook :
|
# url: "https://your-website.com"
|
||||||
foursquare :
|
- label: "Twitter"
|
||||||
github :
|
icon: "fab fa-fw fa-twitter-square"
|
||||||
gitlab :
|
# url: "https://twitter.com/"
|
||||||
google_plus :
|
- label: "Facebook"
|
||||||
keybase :
|
icon: "fab fa-fw fa-facebook-square"
|
||||||
instagram :
|
# url: "https://facebook.com/"
|
||||||
lastfm :
|
- label: "GitHub"
|
||||||
linkedin : # "john-doe-12345678" (the last part of your profile url, e.g. https://www.linkedin.com/in/john-doe-12345678)
|
icon: "fab fa-fw fa-github"
|
||||||
pinterest :
|
# url: "https://github.com/"
|
||||||
soundcloud :
|
- label: "Instagram"
|
||||||
stackoverflow : # "123456/username" (the last part of your profile url, e.g. https://stackoverflow.com/users/123456/username)
|
icon: "fab fa-fw fa-instagram"
|
||||||
steam : # "steamId" (the last part of your profile url, e.g. https://steamcommunity.com/id/steamId/)
|
# url: "https://instagram.com/"
|
||||||
tumblr :
|
|
||||||
twitter :
|
# Site Footer
|
||||||
vine :
|
footer:
|
||||||
weibo :
|
links:
|
||||||
xing :
|
- label: "Twitter"
|
||||||
youtube : # "https://youtube.com/c/MichaelRoseDesign"
|
icon: "fab fa-fw fa-twitter-square"
|
||||||
|
# url:
|
||||||
|
- label: "Facebook"
|
||||||
|
icon: "fab fa-fw fa-facebook-square"
|
||||||
|
# url:
|
||||||
|
- label: "GitHub"
|
||||||
|
icon: "fab fa-fw fa-github"
|
||||||
|
# url:
|
||||||
|
- label: "GitLab"
|
||||||
|
icon: "fab fa-fw fa-gitlab"
|
||||||
|
# url:
|
||||||
|
- label: "Bitbucket"
|
||||||
|
icon: "fab fa-fw fa-bitbucket"
|
||||||
|
# url:
|
||||||
|
- label: "Instagram"
|
||||||
|
icon: "fab fa-fw fa-instagram"
|
||||||
|
# url:
|
||||||
|
since: "2013"
|
||||||
|
|
||||||
|
|
||||||
# Reading Files
|
# Reading Files
|
||||||
@@ -155,8 +185,10 @@ exclude:
|
|||||||
- gulpfile.js
|
- gulpfile.js
|
||||||
- LICENSE
|
- LICENSE
|
||||||
- log
|
- log
|
||||||
|
- minimal-mistakes-jekyll.gemspec
|
||||||
- node_modules
|
- node_modules
|
||||||
- package.json
|
- package.json
|
||||||
|
- package-lock.json
|
||||||
- Rakefile
|
- Rakefile
|
||||||
- README
|
- README
|
||||||
- tmp
|
- tmp
|
||||||
@@ -192,14 +224,38 @@ kramdown:
|
|||||||
# Sass/SCSS
|
# Sass/SCSS
|
||||||
sass:
|
sass:
|
||||||
sass_dir: _sass
|
sass_dir: _sass
|
||||||
style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
|
style: compressed # https://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
|
||||||
|
|
||||||
|
|
||||||
# Outputting
|
# Outputting
|
||||||
permalink: /:categories/:title/
|
permalink: /:categories/:title/
|
||||||
|
timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
|
|
||||||
|
|
||||||
|
# Pagination with jekyll-paginate
|
||||||
paginate: 5 # amount of posts to show
|
paginate: 5 # amount of posts to show
|
||||||
paginate_path: /page:num/
|
paginate_path: /page:num/
|
||||||
timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
||||||
|
# Pagination with jekyll-paginate-v2
|
||||||
|
# See https://github.com/sverrirs/jekyll-paginate-v2/blob/master/README-GENERATOR.md#site-configuration
|
||||||
|
# for configuration details
|
||||||
|
pagination:
|
||||||
|
# Set enabled to true to use paginate v2
|
||||||
|
# enabled: true
|
||||||
|
debug: false
|
||||||
|
collection: 'posts'
|
||||||
|
per_page: 10
|
||||||
|
permalink: '/page/:num/'
|
||||||
|
title: ':title - page :num'
|
||||||
|
limit: 0
|
||||||
|
sort_field: 'date'
|
||||||
|
sort_reverse: true
|
||||||
|
category: 'posts'
|
||||||
|
tag: ''
|
||||||
|
locale: ''
|
||||||
|
trail:
|
||||||
|
before: 2
|
||||||
|
after: 2
|
||||||
|
|
||||||
|
|
||||||
# Plugins (previously gems:)
|
# Plugins (previously gems:)
|
||||||
@@ -208,7 +264,7 @@ plugins:
|
|||||||
- jekyll-sitemap
|
- jekyll-sitemap
|
||||||
- jekyll-gist
|
- jekyll-gist
|
||||||
- jekyll-feed
|
- jekyll-feed
|
||||||
- jemoji
|
- jekyll-include-cache
|
||||||
|
|
||||||
# mimic GitHub Pages with --safe
|
# mimic GitHub Pages with --safe
|
||||||
whitelist:
|
whitelist:
|
||||||
@@ -216,7 +272,7 @@ whitelist:
|
|||||||
- jekyll-sitemap
|
- jekyll-sitemap
|
||||||
- jekyll-gist
|
- jekyll-gist
|
||||||
- jekyll-feed
|
- jekyll-feed
|
||||||
- jemoji
|
- jekyll-include-cache
|
||||||
|
|
||||||
|
|
||||||
# Archives
|
# Archives
|
||||||
@@ -227,8 +283,8 @@ whitelist:
|
|||||||
# - Archive page should exist at path when using Liquid method or you can
|
# - Archive page should exist at path when using Liquid method or you can
|
||||||
# expect broken links (especially with breadcrumbs enabled)
|
# expect broken links (especially with breadcrumbs enabled)
|
||||||
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
|
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
|
||||||
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/
|
# - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
|
||||||
# - <base_path/my-awesome-category/index.html ~> path: /
|
# - <base_path>/my-awesome-category/index.html ~> path: /
|
||||||
category_archive:
|
category_archive:
|
||||||
type: liquid
|
type: liquid
|
||||||
path: /categories/
|
path: /categories/
|
||||||
@@ -249,7 +305,7 @@ tag_archive:
|
|||||||
|
|
||||||
|
|
||||||
# HTML Compression
|
# HTML Compression
|
||||||
# - http://jch.penibelst.de/
|
# - https://jch.penibelst.de/
|
||||||
compress_html:
|
compress_html:
|
||||||
clippings: all
|
clippings: all
|
||||||
ignore:
|
ignore:
|
||||||
|
|||||||
+1193
-88
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,7 @@
|
|||||||
<script>
|
<script>
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
ga('create','{{ site.analytics.google.tracking_id }}','auto');
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
ga('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }});
|
||||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
ga('send','pageview')
|
||||||
|
|
||||||
ga('create', '{{ site.analytics.google.tracking_id }}', 'auto');
|
|
||||||
ga('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }})
|
|
||||||
ga('send', 'pageview');
|
|
||||||
</script>
|
</script>
|
||||||
|
<script src="https://www.google-analytics.com/analytics.js" async></script>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script type="text/javascript">
|
<script>
|
||||||
var _gaq = _gaq || [];
|
var _gaq = _gaq || [];
|
||||||
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
|
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
|
||||||
{% if site.analytics.google.anonymize_ip == true %}
|
{% if site.analytics.google.anonymize_ip == true %}
|
||||||
@@ -11,4 +11,4 @@
|
|||||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -10,29 +10,21 @@
|
|||||||
{% assign title = post.title %}
|
{% assign title = post.title %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="{{ include.type | default: "list" }}__item">
|
<div class="{{ include.type | default: 'list' }}__item">
|
||||||
<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
|
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork"{% if post.locale %} lang="{{ post.locale }}"{% endif %}>
|
||||||
{% if include.type == "grid" and teaser %}
|
{% if include.type == "grid" and teaser %}
|
||||||
<div class="archive__item-teaser">
|
<div class="archive__item-teaser">
|
||||||
<img src=
|
<img src="{{ teaser | relative_url }}" alt="">
|
||||||
{% if teaser contains "://" %}
|
|
||||||
"{{ teaser }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ teaser | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="">
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<h2 class="archive__item-title" itemprop="headline">
|
<h2 class="archive__item-title no_toc" itemprop="headline">
|
||||||
{% if post.link %}
|
{% if post.link %}
|
||||||
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | relative_url }}" rel="permalink"><i class="fas fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a>
|
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | relative_url }}" rel="permalink"><i class="fas fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="{{ post.url | relative_url }}" rel="permalink">{{ title }}</a>
|
<a href="{{ post.url | relative_url }}" rel="permalink">{{ title }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h2>
|
</h2>
|
||||||
{% if post.read_time %}
|
{% include page__meta.html type=include.type %}
|
||||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
|
||||||
{% endif %}
|
|
||||||
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
|
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--
|
<!--
|
||||||
<li>
|
<li>
|
||||||
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs">
|
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
|
<i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -1,41 +1,24 @@
|
|||||||
{% assign author = page.author | default: page.authors[0] | default: site.author %}
|
{% assign author = page.author | default: page.authors[0] | default: site.author %}
|
||||||
{% assign author = site.data.authors[author] | default: author %}
|
{% assign author = site.data.authors[author] | default: author %}
|
||||||
|
|
||||||
<div itemscope itemtype="http://schema.org/Person">
|
<div itemscope itemtype="https://schema.org/Person" class="h-card">
|
||||||
|
|
||||||
{% if author.avatar %}
|
{% if author.avatar %}
|
||||||
<div class="author__avatar">
|
<div class="author__avatar">
|
||||||
{% if author.avatar contains "://" %}
|
<a href="{{ author.home | default: '/' | absolute_url }}">
|
||||||
{% assign author_src = author.avatar %}
|
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image" class="u-photo">
|
||||||
{% else %}
|
</a>
|
||||||
{% assign author_src = author.avatar | relative_url %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if author.home %}
|
|
||||||
{% if author.home contains "://" %}
|
|
||||||
{% assign author_link = author.home %}
|
|
||||||
{% else %}
|
|
||||||
{% assign author_link = author.home | relative_url %}
|
|
||||||
{% endif %}
|
|
||||||
<a href="{{ author_link }}">
|
|
||||||
<img src="{{ author_src }}" alt="{{ author.name }}" itemprop="image">
|
|
||||||
</a>
|
|
||||||
{% else %}
|
|
||||||
<img src="{{ author_src }}" alt="{{ author.name }}" itemprop="image">
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="author__content">
|
<div class="author__content">
|
||||||
{% if author.home %}
|
<h3 class="author__name p-name" itemprop="name">
|
||||||
<a href="{{ author_link }}"><h3 class="author__name" itemprop="name">{{ author.name }}</h3></a>
|
<a class="u-url" rel="me" href="{{ author.home | default: '/' | absolute_url }}" itemprop="url">{{ author.name }}</a>
|
||||||
{% else %}
|
</h3>
|
||||||
<h3 class="author__name" itemprop="name">{{ author.name }}</h3>
|
|
||||||
{% endif %}
|
|
||||||
{% if author.bio %}
|
{% if author.bio %}
|
||||||
<p class="author__bio" itemprop="description">
|
<div class="author__bio p-note" itemprop="description">
|
||||||
{{ author.bio }}
|
{{ author.bio | markdownify }}
|
||||||
</p>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -43,160 +26,160 @@
|
|||||||
<button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button>
|
<button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button>
|
||||||
<ul class="author__urls social-icons">
|
<ul class="author__urls social-icons">
|
||||||
{% if author.location %}
|
{% if author.location %}
|
||||||
<li itemprop="homeLocation" itemscope itemtype="http://schema.org/Place">
|
<li itemprop="homeLocation" itemscope itemtype="https://schema.org/Place">
|
||||||
<i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name">{{ author.location }}</span>
|
<i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name" class="p-locality">{{ author.location }}</span>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if author.links %}
|
||||||
|
{% for link in author.links %}
|
||||||
|
{% if link.label and link.url %}
|
||||||
|
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer me"{% if link.url contains 'http' %} itemprop="sameAs"{% endif %}><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i><span class="label">{{ link.label }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if author.uri %}
|
{% if author.uri %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ author.uri }}" itemprop="url">
|
<a href="{{ author.uri }}" itemprop="url" rel="me">
|
||||||
<i class="fas fa-fw fa-link" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].website_label | default: "Website" }}
|
<i class="fas fa-fw fa-link" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].website_label | default: "Website" }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.email %}
|
{% if author.email %}
|
||||||
<li>
|
<li>
|
||||||
<a href="mailto:{{ author.email }}">
|
<a href="mailto:{{ author.email }}" rel="me" class="u-email">
|
||||||
<meta itemprop="email" content="{{ author.email }}" />
|
<meta itemprop="email" content="{{ author.email }}" />
|
||||||
<i class="fas fa-fw fa-envelope-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].email_label | default: "Email" }}
|
<i class="fas fa-fw fa-envelope-square" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].email_label | default: "Email" }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.keybase %}
|
{% if author.keybase %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs">
|
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fas fa-fw fa-key" aria-hidden="true"></i> Keybase
|
<i class="fab fa-fw fa-keybase" aria-hidden="true"></i><span class="label">Keybase</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.twitter %}
|
{% if author.twitter %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs">
|
<a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter
|
<i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i><span class="label">Twitter</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.facebook %}
|
{% if author.facebook %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs">
|
<a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook
|
<i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i><span class="label">Facebook</span>
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if author.google_plus %}
|
|
||||||
<li>
|
|
||||||
<a href="https://plus.google.com/{{ author.google_plus }}" itemprop="sameAs">
|
|
||||||
<i class="fab fa-fw fa-google-plus-square" aria-hidden="true"></i> Google+
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.linkedin %}
|
{% if author.linkedin %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs">
|
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i> LinkedIn
|
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span class="label">LinkedIn</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.xing %}
|
{% if author.xing %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs">
|
<a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-xing-square" aria-hidden="true"></i> XING
|
<i class="fab fa-fw fa-xing-square" aria-hidden="true"></i><span class="label">XING</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.instagram %}
|
{% if author.instagram %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs">
|
<a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-instagram" aria-hidden="true"></i> Instagram
|
<i class="fab fa-fw fa-instagram" aria-hidden="true"></i><span class="label">Instagram</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.tumblr %}
|
{% if author.tumblr %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs">
|
<a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-tumblr-square" aria-hidden="true"></i> Tumblr
|
<i class="fab fa-fw fa-tumblr-square" aria-hidden="true"></i><span class="label">Tumblr</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.bitbucket %}
|
{% if author.bitbucket %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs">
|
<a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket
|
<i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i><span class="label">Bitbucket</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.github %}
|
{% if author.github %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/{{ author.github }}" itemprop="sameAs">
|
<a href="https://github.com/{{ author.github }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-github" aria-hidden="true"></i> GitHub
|
<i class="fab fa-fw fa-github" aria-hidden="true"></i><span class="label">GitHub</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.gitlab %}
|
{% if author.gitlab %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs">
|
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-gitlab" aria-hidden="true"></i> GitLab
|
<i class="fab fa-fw fa-gitlab" aria-hidden="true"></i><span class="label">GitLab</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.stackoverflow %}
|
{% if author.stackoverflow %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs">
|
<a href="https://stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-stack-overflow" aria-hidden="true"></i> Stack Overflow
|
<i class="fab fa-fw fa-stack-overflow" aria-hidden="true"></i><span class="label">Stack Overflow</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.lastfm %}
|
{% if author.lastfm %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs">
|
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-lastfm-square" aria-hidden="true"></i> Last.fm
|
<i class="fab fa-fw fa-lastfm-square" aria-hidden="true"></i><span class="label">Last.fm</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.dribbble %}
|
{% if author.dribbble %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs">
|
<a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-dribbble" aria-hidden="true"></i> Dribbble
|
<i class="fab fa-fw fa-dribbble" aria-hidden="true"></i><span class="label">Dribbble</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.pinterest %}
|
{% if author.pinterest %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs">
|
<a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-pinterest" aria-hidden="true"></i> Pinterest
|
<i class="fab fa-fw fa-pinterest" aria-hidden="true"></i><span class="label">Pinterest</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.foursquare %}
|
{% if author.foursquare %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs">
|
<a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-foursquare" aria-hidden="true"></i> Foursquare
|
<i class="fab fa-fw fa-foursquare" aria-hidden="true"></i><span class="label">Foursquare</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.steam %}
|
{% if author.steam %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs">
|
<a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-steam" aria-hidden="true"></i> Steam
|
<i class="fab fa-fw fa-steam" aria-hidden="true"></i><span class="label">Steam</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -204,14 +187,14 @@
|
|||||||
{% if author.youtube %}
|
{% if author.youtube %}
|
||||||
{% if author.youtube contains "://" %}
|
{% if author.youtube contains "://" %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ author.youtube }}" itemprop="sameAs">
|
<a href="{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i> YouTube
|
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% else author.youtube %}
|
{% elsif author.youtube %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs">
|
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i> YouTube
|
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -219,40 +202,40 @@
|
|||||||
|
|
||||||
{% if author.soundcloud %}
|
{% if author.soundcloud %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs">
|
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i> SoundCloud
|
<i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i><span class="label">SoundCloud</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.weibo %}
|
{% if author.weibo %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs">
|
<a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-weibo" aria-hidden="true"></i> Weibo
|
<i class="fab fa-fw fa-weibo" aria-hidden="true"></i><span class="label">Weibo</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.flickr %}
|
{% if author.flickr %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs">
|
<a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-flickr" aria-hidden="true"></i> Flickr
|
<i class="fab fa-fw fa-flickr" aria-hidden="true"></i><span class="label">Flickr</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.codepen %}
|
{% if author.codepen %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs">
|
<a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-codepen" aria-hidden="true"></i> CodePen
|
<i class="fab fa-fw fa-codepen" aria-hidden="true"></i><span class="label">CodePen</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if author.vine %}
|
{% if author.vine %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs">
|
<a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||||
<i class="fab fa-fw fa-vine" aria-hidden="true"></i> Vine
|
<i class="fab fa-fw fa-vine" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].email_label | default: "Email" }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
{% if site.url %}
|
|
||||||
{% assign base_path = site.url | append: site.baseurl %}
|
|
||||||
{% else %}
|
|
||||||
{% assign base_path = site.github.url %}
|
|
||||||
{% endif %}
|
|
||||||
@@ -13,23 +13,24 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<nav class="breadcrumbs">
|
<nav class="breadcrumbs">
|
||||||
<ol itemscope itemtype="http://schema.org/BreadcrumbList">
|
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||||
{% assign crumbs = page.url | split: '/' %}
|
{% assign crumbs = page.url | split: '/' %}
|
||||||
{% assign i = 1 %}
|
{% assign i = 1 %}
|
||||||
{% for crumb in crumbs offset: 1 %}
|
{% for crumb in crumbs offset: 1 %}
|
||||||
{% if forloop.first %}
|
{% if forloop.first %}
|
||||||
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
|
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||||
<a href="{{ site.url }}{{ site.baseurl }}/" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
|
<a href="{{ '/' | relative_url }}" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
|
||||||
|
|
||||||
<meta itemprop="position" content="{{ i }}" />
|
<meta itemprop="position" content="{{ i }}" />
|
||||||
</li>
|
</li>
|
||||||
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if forloop.last %}
|
{% if forloop.last %}
|
||||||
<li class="current">{{ page.title }}</li>
|
<li class="current"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>{{ page.title }}</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
{% assign i = i | plus: 1 %}
|
{% assign i = i | plus: 1 %}
|
||||||
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
|
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||||
<a href="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | relative_url }}" itemprop="item"><span itemprop="name">{{ crumb | replace: '-', ' ' | replace: '%20', ' ' | capitalize }}</span></a>
|
<a href="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | relative_url }}" itemprop="item"><span itemprop="name">{{ crumb | url_decode | replace: '-', ' ' | capitalize }}</span></a>
|
||||||
<meta itemprop="position" content="{{ i }}" />
|
<meta itemprop="position" content="{{ i }}" />
|
||||||
</li>
|
</li>
|
||||||
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
<!--[if lt IE 9]>
|
|
||||||
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
|
|
||||||
<![endif]-->
|
|
||||||
@@ -6,20 +6,13 @@
|
|||||||
{% endcase %}
|
{% endcase %}
|
||||||
|
|
||||||
{% if site.category_archive.path %}
|
{% if site.category_archive.path %}
|
||||||
{% comment %}
|
{% assign categories_sorted = page.categories | sort_natural %}
|
||||||
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
|
||||||
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
|
||||||
{% endcomment %}
|
|
||||||
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
|
||||||
{% assign category_hashes = page_categories | split: ',' | sort %}
|
|
||||||
|
|
||||||
<p class="page__taxonomy">
|
<p class="page__taxonomy">
|
||||||
<strong><i class="fas fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong>
|
<strong><i class="fas fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong>
|
||||||
<span itemprop="keywords">
|
<span itemprop="keywords">
|
||||||
{% for hash in category_hashes %}
|
{% for category_word in categories_sorted %}
|
||||||
{% assign keyValue = hash | split: '#' %}
|
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | relative_url }}" class="page__taxonomy-item p-category" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||||
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
|
||||||
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | relative_url }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
|
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="https://schema.org/Comment">
|
||||||
<div class="comment__avatar-wrapper">
|
<div class="comment__avatar-wrapper">
|
||||||
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
|
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="comment__content-wrapper">
|
<div class="comment__content-wrapper">
|
||||||
<h3 class="comment__author" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
<h3 class="comment__author" itemprop="author" itemscope itemtype="https://schema.org/Person">
|
||||||
{% unless include.url == blank %}
|
{% unless include.url == blank %}
|
||||||
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
|
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
|
||||||
{% else %}
|
{% else %}
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<p class="comment__date">
|
<p class="comment__date">
|
||||||
{% if include.date %}
|
{% if include.date %}
|
||||||
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
|
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
|
||||||
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %d, %Y at %I:%M %p" }}</time>
|
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %-d, %Y at %I:%M %p" }}</time>
|
||||||
{% if include.index %}</a>{% endif %}
|
{% if include.index %}</a>{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<!-- start custom comments scripts -->
|
||||||
|
|
||||||
|
<!-- end custom comments scripts -->
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
{% if site.comments.disqus.shortname %}
|
{% if site.comments.disqus.shortname %}
|
||||||
<script>
|
<script>
|
||||||
var disqus_config = function () {
|
var disqus_config = function () {
|
||||||
this.page.url = "{{ page.url | absolute_url }}"; // Replace PAGE_URL with your page's canonical URL variable
|
this.page.url = "{{ page.url | absolute_url }}"; /* Replace PAGE_URL with your page's canonical URL variable */
|
||||||
this.page.identifier = "{{ page.id }}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
|
this.page.identifier = "{{ page.id }}"; /* Replace PAGE_IDENTIFIER with your page's unique identifier variable */
|
||||||
};
|
};
|
||||||
(function() { // DON'T EDIT BELOW THIS LINE
|
(function() { /* DON'T EDIT BELOW THIS LINE */
|
||||||
var d = document, s = d.createElement('script');
|
var d = document, s = d.createElement('script');
|
||||||
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
|
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
|
||||||
s.setAttribute('data-timestamp', +new Date());
|
s.setAttribute('data-timestamp', +new Date());
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<script>
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
var commentContainer = document.querySelector('#giscus-comments');
|
||||||
|
|
||||||
|
if (!commentContainer) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var script = document.createElement('script');
|
||||||
|
|
||||||
|
script.setAttribute('src', 'https://giscus.app/client.js');
|
||||||
|
script.setAttribute('data-repo', '{{ site.repository | downcase }}');
|
||||||
|
script.setAttribute('data-repo-id', '{{ site.comments.giscus.repo_id }}');
|
||||||
|
script.setAttribute('data-category', '{{ site.comments.giscus.category_name }}');
|
||||||
|
script.setAttribute('data-category-id', '{{ site.comments.giscus.category_id }}');
|
||||||
|
script.setAttribute('data-mapping', '{{ site.comments.giscus.discussion_term | default: "pathname" }}');
|
||||||
|
script.setAttribute('data-strict', '{{ site.comments.giscus.strict | default: 0 }}');
|
||||||
|
script.setAttribute('data-reactions-enabled', '{{ site.comments.giscus.reactions_enabled | default: 1 }}');
|
||||||
|
script.setAttribute('data-emit-metadata', '{{ site.comments.giscus.emit_metadata | default: 0 }}');
|
||||||
|
script.setAttribute('data-input-position', '{{ site.comments.giscus.input_position | default: "top" }}');
|
||||||
|
script.setAttribute('data-theme', '{{ site.comments.giscus.theme | default: "light" }}');
|
||||||
|
script.setAttribute('data-lang', '{{ site.comments.giscus.lang | default: "en" }}');
|
||||||
|
{% if site.comments.giscus.lazy %}
|
||||||
|
script.setAttribute('data-loading', 'lazy');
|
||||||
|
{% endif %}
|
||||||
|
script.setAttribute('crossorigin', 'anonymous');
|
||||||
|
|
||||||
|
script.setAttribute('async', '');
|
||||||
|
|
||||||
|
commentContainer.appendChild(script);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<script async type="text/javascript" src="//apis.google.com/js/plusone.js?callback=gpcb"></script>
|
|
||||||
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>
|
|
||||||
@@ -6,13 +6,15 @@
|
|||||||
{% include /comments-providers/discourse.html %}
|
{% include /comments-providers/discourse.html %}
|
||||||
{% when "facebook" %}
|
{% when "facebook" %}
|
||||||
{% include /comments-providers/facebook.html %}
|
{% include /comments-providers/facebook.html %}
|
||||||
{% when "google-plus" %}
|
|
||||||
{% include /comments-providers/google-plus.html %}
|
|
||||||
{% when "staticman" %}
|
{% when "staticman" %}
|
||||||
{% include /comments-providers/staticman.html %}
|
{% include /comments-providers/staticman.html %}
|
||||||
{% when "staticman_v2" %}
|
{% when "staticman_v2" %}
|
||||||
{% include /comments-providers/staticman_v2.html %}
|
{% include /comments-providers/staticman_v2.html %}
|
||||||
|
{% when "utterances" %}
|
||||||
|
{% include /comments-providers/utterances.html %}
|
||||||
|
{% when "giscus" %}
|
||||||
|
{% include /comments-providers/giscus.html %}
|
||||||
{% when "custom" %}
|
{% when "custom" %}
|
||||||
{% include /comments-providers/custom.html %}
|
{% include /comments-providers/custom_scripts.html %}
|
||||||
{% endcase %}
|
{% endcase %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
{% if site.repository and site.staticman.branch %}
|
{% if site.repository and site.staticman.branch %}
|
||||||
<script>
|
<script>
|
||||||
(function ($) {
|
(function ($) {
|
||||||
var $comments = $('.js-comments');
|
|
||||||
|
|
||||||
$('#new_comment').submit(function () {
|
$('#new_comment').submit(function () {
|
||||||
var form = this;
|
var form = this;
|
||||||
|
|
||||||
@@ -39,4 +37,4 @@
|
|||||||
}
|
}
|
||||||
})(jQuery);
|
})(jQuery);
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{% if site.repository and site.staticman.branch %}
|
{% if site.repository and site.comments.staticman.branch %}
|
||||||
<script>
|
<script>
|
||||||
(function ($) {
|
(function ($) {
|
||||||
var $comments = $('.js-comments');
|
|
||||||
|
|
||||||
$('#new_comment').submit(function () {
|
$('#new_comment').submit(function () {
|
||||||
var form = this;
|
var form = this;
|
||||||
|
|
||||||
@@ -39,4 +37,4 @@
|
|||||||
}
|
}
|
||||||
})(jQuery);
|
})(jQuery);
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<script>
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
var commentContainer = document.querySelector('#utterances-comments');
|
||||||
|
|
||||||
|
if (!commentContainer) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var script = document.createElement('script');
|
||||||
|
script.setAttribute('src', 'https://utteranc.es/client.js');
|
||||||
|
script.setAttribute('repo', '{{ site.repository }}');
|
||||||
|
script.setAttribute('issue-term', '{{ site.comments.utterances.issue_term | default: "pathname" }}');
|
||||||
|
{% if site.comments.utterances.label %}script.setAttribute('label', '{{ site.comments.utterances.label }}');{% endif %}
|
||||||
|
script.setAttribute('theme', '{{ site.comments.utterances.theme | default: "github-light" }}');
|
||||||
|
script.setAttribute('crossorigin', 'anonymous');
|
||||||
|
|
||||||
|
commentContainer.appendChild(script);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
+40
-31
@@ -10,36 +10,30 @@
|
|||||||
{% when "facebook" %}
|
{% when "facebook" %}
|
||||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||||
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
|
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
|
||||||
{% when "google-plus" %}
|
|
||||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
|
||||||
<section id="g-comments" class="g-comments">Loading Google+ Comments ...</section>
|
|
||||||
<script>
|
|
||||||
function initComment() {
|
|
||||||
gapi.comments.render("g-comments", {
|
|
||||||
href: "{{ page.url | absolute_url }}",
|
|
||||||
width: "624",
|
|
||||||
first_party_property: "BLOGGER",
|
|
||||||
view_type: "FILTERED_POSTMOD"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script async type="text/javascript" src="https://apis.google.com/js/plusone.js" onload="initComment()" />
|
|
||||||
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>-->
|
|
||||||
{% when "staticman_v2" %}
|
{% when "staticman_v2" %}
|
||||||
<section id="static-comments">
|
<section id="static-comments">
|
||||||
{% if site.repository and site.staticman.branch %}
|
{% if site.repository and site.comments.staticman.branch %}
|
||||||
<!-- Start static comments -->
|
<!-- Start static comments -->
|
||||||
<div class="js-comments">
|
<div class="js-comments">
|
||||||
{% if site.data.comments[page.slug] %}
|
{% if site.data.comments[page.slug] %}
|
||||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||||
{% assign comments = site.data.comments[page.slug] | sort %}
|
{% assign comments = site.data.comments[page.slug] %}
|
||||||
|
|
||||||
|
<!-- In order to sort by date we must have an array of objects, not an array of arrays, so
|
||||||
|
create a new array of plain comment objects and then sort by the comment date. -->
|
||||||
|
{% assign commentObjects = '' | split: '' %}
|
||||||
|
{% for comment in comments %}
|
||||||
|
{% assign commentObject = comment[1] %}
|
||||||
|
{% assign commentObjects = commentObjects | push: commentObject %}
|
||||||
|
{% endfor %}
|
||||||
|
{% assign comments = commentObjects | sort: "date" %}
|
||||||
|
|
||||||
{% for comment in comments %}
|
{% for comment in comments %}
|
||||||
{% assign email = comment[1].email %}
|
{% assign email = comment.email %}
|
||||||
{% assign name = comment[1].name %}
|
{% assign name = comment.name %}
|
||||||
{% assign url = comment[1].url %}
|
{% assign url = comment.url %}
|
||||||
{% assign date = comment[1].date %}
|
{% assign date = comment.date %}
|
||||||
{% assign message = comment[1].message %}
|
{% assign message = comment.message %}
|
||||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -50,7 +44,7 @@
|
|||||||
<div class="page__comments-form">
|
<div class="page__comments-form">
|
||||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
|
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
|
||||||
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
||||||
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v2/entry/{{ site.repository }}/{{ site.staticman.branch }}/comments">
|
<form id="new_comment" class="page__comments-form js-form form" method="post" action="{{ site.comments.staticman.endpoint }}{{ site.repository }}/{{ site.comments.staticman.branch }}/comments">
|
||||||
<div class="form__spinner">
|
<div class="form__spinner">
|
||||||
<i class="fas fa-spinner fa-spin fa-3x fa-fw"></i>
|
<i class="fas fa-spinner fa-spin fa-3x fa-fw"></i>
|
||||||
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
|
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
|
||||||
@@ -106,14 +100,23 @@
|
|||||||
<div class="js-comments">
|
<div class="js-comments">
|
||||||
{% if site.data.comments[page.slug] %}
|
{% if site.data.comments[page.slug] %}
|
||||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||||
{% assign comments = site.data.comments[page.slug] | sort %}
|
{% assign comments = site.data.comments[page.slug] %}
|
||||||
|
|
||||||
|
<!-- In order to sort by date we must have an array of objects, not an array of arrays, so
|
||||||
|
create a new array of plain comment objects and then sort by the comment date. -->
|
||||||
|
{% assign commentObjects = '' | split: '' %}
|
||||||
|
{% for comment in comments %}
|
||||||
|
{% assign commentObject = comment[1] %}
|
||||||
|
{% assign commentObjects = commentObjects | push: commentObject %}
|
||||||
|
{% endfor %}
|
||||||
|
{% assign comments = commentObjects | sort: "date" %}
|
||||||
|
|
||||||
{% for comment in comments %}
|
{% for comment in comments %}
|
||||||
{% assign email = comment[1].email %}
|
{% assign email = comment.email %}
|
||||||
{% assign name = comment[1].name %}
|
{% assign name = comment.name %}
|
||||||
{% assign url = comment[1].url %}
|
{% assign url = comment.url %}
|
||||||
{% assign date = comment[1].date %}
|
{% assign date = comment.date %}
|
||||||
{% assign message = comment[1].message %}
|
{% assign message = comment.message %}
|
||||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -165,7 +168,13 @@
|
|||||||
<!-- End new comment form -->
|
<!-- End new comment form -->
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</section>
|
</section>
|
||||||
|
{% when "utterances" %}
|
||||||
|
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||||
|
<section id="utterances-comments"></section>
|
||||||
|
{% when "giscus" %}
|
||||||
|
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||||
|
<section id="giscus-comments"></section>
|
||||||
{% when "custom" %}
|
{% when "custom" %}
|
||||||
<section id="custom-comments"></section>
|
{% include /comments-providers/custom.html %}
|
||||||
{% endcase %}
|
{% endcase %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<!--
|
||||||
|
Minimal Mistakes Jekyll Theme 4.27.1 by Michael Rose
|
||||||
|
Copyright 2013-2025 Michael Rose - mademistakes.com | @mmistakes
|
||||||
|
Free for personal and commercial use under the MIT license
|
||||||
|
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
|
-->
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Minimal Mistakes Jekyll Theme 4.27.1 by Michael Rose
|
||||||
|
* Copyright 2013-2025 Michael Rose - mademistakes.com | @mmistakes
|
||||||
|
* Free for personal and commercial use under the MIT license
|
||||||
|
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
|
*/
|
||||||
@@ -1,19 +1,13 @@
|
|||||||
{% assign entries = site[include.collection] %}
|
{% assign entries = include.entries | default: site[include.collection] | where_exp: "post", "post.hidden != true" %}
|
||||||
|
|
||||||
{% if include.sort_by == 'title' %}
|
{% if include.sort_by %}
|
||||||
{% if include.sort_order == 'reverse' %}
|
{% assign entries = entries | sort: include.sort_by %}
|
||||||
{% assign entries = entries | sort: 'title' | reverse %}
|
{% endif %}
|
||||||
{% else %}
|
|
||||||
{% assign entries = entries | sort: 'title' %}
|
{% if include.sort_order == 'reverse' %}
|
||||||
{% endif %}
|
{% assign entries = entries | reverse %}
|
||||||
{% elsif include.sort_by == 'date' %}
|
|
||||||
{% if include.sort_order == 'reverse' %}
|
|
||||||
{% assign entries = entries | sort: 'date' | reverse %}
|
|
||||||
{% else %}
|
|
||||||
{% assign entries = entries | sort: 'date' %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{%- for post in entries -%}
|
{%- for post in entries -%}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html type=include.type %}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
+4
-16
@@ -7,24 +7,12 @@
|
|||||||
<div class="feature__wrapper">
|
<div class="feature__wrapper">
|
||||||
|
|
||||||
{% for f in feature_row %}
|
{% for f in feature_row %}
|
||||||
|
|
||||||
{% if f.url contains "://" %}
|
|
||||||
{% capture f_url %}{{ f.url }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture f_url %}{{ f.url | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}">
|
<div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}">
|
||||||
<div class="archive__item">
|
<div class="archive__item">
|
||||||
{% if f.image_path %}
|
{% if f.image_path %}
|
||||||
<div class="archive__item-teaser">
|
<div class="archive__item-teaser">
|
||||||
<img src=
|
<img src="{{ f.image_path | relative_url }}"
|
||||||
{% if f.image_path contains "://" %}
|
alt="{% if f.alt %}{{ f.alt }}{% endif %}">
|
||||||
"{{ f.image_path }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ f.image_path | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if f.alt %}{{ f.alt }}{% endif %}">
|
|
||||||
{% if f.image_caption %}
|
{% if f.image_caption %}
|
||||||
<span class="archive__item-caption">{{ f.image_caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
<span class="archive__item-caption">{{ f.image_caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -43,11 +31,11 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if f.url %}
|
{% if f.url %}
|
||||||
<p><a href="{{ f_url }}" class="btn {{ f.btn_class }}">{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
|
<p><a href="{{ f.url | relative_url }}" class="btn {{ f.btn_class }}">{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+9
-10
@@ -1,12 +1,11 @@
|
|||||||
<figure class="{{ include.class }}">
|
<figure class="{{ include.class }}">
|
||||||
<img src=
|
{%- if include.popup -%}<a href="{{ include.image_path | relative_url }}" class="image-popup"{% if include.caption %} title="{{ include.caption | markdownify | strip_html }}"{% endif %}>{%- endif -%}
|
||||||
{% if include.image_path contains "://" %}
|
<img src="{{ include.image_path | relative_url }}"
|
||||||
"{{ include.image_path }}"
|
alt="{% if include.alt %}{{ include.alt | escape_once }}{% endif %}">
|
||||||
{% else %}
|
{%- if include.popup -%}</a>{%- endif -%}
|
||||||
"{{ include.image_path | relative_url }}"
|
{%- if include.caption -%}
|
||||||
{% endif %}
|
<figcaption>
|
||||||
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
|
{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}
|
||||||
{% if include.caption %}
|
</figcaption>
|
||||||
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
|
{%- endif -%}
|
||||||
{% endif %}
|
|
||||||
</figure>
|
</figure>
|
||||||
|
|||||||
+17
-16
@@ -1,25 +1,26 @@
|
|||||||
|
{% unless site.atom_feed.hide %}
|
||||||
|
{% assign show_atom = true %}
|
||||||
|
{% endunless %}
|
||||||
|
{% if site.footer.links or show_atom %}
|
||||||
<div class="page__footer-follow">
|
<div class="page__footer-follow">
|
||||||
<ul class="social-icons">
|
<ul class="social-icons">
|
||||||
{% if site.data.ui-text[site.locale].follow_label %}
|
{% if site.data.ui-text[site.locale].follow_label %}
|
||||||
<li><strong>{{ site.data.ui-text[site.locale].follow_label }}</strong></li>
|
<li><strong>{{ site.data.ui-text[site.locale].follow_label }}</strong></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if site.twitter.username %}
|
|
||||||
<li><a href="https://twitter.com/{{ site.twitter.username }}"><i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter</a></li>
|
{% if site.footer.links %}
|
||||||
|
{% for link in site.footer.links %}
|
||||||
|
{% if link.label and link.url %}
|
||||||
|
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i> {{ link.label | escape_once | strip }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if site.facebook.username %}
|
|
||||||
<li><a href="https://www.facebook.com/{{ site.facebook.username }}"><i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook</a></li>
|
{% unless site.atom_feed.hide %}
|
||||||
{% endif %}
|
<li><a href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
|
||||||
{% if site.author.github %}
|
{% endunless %}
|
||||||
<li><a href="https://github.com/{{ site.author.github }}"><i class="fab fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% if site.author.gitlab %}
|
|
||||||
<li><a href="https://gitlab.com/{{ site.author.gitlab }}"><i class="fab fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% if site.author.bitbucket %}
|
|
||||||
<li><a href="https://bitbucket.org/{{ site.author.bitbucket }}"><i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket</a></li>
|
|
||||||
{% endif %}
|
|
||||||
<li><a href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="page__footer-copyright">© {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
|
<div class="page__footer-copyright">© {% assign site_time = site.time | date: '%Y' %}{% if site.footer.since and site_time != site.footer.since %}{{ site.footer.since }} - {% endif %}{{ site_time }} <a href="{{ site.copyright_url | default: site.url }}">{{ site.copyright | default: site.title | escape_once | strip }}</a>. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/jekyll-themes/minimal-mistakes/" rel="nofollow">Minimal Mistakes</a>.</div>
|
||||||
|
|||||||
+16
-28
@@ -4,44 +4,32 @@
|
|||||||
{% assign gallery = page.gallery %}
|
{% assign gallery = page.gallery %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if gallery.size == 2 %}
|
{% if include.layout %}
|
||||||
{% assign gallery_layout = 'half' %}
|
{% assign gallery_layout = include.layout %}
|
||||||
{% elsif gallery.size >= 3 %}
|
|
||||||
{% assign gallery_layout = 'third' %}
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% assign gallery_layout = '' %}
|
{% if gallery.size == 2 %}
|
||||||
|
{% assign gallery_layout = 'half' %}
|
||||||
|
{% elsif gallery.size >= 3 %}
|
||||||
|
{% assign gallery_layout = 'third' %}
|
||||||
|
{% else %}
|
||||||
|
{% assign gallery_layout = '' %}
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<figure class="{{ gallery_layout }} {{ include.class }}">
|
<figure class="{{ gallery_layout }} {{ include.class }}">
|
||||||
{% for img in gallery %}
|
{% for img in gallery %}
|
||||||
{% if img.url %}
|
{% if img.url %}
|
||||||
<a href=
|
<a href="{{ img.url | relative_url }}"
|
||||||
{% if img.url contains "://" %}
|
{% if img.title %}title="{{ img.title }}"{% endif %}>
|
||||||
"{{ img.url }}"
|
<img src="{{ img.image_path | relative_url }}"
|
||||||
{% else %}
|
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
||||||
"{{ img.url | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
{% if img.title %}title="{{ img.title }}"{% endif %}
|
|
||||||
>
|
|
||||||
<img src=
|
|
||||||
{% if img.image_path contains "://" %}
|
|
||||||
"{{ img.image_path }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ img.image_path | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
|
||||||
</a>
|
</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src=
|
<img src="{{ img.image_path | relative_url }}"
|
||||||
{% if img.image_path contains "://" %}
|
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
||||||
"{{ img.image_path }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ img.image_path | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if include.caption %}
|
{% if include.caption %}
|
||||||
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
|
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</figure>
|
</figure>
|
||||||
|
|||||||
+11
-26
@@ -2,42 +2,27 @@
|
|||||||
|
|
||||||
{% include seo.html %}
|
{% include seo.html %}
|
||||||
|
|
||||||
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
|
{% unless site.atom_feed.hide %}
|
||||||
|
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
<!-- http://t.co/dKP3o1e -->
|
{%- comment %} https://docs.google.com/presentation/d/1rmxwWa9P6_xHqonmh5ONXRS-jPc5XKbnv99Rjkhe04s/present {% endcomment -%}
|
||||||
<meta name="HandheldFriendly" content="True">
|
|
||||||
<meta name="MobileOptimized" content="320">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
|
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
|
||||||
|
{% if site.enable_copy_code_button -%}
|
||||||
|
window.enable_copy_code_button = true;
|
||||||
|
{%- endif %}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- For all browsers -->
|
<!-- For all browsers -->
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
||||||
|
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@latest/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||||||
<!--[if lte IE 9]>
|
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@latest/css/all.min.css"></noscript>
|
||||||
<style>
|
|
||||||
/* old IE unsupported flexbox fixes */
|
|
||||||
.greedy-nav .site-title {
|
|
||||||
padding-right: 3em;
|
|
||||||
}
|
|
||||||
.greedy-nav button {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
{% if site.head_scripts %}
|
{% if site.head_scripts %}
|
||||||
{% for script in site.head_scripts %}
|
{% for script in site.head_scripts %}
|
||||||
{% if script contains "://" %}
|
<script src="{{ script | relative_url }}"></script>
|
||||||
{% capture script_path %}{{ script }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture script_path %}{{ script | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
<script src="{{ script_path }}"></script>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
+20
-14
@@ -1,33 +1,39 @@
|
|||||||
|
{% capture logo_path %}{{ site.logo }}{% endcapture %}
|
||||||
|
|
||||||
<div class="masthead">
|
<div class="masthead">
|
||||||
<div class="masthead__inner-wrap">
|
<div class="masthead__inner-wrap">
|
||||||
<div class="masthead__menu">
|
<div class="masthead__menu">
|
||||||
<nav id="site-nav" class="greedy-nav">
|
<nav id="site-nav" class="greedy-nav">
|
||||||
<a class="site-title" href="{{ '/' | relative_url }}">{{ site.title }}</a>
|
{% unless logo_path == empty %}
|
||||||
|
<a class="site-logo" href="{{ '/' | relative_url }}"><img src="{{ logo_path | relative_url }}" alt="{{ site.masthead_title | default: site.title }}"></a>
|
||||||
|
{% endunless %}
|
||||||
|
<a class="site-title" href="{{ '/' | relative_url }}">
|
||||||
|
{{ site.masthead_title | default: site.title | escape_once | strip }}
|
||||||
|
{% if site.subtitle %}<span class="site-subtitle">{{ site.subtitle | escape_once | strip }}</span>{% endif %}
|
||||||
|
</a>
|
||||||
<ul class="visible-links">
|
<ul class="visible-links">
|
||||||
{% for link in site.data.navigation.main %}
|
{%- for link in site.data.navigation.main -%}
|
||||||
{% if link.url contains 'http' %}
|
|
||||||
{% assign domain = '' %}
|
|
||||||
{% else %}
|
|
||||||
{% assign domain = site.url | append: site.baseurl %}
|
|
||||||
{% endif %}
|
|
||||||
<li class="masthead__menu-item">
|
<li class="masthead__menu-item">
|
||||||
<a href="{{ domain }}{{ link.url }}" {% if link.description %}title="{{ link.description }}"{% endif %}>{{ link.title }}</a>
|
<a
|
||||||
|
href="{{ link.url | relative_url }}"
|
||||||
|
{% if link.description %} title="{{ link.description }}"{% endif %}
|
||||||
|
{% if link.target %} target="{{ link.target }}"{% endif %}
|
||||||
|
>{{ link.title }}</a>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{%- endfor -%}
|
||||||
</ul>
|
</ul>
|
||||||
{% if site.search == true %}
|
{% if site.search == true %}
|
||||||
<button class="search__toggle" type="button">
|
<button class="search__toggle" type="button">
|
||||||
<svg class="icon" width="16" height="16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.99 16">
|
<span class="visually-hidden">{{ site.data.ui-text[site.locale].search_label | default: "Toggle search" }}</span>
|
||||||
<path d="M15.5,13.12L13.19,10.8a1.69,1.69,0,0,0-1.28-.55l-0.06-.06A6.5,6.5,0,0,0,5.77,0,6.5,6.5,0,0,0,2.46,11.59a6.47,6.47,0,0,0,7.74.26l0.05,0.05a1.65,1.65,0,0,0,.5,1.24l2.38,2.38A1.68,1.68,0,0,0,15.5,13.12ZM6.4,2A4.41,4.41,0,1,1,2,6.4,4.43,4.43,0,0,1,6.4,2Z" transform="translate(-.01)"></path>
|
<i class="fas fa-search"></i>
|
||||||
</svg>
|
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<button class="greedy-nav__toggle hidden" type="button">
|
<button class="greedy-nav__toggle hidden" type="button">
|
||||||
<span class="visually-hidden">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</span>
|
<span class="visually-hidden">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle menu" }}</span>
|
||||||
<div class="navicon"></div>
|
<div class="navicon"></div>
|
||||||
</button>
|
</button>
|
||||||
<ul class="hidden-links hidden"></ul>
|
<ul class="hidden-links hidden"></ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+17
-37
@@ -1,47 +1,27 @@
|
|||||||
{% assign navigation = site.data.navigation[include.nav] %}
|
|
||||||
|
|
||||||
<nav class="nav__list">
|
<nav class="nav__list">
|
||||||
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
|
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
|
||||||
<input id="ac-toc" name="accordion-toc" type="checkbox" />
|
<input id="ac-toc" name="accordion-toc" type="checkbox" />
|
||||||
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
|
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
|
||||||
<ul class="nav__items">
|
<ul class="nav__items">
|
||||||
{% for nav in navigation %}
|
{% for navname in include.nav %}
|
||||||
<li>
|
{% assign navigation = site.data.navigation[navname] %}
|
||||||
{% if nav.url %}
|
{% for nav in navigation %}
|
||||||
{% comment %} internal/external URL check {% endcomment %}
|
<li>
|
||||||
{% if nav.url contains "://" %}
|
{% if nav.url %}
|
||||||
{% assign nav_url = nav.url %}
|
<a href="{{ nav.url | relative_url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
|
||||||
{% else %}
|
{% else %}
|
||||||
{% assign nav_url = nav.url | relative_url %}
|
<span class="nav__sub-title">{{ nav.title }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<a href="{{ nav_url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
|
{% if nav.children != null %}
|
||||||
{% else %}
|
<ul>
|
||||||
<span class="nav__sub-title">{{ nav.title }}</span>
|
{% for child in nav.children %}
|
||||||
{% endif %}
|
<li><a href="{{ child.url | relative_url }}"{% if child.url == page.url %} class="active"{% endif %}>{{ child.title }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
{% if nav.children != null %}
|
</ul>
|
||||||
<ul>
|
{% endif %}
|
||||||
{% for child in nav.children %}
|
</li>
|
||||||
{% comment %} internal/external URL check {% endcomment %}
|
{% endfor %}
|
||||||
{% if child.url contains "://" %}
|
|
||||||
{% assign child_url = child.url %}
|
|
||||||
{% else %}
|
|
||||||
{% assign child_url = child.url | relative_url %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% comment %} set "active" class on current page {% endcomment %}
|
|
||||||
{% if child.url == page.url %}
|
|
||||||
{% assign active = "active" %}
|
|
||||||
{% else %}
|
|
||||||
{% assign active = "" %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<li><a href="{{ child_url }}" class="{{ active }}">{{ child.title }}</a></li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{% assign date_format = site.date_format | default: "%B %-d, %Y" %}
|
||||||
|
{% if page.last_modified_at %}
|
||||||
|
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time class="dt-published" datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: date_format }}</time></p>
|
||||||
|
{% elsif page.date %}
|
||||||
|
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: date_format }}</time></p>
|
||||||
|
{% endif %}
|
||||||
+18
-26
@@ -1,25 +1,13 @@
|
|||||||
{% if page.header.image contains "://" %}
|
{% capture overlay_img_path %}{{ page.header.overlay_image | relative_url }}{% endcapture %}
|
||||||
{% capture img_path %}{{ page.header.image }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture img_path %}{{ page.header.image | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.header.cta_url contains "://" %}
|
{% if page.header.overlay_filter contains "gradient" %}
|
||||||
{% capture cta_path %}{{ page.header.cta_url }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture cta_path %}{{ page.header.cta_url | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.header.overlay_image contains "://" %}
|
|
||||||
{% capture overlay_img_path %}{{ page.header.overlay_image }}{% endcapture %}
|
|
||||||
{% elsif page.header.overlay_image %}
|
|
||||||
{% capture overlay_img_path %}{{ page.header.overlay_image | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.header.overlay_filter contains "rgba" %}
|
|
||||||
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
||||||
|
{% elsif page.header.overlay_filter contains "rgba" %}
|
||||||
|
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
||||||
|
{% capture overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}){% endcapture %}
|
||||||
{% elsif page.header.overlay_filter %}
|
{% elsif page.header.overlay_filter %}
|
||||||
{% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
|
{% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
|
||||||
|
{% capture overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}){% endcapture %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if page.header.image_description %}
|
{% if page.header.image_description %}
|
||||||
@@ -31,7 +19,7 @@
|
|||||||
{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %}
|
{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %}
|
||||||
|
|
||||||
<div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
|
<div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
|
||||||
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}), {% endif %}url('{{ overlay_img_path }}');{% endif %}"
|
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}{{ overlay_filter }}, {% endif %}url('{{ overlay_img_path }}');{% endif %}"
|
||||||
>
|
>
|
||||||
{% if page.header.overlay_color or page.header.overlay_image %}
|
{% if page.header.overlay_color or page.header.overlay_image %}
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@@ -42,18 +30,22 @@
|
|||||||
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
|
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h1>
|
</h1>
|
||||||
{% if page.header.show_overlay_excerpt != false and page.excerpt %}
|
{% if page.tagline %}
|
||||||
|
<p class="page__lead">{{ page.tagline | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
||||||
|
{% elsif page.header.show_overlay_excerpt != false and page.excerpt %}
|
||||||
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if site.read_time and page.read_time %}
|
{% include page__meta.html %}
|
||||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
{% if page.header.actions %}
|
||||||
{% endif %}
|
<p>
|
||||||
{% if page.header.cta_url %}
|
{% for action in page.header.actions %}
|
||||||
<p><a href="{{ cta_path }}" class="btn btn--light-outline btn--large">{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
|
<a href="{{ action.url | relative_url }}" class="btn btn--light-outline btn--large">{{ action.label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src="{{ img_path }}" alt="{{ image_description }}" class="page__hero-image">
|
<img src="{{ page.header.image | relative_url }}" alt="{{ image_description }}" class="page__hero-image">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if page.header.caption %}
|
{% if page.header.caption %}
|
||||||
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
||||||
|
|||||||
@@ -1,4 +1,2 @@
|
|||||||
{% capture video_id %}{{ page.header.video.id }}{% endcapture %}
|
{% assign video = page.header.video %}
|
||||||
{% capture video_provider %}{{ page.header.video.provider }}{% endcapture %}
|
{% include video id=video.id provider=video.provider danmaku=video.danmaku %}
|
||||||
|
|
||||||
{% include video id=video_id provider=video_provider %}
|
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{% assign document = post | default: page %}
|
||||||
|
{% if document.read_time or document.show_date %}
|
||||||
|
<p class="page__meta">
|
||||||
|
{% if document.show_date and document.date %}
|
||||||
|
{% assign date = document.date %}
|
||||||
|
<span class="page__meta-date">
|
||||||
|
<i class="far {% if include.type == 'grid' and document.read_time and document.show_date %}fa-fw {% endif %}fa-calendar-alt" aria-hidden="true"></i>
|
||||||
|
{% assign date_format = site.date_format | default: "%B %-d, %Y" %}
|
||||||
|
<time datetime="{{ date | date_to_xmlschema }}">{{ date | date: date_format }}</time>
|
||||||
|
</span>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if document.read_time and document.show_date %}<span class="page__meta-sep"></span>{% endif %}
|
||||||
|
|
||||||
|
{% if document.read_time %}
|
||||||
|
{% assign words_per_minute = document.words_per_minute | default: site.words_per_minute | default: 200 %}
|
||||||
|
{% assign words = document.content | strip_html | number_of_words %}
|
||||||
|
|
||||||
|
<span class="page__meta-readtime">
|
||||||
|
<i class="far {% if include.type == 'grid' and document.read_time and document.show_date %}fa-fw {% endif %}fa-clock" aria-hidden="true"></i>
|
||||||
|
{% if words < words_per_minute %}
|
||||||
|
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||||
|
{% elsif words == words_per_minute %}
|
||||||
|
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||||
|
{% else %}
|
||||||
|
{{ words | divided_by: words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||||
|
{% endif %}
|
||||||
|
</span>
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{% assign posts = include.posts | where_exp: "post", "post.hidden != true" %}
|
||||||
|
<div class="page__related">
|
||||||
|
{% include before-related.html %}
|
||||||
|
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
||||||
|
<div class="grid__wrapper">
|
||||||
|
{% for post in posts limit:4 %}
|
||||||
|
{% if post.id == page.id %}{% continue %}{% endif %}
|
||||||
|
{% include archive-single.html type="grid" %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
{% if paginator.total_pages > 1 %}
|
||||||
|
<nav class="pagination">
|
||||||
|
{% assign paginate_path_last = site.paginate_path | split: '/' | last %}
|
||||||
|
{% assign first_page_path = paginator.first_page_path | default: site.paginate_path | replace: paginate_path_last, '' | replace: '//', '/' | relative_url %}
|
||||||
|
<ul>
|
||||||
|
{% comment %} Link for previous page {% endcomment %}
|
||||||
|
{% if paginator.previous_page %}
|
||||||
|
{% if paginator.previous_page == 1 %}
|
||||||
|
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %} First page {% endcomment %}
|
||||||
|
{% if paginator.page == 1 %}
|
||||||
|
<li><a href="#" class="disabled current">1</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ first_page_path }}">1</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign page_start = 2 %}
|
||||||
|
{% if paginator.page > 4 %}
|
||||||
|
{% assign page_start = paginator.page | minus: 2 %}
|
||||||
|
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||||
|
<li><a href="#" class="disabled">…</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign page_end = paginator.total_pages | minus: 1 %}
|
||||||
|
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
|
||||||
|
{% if pages_to_end > 4 %}
|
||||||
|
{% assign page_end = paginator.page | plus: 2 %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for index in (page_start..page_end) %}
|
||||||
|
{% if index == paginator.page %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | relative_url }}" class="disabled current">{{ index }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
{% comment %} Distance from current page and this link {% endcomment %}
|
||||||
|
{% assign dist = paginator.page | minus: index %}
|
||||||
|
{% if dist < 0 %}
|
||||||
|
{% comment %} Distance must be a positive value {% endcomment %}
|
||||||
|
{% assign dist = 0 | minus: dist %}
|
||||||
|
{% endif %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', index | relative_url }}">{{ index }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||||
|
{% if pages_to_end > 3 %}
|
||||||
|
<li><a href="#" class="disabled">…</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if paginator.page == paginator.total_pages %}
|
||||||
|
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %} Link next page {% endcomment %}
|
||||||
|
{% if paginator.next_page %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
<nav class="pagination">
|
||||||
|
<ul>
|
||||||
|
{% comment %} Link for previous page {% endcomment %}
|
||||||
|
{% if paginator.previous_page %}
|
||||||
|
{% if paginator.previous_page == 1 %}
|
||||||
|
<li><a href="{{ paginator.first_page_path | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ paginator.previous_page_path | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %} Determine whether the first page and the last page are already included in trail {% endcomment %}
|
||||||
|
{% for trail in paginator.page_trail %}
|
||||||
|
{% if trail.num == paginator.first_page %}
|
||||||
|
{% assign has_first_page = true %}
|
||||||
|
{% elsif trail.num == paginator.last_page %}
|
||||||
|
{% assign has_last_page = true %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% comment %} First page {% endcomment %}
|
||||||
|
{% unless has_first_page %}
|
||||||
|
{% if paginator.page == 1 %}
|
||||||
|
<li><a href="#" class="disabled current">1</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ paginator.first_page_path | relative_url }}">1</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
|
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||||
|
{% assign ellipsis_start = paginator.first_page | plus: 1 %}
|
||||||
|
{% if paginator.page_trail.first.num > ellipsis_start %}
|
||||||
|
<li><a href="#" class="disabled">…</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %} Main pagination trail {% endcomment %}
|
||||||
|
{% for trail in paginator.page_trail %}
|
||||||
|
{% if paginator.page == trail.num %}
|
||||||
|
<li><a href="{{ trail.path | remove: 'index.html' | relative_url }}" class="disabled current">{{ trail.num }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ trail.path | remove: 'index.html' | relative_url }}">{{ trail.num }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||||
|
{% assign ellipsis_end = paginator.last_page | minus: 1 %}
|
||||||
|
{% if paginator.page_trail.last.num < ellipsis_end %}
|
||||||
|
<li><a href="#" class="disabled">…</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% unless has_last_page %}
|
||||||
|
{% if paginator.page == paginator.total_pages %}
|
||||||
|
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ paginator.last_page_path | remove: 'index.html' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
|
{% comment %} Link next page {% endcomment %}
|
||||||
|
{% if paginator.next_page %}
|
||||||
|
<li><a href="{{ paginator.next_page_path | remove: 'index.html' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
@@ -1,69 +1,7 @@
|
|||||||
{% if paginator.total_pages > 1 %}
|
{% if paginator.total_pages > 1 %}
|
||||||
<nav class="pagination">
|
{% if site.paginate %}
|
||||||
{% assign first_page_path = site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | relative_url %}
|
{% include paginator-v1.html %}
|
||||||
<ul>
|
{% elsif site.pagination.enabled %}
|
||||||
{% comment %} Link for previous page {% endcomment %}
|
{% include paginator-v2.html %}
|
||||||
{% if paginator.previous_page %}
|
{% endif %}
|
||||||
{% if paginator.previous_page == 1 %}
|
|
||||||
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
|
||||||
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% comment %} First page {% endcomment %}
|
|
||||||
{% if paginator.page == 1 %}
|
|
||||||
<li><a href="#" class="disabled current">1</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li><a href="{{ first_page_path }}">1</a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign page_start = 2 %}
|
|
||||||
{% if paginator.page > 4 %}
|
|
||||||
{% assign page_start = paginator.page | minus: 2 %}
|
|
||||||
{% comment %} Ellipsis for truncated links {% endcomment %}
|
|
||||||
<li><a href="#" class="disabled">…</a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign page_end = paginator.total_pages | minus: 1 %}
|
|
||||||
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
|
|
||||||
{% if pages_to_end > 4 %}
|
|
||||||
{% assign page_end = paginator.page | plus: 2 %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% for index in (page_start..page_end) %}
|
|
||||||
{% if index == paginator.page %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | relative_url }}" class="disabled current">{{ index }}</a></li>
|
|
||||||
{% else %}
|
|
||||||
{% comment %} Distance from current page and this link {% endcomment %}
|
|
||||||
{% assign dist = paginator.page | minus: index %}
|
|
||||||
{% if dist < 0 %}
|
|
||||||
{% comment %} Distance must be a positive value {% endcomment %}
|
|
||||||
{% assign dist = 0 | minus: dist %}
|
|
||||||
{% endif %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', index | relative_url }}">{{ index }}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% comment %} Ellipsis for truncated links {% endcomment %}
|
|
||||||
{% if pages_to_end > 3 %}
|
|
||||||
<li><a href="#" class="disabled">…</a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if paginator.page == paginator.total_pages %}
|
|
||||||
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% comment %} Link next page {% endcomment %}
|
|
||||||
{% if paginator.next_page %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
|
||||||
{% endif %}
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
{% if page.previous or page.next %}
|
{% if page.previous or page.next %}
|
||||||
<nav class="pagination">
|
<nav class="pagination">
|
||||||
{% if page.previous %}
|
{% if page.previous %}
|
||||||
<a href="{{ page.previous.url | relative_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
<a href="{{ page.previous.url | relative_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html | strip}}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if page.next %}
|
{% if page.next %}
|
||||||
<a href="{{ page.next.url | relative_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
<a href="{{ page.next.url | relative_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html | strip}}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</nav>
|
</nav>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
{%- for post in site.categories[include.taxonomy] -%}
|
{% assign posts = site.categories[include.taxonomy] | where_exp: "post", "post.hidden != true" %}
|
||||||
|
{%- for post in posts -%}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
{%- for post in site.tags[include.taxonomy] -%}
|
{% assign posts = site.tags[include.taxonomy] | where_exp: "post", "post.hidden != true" %}
|
||||||
|
{%- for post in posts -%}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{% assign items_max = 0 %}
|
||||||
|
{% for item in include.taxonomies %}
|
||||||
|
{% if item[1].size > items_max %}
|
||||||
|
{% assign items_max = item[1].size %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
<ul class="taxonomy__index">
|
||||||
|
{% for i in (1..items_max) reversed %}
|
||||||
|
{% for item in include.taxonomies %}
|
||||||
|
{% if item[1].size == i %}
|
||||||
|
<li>
|
||||||
|
<a href="#{{ item[0] | slugify }}">
|
||||||
|
<strong>{{ item[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||||
|
{% for i in (1..items_max) reversed %}
|
||||||
|
{% for taxonomy in include.taxonomies %}
|
||||||
|
{% if taxonomy[1].size == i %}
|
||||||
|
<section id="{{ taxonomy[0] | slugify }}" class="taxonomy__section">
|
||||||
|
<h2 class="archive__subtitle">{{ taxonomy[0] }}</h2>
|
||||||
|
<div class="entries-{{ entries_layout }}">
|
||||||
|
{% for post in taxonomy.last %}
|
||||||
|
{% include archive-single.html type=entries_layout %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
||||||
|
</section>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{% assign words_per_minute = site.words_per_minute | default: 200 %}
|
|
||||||
|
|
||||||
{% if post.read_time %}
|
|
||||||
{% assign words = post.content | strip_html | number_of_words %}
|
|
||||||
{% elsif page.read_time %}
|
|
||||||
{% assign words = page.content | strip_html | number_of_words %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if words < words_per_minute %}
|
|
||||||
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
|
||||||
{% elsif words == words_per_minute %}
|
|
||||||
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
|
||||||
{% else %}
|
|
||||||
{{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
|
||||||
{% endif %}
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
{% if site.social.type == "Organization" -%}
|
||||||
|
"@type": "Organization",
|
||||||
|
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
|
||||||
|
"logo": {{ site_og_image | jsonify }}{% endif %}{% if site.social.links %},
|
||||||
|
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
||||||
|
{%- else -%}
|
||||||
|
"@type": "Person",
|
||||||
|
"name": {{ site.social.name | default: site.name | jsonify }},
|
||||||
|
"url": {{ '/' | absolute_url | jsonify }}{% if site.social.links %},
|
||||||
|
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
||||||
|
{%- endif %}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
+10
-10
@@ -1,28 +1,28 @@
|
|||||||
{% if site.footer_scripts %}
|
{% if site.footer_scripts %}
|
||||||
{% for script in site.footer_scripts %}
|
{% for script in site.footer_scripts %}
|
||||||
{% if script contains "://" %}
|
<script src="{{ script | relative_url }}"></script>
|
||||||
{% capture script_path %}{{ script }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture script_path %}{{ script | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
<script src="{{ script_path }}"></script>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
|
<script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
|
||||||
<script src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if site.search == true or page.layout == "search" %}
|
{% if site.search == true or page.layout == "search" %}
|
||||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
||||||
{%- case search_provider -%}
|
{%- case search_provider -%}
|
||||||
{%- when "lunr" -%}
|
{%- when "lunr" -%}
|
||||||
{% include search/lunr-search-scripts.html %}
|
{% include_cached search/lunr-search-scripts.html %}
|
||||||
{%- when "google" -%}
|
{%- when "google" -%}
|
||||||
{% include search/google-search-scripts.html %}
|
{% include_cached search/google-search-scripts.html %}
|
||||||
{%- when "algolia" -%}
|
{%- when "algolia" -%}
|
||||||
{% include search/algolia-search-scripts.html %}
|
{% include_cached search/algolia-search-scripts.html %}
|
||||||
{%- endcase -%}
|
{%- endcase -%}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% include analytics.html %}
|
{% include analytics.html %}
|
||||||
{% include /comments-providers/scripts.html %}
|
{% include /comments-providers/scripts.html %}
|
||||||
|
|
||||||
|
{% if site.after_footer_scripts %}
|
||||||
|
{% for script in site.after_footer_scripts %}
|
||||||
|
<script src="{{ script | relative_url }}"></script>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|||||||
@@ -1,54 +1,82 @@
|
|||||||
<!-- Including InstantSearch.js library and styling -->
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.js"></script>
|
|
||||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css">
|
|
||||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch-theme-algolia.min.css">
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Instanciating InstantSearch.js with Algolia credentials
|
// Including InstantSearch.js library and styling
|
||||||
const search = instantsearch({
|
const loadSearch = function() {
|
||||||
appId: '{{ site.algolia.application_id }}',
|
const loadCSS = function(src) {
|
||||||
apiKey: '{{ site.algolia.search_only_api_key }}',
|
var link = document.createElement('link');
|
||||||
indexName: '{{ site.algolia.index_name }}',
|
link.rel = 'stylesheet';
|
||||||
searchParameters: {
|
link.type = 'text/css';
|
||||||
restrictSearchableAttributes: [
|
link.href = src;
|
||||||
'title',
|
link.media = 'all';
|
||||||
'content'
|
document.head.appendChild(link);
|
||||||
]
|
};
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const hitTemplate = function(hit) {
|
var script = document.createElement('script');
|
||||||
const url = hit.url;
|
script.setAttribute("type", "text/javascript");
|
||||||
const title = hit._highlightResult.title.value;
|
script.setAttribute("src", "https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.js");
|
||||||
const content = hit._highlightResult.html.value;
|
script.addEventListener("load", function() {
|
||||||
|
// Instantiating InstantSearch.js with Algolia credentials
|
||||||
|
const search = instantsearch({
|
||||||
|
appId: '{{ site.algolia.application_id }}',
|
||||||
|
apiKey: '{{ site.algolia.search_only_api_key }}',
|
||||||
|
indexName: '{{ site.algolia.index_name }}',
|
||||||
|
searchParameters: {
|
||||||
|
restrictSearchableAttributes: ['title', 'content']
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return `
|
const hitTemplate = function(hit) {
|
||||||
<div class="list__item">
|
const url = hit.url;
|
||||||
<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
|
const hightlight = hit._highlightResult;
|
||||||
<h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
|
const title = hightlight.title && hightlight.title.value || "";
|
||||||
<div class="archive__item-excerpt" itemprop="description">${content}</div>
|
const content = hightlight.html && hightlight.html.value || "";
|
||||||
</article>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Adding searchbar and results widgets
|
return `
|
||||||
search.addWidget(
|
<div class="list__item">
|
||||||
instantsearch.widgets.searchBox({
|
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||||
container: '.search-searchbar',
|
<h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
|
||||||
{% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
|
<div class="archive__item-excerpt" itemprop="description">${content}</div>
|
||||||
placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
|
</article>
|
||||||
})
|
</div>
|
||||||
);
|
`;
|
||||||
search.addWidget(
|
|
||||||
instantsearch.widgets.hits({
|
|
||||||
container: '.search-hits',
|
|
||||||
templates: {
|
|
||||||
item: hitTemplate
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
// Starting the search
|
// Adding searchbar and results widgets
|
||||||
search.start();
|
search.addWidget(
|
||||||
|
instantsearch.widgets.searchBox({
|
||||||
|
container: '.search-searchbar',
|
||||||
|
{% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
|
||||||
|
placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
|
||||||
|
})
|
||||||
|
);
|
||||||
|
search.addWidget(
|
||||||
|
instantsearch.widgets.hits({
|
||||||
|
container: '.search-hits',
|
||||||
|
templates: {
|
||||||
|
item: hitTemplate,
|
||||||
|
empty: '{{ site.data.ui-text[site.locale].search_algolia_no_results | default: "No results" }}',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!search.started) {
|
||||||
|
search.start();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
document.body.appendChild(script);
|
||||||
|
|
||||||
|
loadCSS("https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css");
|
||||||
|
loadCSS("https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch-theme-algolia.min.css");
|
||||||
|
};
|
||||||
|
|
||||||
|
// Starting the search only when toggle is clicked
|
||||||
|
$(document).ready(function() {
|
||||||
|
var scriptLoaded = false;
|
||||||
|
|
||||||
|
$(".search__toggle").on("click", function() {
|
||||||
|
if (!scriptLoaded) {
|
||||||
|
loadSearch();
|
||||||
|
scriptLoaded = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,18 +1,26 @@
|
|||||||
<div class="search-content__inner-wrap">
|
<div class="search-content__inner-wrap">
|
||||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
||||||
{%- case search_provider -%}
|
{%- case search_provider -%}
|
||||||
{%- when "lunr" -%}
|
{%- when "lunr" -%}
|
||||||
<input type="text" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
<form class="search-content__form" onkeydown="return event.key != 'Enter';" role="search">
|
||||||
<div id="results" class="results"></div>
|
<label class="sr-only" for="search">
|
||||||
|
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
||||||
|
</label>
|
||||||
|
<input type="search" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||||
|
</form>
|
||||||
|
<div id="results" class="results"></div>
|
||||||
{%- when "google" -%}
|
{%- when "google" -%}
|
||||||
<form onsubmit="return executeQuery();" id="cse-search-box-form-id">
|
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id" role="search">
|
||||||
<input type="text" id="cse-search-input-box-id" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
<label class="sr-only" for="cse-search-input-box-id">
|
||||||
</form>
|
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
||||||
<div id="results" class="results">
|
</label>
|
||||||
<gcse:searchresults-only></gcse:searchresults-only>
|
<input type="search" id="cse-search-input-box-id" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||||
</div>
|
</form>
|
||||||
|
<div id="results" class="results">
|
||||||
|
<gcse:searchresults-only></gcse:searchresults-only>
|
||||||
|
</div>
|
||||||
{%- when "algolia" -%}
|
{%- when "algolia" -%}
|
||||||
<div class="search-searchbar"></div>
|
<div class="search-searchbar"></div>
|
||||||
<div class="search-hits"></div>
|
<div class="search-hits"></div>
|
||||||
{%- endcase -%}
|
{%- endcase -%}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+28
-58
@@ -1,50 +1,33 @@
|
|||||||
<!-- begin _includes/seo.html -->
|
<!-- begin _includes/seo.html -->
|
||||||
{%- if site.url -%}
|
{%- assign title_separator = site.title_separator | default: '-' -%}
|
||||||
{%- assign seo_url = site.url | append: site.baseurl -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- assign seo_url = seo_url | default: site.github.url -%}
|
|
||||||
|
|
||||||
{% assign title_separator = site.title_separator | default: '-' | replace: '|', '|' %}
|
{%- assign page_title = page.title | default: site.title | replace: '|', '|' -%}
|
||||||
|
{%- if page_title contains site.title -%}
|
||||||
{%- if page.title -%}
|
{%- assign seo_title = page_title | replace: '|', '|' -%}
|
||||||
{%- assign seo_title = page.title | append: " " | append: title_separator | append: " " | append: site.title -%}
|
{%- else -%}
|
||||||
|
{%- assign seo_title = page_title | append: " " | append: title_separator | append: " " | append: site.title | replace: '|', '|' -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if seo_title -%}
|
{%- assign page_title = page_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
||||||
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
{%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
|
{%- assign canonical_url = page.canonical_url | default: page.url | replace: "/index.html", "/" | absolute_url %}
|
||||||
|
|
||||||
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
||||||
{%- if seo_description -%}
|
{%- if seo_description -%}
|
||||||
{%- assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once -%}
|
{%- assign seo_description = seo_description | markdownify | strip_html | newline_to_br | strip_newlines | replace: '<br />', ' ' | escape_once | strip -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- assign author = page.author | default: page.authors[0] | default: site:author -%}
|
{%- assign author = page.author | default: page.authors[0] | default: site.author -%}
|
||||||
{%- assign author = site.data.authors[author] | default: author -%}
|
{%- assign author = site.data.authors[author] | default: author -%}
|
||||||
|
|
||||||
{%- if author.twitter -%}
|
{%- if author.twitter -%}
|
||||||
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image -%}
|
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url | escape -%}
|
||||||
{%- unless page_large_image contains '://' -%}
|
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url | escape -%}
|
||||||
{%- assign page_large_image = page_large_image | absolute_url -%}
|
{%- assign site_og_image = site.og_image | absolute_url | escape -%}
|
||||||
{%- endunless -%}
|
|
||||||
{%- assign page_large_image = page_large_image | escape -%}
|
|
||||||
|
|
||||||
{%- assign page_teaser_image = page.header.teaser | default: site.og_image -%}
|
|
||||||
{%- unless page_teaser_image contains '://' -%}
|
|
||||||
{%- assign page_teaser_image = page_teaser_image | absolute_url -%}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- assign page_teaser_image = page_teaser_image | escape -%}
|
|
||||||
|
|
||||||
{%- assign site_og_image = site.og_image -%}
|
|
||||||
{%- unless site_og_image contains '://' -%}
|
|
||||||
{%- assign site_og_image = site_og_image | absolute_url -%}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- assign site_og_image = site_og_image | escape -%}
|
|
||||||
|
|
||||||
{%- if page.date -%}
|
{%- if page.date -%}
|
||||||
{%- assign og_type = "article" -%}
|
{%- assign og_type = "article" -%}
|
||||||
@@ -52,20 +35,23 @@
|
|||||||
{%- assign og_type = "website" -%}
|
{%- assign og_type = "website" -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
<title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
|
<title>{{ seo_title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
|
||||||
<meta name="description" content="{{ seo_description }}">
|
<meta name="description" content="{{ seo_description }}">
|
||||||
|
|
||||||
{% if author.name %}
|
{% if author.name %}
|
||||||
<meta name="author" content="{{ author.name | default: author }}">
|
<meta name="author" content="{{ author.name | default: author | escape_once | strip }}">
|
||||||
|
{% if og_type == "article" %}
|
||||||
|
<meta property="article:author" content="{{ author.name | default: author | escape_once | strip }}">
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<meta property="og:type" content="{{ og_type }}">
|
<meta property="og:type" content="{{ og_type }}">
|
||||||
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
|
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
|
||||||
<meta property="og:site_name" content="{{ site.title }}">
|
<meta property="og:site_name" content="{{ site.title | escape_once | strip }}">
|
||||||
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
<meta property="og:title" content="{{ page_title }}">
|
||||||
<meta property="og:url" content="{{ canonical_url }}">
|
<meta property="og:url" content="{{ canonical_url }}">
|
||||||
|
|
||||||
{% if page.excerpt %}
|
{% if seo_description %}
|
||||||
<meta property="og:description" content="{{ seo_description }}">
|
<meta property="og:description" content="{{ seo_description }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
@@ -77,7 +63,7 @@
|
|||||||
|
|
||||||
{% if site.twitter.username %}
|
{% if site.twitter.username %}
|
||||||
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
|
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
|
||||||
<meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
<meta name="twitter:title" content="{{ page_title }}">
|
||||||
<meta name="twitter:description" content="{{ seo_description }}">
|
<meta name="twitter:description" content="{{ seo_description }}">
|
||||||
<meta name="twitter:url" content="{{ canonical_url }}">
|
<meta name="twitter:url" content="{{ canonical_url }}">
|
||||||
|
|
||||||
@@ -123,27 +109,8 @@
|
|||||||
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if site.og_image %}
|
{% if page.url == '/' %}
|
||||||
<script type="application/ld+json">
|
{% include schema.html %}
|
||||||
{
|
|
||||||
"@context": "http://schema.org",
|
|
||||||
"@type": "Organization",
|
|
||||||
"url": {{ seo_url | jsonify }},
|
|
||||||
"logo": {{ site_og_image | jsonify }}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if site.social %}
|
|
||||||
<script type="application/ld+json">
|
|
||||||
{
|
|
||||||
"@context": "http://schema.org",
|
|
||||||
"@type": "{% if site.social.type %}{{ site.social.type }}{% else %}Person{% endif %}",
|
|
||||||
"name": {{ site.social.name | default: site.name | jsonify }},
|
|
||||||
"url": {{ seo_url | jsonify }},
|
|
||||||
"sameAs": {{ site.social.links | jsonify }}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if site.google_site_verification %}
|
{% if site.google_site_verification %}
|
||||||
@@ -161,4 +128,7 @@
|
|||||||
{% if site.naver_site_verification %}
|
{% if site.naver_site_verification %}
|
||||||
<meta name="naver-site-verification" content="{{ site.naver_site_verification }}">
|
<meta name="naver-site-verification" content="{{ site.naver_site_verification }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if site.baidu_site_verification %}
|
||||||
|
<meta name="baidu-site-verification" content="{{ site.baidu_site_verification }}">
|
||||||
|
{% endif %}
|
||||||
<!-- end _includes/seo.html -->
|
<!-- end _includes/seo.html -->
|
||||||
|
|||||||
@@ -4,20 +4,16 @@
|
|||||||
{% if page.sidebar %}
|
{% if page.sidebar %}
|
||||||
{% for s in page.sidebar %}
|
{% for s in page.sidebar %}
|
||||||
{% if s.image %}
|
{% if s.image %}
|
||||||
<img src=
|
<img src="{{ s.image | relative_url }}"
|
||||||
{% if s.image contains "://" %}
|
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
|
||||||
"{{ s.image }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ s.image | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
|
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
|
||||||
{% if s.text %}{{ s.text | markdownify }}{% endif %}
|
{% if s.text %}{{ s.text | markdownify }}{% endif %}
|
||||||
|
{% if s.nav %}{% include nav_list nav=s.nav %}{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if page.sidebar.nav %}
|
{% if page.sidebar.nav %}
|
||||||
{% include nav_list nav=page.sidebar.nav %}
|
{% include nav_list nav=page.sidebar.nav %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<nav class="skip-links">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#site-nav" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_primary_nav | default: 'Skip to primary navigation' }}</a></li>
|
||||||
|
<li><a href="#main" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_content | default: 'Skip to content' }}</a></li>
|
||||||
|
<li><a href="#footer" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_footer | default: 'Skip to footer' }}</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
@@ -1,13 +1,19 @@
|
|||||||
<section class="page__share">
|
<section class="page__share">
|
||||||
{% if site.data.ui-text[site.locale].share_on_label %}
|
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
|
||||||
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fab fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
|
<a href="https://x.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--x" aria-label="Share on X" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} X">
|
||||||
|
<i class="fab fa-fw fa-x-twitter" aria-hidden="true"></i><span> X</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
|
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" aria-label="Share on Facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook">
|
||||||
|
<i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
<a href="https://plus.google.com/share?url={{ page.url | absolute_url | url_encode }}" class="btn btn--google-plus" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Google Plus"><i class="fab fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
|
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url }}" class="btn btn--linkedin" aria-label="Share on LinkedIn" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn">
|
||||||
|
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
|
<a href="https://bsky.app/intent/compose?text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--bluesky" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Bluesky">
|
||||||
|
<i class="fab fa-fw fa-bluesky" aria-hidden="true"></i><span> Bluesky</span>
|
||||||
|
</a>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
+3
-10
@@ -6,20 +6,13 @@
|
|||||||
{% endcase %}
|
{% endcase %}
|
||||||
|
|
||||||
{% if site.tag_archive.path %}
|
{% if site.tag_archive.path %}
|
||||||
{% comment %}
|
{% assign tags_sorted = page.tags | sort_natural %}
|
||||||
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
|
||||||
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
|
||||||
{% endcomment %}
|
|
||||||
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
|
||||||
{% assign tag_hashes = page_tags | split: ',' | sort %}
|
|
||||||
|
|
||||||
<p class="page__taxonomy">
|
<p class="page__taxonomy">
|
||||||
<strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
|
<strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
|
||||||
<span itemprop="keywords">
|
<span itemprop="keywords">
|
||||||
{% for hash in tag_hashes %}
|
{% for tag_word in tags_sorted %}
|
||||||
{% assign keyValue = hash | split: '#' %}
|
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item p-category" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||||
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
|
||||||
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
+148
-34
@@ -1,6 +1,31 @@
|
|||||||
{% capture tocWorkspace %}
|
{% capture tocWorkspace %}
|
||||||
{%- comment -%}
|
{% comment %}
|
||||||
Version 1.0.2
|
Copyright (c) 2017 Vladimir "allejo" Jimenez
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person
|
||||||
|
obtaining a copy of this software and associated documentation
|
||||||
|
files (the "Software"), to deal in the Software without
|
||||||
|
restriction, including without limitation the rights to use,
|
||||||
|
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following
|
||||||
|
conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
{% endcomment %}
|
||||||
|
{% comment %}
|
||||||
|
Version 1.2.1
|
||||||
|
https://github.com/allejo/jekyll-toc
|
||||||
|
|
||||||
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
||||||
|
|
||||||
@@ -8,68 +33,157 @@
|
|||||||
{% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
|
{% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
|
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
|
||||||
|
|
||||||
Optional Parameters:
|
Optional Parameters:
|
||||||
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
|
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
|
||||||
* class (string) : '' - a CSS class assigned to the TOC
|
* class (string) : '' - a CSS class assigned to the TOC
|
||||||
* id (string) : '' - an ID to assigned to the TOC
|
* id (string) : '' - an ID to assigned to the TOC
|
||||||
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
|
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
|
||||||
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
|
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
|
||||||
|
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
|
||||||
|
* item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level
|
||||||
|
* submenu_class (string) : '' - add custom class(es) for each child group of headings; has support for '%level%' placeholder which is the current "submenu" heading level
|
||||||
|
* base_url (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
|
||||||
|
* anchor_class (string) : '' - add custom class(es) for each anchor element
|
||||||
|
* skip_no_ids (bool) : false - skip headers that do not have an `id` attribute
|
||||||
|
* flat_toc (bool) : false - when set to true, the TOC will be a single level list
|
||||||
|
|
||||||
Output:
|
Output:
|
||||||
An unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it
|
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
|
||||||
{%- endcomment -%}
|
generate the table of contents and will NOT output the markdown given to it
|
||||||
|
{% endcomment %}
|
||||||
|
|
||||||
{% capture my_toc %}{% endcapture %}
|
{% capture newline %}
|
||||||
|
{% endcapture %}
|
||||||
|
{% assign newline = newline | rstrip %} <!-- Remove the extra spacing but preserve the newline -->
|
||||||
|
|
||||||
|
{% capture deprecation_warnings %}{% endcapture %}
|
||||||
|
|
||||||
|
{% if include.baseurl %}
|
||||||
|
{% capture deprecation_warnings %}{{ deprecation_warnings }}<!-- jekyll-toc :: "baseurl" has been deprecated, use "base_url" instead -->{{ newline }}{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if include.skipNoIDs %}
|
||||||
|
{% capture deprecation_warnings %}{{ deprecation_warnings }}<!-- jekyll-toc :: "skipNoIDs" has been deprecated, use "skip_no_ids" instead -->{{ newline }}{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% capture jekyll_toc %}{% endcapture %}
|
||||||
|
{% assign orderedList = include.ordered | default: false %}
|
||||||
|
{% assign flatToc = include.flat_toc | default: false %}
|
||||||
|
{% assign baseURL = include.base_url | default: include.baseurl | default: '' %}
|
||||||
|
{% assign skipNoIDs = include.skip_no_ids | default: include.skipNoIDs | default: false %}
|
||||||
{% assign minHeader = include.h_min | default: 1 %}
|
{% assign minHeader = include.h_min | default: 1 %}
|
||||||
{% assign maxHeader = include.h_max | default: 6 %}
|
{% assign maxHeader = include.h_max | default: 6 %}
|
||||||
{% assign nodes = include.html | split: '<h' %}
|
{% assign nodes = include.html | strip | split: '<h' %}
|
||||||
|
|
||||||
{% assign firstHeader = true %}
|
{% assign firstHeader = true %}
|
||||||
|
{% assign currLevel = 0 %}
|
||||||
|
{% assign lastLevel = 0 %}
|
||||||
|
|
||||||
|
{% capture listModifier %}{% if orderedList %}ol{% else %}ul{% endif %}{% endcapture %}
|
||||||
|
|
||||||
{% for node in nodes %}
|
{% for node in nodes %}
|
||||||
{% if node == "" %}
|
{% if node == "" %}
|
||||||
{% continue %}
|
{% continue %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
|
{% assign currLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
|
||||||
|
|
||||||
{% if headerLevel < minHeader or headerLevel > maxHeader %}
|
{% if currLevel < minHeader or currLevel > maxHeader %}
|
||||||
{% continue %}
|
{% continue %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if firstHeader %}
|
|
||||||
{% assign firstHeader = false %}
|
|
||||||
{% assign minHeader = headerLevel %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
|
|
||||||
{% assign _workspace = node | split: '</h' %}
|
{% assign _workspace = node | split: '</h' %}
|
||||||
|
|
||||||
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
||||||
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
||||||
{% assign html_id = _idWorkspace[0] %}
|
{% assign htmlID = _idWorkspace[0] %}
|
||||||
|
|
||||||
|
{% assign _classWorkspace = _workspace[0] | split: 'class="' %}
|
||||||
|
{% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
|
||||||
|
{% assign htmlClass = _classWorkspace[0] %}
|
||||||
|
|
||||||
|
{% if htmlClass contains "no_toc" %}
|
||||||
|
{% continue %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if firstHeader %}
|
||||||
|
{% assign minHeader = currLevel %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
||||||
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
||||||
|
|
||||||
{% assign space = '' %}
|
{% if include.item_class and include.item_class != blank %}
|
||||||
{% for i in (1..indentAmount) %}
|
{% capture listItemClass %} class="{{ include.item_class | replace: '%level%', currLevel | split: '.' | join: ' ' }}"{% endcapture %}
|
||||||
{% assign space = space | prepend: ' ' %}
|
{% endif %}
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% capture my_toc %}{{ my_toc }}
|
{% if include.submenu_class and include.submenu_class != blank %}
|
||||||
{{ space }}- [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}](#{{ html_id }}){% endcapture %}
|
{% assign subMenuLevel = currLevel | minus: 1 %}
|
||||||
|
{% capture subMenuClass %} class="{{ include.submenu_class | replace: '%level%', subMenuLevel | split: '.' | join: ' ' }}"{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% capture anchorBody %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
|
||||||
|
|
||||||
|
{% if htmlID %}
|
||||||
|
{% capture anchorAttributes %} href="{% if baseURL %}{{ baseURL }}{% endif %}#{{ htmlID }}"{% endcapture %}
|
||||||
|
|
||||||
|
{% if include.anchor_class %}
|
||||||
|
{% capture anchorAttributes %}{{ anchorAttributes }} class="{{ include.anchor_class | split: '.' | join: ' ' }}"{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% capture listItem %}<a{{ anchorAttributes }}>{{ anchorBody }}</a>{% endcapture %}
|
||||||
|
{% elsif skipNoIDs == true %}
|
||||||
|
{% continue %}
|
||||||
|
{% else %}
|
||||||
|
{% capture listItem %}{{ anchorBody }}{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if currLevel > lastLevel and flatToc == false %}
|
||||||
|
{% capture jekyll_toc %}{{ jekyll_toc }}<{{ listModifier }}{{ subMenuClass }}>{% endcapture %}
|
||||||
|
{% elsif currLevel < lastLevel and flatToc == false %}
|
||||||
|
{% assign repeatCount = lastLevel | minus: currLevel %}
|
||||||
|
|
||||||
|
{% for i in (1..repeatCount) %}
|
||||||
|
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% capture jekyll_toc %}{{ jekyll_toc }}</li>{% endcapture %}
|
||||||
|
{% else %}
|
||||||
|
{% capture jekyll_toc %}{{ jekyll_toc }}</li>{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% capture jekyll_toc %}{{ jekyll_toc }}<li{{ listItemClass }}>{{ listItem }}{% endcapture %}
|
||||||
|
|
||||||
|
{% assign lastLevel = currLevel %}
|
||||||
|
{% assign firstHeader = false %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% if include.class %}
|
{% if flatToc == true %}
|
||||||
{% capture my_toc %}{:.{{ include.class }}}
|
{% assign repeatCount = 1 %}
|
||||||
{{ my_toc | lstrip }}{% endcapture %}
|
{% else %}
|
||||||
|
{% assign repeatCount = minHeader | minus: 1 %}
|
||||||
|
{% assign repeatCount = lastLevel | minus: repeatCount %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if include.id %}
|
{% for i in (1..repeatCount) %}
|
||||||
{% capture my_toc %}{: #{{ include.id }}}
|
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
|
||||||
{{ my_toc | lstrip }}{% endcapture %}
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if jekyll_toc != '' %}
|
||||||
|
{% assign rootAttributes = '' %}
|
||||||
|
{% if include.class and include.class != blank %}
|
||||||
|
{% capture rootAttributes %} class="{{ include.class | split: '.' | join: ' ' }}"{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if include.id and include.id != blank %}
|
||||||
|
{% capture rootAttributes %}{{ rootAttributes }} id="{{ include.id }}"{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if rootAttributes %}
|
||||||
|
{% assign nodes = jekyll_toc | split: '>' %}
|
||||||
|
{% capture jekyll_toc %}<{{ listModifier }}{{ rootAttributes }}>{{ nodes | shift | join: '>' }}>{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
|
{% endcapture %}{% assign tocWorkspace = '' %}{{ deprecation_warnings }}{{ jekyll_toc -}}
|
||||||
|
|||||||
+21
-8
@@ -1,11 +1,24 @@
|
|||||||
{% capture video_id %}{{ include.id }}{% endcapture %}
|
{% capture video_id %}{{ include.id }}{% endcapture %}
|
||||||
{% capture video_provider %}{{ include.provider }}{% endcapture %}
|
{% capture video_provider %}{{ include.provider }}{% endcapture %}
|
||||||
|
{% capture video_danmaku %}{{ include.danmaku | default: 0 }}{% endcapture %}
|
||||||
|
|
||||||
<!-- Courtesy of embedresponsively.com //-->
|
{% capture video_src %}
|
||||||
<div class="responsive-video-container">
|
{% case video_provider %}
|
||||||
{% if video_provider == "vimeo" %}
|
{% when "vimeo" %}
|
||||||
<iframe src="https://player.vimeo.com/video/{{ video_id }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
|
https://player.vimeo.com/video/{{ video_id }}?dnt=true
|
||||||
{% elsif video_provider == "youtube" %}
|
{% when "youtube" %}
|
||||||
<iframe src="https://www.youtube.com/embed/{{ video_id }}" frameborder="0" allowfullscreen></iframe>
|
https://www.youtube-nocookie.com/embed/{{ video_id }}
|
||||||
{% endif %}
|
{% when "google-drive" %}
|
||||||
</div>
|
https://drive.google.com/file/d/{{ video_id }}/preview
|
||||||
|
{% when "bilibili" %}
|
||||||
|
https://player.bilibili.com/player.html?bvid={{ video_id }}&page=1&as_wide=1&high_quality=1&danmaku={{ video_danmaku }}
|
||||||
|
{% endcase %}
|
||||||
|
{% endcapture %}
|
||||||
|
{% assign video_src = video_src | strip %}
|
||||||
|
|
||||||
|
<!-- Courtesy of embedresponsively.com -->
|
||||||
|
{% unless video_src == "" %}
|
||||||
|
<div class="responsive-video-container">
|
||||||
|
<iframe src="{{ video_src }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>
|
||||||
|
</div>
|
||||||
|
{% endunless %}
|
||||||
|
|||||||
@@ -3,13 +3,27 @@ layout: default
|
|||||||
author_profile: false
|
author_profile: false
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
||||||
|
{% include page__hero.html %}
|
||||||
|
{% elsif page.header.video.id and page.header.video.provider %}
|
||||||
|
{% include page__hero_video.html %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.url != "/" and site.breadcrumbs %}
|
||||||
|
{% unless paginator %}
|
||||||
|
{% include breadcrumbs.html %}
|
||||||
|
{% endunless %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div id="main" role="main">
|
<div id="main" role="main">
|
||||||
{% include sidebar.html %}
|
{% include sidebar.html %}
|
||||||
|
|
||||||
<div class="archive">
|
<div class="archive">
|
||||||
<h1 class="page__title">{{ page.title }}</h1>
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
|
<h1 id="page-title" class="page__title"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>{{ page.title }}</h1>
|
||||||
|
{% endunless %}
|
||||||
{% for post in page.posts %}
|
{% for post in page.posts %}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ layout: default
|
|||||||
|
|
||||||
<div class="archive">
|
<div class="archive">
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
|
<h1 id="page-title" class="page__title"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>{{ page.title }}</h1>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
{{ content }}
|
{{ content }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,39 +4,4 @@ layout: archive
|
|||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
{% assign categories_max = 0 %}
|
{% include posts-taxonomy.html taxonomies=site.categories %}
|
||||||
{% for category in site.categories %}
|
|
||||||
{% if category[1].size > categories_max %}
|
|
||||||
{% assign categories_max = category[1].size %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<ul class="taxonomy__index">
|
|
||||||
{% for i in (1..categories_max) reversed %}
|
|
||||||
{% for category in site.categories %}
|
|
||||||
{% if category[1].size == i %}
|
|
||||||
<li>
|
|
||||||
<a href="#{{ category[0] | slugify }}">
|
|
||||||
<strong>{{ category[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{% for i in (1..categories_max) reversed %}
|
|
||||||
{% for category in site.categories %}
|
|
||||||
{% if category[1].size == i %}
|
|
||||||
<section id="{{ category[0] | slugify | downcase }}" class="taxonomy__section">
|
|
||||||
<h2 class="archive__subtitle">{{ category[0] }}</h2>
|
|
||||||
<div class="entries-{{ page.entries_layout | default: 'list' }}">
|
|
||||||
{% for post in category.last %}
|
|
||||||
{% include archive-single.html type=page.entries_layout %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
|
||||||
</section>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ layout: archive
|
|||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
<div class="entries-{{ page.entries_layout }}">
|
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||||
{% include posts-category.html taxonomy=page.taxonomy type=page.entries_layout %}
|
<div class="entries-{{ entries_layout }}">
|
||||||
|
{% include posts-category.html taxonomy=page.taxonomy type=entries_layout %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ layout: archive
|
|||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
<div class="entries-{{ page.entries_layout }}">
|
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||||
{% include documents-collection.html collection=page.collection sort_by=page.sort_by sort_order=page.sort_order type=page.entries_layout %}
|
<div class="entries-{{ entries_layout }}">
|
||||||
|
{% include documents-collection.html collection=page.collection sort_by=page.sort_by sort_order=page.sort_order type=entries_layout %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
# Jekyll layout that compresses HTML
|
# Jekyll layout that compresses HTML
|
||||||
# v3.0.2
|
# v3.1.0
|
||||||
# http://jch.penibelst.de/
|
# http://jch.penibelst.de/
|
||||||
# © 2014–2015 Anatol Broder
|
# © 2014–2015 Anatol Broder
|
||||||
# MIT License
|
# MIT License
|
||||||
---
|
---
|
||||||
|
|
||||||
{% capture _LINE_FEED %}
|
{% capture _LINE_FEED %}
|
||||||
{% 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 p rt rp 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 %}
|
{% 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 %}
|
||||||
|
|||||||
+10
-16
@@ -2,41 +2,35 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<!--
|
{% include copyright.html %}
|
||||||
Minimal Mistakes Jekyll Theme 4.12.0 by Michael Rose
|
<html lang="{{ site.locale | replace: "_", "-" | default: "en" }}" class="no-js">
|
||||||
Copyright 2013-2018 Michael Rose - mademistakes.com | @mmistakes
|
|
||||||
Free for personal and commercial use under the MIT license
|
|
||||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
|
|
||||||
-->
|
|
||||||
<html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
|
|
||||||
<head>
|
<head>
|
||||||
{% include head.html %}
|
{% include head.html %}
|
||||||
{% include head/custom.html %}
|
{% include head/custom.html %}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}" dir="{% if site.rtl %}rtl{% else %}ltr{% endif %}">
|
||||||
|
{% include_cached skip-links.html %}
|
||||||
{% include browser-upgrade.html %}
|
{% include_cached masthead.html %}
|
||||||
{% include masthead.html %}
|
|
||||||
|
|
||||||
<div class="initial-content">
|
<div class="initial-content">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
{% include after-content.html %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if site.search == true %}
|
{% if site.search == true %}
|
||||||
<div class="search-content">
|
<div class="search-content">
|
||||||
{% include search/search_form.html %}
|
{% include_cached search/search_form.html %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="page__footer">
|
<div id="footer" class="page__footer">
|
||||||
<footer>
|
<footer>
|
||||||
{% include footer/custom.html %}
|
{% include footer/custom.html %}
|
||||||
{% include footer.html %}
|
{% include_cached footer.html %}
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% include scripts.html %}
|
{% include scripts.html %}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+12
-3
@@ -2,10 +2,19 @@
|
|||||||
layout: archive
|
layout: archive
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{{ content }}
|
||||||
|
|
||||||
<h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3>
|
<h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3>
|
||||||
|
|
||||||
{% for post in paginator.posts %}
|
{% if paginator %}
|
||||||
{% include archive-single.html %}
|
{% assign posts = paginator.posts %}
|
||||||
{% endfor %}
|
{% else %}
|
||||||
|
{% assign posts = site.posts %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||||
|
<div class="entries-{{ entries_layout }}">
|
||||||
|
{% include documents-collection.html entries=posts type=entries_layout %}
|
||||||
|
</div>
|
||||||
|
|
||||||
{% include paginator.html %}
|
{% include paginator.html %}
|
||||||
|
|||||||
+5
-4
@@ -5,7 +5,7 @@ layout: archive
|
|||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
<ul class="taxonomy__index">
|
<ul class="taxonomy__index">
|
||||||
{% assign postsInYear = site.posts | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
{% assign postsInYear = site.posts | where_exp: "item", "item.hidden != true" | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
||||||
{% for year in postsInYear %}
|
{% for year in postsInYear %}
|
||||||
<li>
|
<li>
|
||||||
<a href="#{{ year.name }}">
|
<a href="#{{ year.name }}">
|
||||||
@@ -15,13 +15,14 @@ layout: archive
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{% assign postsByYear = site.posts | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||||
|
{% assign postsByYear = site.posts | where_exp: "item", "item.hidden != true" | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
||||||
{% for year in postsByYear %}
|
{% for year in postsByYear %}
|
||||||
<section id="{{ year.name }}" class="taxonomy__section">
|
<section id="{{ year.name }}" class="taxonomy__section">
|
||||||
<h2 class="archive__subtitle">{{ year.name }}</h2>
|
<h2 class="archive__subtitle">{{ year.name }}</h2>
|
||||||
<div class="entries-{{ page.entries_layout | default: 'list' }}">
|
<div class="entries-{{ entries_layout }}">
|
||||||
{% for post in year.items %}
|
{% for post in year.items %}
|
||||||
{% include archive-single.html type=page.entries_layout %}
|
{% include archive-single.html type=entries_layout %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ layout: default
|
|||||||
|
|
||||||
<div class="archive">
|
<div class="archive">
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
|
<h1 id="page-title" class="page__title"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>{{ page.title }}</h1>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
@@ -25,11 +25,11 @@ layout: default
|
|||||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
||||||
{%- case search_provider -%}
|
{%- case search_provider -%}
|
||||||
{%- when "lunr" -%}
|
{%- when "lunr" -%}
|
||||||
<input type="text" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
<input type="text" id="search" class="search-input" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||||
<div id="results" class="results"></div>
|
<div id="results" class="results"></div>
|
||||||
{%- when "google" -%}
|
{%- when "google" -%}
|
||||||
<form onsubmit="return executeQuery();" id="cse-search-box-form-id">
|
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
|
||||||
<input type="text" id="cse-search-input-box-id" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
<input type="text" id="cse-search-input-box-id" class="search-input" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||||
</form>
|
</form>
|
||||||
<div id="results" class="results">
|
<div id="results" class="results">
|
||||||
<gcse:searchresults-only></gcse:searchresults-only>
|
<gcse:searchresults-only></gcse:searchresults-only>
|
||||||
@@ -39,4 +39,4 @@ layout: default
|
|||||||
<div class="search-hits"></div>
|
<div class="search-hits"></div>
|
||||||
{%- endcase -%}
|
{%- endcase -%}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+30
-35
@@ -8,7 +8,11 @@ layout: default
|
|||||||
{% include page__hero_video.html %}
|
{% include page__hero_video.html %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if page.url != "/" and site.breadcrumbs %}
|
{% assign breadcrumbs_enabled = site.breadcrumbs %}
|
||||||
|
{% if page.breadcrumbs != null %}
|
||||||
|
{% assign breadcrumbs_enabled = page.breadcrumbs %}
|
||||||
|
{% endif %}
|
||||||
|
{% if page.url != "/" and breadcrumbs_enabled %}
|
||||||
{% unless paginator %}
|
{% unless paginator %}
|
||||||
{% include breadcrumbs.html %}
|
{% include breadcrumbs.html %}
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
@@ -17,19 +21,21 @@ layout: default
|
|||||||
<div id="main" role="main">
|
<div id="main" role="main">
|
||||||
{% include sidebar.html %}
|
{% include sidebar.html %}
|
||||||
|
|
||||||
<article class="page" itemscope itemtype="http://schema.org/CreativeWork">
|
<article class="page" itemscope itemtype="https://schema.org/CreativeWork"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>
|
||||||
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.title %}<meta itemprop="headline" content="{{ page.title | replace: '|', '|' | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
|
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
||||||
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
|
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
||||||
|
|
||||||
<div class="page__inner-wrap">
|
<div class="page__inner-wrap">
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
<header>
|
<header>
|
||||||
{% if page.title %}<h1 id="page-title" class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
|
{% if page.title -%}
|
||||||
{% if page.read_time %}
|
<h1 id="page-title" class="page__title" itemprop="headline">
|
||||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
<a href="{{ page.url | absolute_url }}" itemprop="url">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</a>
|
||||||
{% endif %}
|
</h1>
|
||||||
|
{%- endif %}
|
||||||
|
{% include page__meta.html %}
|
||||||
</header>
|
</header>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
|
|
||||||
@@ -37,8 +43,8 @@ layout: default
|
|||||||
{% if page.toc %}
|
{% if page.toc %}
|
||||||
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
||||||
<nav class="toc">
|
<nav class="toc">
|
||||||
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label }}</h4></header>
|
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label | default: "On this page" }}</h4></header>
|
||||||
{% include toc.html sanitize=true html=content h_min=2 h_max=3 class="toc__menu" %}
|
{% include toc.html sanitize=true html=content h_min=1 h_max=6 class="toc__menu" skip_no_ids=true %}
|
||||||
</nav>
|
</nav>
|
||||||
</aside>
|
</aside>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -51,11 +57,7 @@ layout: default
|
|||||||
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
|
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% include page__taxonomy.html %}
|
{% include page__taxonomy.html %}
|
||||||
{% if page.last_modified_at %}
|
{% include page__date.html %}
|
||||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: "%B %d, %Y" }}</time></p>
|
|
||||||
{% elsif page.date %}
|
|
||||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></p>
|
|
||||||
{% endif %}
|
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
{% if page.share %}{% include social-share.html %}{% endif %}
|
{% if page.share %}{% include social-share.html %}{% endif %}
|
||||||
@@ -63,30 +65,23 @@ layout: default
|
|||||||
{% include post_pagination.html %}
|
{% include post_pagination.html %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if jekyll.environment == 'production' and site.comments.provider and page.comments %}
|
{% if site.comments.provider and page.comments %}
|
||||||
{% include comments.html %}
|
{% if jekyll.environment == 'production' %}
|
||||||
|
{% include comments.html %}
|
||||||
|
{% else %}
|
||||||
|
<p>
|
||||||
|
Comments are configured with provider: <strong>{{ site.comments.provider }}</strong>,
|
||||||
|
but are disabled in non-production environments.
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
||||||
{% if page.id and page.related and site.related_posts.size > 0 %}
|
{% if page.id and page.related and site.related_posts.size > 0 %}
|
||||||
<div class="page__related">
|
{% include page__related.html posts=site.related_posts %}
|
||||||
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
|
||||||
<div class="grid__wrapper">
|
|
||||||
{% for post in site.related_posts limit:4 %}
|
|
||||||
{% include archive-single.html type="grid" %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
||||||
{% elsif page.id and page.related %}
|
{% elsif page.id and page.related %}
|
||||||
<div class="page__related">
|
{% include page__related.html posts=site.posts %}
|
||||||
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
|
||||||
<div class="grid__wrapper">
|
|
||||||
{% for post in site.posts limit:4 %}
|
|
||||||
{% include archive-single.html type="grid" %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,14 +9,14 @@ layout: default
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div id="main" role="main">
|
<div id="main" role="main">
|
||||||
<article class="splash" itemscope itemtype="http://schema.org/CreativeWork">
|
<article class="splash" itemscope itemtype="https://schema.org/CreativeWork"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>
|
||||||
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
|
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
||||||
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
|
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
||||||
|
|
||||||
<section class="page__content" itemprop="text">
|
<section class="page__content" itemprop="text">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
</section>
|
</section>
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
-2
@@ -4,6 +4,7 @@ layout: archive
|
|||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
<div class="entries-{{ page.entries_layout | default: 'list' }}">
|
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||||
{% include posts-tag.html taxonomy=page.taxonomy type=page.entries_layout %}
|
<div class="entries-{{ entries_layout }}">
|
||||||
|
{% include posts-tag.html taxonomy=page.taxonomy type=entries_layout %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+1
-36
@@ -4,39 +4,4 @@ layout: archive
|
|||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
{% assign tags_max = 0 %}
|
{% include posts-taxonomy.html taxonomies=site.tags %}
|
||||||
{% for tag in site.tags %}
|
|
||||||
{% if tag[1].size > tags_max %}
|
|
||||||
{% assign tags_max = tag[1].size %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<ul class="taxonomy__index">
|
|
||||||
{% for i in (1..tags_max) reversed %}
|
|
||||||
{% for tag in site.tags %}
|
|
||||||
{% if tag[1].size == i %}
|
|
||||||
<li>
|
|
||||||
<a href="#{{ tag[0] | slugify }}">
|
|
||||||
<strong>{{ tag[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{% for i in (1..tags_max) reversed %}
|
|
||||||
{% for tag in site.tags %}
|
|
||||||
{% if tag[1].size == i %}
|
|
||||||
<section id="{{ tag[0] | slugify | downcase }}" class="taxonomy__section">
|
|
||||||
<h2 class="archive__subtitle">{{ tag[0] }}</h2>
|
|
||||||
<div class="entries-{{ page.entries_layout | default: 'list' }}">
|
|
||||||
{% for post in tag.last %}
|
|
||||||
{% include archive-single.html type=page.entries_layout %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
|
||||||
</section>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
/*!
|
/* Copyright comment */
|
||||||
* Minimal Mistakes Jekyll Theme 4.12.0 by Michael Rose
|
@import "minimal-mistakes/copyright";
|
||||||
* Copyright 2013-2018 Michael Rose - mademistakes.com | @mmistakes
|
|
||||||
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Variables */
|
/* Variables */
|
||||||
@import "minimal-mistakes/variables";
|
@import "minimal-mistakes/variables";
|
||||||
|
|||||||
@@ -3,22 +3,36 @@
|
|||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.archive {
|
.archive {
|
||||||
|
margin-top: 1em;
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||||
padding-right: $right-sidebar-width-narrow;
|
padding-inline-end: $right-sidebar-width-narrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
width: calc(100% - #{$right-sidebar-width});
|
width: calc(100% - #{$right-sidebar-width});
|
||||||
padding-right: $right-sidebar-width;
|
padding-inline-end: $right-sidebar-width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive__item {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
a {
|
||||||
|
position: relative;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[rel="permalink"] {
|
||||||
|
position: static;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__subtitle {
|
.archive__subtitle {
|
||||||
margin: 1.414em 0 0;
|
margin: 1.414em 0 0.5em;
|
||||||
padding-bottom: 0.5em;
|
padding-bottom: 0.5em;
|
||||||
font-size: $type-size-5;
|
font-size: $type-size-5;
|
||||||
color: $muted-text-color;
|
color: $muted-text-color;
|
||||||
@@ -36,8 +50,10 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
a {
|
a[rel="permalink"]::before {
|
||||||
color: inherit;
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
a + a {
|
a + a {
|
||||||
@@ -60,6 +76,10 @@
|
|||||||
& + p {
|
& + p {
|
||||||
text-indent: 0;
|
text-indent: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__item-teaser {
|
.archive__item-teaser {
|
||||||
@@ -75,14 +95,14 @@
|
|||||||
.archive__item-caption {
|
.archive__item-caption {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0;
|
inset-inline-end: 0;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: $caption-font-family;
|
font-family: $caption-font-family;
|
||||||
font-size: $type-size-8;
|
font-size: $type-size-8;
|
||||||
background: #000;
|
background: #000;
|
||||||
text-align: right;
|
text-align: end;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
border-radius: $border-radius 0 0 0;
|
border-radius: $border-radius 0 0 0;
|
||||||
@@ -117,11 +137,11 @@
|
|||||||
/* extend grid elements to the right */
|
/* extend grid elements to the right */
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
margin-right: -1 * $right-sidebar-width-narrow;
|
margin-inline-end: -1 * $right-sidebar-width-narrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
margin-right: -1 * $right-sidebar-width;
|
margin-inline-end: -1 * $right-sidebar-width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,23 +150,22 @@
|
|||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: span(5 of 10);
|
width: span(5 of 10);
|
||||||
|
|
||||||
&:nth-child(2n + 1) {
|
&:nth-child(2n + 1) {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(2n + 2) {
|
&:nth-child(2n + 2) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(of 10);
|
margin-inline-start: gutter(of 10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($medium) {
|
@include breakpoint($medium) {
|
||||||
margin-left: 0; /* override margin*/
|
margin-inline: 0; /* override margin*/
|
||||||
margin-right: 0; /* override margin*/
|
|
||||||
width: span(3 of 12);
|
width: span(3 of 12);
|
||||||
|
|
||||||
&:nth-child(2n + 1) {
|
&:nth-child(2n + 1) {
|
||||||
@@ -159,17 +178,17 @@
|
|||||||
|
|
||||||
&:nth-child(4n + 2) {
|
&:nth-child(4n + 2) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(1 of 12);
|
margin-inline-start: gutter(1 of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(4n + 3) {
|
&:nth-child(4n + 3) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(1 of 12);
|
margin-inline-start: gutter(1 of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(4n + 4) {
|
&:nth-child(4n + 4) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(1 of 12);
|
margin-inline-start: gutter(1 of 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,6 +197,14 @@
|
|||||||
font-size: 0.6em;
|
font-size: 0.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.page__meta-sep {
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.archive__item-title {
|
.archive__item-title {
|
||||||
margin-top: 0.5em;
|
margin-top: 0.5em;
|
||||||
font-size: $type-size-5;
|
font-size: $type-size-5;
|
||||||
@@ -211,30 +238,35 @@
|
|||||||
@include clearfix();
|
@include clearfix();
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
border-bottom: 1px solid $border-color;
|
border-bottom: 1px solid $border-color;
|
||||||
|
|
||||||
|
.archive__item-title {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.feature__item {
|
.feature__item {
|
||||||
|
position: relative;
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
font-size: 1.25rem;
|
font-size: 1.125em;
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
width: span(4 of 12);
|
width: span(4 of 12);
|
||||||
|
|
||||||
&:nth-child(3n + 1) {
|
&:nth-child(3n + 1) {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(3n + 2) {
|
&:nth-child(3n + 2) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(of 12);
|
margin-inline-start: gutter(of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(3n + 3) {
|
&:nth-child(3n + 3) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(of 12);
|
margin-inline-start: gutter(of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
.feature__item-teaser {
|
.feature__item-teaser {
|
||||||
@@ -243,74 +275,103 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&--left {
|
.archive__item-body {
|
||||||
float: left;
|
padding-inline: gutter(1 of 12);
|
||||||
margin-left: 0;
|
}
|
||||||
margin-right: 0;
|
|
||||||
|
a.btn::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--left, &--right {
|
||||||
|
position: relative;
|
||||||
|
margin-inline: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
font-size: 1.25rem;
|
font-size: 1.125em;
|
||||||
|
|
||||||
|
a.btn::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.archive__item-teaser {
|
.archive__item-teaser {
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&--left {
|
||||||
|
float: inline-start;
|
||||||
|
|
||||||
|
.archive__item {
|
||||||
|
float: inline-start;
|
||||||
|
}
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
.archive__item-teaser {
|
.archive__item-teaser {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: span(5 of 12);
|
width: span(5 of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__item-body {
|
.archive__item-body {
|
||||||
float: right;
|
float: inline-end;
|
||||||
padding-left: gutter(0.5 of 12);
|
|
||||||
padding-right: gutter(1 of 12);
|
|
||||||
width: span(7 of 12);
|
width: span(7 of 12);
|
||||||
|
padding-inline-start: gutter(0.5 of 12);
|
||||||
|
padding-inline-end: gutter(1 of 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&--right {
|
&--right {
|
||||||
float: left;
|
float: inline-end;
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
|
||||||
clear: both;
|
|
||||||
font-size: 1.25rem;
|
|
||||||
|
|
||||||
.archive__item-teaser {
|
.archive__item {
|
||||||
margin-bottom: 2em;
|
float: inline-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
text-align: right;
|
text-align: end;
|
||||||
|
|
||||||
.archive__item-teaser {
|
.archive__item-teaser {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: span(5 of 12);
|
width: span(5 of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__item-body {
|
.archive__item-body {
|
||||||
float: right;
|
float: inline-start;
|
||||||
width: span(7 of 12);
|
width: span(7 of 12);
|
||||||
padding-left: gutter(0.5 of 12);
|
padding-inline-start: gutter(1 of 12);
|
||||||
padding-right: gutter(1 of 12);
|
padding-inline-end: gutter(0.5 of 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&--center {
|
&--center {
|
||||||
float: left;
|
position: relative;
|
||||||
margin-left: 0;
|
float: inline-start;
|
||||||
margin-right: 0;
|
margin-inline: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
font-size: 1.25rem;
|
font-size: 1.125em;
|
||||||
|
|
||||||
|
.archive__item {
|
||||||
|
float: inline-start;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.archive__item-teaser {
|
.archive__item-teaser {
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a.btn::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
@@ -349,14 +410,22 @@
|
|||||||
Wide Pages
|
Wide Pages
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.wide {
|
.wide {
|
||||||
.archive {
|
.archive {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
padding-right: 0;
|
padding-inline-end: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
padding-right: 0;
|
padding-inline-end: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Place inside a single layout */
|
||||||
|
|
||||||
|
.layout--single {
|
||||||
|
.feature__wrapper {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ html {
|
|||||||
/* sticky footer fix */
|
/* sticky footer fix */
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
@@ -35,27 +37,27 @@ h6 {
|
|||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
font-size: $type-size-3;
|
font-size: $h-size-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: $type-size-4;
|
font-size: $h-size-2;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: $type-size-5;
|
font-size: $h-size-3;
|
||||||
}
|
}
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
font-size: $type-size-6;
|
font-size: $h-size-4;
|
||||||
}
|
}
|
||||||
|
|
||||||
h5 {
|
h5 {
|
||||||
font-size: $type-size-6;
|
font-size: $h-size-5;
|
||||||
}
|
}
|
||||||
|
|
||||||
h6 {
|
h6 {
|
||||||
font-size: $type-size-6;
|
font-size: $h-size-6;
|
||||||
}
|
}
|
||||||
|
|
||||||
small,
|
small,
|
||||||
@@ -107,18 +109,18 @@ abbr[data-original-title] {
|
|||||||
/* blockquotes */
|
/* blockquotes */
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
margin: 2em 1em 2em 0;
|
margin-block: 2em;
|
||||||
padding-left: 1em;
|
margin-inline-end: 1em;
|
||||||
padding-right: 1em;
|
padding-inline: 1em;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
border-left: 0.25em solid $primary-color;
|
border-inline-start: 0.25em solid $primary-color;
|
||||||
|
|
||||||
cite {
|
cite {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
|
|
||||||
&:before {
|
&::before {
|
||||||
content: "\2014";
|
content: "\2014";
|
||||||
padding-right: 5px;
|
padding-inline-end: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,15 +132,14 @@ a {
|
|||||||
@extend %tab-focus;
|
@extend %tab-focus;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:active {
|
|
||||||
color: $link-color-hover;
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:visited {
|
&:visited {
|
||||||
color: $link-color-visited;
|
color: $link-color-visited;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $link-color-hover;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* buttons */
|
/* buttons */
|
||||||
@@ -161,24 +162,6 @@ pre {
|
|||||||
overflow-x: auto; /* add scrollbars to wide code blocks*/
|
overflow-x: auto; /* add scrollbars to wide code blocks*/
|
||||||
}
|
}
|
||||||
|
|
||||||
p > code,
|
|
||||||
a > code,
|
|
||||||
li > code,
|
|
||||||
figcaption > code,
|
|
||||||
td > code {
|
|
||||||
padding-top: 0.1rem;
|
|
||||||
padding-bottom: 0.1rem;
|
|
||||||
font-size: $type-size-6;
|
|
||||||
background: $code-background-color;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
|
|
||||||
&:before,
|
|
||||||
&:after {
|
|
||||||
letter-spacing: -0.2em;
|
|
||||||
content: "\00a0"; /* non-breaking space*/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* horizontal rule */
|
/* horizontal rule */
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
|
|||||||
@@ -21,11 +21,11 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
margin-right: 0.5em;
|
margin-inline-end: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon + .hidden {
|
.icon + .hidden {
|
||||||
margin-left: -0.5em; /* override for hidden text*/
|
margin-inline-start: -0.5em; /* override for hidden text*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* button colors */
|
/* button colors */
|
||||||
@@ -37,10 +37,13 @@
|
|||||||
(warning, $warning-color),
|
(warning, $warning-color),
|
||||||
(danger, $danger-color),
|
(danger, $danger-color),
|
||||||
(info, $info-color),
|
(info, $info-color),
|
||||||
|
/* brands */
|
||||||
|
(bluesky, $bluesky-color),
|
||||||
(facebook, $facebook-color),
|
(facebook, $facebook-color),
|
||||||
|
(linkedin, $linkedin-color),
|
||||||
|
(mastodon, $mastodon-color),
|
||||||
(twitter, $twitter-color),
|
(twitter, $twitter-color),
|
||||||
(google-plus, $google-plus-color),
|
(x, $x-color);
|
||||||
(linkedin, $linkedin-color);
|
|
||||||
|
|
||||||
@each $buttoncolor, $color in $buttoncolors {
|
@each $buttoncolor, $color in $buttoncolors {
|
||||||
&--#{$buttoncolor} {
|
&--#{$buttoncolor} {
|
||||||
@@ -52,13 +55,13 @@
|
|||||||
border: 1px solid #fff;
|
border: 1px solid #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
|
||||||
@include yiq-contrasted(mix(#000, $color, 20%));
|
|
||||||
}
|
|
||||||
|
|
||||||
&:visited {
|
&:visited {
|
||||||
@include yiq-contrasted($color);
|
@include yiq-contrasted($color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
@include yiq-contrasted(mix(#000, $color, 20%));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,4 +98,4 @@
|
|||||||
&--small {
|
&--small {
|
||||||
font-size: $type-size-7;
|
font-size: $type-size-7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Minimal Mistakes Jekyll Theme 4.27.1 by Michael Rose
|
||||||
|
* Copyright 2013-2025 Michael Rose - mademistakes.com | @mmistakes
|
||||||
|
* Free for personal and commercial use under the MIT license
|
||||||
|
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
|
*/
|
||||||
@@ -4,16 +4,9 @@
|
|||||||
|
|
||||||
.page__footer {
|
.page__footer {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
|
||||||
/* sticky footer fix start */
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
height: auto;
|
|
||||||
/* sticky footer fix end */
|
|
||||||
margin-top: 3em;
|
margin-top: 3em;
|
||||||
color: $muted-text-color;
|
color: $muted-text-color;
|
||||||
-webkit-animation: $intro-transition;
|
-webkit-animation: $intro-transition;
|
||||||
@@ -24,8 +17,7 @@
|
|||||||
|
|
||||||
footer {
|
footer {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
|
||||||
margin-top: 2em;
|
margin-top: 2em;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
padding: 0 1em 2em;
|
padding: 0 1em 2em;
|
||||||
@@ -73,13 +65,13 @@
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
li + li:before {
|
li + li::before {
|
||||||
content: "";
|
content: "";
|
||||||
padding-right: 5px;
|
padding-inline-end: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
padding-right: 10px;
|
padding-inline-end: 10px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
form {
|
form {
|
||||||
margin: 0 0 5px 0;
|
margin-bottom: 5px;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
background-color: $form-background-color;
|
background-color: $form-background-color;
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ form {
|
|||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 5px * 2;
|
margin-bottom: 5px * 2;
|
||||||
*margin-left: -7px;
|
margin-inline-start: -7px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: $text-color;
|
color: $text-color;
|
||||||
border: 0;
|
border: 0;
|
||||||
@@ -25,7 +25,7 @@ form {
|
|||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin-bottom: 5px / 2;
|
margin-bottom: (5px / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
@@ -45,7 +45,6 @@ button,
|
|||||||
select,
|
select,
|
||||||
textarea {
|
textarea {
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
*vertical-align: middle;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input,
|
input,
|
||||||
@@ -102,24 +101,21 @@ input[type="radio"] {
|
|||||||
height: auto;
|
height: auto;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 3px 0;
|
margin: 3px 0;
|
||||||
*margin-top: 0;
|
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border: 0 \9;
|
border: 0 \9;
|
||||||
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="checkbox"],
|
input[type="checkbox"],
|
||||||
input[type="radio"] {
|
input[type="radio"] {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
*width: 13px;
|
|
||||||
*height: 13px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="image"] {
|
input[type="image"] {
|
||||||
border: 0;
|
border: 0;
|
||||||
box-shadow: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="file"] {
|
input[type="file"] {
|
||||||
@@ -138,12 +134,6 @@ input[type="submit"] {
|
|||||||
width: auto;
|
width: auto;
|
||||||
height: auto;
|
height: auto;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
*overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
select,
|
|
||||||
input[type="file"] {
|
|
||||||
*margin-top: 4px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
@@ -173,14 +163,14 @@ input[type="hidden"] {
|
|||||||
|
|
||||||
.radio,
|
.radio,
|
||||||
.checkbox {
|
.checkbox {
|
||||||
padding-left: 18px;
|
padding-inline-start: 18px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio input[type="radio"],
|
.radio input[type="radio"],
|
||||||
.checkbox input[type="checkbox"] {
|
.checkbox input[type="checkbox"] {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: -18px;
|
margin-inline-start: -18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio.inline,
|
.radio.inline,
|
||||||
@@ -193,7 +183,7 @@ input[type="hidden"] {
|
|||||||
|
|
||||||
.radio.inline + .radio.inline,
|
.radio.inline + .radio.inline,
|
||||||
.checkbox.inline + .checkbox.inline {
|
.checkbox.inline + .checkbox.inline {
|
||||||
margin-left: 10px;
|
margin-inline-start: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -248,7 +238,7 @@ select:focus {
|
|||||||
.help-inline {
|
.help-inline {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
padding-left: 5px;
|
padding-inline-start: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -279,16 +269,16 @@ select:focus {
|
|||||||
.form-inline .radio,
|
.form-inline .radio,
|
||||||
.form-inline .checkbox,
|
.form-inline .checkbox,
|
||||||
.form-inline .radio {
|
.form-inline .radio {
|
||||||
padding-left: 0;
|
padding-inline-start: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-inline .radio input[type="radio"],
|
.form-inline .radio input[type="radio"],
|
||||||
.form-inline .checkbox input[type="checkbox"] {
|
.form-inline .checkbox input[type="checkbox"] {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
margin-right: 3px;
|
margin-inline-end: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -303,8 +293,7 @@ select:focus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.form-search .search-query {
|
.form-search .search-query {
|
||||||
padding-left: 14px;
|
padding-inline: 14px;
|
||||||
padding-right: 14px;
|
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
border-radius: 14px;
|
border-radius: 14px;
|
||||||
}
|
}
|
||||||
@@ -316,23 +305,23 @@ select:focus {
|
|||||||
.form-search .radio,
|
.form-search .radio,
|
||||||
.form-search .checkbox,
|
.form-search .checkbox,
|
||||||
.form-inline .radio {
|
.form-inline .radio {
|
||||||
padding-left: 0;
|
padding-inline-start: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-search .radio input[type="radio"],
|
.form-search .radio input[type="radio"],
|
||||||
.form-search .checkbox input[type="checkbox"] {
|
.form-search .checkbox input[type="checkbox"] {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
margin-right: 3px;
|
margin-inline-end: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
.form--loading
|
.form--loading
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.form--loading:before {
|
.form--loading::before {
|
||||||
content: "";
|
content: "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -340,10 +329,10 @@ select:focus {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form:before {
|
.form::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: rgba(255, 255, 255, 0.7);
|
background-color: rgba(255, 255, 255, 0.7);
|
||||||
@@ -354,40 +343,6 @@ select:focus {
|
|||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
inset-inline-start: 50%;
|
||||||
z-index: 11;
|
z-index: 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
Google search form
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
#goog-fixurl {
|
|
||||||
ul {
|
|
||||||
list-style: none;
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
li {
|
|
||||||
list-style-type: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#goog-wm-qt {
|
|
||||||
width: auto;
|
|
||||||
margin-right: 10px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
padding: 8px 20px;
|
|
||||||
display: inline-block;
|
|
||||||
font-size: $type-size-6;
|
|
||||||
background-color: #fff;
|
|
||||||
color: #000;
|
|
||||||
border-width: 2px !important;
|
|
||||||
border-style: solid !important;
|
|
||||||
border-color: $border-color;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
}
|
|
||||||
|
|
||||||
#goog-wm-sb {
|
|
||||||
@extend .btn;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -13,18 +13,19 @@
|
|||||||
|
|
||||||
&__inner-wrap {
|
&__inner-wrap {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
display: flex;
|
display: flex;
|
||||||
-webkit-box-pack: justify;
|
-webkit-box-pack: justify;
|
||||||
|
-ms-flex-pack: justify;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
font-family: $sans-serif-narrow;
|
font-family: $sans-serif-narrow;
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
max-width: $x-large;
|
max-width: $max-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
@@ -37,29 +38,36 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.site-logo img {
|
||||||
|
max-height: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
.site-title {
|
.site-title {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 0.5rem 0;
|
-ms-flex-item-align: center;
|
||||||
align-self: stretch;
|
align-self: center;
|
||||||
-webkit-box-align: center;
|
|
||||||
align-items: center;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
z-index: 20;
|
// z-index: 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
.site-subtitle {
|
||||||
|
display: block;
|
||||||
|
font-size: $type-size-8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.masthead__menu {
|
.masthead__menu {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
|
||||||
.site-nav {
|
.site-nav {
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +85,7 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
||||||
&--lg {
|
&--lg {
|
||||||
padding-right: 2em;
|
padding-inline-end: 2em;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
|
|
||||||
%tab-focus {
|
%tab-focus {
|
||||||
/* Default*/
|
/* Default*/
|
||||||
outline: thin dotted $warning-color;
|
outline: thin dotted $focus-color;
|
||||||
/* Webkit*/
|
/* Webkit*/
|
||||||
outline: 5px auto $warning-color;
|
outline: 5px auto $focus-color;
|
||||||
outline-offset: -2px;
|
outline-offset: -2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,19 +10,13 @@
|
|||||||
@include clearfix;
|
@include clearfix;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
padding-left: 2em;
|
padding-inline: 1em;
|
||||||
padding-right: 2em;
|
|
||||||
font-family: $sans-serif;
|
font-family: $sans-serif;
|
||||||
-webkit-animation: $intro-transition;
|
-webkit-animation: $intro-transition;
|
||||||
animation: $intro-transition;
|
animation: $intro-transition;
|
||||||
-webkit-animation-delay: 0.3s;
|
-webkit-animation-delay: 0.3s;
|
||||||
animation-delay: 0.3s;
|
animation-delay: 0.3s;
|
||||||
|
|
||||||
@include breakpoint($large) {
|
|
||||||
padding-left: 1em;
|
|
||||||
padding-right: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
max-width: $x-large;
|
max-width: $x-large;
|
||||||
}
|
}
|
||||||
@@ -33,12 +27,12 @@
|
|||||||
font-size: $type-size-6;
|
font-size: $type-size-6;
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: span(10 of 12);
|
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
padding-left: gutter(0.5 of 12);
|
width: calc(100% - #{$right-sidebar-width});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,7 +51,7 @@
|
|||||||
|
|
||||||
.pagination {
|
.pagination {
|
||||||
@include clearfix();
|
@include clearfix();
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -71,8 +65,8 @@
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
display: block;
|
display: block;
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: -1px;
|
margin-inline-start: -1px;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
@@ -106,18 +100,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
border-top-left-radius: $border-radius;
|
border-start-start-radius: $border-radius;
|
||||||
border-bottom-left-radius: $border-radius;
|
border-end-start-radius: $border-radius;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
a {
|
a {
|
||||||
border-top-right-radius: $border-radius;
|
border-start-end-radius: $border-radius;
|
||||||
border-bottom-right-radius: $border-radius;
|
border-end-end-radius: $border-radius;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -126,7 +120,7 @@
|
|||||||
&--pager {
|
&--pager {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 1em 2em;
|
padding: 1em 2em;
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
font-family: $sans-serif;
|
font-family: $sans-serif;
|
||||||
font-size: $type-size-5;
|
font-size: $type-size-5;
|
||||||
@@ -142,14 +136,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
border-top-right-radius: 0;
|
border-start-end-radius: 0;
|
||||||
border-bottom-right-radius: 0;
|
border-end-end-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-left: -1px;
|
margin-inline-start: -1px;
|
||||||
border-top-left-radius: 0;
|
border-start-start-radius: 0;
|
||||||
border-bottom-left-radius: 0;
|
border-end-start-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.disabled {
|
&.disabled {
|
||||||
@@ -176,48 +170,66 @@
|
|||||||
.greedy-nav {
|
.greedy-nav {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
display: flex;
|
display: flex;
|
||||||
-webkit-box-align: center;
|
-webkit-box-align: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
min-height: $nav-height;
|
||||||
background: $background-color;
|
background: $background-color;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
margin: 0 1rem;
|
margin: 0 1rem;
|
||||||
padding: 0.5rem 0;
|
|
||||||
color: $masthead-link-color;
|
color: $masthead-link-color;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
-webkit-transition: none;
|
||||||
|
transition: none;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: $masthead-link-color-hover;
|
color: $masthead-link-color-hover;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.site-logo {
|
||||||
|
margin-inline-start: 0;
|
||||||
|
margin-inline-end: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
&.site-title {
|
&.site-title {
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
-webkit-transition: none;
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
|
||||||
&__toggle {
|
&__toggle {
|
||||||
padding: 0 0.5rem;
|
-ms-flex-item-align: center;
|
||||||
align-self: stretch;
|
align-self: center;
|
||||||
|
height: $nav-toggle-height;
|
||||||
border: 0;
|
border: 0;
|
||||||
outline: none;
|
outline: none;
|
||||||
color: #fff;
|
background-color: transparent;
|
||||||
background-color: $primary-color;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.visible-links {
|
.visible-links {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
display: flex;
|
display: flex;
|
||||||
-webkit-box-pack: end;
|
-webkit-box-pack: end;
|
||||||
|
-ms-flex-pack: end;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
-webkit-box-flex: 1;
|
-webkit-box-flex: 1;
|
||||||
|
-ms-flex: 1;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
li {
|
li {
|
||||||
-webkit-box-flex: 0;
|
-webkit-box-flex: 0;
|
||||||
|
-ms-flex: none;
|
||||||
flex: none;
|
flex: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,7 +239,7 @@
|
|||||||
&:before {
|
&:before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
height: 4px;
|
height: 4px;
|
||||||
background: $primary-color;
|
background: $primary-color;
|
||||||
@@ -235,13 +247,13 @@
|
|||||||
-webkit-transition: $global-transition;
|
-webkit-transition: $global-transition;
|
||||||
transition: $global-transition;
|
transition: $global-transition;
|
||||||
-webkit-transform: scaleX(0) translate3d(0, 0, 0);
|
-webkit-transform: scaleX(0) translate3d(0, 0, 0);
|
||||||
transform: scaleX(0) translate3d(0, 0, 0); /* hide*/
|
transform: scaleX(0) translate3d(0, 0, 0); // hide
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover:before {
|
&:hover:before {
|
||||||
-webkit-transform: scaleX(1);
|
-webkit-transform: scaleX(1);
|
||||||
-ms-transform: scaleX(1);
|
-ms-transform: scaleX(1);
|
||||||
transform: scaleX(1); /* reveal*/
|
transform: scaleX(1); // reveal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -249,12 +261,14 @@
|
|||||||
.hidden-links {
|
.hidden-links {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 100%;
|
top: 100%;
|
||||||
right: 0;
|
inset-inline-end: 0;
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid $border-color;
|
border: 1px solid $border-color;
|
||||||
border-radius: $border-radius;
|
border-radius: $border-radius;
|
||||||
background: $background-color;
|
background: $background-color;
|
||||||
|
-webkit-box-shadow: 0 2px 4px 0 rgba(#000, 0.16),
|
||||||
|
0 2px 10px 0 rgba(#000, 0.12);
|
||||||
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
|
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
|
||||||
|
|
||||||
&.hidden {
|
&.hidden {
|
||||||
@@ -272,11 +286,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:before {
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -11px;
|
top: -11px;
|
||||||
right: 10px;
|
inset-inline-end: 10px;
|
||||||
width: 0;
|
width: 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 0 10px 10px;
|
border-width: 0 10px 10px;
|
||||||
@@ -285,11 +299,11 @@
|
|||||||
z-index: 0;
|
z-index: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -10px;
|
top: -10px;
|
||||||
right: 10px;
|
inset-inline-end: 10px;
|
||||||
width: 0;
|
width: 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 0 10px 10px;
|
border-width: 0 10px 10px;
|
||||||
@@ -331,7 +345,7 @@
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint(max-width ($large - 1px)) {
|
@include breakpoint(max-width $large - 1px) {
|
||||||
label {
|
label {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -346,11 +360,11 @@
|
|||||||
transition: 0.2s ease-out;
|
transition: 0.2s ease-out;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
&:before,
|
&::before,
|
||||||
&:after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 1em;
|
inset-inline-end: 1em;
|
||||||
top: 1.25em;
|
top: 1.25em;
|
||||||
width: 0.75em;
|
width: 0.75em;
|
||||||
height: 0.125em;
|
height: 0.125em;
|
||||||
@@ -431,13 +445,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
margin-left: -0.5em;
|
margin-inline-start: -0.5em;
|
||||||
padding-left: 0.5em;
|
padding-inline: 0.5em;
|
||||||
padding-right: 0.5em;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint(max-width ($large - 1px)) {
|
@include breakpoint(max-width $large - 1px) {
|
||||||
position: relative;
|
position: relative;
|
||||||
max-height: 0;
|
max-height: 0;
|
||||||
opacity: 0%;
|
opacity: 0%;
|
||||||
@@ -451,7 +464,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint(max-width ($large - 1px)) {
|
@include breakpoint(max-width $large - 1px) {
|
||||||
.nav__list input:checked ~ .nav__items {
|
.nav__list input:checked ~ .nav__items {
|
||||||
-webkit-transition: 0.5s ease-in-out;
|
-webkit-transition: 0.5s ease-in-out;
|
||||||
transition: 0.5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
@@ -467,7 +480,7 @@
|
|||||||
|
|
||||||
.nav__title {
|
.nav__title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0.5rem 1rem;
|
padding: 0.5rem 0.75rem;
|
||||||
font-family: $sans-serif-narrow;
|
font-family: $sans-serif-narrow;
|
||||||
font-size: $type-size-5;
|
font-size: $type-size-5;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@@ -476,7 +489,7 @@
|
|||||||
.nav__sub-title {
|
.nav__sub-title {
|
||||||
display: block;
|
display: block;
|
||||||
margin: 0.5rem 0;
|
margin: 0.5rem 0;
|
||||||
padding: 0.5rem 0;
|
padding: 0.25rem 0;
|
||||||
font-family: $sans-serif-narrow;
|
font-family: $sans-serif-narrow;
|
||||||
font-size: $type-size-6;
|
font-size: $type-size-6;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@@ -491,19 +504,23 @@
|
|||||||
.toc {
|
.toc {
|
||||||
font-family: $sans-serif-narrow;
|
font-family: $sans-serif-narrow;
|
||||||
color: $gray;
|
color: $gray;
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
background-color: $background-color;
|
background-color: $background-color;
|
||||||
border: 1px solid $border-color;
|
border: 1px solid $border-color;
|
||||||
border-radius: $border-radius;
|
border-radius: $border-radius;
|
||||||
|
-webkit-box-shadow: $box-shadow;
|
||||||
box-shadow: $box-shadow;
|
box-shadow: $box-shadow;
|
||||||
|
|
||||||
.nav__title {
|
.nav__title {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: $type-size-6;
|
font-size: $type-size-6;
|
||||||
background: $primary-color;
|
background: $primary-color;
|
||||||
border-top-left-radius: $border-radius;
|
border-start-start-radius: $border-radius;
|
||||||
border-top-right-radius: $border-radius;
|
border-start-end-radius: $border-radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Scrollspy marks toc items as .active when they are in focus
|
||||||
|
.active a {
|
||||||
|
@include yiq-contrasted($active-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -512,13 +529,16 @@
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
font-size: 0.8rem;
|
font-size: $type-size-6;
|
||||||
|
|
||||||
|
@include breakpoint($large) {
|
||||||
|
font-size: $type-size-7;
|
||||||
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 0.5rem 1rem;
|
padding: 0.25rem 0.75rem;
|
||||||
color: $muted-text-color;
|
color: $muted-text-color;
|
||||||
font-size: $type-size-7;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
border-bottom: 1px solid $border-color;
|
border-bottom: 1px solid $border-color;
|
||||||
@@ -529,16 +549,23 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
li ul > li a {
|
li ul > li a {
|
||||||
padding-left: 1.75rem;
|
padding-inline-start: 1.25rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* hide sub sub links on small screens*/
|
li ul li ul > li a {
|
||||||
li > ul li {
|
padding-inline-start: 1.75rem;
|
||||||
display: none;
|
}
|
||||||
|
|
||||||
@include breakpoint($medium) {
|
li ul li ul li ul > li a {
|
||||||
display: block;
|
padding-inline-start: 2.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
li ul li ul li ul li ul > li a {
|
||||||
|
padding-inline-start: 2.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
li ul li ul li ul li ul li ul > li a {
|
||||||
|
padding-inline-start: 3.25rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,17 +13,18 @@
|
|||||||
@mixin notice($notice-color) {
|
@mixin notice($notice-color) {
|
||||||
margin: 2em 0 !important; /* override*/
|
margin: 2em 0 !important; /* override*/
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
color: $dark-gray;
|
color: $text-color;
|
||||||
font-family: $global-font-family;
|
font-family: $global-font-family;
|
||||||
font-size: $type-size-6 !important;
|
font-size: $type-size-6 !important;
|
||||||
text-indent: initial; /* override*/
|
text-indent: initial; /* override*/
|
||||||
background-color: mix(#fff, $notice-color, 90%);
|
background-color: mix($background-color, $notice-color, $notice-background-mix);
|
||||||
border-radius: $border-radius;
|
border-radius: $border-radius;
|
||||||
box-shadow: 0 1px 1px rgba($notice-color, 0.25);
|
box-shadow: 0 1px 1px rgba($notice-color, 0.25);
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
margin-top: 0 !important; /* override*/
|
margin-top: 0 !important; /* override*/
|
||||||
margin-bottom: 0.75em;
|
margin-bottom: 0.75em;
|
||||||
|
line-height: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@at-root .page__content #{&} h4 {
|
@at-root .page__content #{&} h4 {
|
||||||
@@ -45,17 +46,25 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: $notice-color;
|
color: mix(#000, $notice-color, 10%);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: mix(#000, $notice-color, 40%);
|
color: mix(#000, $notice-color, 50%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
@at-root #{selector-unify(&, "blockquote")} {
|
||||||
background-color: mix(#fff, $notice-color, 95%)
|
border-inline-start-color: mix(#000, $notice-color, 10%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
background-color: mix($background-color, $notice-color, $code-notice-background-mix)
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
background-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-bottom: 0; /* override*/
|
margin-bottom: 0; /* override*/
|
||||||
@@ -97,4 +106,4 @@
|
|||||||
|
|
||||||
.notice--danger {
|
.notice--danger {
|
||||||
@include notice($danger-color);
|
@include notice($danger-color);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,8 @@
|
|||||||
|
|
||||||
#main {
|
#main {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-top: 2em;
|
padding-inline: 1em;
|
||||||
margin-right: auto;
|
|
||||||
padding-left: 1em;
|
|
||||||
padding-right: 1em;
|
|
||||||
-webkit-animation: $intro-transition;
|
-webkit-animation: $intro-transition;
|
||||||
animation: $intro-transition;
|
animation: $intro-transition;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
@@ -16,26 +13,42 @@
|
|||||||
animation-delay: 0.15s;
|
animation-delay: 0.15s;
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
max-width: $x-large;
|
max-width: $max-width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
min-height: 100vh;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-box-direction: normal;
|
||||||
|
-ms-flex-direction: column;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.initial-content,
|
||||||
|
.search-content {
|
||||||
|
flex: 1 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
.page {
|
.page {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||||
padding-right: $right-sidebar-width-narrow;
|
padding-inline-end: $right-sidebar-width-narrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
width: calc(100% - #{$right-sidebar-width});
|
width: calc(100% - #{$right-sidebar-width});
|
||||||
padding-right: $right-sidebar-width;
|
padding-inline-end: $right-sidebar-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
.page__inner-wrap {
|
.page__inner-wrap {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-top: 1em;
|
||||||
margin-right: 0;
|
margin-inline: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
|
||||||
@@ -43,9 +56,8 @@
|
|||||||
.page__meta,
|
.page__meta,
|
||||||
.page__share {
|
.page__share {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
@@ -56,6 +68,11 @@
|
|||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: $text-color;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
& + .page__meta {
|
& + .page__meta {
|
||||||
margin-top: -0.5em;
|
margin-top: -0.5em;
|
||||||
}
|
}
|
||||||
@@ -72,6 +89,23 @@
|
|||||||
border-bottom: 1px solid $border-color;
|
border-bottom: 1px solid $border-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
.header-link {
|
||||||
|
position: relative;
|
||||||
|
inset-inline-start: 0.5em;
|
||||||
|
opacity: 0;
|
||||||
|
font-size: 0.8em;
|
||||||
|
-webkit-transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
|
-moz-transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
|
-o-transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
|
transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover .header-link {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
p,
|
p,
|
||||||
li,
|
li,
|
||||||
dl {
|
dl {
|
||||||
@@ -101,6 +135,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:not(pre) > code {
|
||||||
|
padding-top: 0.1rem;
|
||||||
|
padding-bottom: 0.1rem;
|
||||||
|
font-size: 0.8em;
|
||||||
|
background: $code-background-color;
|
||||||
|
border-radius: $border-radius;
|
||||||
|
|
||||||
|
&::before,
|
||||||
|
&::after {
|
||||||
|
letter-spacing: -0.2em;
|
||||||
|
content: "\00a0"; /* non-breaking space*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dt {
|
dt {
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
font-family: $sans-serif;
|
font-family: $sans-serif;
|
||||||
@@ -108,7 +156,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
dd {
|
dd {
|
||||||
margin-left: 1em;
|
margin-inline-start: 1em;
|
||||||
font-family: $sans-serif;
|
font-family: $sans-serif;
|
||||||
font-size: $type-size-6;
|
font-size: $type-size-6;
|
||||||
}
|
}
|
||||||
@@ -120,7 +168,7 @@
|
|||||||
/* blockquote citations */
|
/* blockquote citations */
|
||||||
blockquote + .small {
|
blockquote + .small {
|
||||||
margin-top: -1.5em;
|
margin-top: -1.5em;
|
||||||
padding-left: 1.25rem;
|
padding-inline-start: 1.25rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,8 +199,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
padding-left: 1em;
|
padding-inline: 1em;
|
||||||
padding-right: 1em;
|
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
max-width: $x-large;
|
max-width: $x-large;
|
||||||
@@ -190,14 +237,14 @@
|
|||||||
.page__hero-caption {
|
.page__hero-caption {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0;
|
inset-inline-end: 0;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: $caption-font-family;
|
font-family: $caption-font-family;
|
||||||
font-size: $type-size-7;
|
font-size: $type-size-7;
|
||||||
background: #000;
|
background: #000;
|
||||||
text-align: right;
|
text-align: end;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
border-radius: $border-radius 0 0 0;
|
border-radius: $border-radius 0 0 0;
|
||||||
@@ -266,6 +313,11 @@
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.page__meta-sep::before {
|
||||||
|
content: "\2022";
|
||||||
|
padding-inline: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Page taxonomy
|
Page taxonomy
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
@@ -276,13 +328,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
strong {
|
strong {
|
||||||
margin-right: 10px;
|
margin-inline-end: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.page__taxonomy-item {
|
.page__taxonomy-item {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 5px;
|
margin-inline-end: 5px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@@ -319,11 +371,11 @@
|
|||||||
|
|
||||||
.taxonomy__title {
|
.taxonomy__title {
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
color: lighten($text-color, 60%);
|
color: $muted-text-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.taxonomy__count {
|
.taxonomy__count {
|
||||||
color: lighten($text-color, 50%);
|
color: $muted-text-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.taxonomy__index {
|
.taxonomy__index {
|
||||||
@@ -356,10 +408,10 @@
|
|||||||
.back-to-top {
|
.back-to-top {
|
||||||
display: block;
|
display: block;
|
||||||
clear: both;
|
clear: both;
|
||||||
color: lighten($text-color, 50%);
|
color: $muted-text-color;
|
||||||
font-size: 0.6em;
|
font-size: 0.6em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
text-align: right;
|
text-align: end;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,9 +420,8 @@
|
|||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.page__comments {
|
.page__comments {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
@@ -412,7 +463,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.comment__avatar-wrapper {
|
.comment__avatar-wrapper {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
|
|
||||||
@@ -436,7 +487,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.comment__content-wrapper {
|
.comment__content-wrapper {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - 60px);
|
width: calc(100% - 60px);
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
@@ -467,13 +518,13 @@
|
|||||||
|
|
||||||
.page__related {
|
.page__related {
|
||||||
@include clearfix();
|
@include clearfix();
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-top: 2em;
|
margin-top: 2em;
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
border-top: 1px solid $border-color;
|
border-top: 1px solid $border-color;
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -498,23 +549,13 @@
|
|||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.wide {
|
.wide {
|
||||||
.page {
|
.page, .page__related {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
padding-right: 0;
|
padding-inline-end: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
padding-right: 0;
|
padding-inline-end: 0;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.page__related {
|
|
||||||
@include breakpoint($large) {
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user