mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
2907 Commits
v0.17.1
...
v1.0.0-alp
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ffa359806f | ||
![]() |
a2a32662d1 | ||
![]() |
1ea7e3734f | ||
![]() |
afb6524fc1 | ||
![]() |
6d0d217da1 | ||
![]() |
23e8a14ea0 | ||
![]() |
bfc4584583 | ||
![]() |
50daaa0415 | ||
![]() |
35bb3d3c50 | ||
![]() |
7bea8050bf | ||
![]() |
4f9901c6ab | ||
![]() |
dd75e9b4af | ||
![]() |
ee244cace3 | ||
![]() |
150282c274 | ||
![]() |
efeabfe8c6 | ||
![]() |
9a30a12547 | ||
![]() |
694509e4e2 | ||
![]() |
827db014bf | ||
![]() |
f528f12fb5 | ||
![]() |
2f7c5b0f4e | ||
![]() |
6080998ba9 | ||
![]() |
e48f75c572 | ||
![]() |
79c0139887 | ||
![]() |
6e5316fb7d | ||
![]() |
a1db830818 | ||
![]() |
d1f63fa0e8 | ||
![]() |
9cbc5dea20 | ||
![]() |
fa8ae34136 | ||
![]() |
cba21df8bb | ||
![]() |
8cef4eb317 | ||
![]() |
6766fb9f4f | ||
![]() |
59371ed72e | ||
![]() |
b111fd13d2 | ||
![]() |
c8f7cec162 | ||
![]() |
93f0d88c22 | ||
![]() |
691da89124 | ||
![]() |
1db7f5ac9f | ||
![]() |
3d226799c4 | ||
![]() |
5a6b96d255 | ||
![]() |
e2d6630390 | ||
![]() |
ba855228da | ||
![]() |
c0007335ab | ||
![]() |
105034219f | ||
![]() |
814887911c | ||
![]() |
0fd34c98f8 | ||
![]() |
4a3d2e53cc | ||
![]() |
38e871a857 | ||
![]() |
94c5a5d585 | ||
![]() |
3ba638ea46 | ||
![]() |
19303d6181 | ||
![]() |
709719b689 | ||
![]() |
6f169388e2 | ||
![]() |
494f203866 | ||
![]() |
220a645e10 | ||
![]() |
4165ccb1ac | ||
![]() |
543a2708a3 | ||
![]() |
f70ddb4779 | ||
![]() |
2fb48b51f5 | ||
![]() |
9dd220ad47 | ||
![]() |
b40f4eaebe | ||
![]() |
87a7ddf514 | ||
![]() |
1c2c896a32 | ||
![]() |
f0493ec9f7 | ||
![]() |
af26baf31c | ||
![]() |
9749a1c0a9 | ||
![]() |
ebbee9ba40 | ||
![]() |
f7085d70fe | ||
![]() |
69ce5e43b0 | ||
![]() |
0267f25232 | ||
![]() |
16048b0cee | ||
![]() |
ccd945d49c | ||
![]() |
5c9f274dab | ||
![]() |
713cf5946c | ||
![]() |
9f3ed31e59 | ||
![]() |
c8f95ce71c | ||
![]() |
055aed5832 | ||
![]() |
99b10995ec | ||
![]() |
bc37e291e6 | ||
![]() |
6b1e241fad | ||
![]() |
e2df3c4005 | ||
![]() |
0b4851796a | ||
![]() |
5524957f60 | ||
![]() |
414b46c7de | ||
![]() |
fdccaadabc | ||
![]() |
41a9aaf033 | ||
![]() |
9f9af30a22 | ||
![]() |
b10c0d443d | ||
![]() |
c208b760b7 | ||
![]() |
6dd75f2407 | ||
![]() |
bf2c0f4f42 | ||
![]() |
38d832c11f | ||
![]() |
9b359a1a2f | ||
![]() |
d1d006bf25 | ||
![]() |
9a1875b187 | ||
![]() |
4e9cd4e389 | ||
![]() |
392d382c07 | ||
![]() |
30bb980d6f | ||
![]() |
58edbc6b2f | ||
![]() |
c71e77043f | ||
![]() |
b57b2e8d83 | ||
![]() |
f6898056a1 | ||
![]() |
9904a18519 | ||
![]() |
6583c2b860 | ||
![]() |
95c19813d2 | ||
![]() |
6d1229fd90 | ||
![]() |
cc40aa71e3 | ||
![]() |
4232dec87a | ||
![]() |
160774c4ab | ||
![]() |
80bff5fa61 | ||
![]() |
851b320fab | ||
![]() |
0bc595c4d2 | ||
![]() |
810cd66dd3 | ||
![]() |
19b0c431de | ||
![]() |
029c8f366a | ||
![]() |
9939503a11 | ||
![]() |
7dd2b9af0b | ||
![]() |
0f7c371909 | ||
![]() |
2d91c0c9e4 | ||
![]() |
fb0f47702c | ||
![]() |
f07dfa9e77 | ||
![]() |
1906a0cfca | ||
![]() |
23ffb15eb8 | ||
![]() |
b798517864 | ||
![]() |
5978426771 | ||
![]() |
7b810caa40 | ||
![]() |
84296e2964 | ||
![]() |
16c4833e89 | ||
![]() |
60d2338308 | ||
![]() |
30775ea52c | ||
![]() |
0a43a914c5 | ||
![]() |
773a940c68 | ||
![]() |
205a9d6202 | ||
![]() |
3e68c86103 | ||
![]() |
507716b1d2 | ||
![]() |
bee956167e | ||
![]() |
d7cfadf0ea | ||
![]() |
93d6fb6241 | ||
![]() |
c07c6aeb6f | ||
![]() |
db949c40f3 | ||
![]() |
87f0822b12 | ||
![]() |
f5bb33dd5a | ||
![]() |
c57ceb9934 | ||
![]() |
93b475b510 | ||
![]() |
d136e88508 | ||
![]() |
6ade2d1243 | ||
![]() |
b05f8b0dc7 | ||
![]() |
6659299c7c | ||
![]() |
05a32a2697 | ||
![]() |
9a53b8fad7 | ||
![]() |
300636f144 | ||
![]() |
a98259c5f5 | ||
![]() |
f3c984780e | ||
![]() |
af7fe7bc79 | ||
![]() |
75a3504a73 | ||
![]() |
2a24c4ab40 | ||
![]() |
429ba232f2 | ||
![]() |
2c1fbc859d | ||
![]() |
62766923e9 | ||
![]() |
cb2b692cf9 | ||
![]() |
91ab627f05 | ||
![]() |
abca69e378 | ||
![]() |
6248dcd74c | ||
![]() |
f7335cb5b9 | ||
![]() |
8252cde9ca | ||
![]() |
60ba0f6c07 | ||
![]() |
813457bb48 | ||
![]() |
f4c0feed0a | ||
![]() |
02e9281a9b | ||
![]() |
76e1274262 | ||
![]() |
33add3e1fd | ||
![]() |
572776af8a | ||
![]() |
27a35b14fd | ||
![]() |
30f1f35f52 | ||
![]() |
088fbdbbc2 | ||
![]() |
bd031ffddb | ||
![]() |
c1ae0730cb | ||
![]() |
070641f09a | ||
![]() |
4bd5a7dff7 | ||
![]() |
fa58472e35 | ||
![]() |
6d6fcdfa5d | ||
![]() |
6b2b622f8f | ||
![]() |
880dc959dc | ||
![]() |
7b4dde4022 | ||
![]() |
1a855fd44d | ||
![]() |
3c06fba993 | ||
![]() |
c02389212a | ||
![]() |
5b1d1866d5 | ||
![]() |
0754bafb41 | ||
![]() |
d1bedea219 | ||
![]() |
e21815d4d2 | ||
![]() |
8d38e6b8c2 | ||
![]() |
974b0db6ee | ||
![]() |
1aa0243bb5 | ||
![]() |
bff00ecca6 | ||
![]() |
fc436a1398 | ||
![]() |
60b06880f7 | ||
![]() |
3e986fa135 | ||
![]() |
3d7c877cec | ||
![]() |
f21a7bc0da | ||
![]() |
a4057ad498 | ||
![]() |
09d3294867 | ||
![]() |
7b167e32c4 | ||
![]() |
941698cc15 | ||
![]() |
1ec7d7477b | ||
![]() |
9ef702ef06 | ||
![]() |
5e41fddef3 | ||
![]() |
a620900c18 | ||
![]() |
cc25fe311d | ||
![]() |
c057b11094 | ||
![]() |
df6fb8f0ff | ||
![]() |
a6c3de6a7d | ||
![]() |
efb9c56b55 | ||
![]() |
7e3301d277 | ||
![]() |
068df86fd8 | ||
![]() |
4f57919a96 | ||
![]() |
21f90455d4 | ||
![]() |
50499a415a | ||
![]() |
e75c8cf40f | ||
![]() |
42529594b0 | ||
![]() |
73afeb13bd | ||
![]() |
23ece830e2 | ||
![]() |
41f5dbaea1 | ||
![]() |
5e368f2726 | ||
![]() |
2db3365115 | ||
![]() |
bf2235a96b | ||
![]() |
2ab8ee674f | ||
![]() |
e52d14e21a | ||
![]() |
46101e174e | ||
![]() |
d28b51aa63 | ||
![]() |
dd80ee2bfe | ||
![]() |
2e8b087c48 | ||
![]() |
03592cba67 | ||
![]() |
65a44637d5 | ||
![]() |
6bbdb813de | ||
![]() |
3ad358bb96 | ||
![]() |
2e1c05fa63 | ||
![]() |
d67fc81c87 | ||
![]() |
8e532ce61b | ||
![]() |
dd7803110d | ||
![]() |
8c05e15693 | ||
![]() |
b78d0a9912 | ||
![]() |
25aeaeb195 | ||
![]() |
d8336200ef | ||
![]() |
2831b510d6 | ||
![]() |
ddc319e380 | ||
![]() |
0e4c493dd2 | ||
![]() |
48ceeb0b64 | ||
![]() |
45bd45c5fa | ||
![]() |
9f85b5bc93 | ||
![]() |
41215fcc25 | ||
![]() |
912a34baa3 | ||
![]() |
db4fa60bff | ||
![]() |
8ebc170e0e | ||
![]() |
0b5a8756ad | ||
![]() |
7cec88af78 | ||
![]() |
1681d9691e | ||
![]() |
5b661f8f7f | ||
![]() |
3ca09592f7 | ||
![]() |
2d701111aa | ||
![]() |
dbb3b2026c | ||
![]() |
7d724dbb1f | ||
![]() |
7c436dcacd | ||
![]() |
1da69c08ae | ||
![]() |
1bca15042b | ||
![]() |
40fd76988d | ||
![]() |
8190e77152 | ||
![]() |
d0d681a6a9 | ||
![]() |
0d6964c7ed | ||
![]() |
3090aaa810 | ||
![]() |
c7cf48a6c1 | ||
![]() |
300a473a37 | ||
![]() |
dac09afbba | ||
![]() |
a35e59df3d | ||
![]() |
51b80d8820 | ||
![]() |
28c12e61e9 | ||
![]() |
c2d4782375 | ||
![]() |
4aa5723235 | ||
![]() |
6d602df62d | ||
![]() |
336f32b4a4 | ||
![]() |
1792ee527d | ||
![]() |
d750dcfb5a | ||
![]() |
448ebdbaad | ||
![]() |
7b8152d84e | ||
![]() |
df00db0447 | ||
![]() |
658a02798e | ||
![]() |
7329fdf3f9 | ||
![]() |
34550a3e00 | ||
![]() |
b88b17642d | ||
![]() |
ecb06164e0 | ||
![]() |
a4d9638cc1 | ||
![]() |
c8af80ab86 | ||
![]() |
1e06f4ef2c | ||
![]() |
3cfe1c296b | ||
![]() |
2b32c3c8fc | ||
![]() |
efa1ae2076 | ||
![]() |
35c869b729 | ||
![]() |
ccbc9b24d5 | ||
![]() |
680614d446 | ||
![]() |
93f6acd70d | ||
![]() |
8d761aa5d7 | ||
![]() |
9df7f951c6 | ||
![]() |
0bf7671675 | ||
![]() |
43a285db86 | ||
![]() |
f982b0f9d4 | ||
![]() |
669dfec6af | ||
![]() |
05ea55d73d | ||
![]() |
e64fdee0ea | ||
![]() |
90ef36d39a | ||
![]() |
d4321cea30 | ||
![]() |
9fd3781c25 | ||
![]() |
ed833307f8 | ||
![]() |
a73268fea6 | ||
![]() |
413082a23d | ||
![]() |
2b15ff26dc | ||
![]() |
42db5b3f9b | ||
![]() |
d3e58591be | ||
![]() |
5c9187a5ed | ||
![]() |
1db2652304 | ||
![]() |
003f9a329c | ||
![]() |
c7bed9de24 | ||
![]() |
1de5aa70da | ||
![]() |
eb51223fa8 | ||
![]() |
4b732c02f8 | ||
![]() |
3193ff6e0d | ||
![]() |
d66f8eef93 | ||
![]() |
9bb9bb580a | ||
![]() |
c29b43866a | ||
![]() |
e3d88bdf37 | ||
![]() |
a35db80260 | ||
![]() |
3d19b57d5e | ||
![]() |
3bd8f99678 | ||
![]() |
a01c726de4 | ||
![]() |
fe74653749 | ||
![]() |
c143634c4a | ||
![]() |
58e0946636 | ||
![]() |
d2dd3a32d0 | ||
![]() |
045dfd5a13 | ||
![]() |
ecab03d15c | ||
![]() |
6972f71077 | ||
![]() |
92c87629a0 | ||
![]() |
a0dd30d2c7 | ||
![]() |
50c6c80d8a | ||
![]() |
548ba82abe | ||
![]() |
31e47ad940 | ||
![]() |
f04f5719ec | ||
![]() |
8ab0d2fb1e | ||
![]() |
9f83f33afd | ||
![]() |
e9789a420c | ||
![]() |
8459665fcf | ||
![]() |
75083fe543 | ||
![]() |
d5d29bab37 | ||
![]() |
46d2e57e4b | ||
![]() |
8a0658e931 | ||
![]() |
9be5b22911 | ||
![]() |
71181905c3 | ||
![]() |
61a00fd205 | ||
![]() |
71c2e4f5c6 | ||
![]() |
14c05f62ad | ||
![]() |
712634ec57 | ||
![]() |
d8070914f9 | ||
![]() |
8006143d3f | ||
![]() |
b56516b77b | ||
![]() |
ac6a47e528 | ||
![]() |
d6f86a0a4c | ||
![]() |
d950555d75 | ||
![]() |
231425dbdf | ||
![]() |
2cccbc499a | ||
![]() |
92572a21bc | ||
![]() |
261c174739 | ||
![]() |
fbdfd10969 | ||
![]() |
2c2cd595c1 | ||
![]() |
2b6fc61628 | ||
![]() |
40096611cf | ||
![]() |
937b16ca60 | ||
![]() |
64d7ff5d93 | ||
![]() |
b7fb5bee75 | ||
![]() |
63d7d4de85 | ||
![]() |
035387d8c1 | ||
![]() |
f7c5769817 | ||
![]() |
6853a455cb | ||
![]() |
190f849b5a | ||
![]() |
1165ffffe0 | ||
![]() |
214812b750 | ||
![]() |
20f1a87d8b | ||
![]() |
66f904c7fb | ||
![]() |
cdf9d39242 | ||
![]() |
98c53ccd6d | ||
![]() |
5409aa7a63 | ||
![]() |
10a69d6bfd | ||
![]() |
705967641a | ||
![]() |
a5b49bdf70 | ||
![]() |
44d46f92c9 | ||
![]() |
78a2caf728 | ||
![]() |
7f5bebacab | ||
![]() |
b95ce558a6 | ||
![]() |
e75533a0ae | ||
![]() |
19a45b4399 | ||
![]() |
e08178cfce | ||
![]() |
b24c6bc21f | ||
![]() |
d1e06588a5 | ||
![]() |
13fb13ec10 | ||
![]() |
ccca047155 | ||
![]() |
7443319ad9 | ||
![]() |
db4ba8babe | ||
![]() |
c7c03ebc8c | ||
![]() |
4bd1578724 | ||
![]() |
ecd16fa3cc | ||
![]() |
3ef8a16e18 | ||
![]() |
3fc30b9941 | ||
![]() |
8fb9610c84 | ||
![]() |
dc88861a43 | ||
![]() |
871edd7aa4 | ||
![]() |
b172a5021a | ||
![]() |
9ddd1983d0 | ||
![]() |
2f00f07a2f | ||
![]() |
c043f26268 | ||
![]() |
99d689a323 | ||
![]() |
ec7275913b | ||
![]() |
255456447b | ||
![]() |
004940d9bc | ||
![]() |
6b39b028fb | ||
![]() |
9a83550378 | ||
![]() |
792443c4cf | ||
![]() |
3d52162925 | ||
![]() |
80b28f7557 | ||
![]() |
43eebdf53f | ||
![]() |
b5062fe687 | ||
![]() |
51aa15266b | ||
![]() |
19f638a129 | ||
![]() |
aa2e5ca6f4 | ||
![]() |
04eea0db71 | ||
![]() |
4645f4ee7c | ||
![]() |
bb6421c70b | ||
![]() |
622c6ee1c0 | ||
![]() |
f1befb05cc | ||
![]() |
e146e3a559 | ||
![]() |
068e773ab0 | ||
![]() |
3ae91a78a1 | ||
![]() |
6627446961 | ||
![]() |
d4fd6ece60 | ||
![]() |
a746fd147c | ||
![]() |
d0410af879 | ||
![]() |
314f1a0ca4 | ||
![]() |
066c5ce8eb | ||
![]() |
bba9629f54 | ||
![]() |
d2d59ec3ef | ||
![]() |
c080be2872 | ||
![]() |
3c17234b33 | ||
![]() |
16884abcba | ||
![]() |
2abbe4f6de | ||
![]() |
c6f9de0a64 | ||
![]() |
39f104fa5f | ||
![]() |
437ad0dbf7 | ||
![]() |
2eb354d941 | ||
![]() |
5a7f46bca4 | ||
![]() |
0bc37ff426 | ||
![]() |
0d24f85e13 | ||
![]() |
d067171ba2 | ||
![]() |
09e649d432 | ||
![]() |
87c7bd4238 | ||
![]() |
19734f6a1f | ||
![]() |
12a5ebad9f | ||
![]() |
1b964777a4 | ||
![]() |
f910d1bbbb | ||
![]() |
86461c9739 | ||
![]() |
a730255eb6 | ||
![]() |
e940cc9931 | ||
![]() |
3a70d25f2e | ||
![]() |
9e72e5fe73 | ||
![]() |
561bdcac28 | ||
![]() |
11cd2bb167 | ||
![]() |
45a71fc1d1 | ||
![]() |
3f5c10319b | ||
![]() |
e4331c8ce7 | ||
![]() |
6166615629 | ||
![]() |
27c15b4e36 | ||
![]() |
c99e8c83d1 | ||
![]() |
a0cbdd0cbb | ||
![]() |
1ed825d7ca | ||
![]() |
09099eba58 | ||
![]() |
58b2eebea5 | ||
![]() |
46a2a6c994 | ||
![]() |
0dcec12256 | ||
![]() |
50a188e807 | ||
![]() |
400f27dcc9 | ||
![]() |
90bcc744ff | ||
![]() |
cf0fae6dc1 | ||
![]() |
1b39d23ddf | ||
![]() |
c94249408c | ||
![]() |
f4f207fa25 | ||
![]() |
307067629e | ||
![]() |
f9174e4505 | ||
![]() |
320d44c78d | ||
![]() |
091526a17b | ||
![]() |
9ec61d645d | ||
![]() |
0630043210 | ||
![]() |
2933d1d3bb | ||
![]() |
aa5118cdf6 | ||
![]() |
ec1c87070b | ||
![]() |
e806dc07a4 | ||
![]() |
9e7478f4c4 | ||
![]() |
686dd1c946 | ||
![]() |
548a2fa835 | ||
![]() |
1338df7b8a | ||
![]() |
150e438c59 | ||
![]() |
285f262a01 | ||
![]() |
7989dd17d4 | ||
![]() |
5f4070b481 | ||
![]() |
00160137e8 | ||
![]() |
51510ae047 | ||
![]() |
4fc95db0e9 | ||
![]() |
a1f899c1de | ||
![]() |
e358e737be | ||
![]() |
0e35d26f20 | ||
![]() |
ede04405d1 | ||
![]() |
30aa2df2d2 | ||
![]() |
47d582f855 | ||
![]() |
fa1fcc3dd0 | ||
![]() |
04bc95720b | ||
![]() |
5c539ec003 | ||
![]() |
b19201e561 | ||
![]() |
7e21c93e22 | ||
![]() |
c81efe61d0 | ||
![]() |
6fe8e12509 | ||
![]() |
44b243489b | ||
![]() |
548dca2bb1 | ||
![]() |
b3e47b85f3 | ||
![]() |
087d3666b8 | ||
![]() |
77f4354499 | ||
![]() |
362bf368ce | ||
![]() |
fc17256fd2 | ||
![]() |
887aff5c5b | ||
![]() |
6ec26f1216 | ||
![]() |
357c74e3e0 | ||
![]() |
4b419810ea | ||
![]() |
0a313172bd | ||
![]() |
93eec0ff5a | ||
![]() |
f9fc8d9a6a | ||
![]() |
c537b9cfe4 | ||
![]() |
c37fe75f0d | ||
![]() |
4034289a7f | ||
![]() |
9b5c572ab9 | ||
![]() |
10c6344493 | ||
![]() |
fc386fcad9 | ||
![]() |
a680a61825 | ||
![]() |
a075ca5f7b | ||
![]() |
a816d2be25 | ||
![]() |
52ff0fb71e | ||
![]() |
95fd919a6f | ||
![]() |
85778dd374 | ||
![]() |
3b65b2c87f | ||
![]() |
ee3a0ee8c4 | ||
![]() |
3b721690f1 | ||
![]() |
96b2ed2f4c | ||
![]() |
d6d39ad946 | ||
![]() |
f8db72ebad | ||
![]() |
9a8ee943a9 | ||
![]() |
520c5ba43b | ||
![]() |
4205c07993 | ||
![]() |
7cd1dc3c27 | ||
![]() |
d96ef8af35 | ||
![]() |
2defd83f0f | ||
![]() |
ba10e2115a | ||
![]() |
1d4a5d960f | ||
![]() |
ec492c005f | ||
![]() |
624d57c374 | ||
![]() |
e7dda56408 | ||
![]() |
c3e135de9e | ||
![]() |
b84fc502b5 | ||
![]() |
b18b662cef | ||
![]() |
3070e4abac | ||
![]() |
052033fe42 | ||
![]() |
c37bb67c09 | ||
![]() |
0728a148b8 | ||
![]() |
6bf687dbf8 | ||
![]() |
e656ec9f33 | ||
![]() |
d522fb07d5 | ||
![]() |
39d98b2b6c | ||
![]() |
6dfab4aa5f | ||
![]() |
c5bdae6466 | ||
![]() |
f79267a39e | ||
![]() |
ea05749f0e | ||
![]() |
2dd027028c | ||
![]() |
3a4b1c8670 | ||
![]() |
e2b92c9519 | ||
![]() |
1defbd32f9 | ||
![]() |
edd303bab1 | ||
![]() |
43041f42fc | ||
![]() |
250bfc33e6 | ||
![]() |
b7d4af7c0a | ||
![]() |
631d952923 | ||
![]() |
744dd361f0 | ||
![]() |
719b5893d7 | ||
![]() |
228f6f29dc | ||
![]() |
3ea24f7e7f | ||
![]() |
418069773f | ||
![]() |
0791000f10 | ||
![]() |
cee94a9664 | ||
![]() |
d42a6c4150 | ||
![]() |
73160b0cfe | ||
![]() |
2d5225e205 | ||
![]() |
d7e9f05588 | ||
![]() |
f936bdd117 | ||
![]() |
fc05a338c7 | ||
![]() |
367e2f78d3 | ||
![]() |
6af1df3862 | ||
![]() |
a1c124cb38 | ||
![]() |
07b1a0d0ce | ||
![]() |
a3f215c211 | ||
![]() |
c31fdae5e4 | ||
![]() |
c208bc8946 | ||
![]() |
6c285b203d | ||
![]() |
a867458f4b | ||
![]() |
973fbf6637 | ||
![]() |
367f209c73 | ||
![]() |
06f384a206 | ||
![]() |
2ce4001fa8 | ||
![]() |
fe2e3ba5f4 | ||
![]() |
0830e0da77 | ||
![]() |
195f0b192f | ||
![]() |
f98d2000e3 | ||
![]() |
54f49944cc | ||
![]() |
7525ecddc2 | ||
![]() |
09ab64c361 | ||
![]() |
2b3f87b885 | ||
![]() |
213bb31133 | ||
![]() |
b0130d9f7d | ||
![]() |
07a3be644c | ||
![]() |
262bc47260 | ||
![]() |
51553a05f0 | ||
![]() |
bd06ee211b | ||
![]() |
cc8e889825 | ||
![]() |
a6144122b2 | ||
![]() |
853e0c818f | ||
![]() |
1c5fb55d89 | ||
![]() |
d48fb1a300 | ||
![]() |
f2aa9d2661 | ||
![]() |
d721e1cfc2 | ||
![]() |
7f7bf2152c | ||
![]() |
a9543de1e7 | ||
![]() |
39e4073837 | ||
![]() |
d2782349d5 | ||
![]() |
fe97815460 | ||
![]() |
7bcaa69d5b | ||
![]() |
30ae3f6b3c | ||
![]() |
6540e11fa9 | ||
![]() |
14f2145239 | ||
![]() |
856a0aed08 | ||
![]() |
5c6b91f1ce | ||
![]() |
152b8ca060 | ||
![]() |
0f8870fed0 | ||
![]() |
742ae6784b | ||
![]() |
ce4c8c0a7c | ||
![]() |
40de449fed | ||
![]() |
4c27864248 | ||
![]() |
3efb2b7451 | ||
![]() |
721e222849 | ||
![]() |
77b9d62d76 | ||
![]() |
efe3c947c2 | ||
![]() |
beee2e40e0 | ||
![]() |
895d606175 | ||
![]() |
9a17df96f3 | ||
![]() |
d2e1a1678a | ||
![]() |
d8451e2699 | ||
![]() |
f98ab74905 | ||
![]() |
6e453ea2ab | ||
![]() |
d6ca890c80 | ||
![]() |
46aecfe65a | ||
![]() |
496c07ff7e | ||
![]() |
3a63f4fad7 | ||
![]() |
bbf99507d6 | ||
![]() |
2a92cfd155 | ||
![]() |
31a5377cf4 | ||
![]() |
633a33796c | ||
![]() |
9b224317bb | ||
![]() |
a410fcaa19 | ||
![]() |
a6b2ddd2f9 | ||
![]() |
2e4a3660cc | ||
![]() |
2b0620b2d9 | ||
![]() |
98fc43cf7d | ||
![]() |
de1101c7ec | ||
![]() |
c42f3bb27b | ||
![]() |
267007b7e8 | ||
![]() |
77288da0de | ||
![]() |
1764ccd9f4 | ||
![]() |
14f8c27eca | ||
![]() |
884b7b323d | ||
![]() |
a0795b35db | ||
![]() |
0db4e4c32a | ||
![]() |
71a084943c | ||
![]() |
6bad597805 | ||
![]() |
b11aefd592 | ||
![]() |
f280f6402b | ||
![]() |
157b3da43e | ||
![]() |
5de693297f | ||
![]() |
65633ca62c | ||
![]() |
81589efb00 | ||
![]() |
1d50bb5ed2 | ||
![]() |
b5a19fa7d6 | ||
![]() |
fc76bac8b0 | ||
![]() |
f671c31130 | ||
![]() |
cdb84e8f21 | ||
![]() |
121625515a | ||
![]() |
60b6e1c960 | ||
![]() |
6628e9f879 | ||
![]() |
a3178e06af | ||
![]() |
fc86946cff | ||
![]() |
e440386999 | ||
![]() |
01c864bd64 | ||
![]() |
16cc468cf1 | ||
![]() |
1147c8fff6 | ||
![]() |
6b0fd9e244 | ||
![]() |
05bb9417b0 | ||
![]() |
03fc50852a | ||
![]() |
4de91bb7f2 | ||
![]() |
96b9a3b38d | ||
![]() |
da52d6e596 | ||
![]() |
b369e34f32 | ||
![]() |
e456061d19 | ||
![]() |
a87de9c37c | ||
![]() |
6283970443 | ||
![]() |
200ca109b1 | ||
![]() |
acded37e83 | ||
![]() |
782a40e1e8 | ||
![]() |
7b2bb803b3 | ||
![]() |
0e0561b081 | ||
![]() |
e3cf2e1337 | ||
![]() |
c18316250b | ||
![]() |
29a8666d7d | ||
![]() |
431125e46c | ||
![]() |
dae6541185 | ||
![]() |
41d0edb6c1 | ||
![]() |
5d9d11c388 | ||
![]() |
3b26c04bdd | ||
![]() |
01d41ae38e | ||
![]() |
22d5859432 | ||
![]() |
551b185dd9 | ||
![]() |
2edf12fb8b | ||
![]() |
fbdf79e05e | ||
![]() |
92e37ef847 | ||
![]() |
62084600a5 | ||
![]() |
8867ab1cbe | ||
![]() |
c3e09c341f | ||
![]() |
6cf4deceb7 | ||
![]() |
0dd790cf7a | ||
![]() |
6353b68c3e | ||
![]() |
fadd5b2fb5 | ||
![]() |
1d4add88ec | ||
![]() |
0b779d5f3a | ||
![]() |
2898745383 | ||
![]() |
892546886b | ||
![]() |
b09f039929 | ||
![]() |
86bcfa21fa | ||
![]() |
f97eeff745 | ||
![]() |
205e10d86b | ||
![]() |
3eb0794f08 | ||
![]() |
a1abc5970f | ||
![]() |
7b0839ad92 | ||
![]() |
3f20ddcd65 | ||
![]() |
24e0282eb7 | ||
![]() |
9fba521bc5 | ||
![]() |
60a34aac97 | ||
![]() |
15daf8c090 | ||
![]() |
7e4459ca8d | ||
![]() |
5ef2aad372 | ||
![]() |
4c6f4a9da9 | ||
![]() |
fd7f3692dd | ||
![]() |
f48b462c51 | ||
![]() |
287bc7700c | ||
![]() |
ee5e2745e2 | ||
![]() |
31fb07e180 | ||
![]() |
aaf8513688 | ||
![]() |
acd2812218 | ||
![]() |
665357e538 | ||
![]() |
f678352b78 | ||
![]() |
17b39caef7 | ||
![]() |
38ab9f2e43 | ||
![]() |
aa4da56910 | ||
![]() |
ea8e851e45 | ||
![]() |
90e6c9869d | ||
![]() |
628eb99f62 | ||
![]() |
a0293cc081 | ||
![]() |
d37dcdd20c | ||
![]() |
f0ff631b0d | ||
![]() |
b84bd07073 | ||
![]() |
b800906956 | ||
![]() |
049b38d3c1 | ||
![]() |
27c2500c92 | ||
![]() |
a182b2a134 | ||
![]() |
43abf793b8 | ||
![]() |
e11fa8d377 | ||
![]() |
fb94544bb0 | ||
![]() |
67f687d6b9 | ||
![]() |
879efc07e8 | ||
![]() |
29bcb26d04 | ||
![]() |
e04a8dc0ed | ||
![]() |
c7e70bf933 | ||
![]() |
1700abc7de | ||
![]() |
3ef857dba9 | ||
![]() |
5acc2e8f9e | ||
![]() |
0caa00a1a1 | ||
![]() |
b27a5ac7cb | ||
![]() |
24261c9193 | ||
![]() |
d1aa9c0f7c | ||
![]() |
a18d387379 | ||
![]() |
2d9cbf9195 | ||
![]() |
64abda14ce | ||
![]() |
3625675577 | ||
![]() |
e6e115a65d | ||
![]() |
9832b566db | ||
![]() |
f3211eabe0 | ||
![]() |
82c1d00af4 | ||
![]() |
70386eaeec | ||
![]() |
7413155dea | ||
![]() |
cfd1706f5f | ||
![]() |
5eca63c50d | ||
![]() |
d3f471a281 | ||
![]() |
b4acd7aef2 | ||
![]() |
49a3ef3c42 | ||
![]() |
56eaa9d90b | ||
![]() |
492dbbec24 | ||
![]() |
d2fc5e3433 | ||
![]() |
b5cc3f6d84 | ||
![]() |
e1e1041c1b | ||
![]() |
e1cac645a7 | ||
![]() |
d23d533575 | ||
![]() |
d447a4a65a | ||
![]() |
3a466277e3 | ||
![]() |
2b09ceef93 | ||
![]() |
ee30409257 | ||
![]() |
c5edb65550 | ||
![]() |
70583bdb33 | ||
![]() |
8e1a299a72 | ||
![]() |
e20aba4907 | ||
![]() |
1aedf22923 | ||
![]() |
e77671ffef | ||
![]() |
433f8ef60d | ||
![]() |
acb261ba69 | ||
![]() |
b04b5a136f | ||
![]() |
953f4ba908 | ||
![]() |
90e65b5614 | ||
![]() |
944437ea4c | ||
![]() |
5d0593bf65 | ||
![]() |
4935e627f6 | ||
![]() |
f7d535d025 | ||
![]() |
67280d6ad0 | ||
![]() |
e21332d016 | ||
![]() |
f306bc2b22 | ||
![]() |
475745cc6c | ||
![]() |
90c43c84e5 | ||
![]() |
a81b672731 | ||
![]() |
b86ec388b6 | ||
![]() |
5dd0fce394 | ||
![]() |
a66dc2f91c | ||
![]() |
0072292522 | ||
![]() |
d3f534629d | ||
![]() |
1407e1ba0d | ||
![]() |
b9bce4800c | ||
![]() |
a5a424b6ed | ||
![]() |
9c8b21233c | ||
![]() |
b564696728 | ||
![]() |
c669c82324 | ||
![]() |
8014f4d636 | ||
![]() |
7f80f52294 | ||
![]() |
485db3808f | ||
![]() |
7b10339aea | ||
![]() |
ed5c32a7a4 | ||
![]() |
c42a379ca0 | ||
![]() |
22c17c3123 | ||
![]() |
e4f82c1304 | ||
![]() |
07fa46b9a6 | ||
![]() |
809ce0d4ad | ||
![]() |
deb97e0e29 | ||
![]() |
14a89a2ff9 | ||
![]() |
81b40d145d | ||
![]() |
1dfce3d445 | ||
![]() |
145b2c29d1 | ||
![]() |
77fe046bea | ||
![]() |
63250c6ac9 | ||
![]() |
54e0f720bd | ||
![]() |
423670f95f | ||
![]() |
78560aa07a | ||
![]() |
1c6ff7ac55 | ||
![]() |
eb9b7ea8f0 | ||
![]() |
753b949af2 | ||
![]() |
2322cdcdc0 | ||
![]() |
edc8128395 | ||
![]() |
cc22f73f5c | ||
![]() |
8312de35c8 | ||
![]() |
a3a8d7e08c | ||
![]() |
0513692cf5 | ||
![]() |
bfa6e00c2f | ||
![]() |
c61fa6b4c7 | ||
![]() |
c754451002 | ||
![]() |
8d4cb82863 | ||
![]() |
ae18134218 | ||
![]() |
fb20543d88 | ||
![]() |
14d1489b60 | ||
![]() |
e99ac83fbc | ||
![]() |
d96b103180 | ||
![]() |
7f1dc95402 | ||
![]() |
e3420e357c | ||
![]() |
5ee51ebb18 | ||
![]() |
684ec0f823 | ||
![]() |
5335e3d607 | ||
![]() |
3fc51e6158 | ||
![]() |
4a20e8beef | ||
![]() |
163ac52332 | ||
![]() |
176c5447a8 | ||
![]() |
1a88fa93bb | ||
![]() |
b0d266aedc | ||
![]() |
eba81c236a | ||
![]() |
cdca92ea02 | ||
![]() |
a4743aabf5 | ||
![]() |
cf8465e627 | ||
![]() |
86941f05d0 | ||
![]() |
cbb777f524 | ||
![]() |
d20d00e42f | ||
![]() |
348981a1a0 | ||
![]() |
0942d79e2c | ||
![]() |
0251bd1838 | ||
![]() |
ae5e240cf1 | ||
![]() |
dd127b973a | ||
![]() |
63b186a2e5 | ||
![]() |
bc71ba1d19 | ||
![]() |
9c3bd970a5 | ||
![]() |
9f143786af | ||
![]() |
e8ccada6f3 | ||
![]() |
a40092b1eb | ||
![]() |
00965b5224 | ||
![]() |
92dc97d325 | ||
![]() |
2394f148e5 | ||
![]() |
8d259a3e3a | ||
![]() |
1c8912e92e | ||
![]() |
207c08431f | ||
![]() |
d2703d4885 | ||
![]() |
4728191370 | ||
![]() |
cd40d75962 | ||
![]() |
2d4732d03b | ||
![]() |
e3c256b41f | ||
![]() |
f0a53f252c | ||
![]() |
a1273d99d5 | ||
![]() |
4e62956c82 | ||
![]() |
cf096a7f6a | ||
![]() |
ee790dc6fd | ||
![]() |
df9bc9ed6c | ||
![]() |
69338b4abf | ||
![]() |
c206054dc8 | ||
![]() |
a2bcba5916 | ||
![]() |
788b68f6bc | ||
![]() |
73697f43aa | ||
![]() |
129df382cd | ||
![]() |
c15eb4edc3 | ||
![]() |
12725caa1c | ||
![]() |
6077c33fcc | ||
![]() |
b944d818c8 | ||
![]() |
f25fbb3440 | ||
![]() |
0b9d43f130 | ||
![]() |
884da31fd0 | ||
![]() |
6dbfb0ac64 | ||
![]() |
3bef9579b4 | ||
![]() |
0ea1f92d4c | ||
![]() |
77d44d44c6 | ||
![]() |
e8c1eac2af | ||
![]() |
2f992b82cf | ||
![]() |
fe70b24859 | ||
![]() |
d18f0469fc | ||
![]() |
497c5d0e5e | ||
![]() |
834435db00 | ||
![]() |
3d8195e24b | ||
![]() |
ce31587f22 | ||
![]() |
6342ae1a33 | ||
![]() |
88eb894fde | ||
![]() |
8870668c21 | ||
![]() |
cd379fa8d7 | ||
![]() |
fd029492f7 | ||
![]() |
29b0d6f978 | ||
![]() |
bed2afe44d | ||
![]() |
1922fc825e | ||
![]() |
8c3ea99429 | ||
![]() |
d8929da5ec | ||
![]() |
4a5e8c7311 | ||
![]() |
600b487f43 | ||
![]() |
ed013e9b6f | ||
![]() |
5a299a73dc | ||
![]() |
82f3837db1 | ||
![]() |
69cf1ccf6c | ||
![]() |
bf76ee7108 | ||
![]() |
7a1c3970ea | ||
![]() |
a679b1c7e0 | ||
![]() |
bb448f3194 | ||
![]() |
b017a0a785 | ||
![]() |
00d141a4da | ||
![]() |
88dfc50c50 | ||
![]() |
61ad1106c5 | ||
![]() |
f47d738577 | ||
![]() |
323f36a514 | ||
![]() |
151b1d2230 | ||
![]() |
f58f8f1a0a | ||
![]() |
7c786048cc | ||
![]() |
2c0a34c0e1 | ||
![]() |
b6320787e7 | ||
![]() |
c695e0a1f5 | ||
![]() |
8acd6538a5 | ||
![]() |
e18bb8f1b2 | ||
![]() |
d74f9565e4 | ||
![]() |
3016267a7b | ||
![]() |
d1b347b46f | ||
![]() |
777440ef22 | ||
![]() |
f104ff1519 | ||
![]() |
a7a0d26b27 | ||
![]() |
058cebb0b4 | ||
![]() |
af146e3989 | ||
![]() |
69c306bb69 | ||
![]() |
1cfe6190b6 | ||
![]() |
4b40e66534 | ||
![]() |
96af9412b3 | ||
![]() |
1ec9568997 | ||
![]() |
9a0f907bd4 | ||
![]() |
1d59a914b8 | ||
![]() |
91090aa87e | ||
![]() |
e1a3109a95 | ||
![]() |
c53d653751 | ||
![]() |
e95b99a742 | ||
![]() |
548f1f7107 | ||
![]() |
0a59f1ea2b | ||
![]() |
4b96b405ec | ||
![]() |
aaa6ced022 | ||
![]() |
0582716f19 | ||
![]() |
71df26f256 | ||
![]() |
8db0f6585e | ||
![]() |
0d703ac531 | ||
![]() |
55d73b3fbd | ||
![]() |
741bff8a8a | ||
![]() |
f8dcebb14d | ||
![]() |
d054c3e07f | ||
![]() |
c962f93dda | ||
![]() |
2bea049d20 | ||
![]() |
407a7b3703 | ||
![]() |
e57e8d32cb | ||
![]() |
417475643c | ||
![]() |
99801eb90a | ||
![]() |
28a061e4ee | ||
![]() |
be776f10a8 | ||
![]() |
57bfea7b71 | ||
![]() |
9126df161a | ||
![]() |
6ced4573b0 | ||
![]() |
be38c8eab7 | ||
![]() |
cab8e0e9f1 | ||
![]() |
e1378b9f92 | ||
![]() |
23d051e6bc | ||
![]() |
c3c1b4b246 | ||
![]() |
caa3a2a7c7 | ||
![]() |
f235eb42b6 | ||
![]() |
7aae640999 | ||
![]() |
7c606ef48c | ||
![]() |
cca70f538c | ||
![]() |
ac8f0c3e95 | ||
![]() |
7c1a19f6a1 | ||
![]() |
41e02bf064 | ||
![]() |
d8fcae856b | ||
![]() |
c4c7f55334 | ||
![]() |
76c10271f3 | ||
![]() |
88a271cf9d | ||
![]() |
fb74835018 | ||
![]() |
c801ff0241 | ||
![]() |
dfc3cd706a | ||
![]() |
95a1a3b860 | ||
![]() |
f5462ca5ba | ||
![]() |
f42722c526 | ||
![]() |
4d02900162 | ||
![]() |
3ca8bdd0a5 | ||
![]() |
371b054302 | ||
![]() |
055614e6ee | ||
![]() |
7d712b13fe | ||
![]() |
5ee8383868 | ||
![]() |
54f012f5be | ||
![]() |
d28a642283 | ||
![]() |
91becdeeb5 | ||
![]() |
b7c5b8a47e | ||
![]() |
776aad8427 | ||
![]() |
bcf9b8aa7c | ||
![]() |
15d0161240 | ||
![]() |
998db85994 | ||
![]() |
e6586b52cd | ||
![]() |
937964a02b | ||
![]() |
9b4afdfb35 | ||
![]() |
2121e663a0 | ||
![]() |
46699664dc | ||
![]() |
98ec788fb3 | ||
![]() |
e248862905 | ||
![]() |
8ba8acf675 | ||
![]() |
a7cf1ad918 | ||
![]() |
492ce3e38b | ||
![]() |
eaa5c217db | ||
![]() |
410d681d23 | ||
![]() |
deaf9f0fec | ||
![]() |
7ed3313c55 | ||
![]() |
1477ff7bb2 | ||
![]() |
7e2f6606bf | ||
![]() |
2acc8fc737 | ||
![]() |
96fe90ce9d | ||
![]() |
acf25e5375 | ||
![]() |
aa35e03692 | ||
![]() |
31cf9eb577 | ||
![]() |
9a8ebd3558 | ||
![]() |
148c587283 | ||
![]() |
7c9c4cbabb | ||
![]() |
20f14934c2 | ||
![]() |
840e67d12d | ||
![]() |
8ef57a265e | ||
![]() |
8677357450 | ||
![]() |
79ac2dae4f | ||
![]() |
20cad07a0b | ||
![]() |
2c97af2fef | ||
![]() |
95ded6296c | ||
![]() |
3b46095821 | ||
![]() |
1bf4e74e56 | ||
![]() |
9b75b46c49 | ||
![]() |
107077f5ec | ||
![]() |
528b70bfa2 | ||
![]() |
75ab4625b1 | ||
![]() |
bac3054ec2 | ||
![]() |
d63fd5f212 | ||
![]() |
c8b9df7ae5 | ||
![]() |
12daa88f39 | ||
![]() |
c5d895388b | ||
![]() |
5678d2cab5 | ||
![]() |
99d939a3a0 | ||
![]() |
c9a87e8514 | ||
![]() |
af08829f7d | ||
![]() |
28a59a4eac | ||
![]() |
727387931c | ||
![]() |
13a085099c | ||
![]() |
473f390ee6 | ||
![]() |
65cfc0933a | ||
![]() |
321e7f6df5 | ||
![]() |
dda623f040 | ||
![]() |
80d1147d08 | ||
![]() |
b28abcd6f2 | ||
![]() |
93885492d7 | ||
![]() |
ed5daa780d | ||
![]() |
00501edadd | ||
![]() |
fdb1472f9e | ||
![]() |
b176fbd365 | ||
![]() |
f2b0e49aa9 | ||
![]() |
5b8df68db5 | ||
![]() |
fce4b7dde9 | ||
![]() |
ba43672bf6 | ||
![]() |
1b93485064 | ||
![]() |
8d9f12d676 | ||
![]() |
1a89aa39c2 | ||
![]() |
6b60188702 | ||
![]() |
5e410040cc | ||
![]() |
b00f39f850 | ||
![]() |
7e396c5a4d | ||
![]() |
4d43f0bb9b | ||
![]() |
3512bb9dfe | ||
![]() |
7dde897e41 | ||
![]() |
f2cad0fe88 | ||
![]() |
eed2d8f68d | ||
![]() |
d1aebe2fbe | ||
![]() |
013614b149 | ||
![]() |
d55446d5cc | ||
![]() |
80a225e814 | ||
![]() |
c7e63308c5 | ||
![]() |
7bc712b5f3 | ||
![]() |
cf95a84f2a | ||
![]() |
b1e35836f9 | ||
![]() |
a794ab5c52 | ||
![]() |
8fd7d9cde9 | ||
![]() |
93f2f04bae | ||
![]() |
b2a8d78c73 | ||
![]() |
025afc37d4 | ||
![]() |
be5ca21019 | ||
![]() |
69584215b8 | ||
![]() |
e6cef96a03 | ||
![]() |
a6d4a71500 | ||
![]() |
388d8a7e27 | ||
![]() |
9df1b1b981 | ||
![]() |
82d426c14b | ||
![]() |
a2c5073a3d | ||
![]() |
11077b9178 | ||
![]() |
6e8011f111 | ||
![]() |
c6e23b58c5 | ||
![]() |
3267f1165e | ||
![]() |
e46d4764fd | ||
![]() |
2fb4829f68 | ||
![]() |
6009c45e5a | ||
![]() |
69505a1dca | ||
![]() |
c195d903c7 | ||
![]() |
07c1422bbb | ||
![]() |
6be688515d | ||
![]() |
5d83f12b35 | ||
![]() |
008c6a099a | ||
![]() |
125b72177c | ||
![]() |
75054731f4 | ||
![]() |
d36ce74eae | ||
![]() |
2433fa8a66 | ||
![]() |
adbff26d18 | ||
![]() |
bdcdeb9b55 | ||
![]() |
0636708dac | ||
![]() |
eb65b94ef4 | ||
![]() |
01b51f6ef1 | ||
![]() |
89b81cf1b8 | ||
![]() |
54396f4dc0 | ||
![]() |
0660a4c6e9 | ||
![]() |
cba7768e39 | ||
![]() |
a040ab42c3 | ||
![]() |
fa6c01a380 | ||
![]() |
ed6c415bb2 | ||
![]() |
59c71d9bb2 | ||
![]() |
7dde1b3bb7 | ||
![]() |
1d994fa1fe | ||
![]() |
5a9191fea5 | ||
![]() |
790b3ac3d2 | ||
![]() |
f298dd2979 | ||
![]() |
df7a7e2d3d | ||
![]() |
e28ca112de | ||
![]() |
a34dc0f4a0 | ||
![]() |
3eb682b0d9 | ||
![]() |
d824ab39dd | ||
![]() |
5d27d602d2 | ||
![]() |
66f3fd227b | ||
![]() |
e8f38fc73c | ||
![]() |
6f5756f3bf | ||
![]() |
a56b1d6614 | ||
![]() |
967492de76 | ||
![]() |
2b876fbb2e | ||
![]() |
8a0b0df3ff | ||
![]() |
20f4e959d6 | ||
![]() |
a46317f1d2 | ||
![]() |
d264c9154e | ||
![]() |
96dacd5838 | ||
![]() |
5a6f58a96d | ||
![]() |
05e57ff255 | ||
![]() |
cd32208639 | ||
![]() |
ecfd56f2f8 | ||
![]() |
4bfba0c633 | ||
![]() |
02251b0b03 | ||
![]() |
cf486aa9c7 | ||
![]() |
1dafc6a881 | ||
![]() |
4c70245e4f | ||
![]() |
b2a79c2732 | ||
![]() |
8ad9f92752 | ||
![]() |
3cf45385db | ||
![]() |
83c697a7ae | ||
![]() |
6b62c2c701 | ||
![]() |
428e10bc5a | ||
![]() |
6deeeaf9d9 | ||
![]() |
2c191482ab | ||
![]() |
cc934652cc | ||
![]() |
7641184189 | ||
![]() |
fae0dff78b | ||
![]() |
d0b7922ebb | ||
![]() |
6433ba14aa | ||
![]() |
bf8cbee305 | ||
![]() |
af24d3ed3d | ||
![]() |
942323218c | ||
![]() |
d1baf26c08 | ||
![]() |
8aa288d9aa | ||
![]() |
9c71856e49 | ||
![]() |
9300a794b1 | ||
![]() |
6d57058d9e | ||
![]() |
b6e5b24514 | ||
![]() |
f1d99aa191 | ||
![]() |
5597ad8c7d | ||
![]() |
cce1a68c0b | ||
![]() |
b3116d0c86 | ||
![]() |
0540f4f0ae | ||
![]() |
172fbcfbfb | ||
![]() |
2cfb171f9e | ||
![]() |
d1e589f60c | ||
![]() |
e866263fd0 | ||
![]() |
f749f7311c | ||
![]() |
29f0caf070 | ||
![]() |
b3a16435f8 | ||
![]() |
2a17b0faa1 | ||
![]() |
b29206df52 | ||
![]() |
88210f6f0f | ||
![]() |
571353a1f0 | ||
![]() |
22a2b3e308 | ||
![]() |
c91642cbb8 | ||
![]() |
12f334292a | ||
![]() |
9394ae46e8 | ||
![]() |
aa82875644 | ||
![]() |
6245c70de5 | ||
![]() |
51a85ac675 | ||
![]() |
a9d62233b4 | ||
![]() |
b9ff083fee | ||
![]() |
a8efa359f9 | ||
![]() |
0be27d429a | ||
![]() |
e6de1f6d5c | ||
![]() |
7db1b24358 | ||
![]() |
7b68f9b26c | ||
![]() |
9c0427be0d | ||
![]() |
da32ba604a | ||
![]() |
011c83bfc9 | ||
![]() |
5bc0364110 | ||
![]() |
b4e09ac819 | ||
![]() |
baa8b31078 | ||
![]() |
54c3afaa31 | ||
![]() |
00bc00d877 | ||
![]() |
9f03167c1e | ||
![]() |
b7add5ed8d | ||
![]() |
d78df1cd0a | ||
![]() |
b231f486b0 | ||
![]() |
0601a8583f | ||
![]() |
d9190b121f | ||
![]() |
d568cdadf1 | ||
![]() |
c17d98e073 | ||
![]() |
7d3a878c56 | ||
![]() |
f7d5605d2d | ||
![]() |
306a94261b | ||
![]() |
484dc39338 | ||
![]() |
dca9b3a1da | ||
![]() |
f11f9f0d71 | ||
![]() |
e10d41cb76 | ||
![]() |
b929b8e12a | ||
![]() |
f4d8ab82f1 | ||
![]() |
7aa17ef998 | ||
![]() |
aa2da9a398 | ||
![]() |
d920da77f2 | ||
![]() |
5920c352bd | ||
![]() |
934ea784cc | ||
![]() |
2577c24b08 | ||
![]() |
da74fc8a93 | ||
![]() |
1a2b4a1b02 | ||
![]() |
da7dfc58ef | ||
![]() |
c14b8279b6 | ||
![]() |
ebf5c7e0ac | ||
![]() |
86aa6a2041 | ||
![]() |
f0f7f13293 | ||
![]() |
d71a0af48d | ||
![]() |
2037a93c84 | ||
![]() |
40cdde008d | ||
![]() |
fad037d8f8 | ||
![]() |
b4a973dbf7 | ||
![]() |
ffc19cd7ce | ||
![]() |
68a7f37439 | ||
![]() |
a5a73fd188 | ||
![]() |
f030fa8140 | ||
![]() |
f2fefdaa9e | ||
![]() |
1a585304f3 | ||
![]() |
05e1f58c1a | ||
![]() |
dda87bb14f | ||
![]() |
2bce17eb46 | ||
![]() |
5356483d71 | ||
![]() |
a465c23cb3 | ||
![]() |
26c2519c8b | ||
![]() |
8ee63e6a8b | ||
![]() |
c71895ffcf | ||
![]() |
e52ae48f28 | ||
![]() |
340f591c09 | ||
![]() |
e873fed3f2 | ||
![]() |
b60dc747c6 | ||
![]() |
996d31ca5b | ||
![]() |
6bbe0a166d | ||
![]() |
48d500776a | ||
![]() |
4e3cfb2e86 | ||
![]() |
5361d1d182 | ||
![]() |
4a0d0aa896 | ||
![]() |
cab639f687 | ||
![]() |
2c4a905d36 | ||
![]() |
3119cf064b | ||
![]() |
a3b678e88b | ||
![]() |
e03b82a0d1 | ||
![]() |
546186670d | ||
![]() |
b02e9f864c | ||
![]() |
f7ba0acf96 | ||
![]() |
214856b97f | ||
![]() |
5410a0dc5f | ||
![]() |
a1049bce2c | ||
![]() |
660f2bce9f | ||
![]() |
065c0a0ab2 | ||
![]() |
61cb0c50da | ||
![]() |
c897cd3860 | ||
![]() |
184ccea8c2 | ||
![]() |
d5b8e6af8b | ||
![]() |
ff120808ad | ||
![]() |
ceaa91b511 | ||
![]() |
1f0ba55904 | ||
![]() |
37a97bf2a5 | ||
![]() |
109ccc1599 | ||
![]() |
cbdf348bd1 | ||
![]() |
d17079951c | ||
![]() |
a69402a205 | ||
![]() |
2b4472d9fe | ||
![]() |
6e9b54a5ff | ||
![]() |
10e3e5358e | ||
![]() |
3ff8eb8f14 | ||
![]() |
e4fa0716aa | ||
![]() |
fd3522eb54 | ||
![]() |
80d7c3e9cb | ||
![]() |
0df7bedbab | ||
![]() |
51cdae471f | ||
![]() |
ce79ef402e | ||
![]() |
d63c838799 | ||
![]() |
e209704acf | ||
![]() |
01d19609c4 | ||
![]() |
ee3bdfc9a0 | ||
![]() |
a0db71d3ff | ||
![]() |
fc40ee55c3 | ||
![]() |
2f61fcabf2 | ||
![]() |
9d30a98ff3 | ||
![]() |
b3c0b7a4e8 | ||
![]() |
3705aea23d | ||
![]() |
5a7f215604 | ||
![]() |
2608545104 | ||
![]() |
a78361ec9f | ||
![]() |
9b79092328 | ||
![]() |
41198b04be | ||
![]() |
c4684f0073 | ||
![]() |
063cabc610 | ||
![]() |
72304ff12e | ||
![]() |
d7e0aacd9a | ||
![]() |
3add028519 | ||
![]() |
1ef26ef98b | ||
![]() |
5d56f2bd01 | ||
![]() |
71c57b277b | ||
![]() |
38afd31cff | ||
![]() |
7a460ca0de | ||
![]() |
f3d5fef59d | ||
![]() |
10f1519c33 | ||
![]() |
aecb6d45ff | ||
![]() |
1c763939b9 | ||
![]() |
fbabf9c02c | ||
![]() |
d584761891 | ||
![]() |
65e85e5991 | ||
![]() |
ae665652ca | ||
![]() |
d5c494d510 | ||
![]() |
4760d5562a | ||
![]() |
455af2d04a | ||
![]() |
e13adaa5ca | ||
![]() |
cae4d7702d | ||
![]() |
ed6001f1bc | ||
![]() |
18e1b4032a | ||
![]() |
67b7871464 | ||
![]() |
1be67ff695 | ||
![]() |
8f3a4a425d | ||
![]() |
166010a3a1 | ||
![]() |
dd6f54cbbe | ||
![]() |
bc50cce9bb | ||
![]() |
100d1d9aa4 | ||
![]() |
56d5191734 | ||
![]() |
81e0a8ee80 | ||
![]() |
7af4a9c0f4 | ||
![]() |
769faa5877 | ||
![]() |
c1510e8dfe | ||
![]() |
632a29ed35 | ||
![]() |
04cf43eaf9 | ||
![]() |
34a25d9034 | ||
![]() |
7841145c72 | ||
![]() |
156ef8cb1f | ||
![]() |
3936dab5cf | ||
![]() |
aa5118a2ec | ||
![]() |
e8ff6841b2 | ||
![]() |
78d3fc96b3 | ||
![]() |
f4054126b3 | ||
![]() |
380363663c | ||
![]() |
3bb8b54286 | ||
![]() |
92975614b8 | ||
![]() |
f7a769d894 | ||
![]() |
4d8648720d | ||
![]() |
e9bbb411c0 | ||
![]() |
fcc6866980 | ||
![]() |
ce7e613017 | ||
![]() |
eb4f49c62b | ||
![]() |
084b8c30ad | ||
![]() |
a11085eb4b | ||
![]() |
f27b426089 | ||
![]() |
ddc2a16c68 | ||
![]() |
343a4856c3 | ||
![]() |
ba47834a9f | ||
![]() |
ebcf0633f1 | ||
![]() |
54307f7daa | ||
![]() |
f7903cec97 | ||
![]() |
78362323ed | ||
![]() |
8463bfa73b | ||
![]() |
cd3dd2ce9c | ||
![]() |
9966439c14 | ||
![]() |
59aca5c4c9 | ||
![]() |
edc3d911b9 | ||
![]() |
65c20e3708 | ||
![]() |
2eda22473d | ||
![]() |
1bff1e4aa8 | ||
![]() |
c099bfdb8f | ||
![]() |
527d206612 | ||
![]() |
6633ba5938 | ||
![]() |
fda61c1809 | ||
![]() |
50d6cc2c78 | ||
![]() |
2406fb759d | ||
![]() |
a5e599f3e4 | ||
![]() |
febe070629 | ||
![]() |
d1ef5772ed | ||
![]() |
3c9fc55fb1 | ||
![]() |
b7581d5a08 | ||
![]() |
1fc30d0012 | ||
![]() |
a7ae848186 | ||
![]() |
03c5d625b0 | ||
![]() |
59bb699df3 | ||
![]() |
985bf47a07 | ||
![]() |
2b172f9248 | ||
![]() |
b5ce9eefe8 | ||
![]() |
7c581836c5 | ||
![]() |
89d804caa6 | ||
![]() |
74f0fe3188 | ||
![]() |
3e4b543c38 | ||
![]() |
38bcc60fd1 | ||
![]() |
5250b62739 | ||
![]() |
1b33f198f0 | ||
![]() |
9d59c0ba0d | ||
![]() |
22bfb75c82 | ||
![]() |
2b9a0aa085 | ||
![]() |
d36c70b98e | ||
![]() |
941c0f4954 | ||
![]() |
94867de265 | ||
![]() |
02d4aafd10 | ||
![]() |
fcb64b9e77 | ||
![]() |
ed764e14f5 | ||
![]() |
0b20d24918 | ||
![]() |
00ef30b768 | ||
![]() |
cb6402ac92 | ||
![]() |
89758426a9 | ||
![]() |
d48c6ab314 | ||
![]() |
aa5e6c6189 | ||
![]() |
5bf7712307 | ||
![]() |
ddb847c974 | ||
![]() |
9e52107dbf | ||
![]() |
e1011919a5 | ||
![]() |
7c3aed4822 | ||
![]() |
dbe2c6bb59 | ||
![]() |
9e644185f2 | ||
![]() |
9a12ce32d3 | ||
![]() |
66d6a89431 | ||
![]() |
b7a605ea9c | ||
![]() |
a2b1cca1ab | ||
![]() |
b8cd3dbee6 | ||
![]() |
fe46126e19 | ||
![]() |
a439623119 | ||
![]() |
86713488b4 | ||
![]() |
fbaa5bcfa7 | ||
![]() |
23deaf6df3 | ||
![]() |
4db9c6fde8 | ||
![]() |
67ad2fe076 | ||
![]() |
00e169512c | ||
![]() |
3171f065eb | ||
![]() |
5dcb44b2d0 | ||
![]() |
b54c415f39 | ||
![]() |
7ecc818ca1 | ||
![]() |
85fdf28bdc | ||
![]() |
1c1f4be1f9 | ||
![]() |
e4f949f67b | ||
![]() |
2fe3c69a2d | ||
![]() |
08b3725307 | ||
![]() |
664fb87e4e | ||
![]() |
9bf90dfa98 | ||
![]() |
867f684b6a | ||
![]() |
3bcb2138c1 | ||
![]() |
693c2be098 | ||
![]() |
da63bcb4eb | ||
![]() |
564a62e780 | ||
![]() |
01e4837669 | ||
![]() |
0a2a1a8b1a | ||
![]() |
154ddfe1cc | ||
![]() |
14786383ec | ||
![]() |
e5aae017a6 | ||
![]() |
68ceb8c71e | ||
![]() |
dcd94a7137 | ||
![]() |
1e75a3675e | ||
![]() |
6c301e2512 | ||
![]() |
59c06c7f02 | ||
![]() |
85aad4c431 | ||
![]() |
ade4df79ed | ||
![]() |
ec12b41293 | ||
![]() |
7216c88e0b | ||
![]() |
fac87c69e2 | ||
![]() |
62d4fdeb32 | ||
![]() |
91da0c7d0d | ||
![]() |
b116c2582f | ||
![]() |
276307fb5c | ||
![]() |
54ae613298 | ||
![]() |
a22040f4e3 | ||
![]() |
630cc55361 | ||
![]() |
2aacace6ad | ||
![]() |
91714727c3 | ||
![]() |
8e21f36619 | ||
![]() |
baa88ca957 | ||
![]() |
1874fc9b47 | ||
![]() |
6c9543d05a | ||
![]() |
a614c35f05 | ||
![]() |
0d7bc8e7d8 | ||
![]() |
39b3d500d0 | ||
![]() |
03200f3828 | ||
![]() |
044a5eadcd | ||
![]() |
e924bd96ec | ||
![]() |
e234240e74 | ||
![]() |
33473b0db1 | ||
![]() |
cfad29f9d4 | ||
![]() |
7ffdbea3ec | ||
![]() |
2c2fb4d305 | ||
![]() |
709172c506 | ||
![]() |
8727ee50ee | ||
![]() |
04d4d20ba6 | ||
![]() |
e77ea9358e | ||
![]() |
6263dc0649 | ||
![]() |
52eccfc384 | ||
![]() |
13085416e2 | ||
![]() |
f7efa99fc3 | ||
![]() |
32d6b8844a | ||
![]() |
1c4287a3ed | ||
![]() |
354fa85f38 | ||
![]() |
78fb0760f3 | ||
![]() |
dfdda4d27f | ||
![]() |
6d8f90bdce | ||
![]() |
3e531da29c | ||
![]() |
6065ebb6b4 | ||
![]() |
75373935f1 | ||
![]() |
1d5784a4d1 | ||
![]() |
5df94ffe33 | ||
![]() |
6aeaa8812a | ||
![]() |
b1f8044e02 | ||
![]() |
09fc0991bd | ||
![]() |
a7b70efef0 | ||
![]() |
4c3df8e769 | ||
![]() |
15418f7bdc | ||
![]() |
0a2bc468e5 | ||
![]() |
df8bcff315 | ||
![]() |
56e992ba7a | ||
![]() |
e7a6582229 | ||
![]() |
02946a9c9b | ||
![]() |
a5ca5fcff1 | ||
![]() |
b412c03b72 | ||
![]() |
22678d4ecc | ||
![]() |
d84099e41f | ||
![]() |
853aac57a6 | ||
![]() |
a5bddcb033 | ||
![]() |
3a7178166f | ||
![]() |
3f89bfb444 | ||
![]() |
e5ba3a94a4 | ||
![]() |
dc7af61a3a | ||
![]() |
da560a0275 | ||
![]() |
41cf694792 | ||
![]() |
59f42c0dbd | ||
![]() |
b2302e2e9f | ||
![]() |
8e6c0f8ade | ||
![]() |
ba92505daa | ||
![]() |
e6e93888f6 | ||
![]() |
e92598dc5b | ||
![]() |
697c6a1aae | ||
![]() |
2487001b0d | ||
![]() |
7cd722bcc2 | ||
![]() |
e0b7d7c3bb | ||
![]() |
23470b705d | ||
![]() |
70a624a9f3 | ||
![]() |
bce38385ab | ||
![]() |
8848b126ca | ||
![]() |
45a90fbe9d | ||
![]() |
d2929bf776 | ||
![]() |
3bab1c1250 | ||
![]() |
e59d4696da | ||
![]() |
f44f74f34c | ||
![]() |
22474722ad | ||
![]() |
99df503a90 | ||
![]() |
0df055db8c | ||
![]() |
f73936d056 | ||
![]() |
e1c976e09a | ||
![]() |
21579f7a40 | ||
![]() |
693882aff1 | ||
![]() |
6b42ed0845 | ||
![]() |
ed9373bc7e | ||
![]() |
0d2f5cc553 | ||
![]() |
12f6e9e552 | ||
![]() |
999c7a8fff | ||
![]() |
a5494f4681 | ||
![]() |
404a5500df | ||
![]() |
4442833c1b | ||
![]() |
4cb800d485 | ||
![]() |
f1598c3c4b | ||
![]() |
6b9915a425 | ||
![]() |
59befa908f | ||
![]() |
af68fb24b5 | ||
![]() |
73870663f6 | ||
![]() |
ac48cf6b57 | ||
![]() |
6a5d4a1363 | ||
![]() |
8be3996fb2 | ||
![]() |
bd7d2ffb09 | ||
![]() |
9375248a09 | ||
![]() |
713d1920a3 | ||
![]() |
adc1212cd7 | ||
![]() |
b8803d75fe | ||
![]() |
8006acb8c9 | ||
![]() |
7be7e3b7f0 | ||
![]() |
a6c18c91e5 | ||
![]() |
81c531e2b5 | ||
![]() |
d66910740f | ||
![]() |
3323bf500d | ||
![]() |
3cc34d18e0 | ||
![]() |
aeb050440f | ||
![]() |
a9a6bd0d31 | ||
![]() |
2b921def52 | ||
![]() |
f5a1a97383 | ||
![]() |
c87b96f8f0 | ||
![]() |
1def105bda | ||
![]() |
1d67a30ece | ||
![]() |
1a3d50ca17 | ||
![]() |
ce26722c96 | ||
![]() |
f2aab26b6e | ||
![]() |
10e086594b | ||
![]() |
30ea77182d | ||
![]() |
e899d7d39a | ||
![]() |
3b2e780a20 | ||
![]() |
d443d89616 | ||
![]() |
c981ac45d3 | ||
![]() |
ceabca3a43 | ||
![]() |
99b6fcbc42 | ||
![]() |
dde79bf5d0 | ||
![]() |
ff3e957558 | ||
![]() |
1466c7a927 | ||
![]() |
1a7c18d209 | ||
![]() |
2c8ed7c494 | ||
![]() |
0526b4c5e0 | ||
![]() |
c2f4e6bc48 | ||
![]() |
0cc5fcb33a | ||
![]() |
e461a9564f | ||
![]() |
183879d51c | ||
![]() |
cddae05b53 | ||
![]() |
67d831d898 | ||
![]() |
d726323220 | ||
![]() |
f76fea84cc | ||
![]() |
6ec24e12f7 | ||
![]() |
cf27cce44d | ||
![]() |
6ea22d121f | ||
![]() |
2d7bfaa9dc | ||
![]() |
0e62cc4fec | ||
![]() |
ae0307092f | ||
![]() |
2ebf6fe7fa | ||
![]() |
f9805de74c | ||
![]() |
20b7b6b95c | ||
![]() |
c2beca3504 | ||
![]() |
7414a1badf | ||
![]() |
cd5f7e08c4 | ||
![]() |
fd804fa29a | ||
![]() |
08c310c59e | ||
![]() |
46bde0918f | ||
![]() |
a77c3aa347 | ||
![]() |
d27c04dc64 | ||
![]() |
b0c8326255 | ||
![]() |
99a35a3ffd | ||
![]() |
c5673efea2 | ||
![]() |
c3b48e0033 | ||
![]() |
5aa57dd402 | ||
![]() |
d919d3f068 | ||
![]() |
38ad418005 | ||
![]() |
ba50786118 | ||
![]() |
aee3cb3e03 | ||
![]() |
61430b07e2 | ||
![]() |
5d393598c5 | ||
![]() |
4b0c075b53 | ||
![]() |
2b5b6434da | ||
![]() |
ae0877037a | ||
![]() |
64a12da2e6 | ||
![]() |
6865fa40f7 | ||
![]() |
79632aeed0 | ||
![]() |
6f03f3e5fd | ||
![]() |
df53150972 | ||
![]() |
9282cd630d | ||
![]() |
a3eb2fc7cc | ||
![]() |
4e39d03240 | ||
![]() |
8cadb30179 | ||
![]() |
d2c02ca016 | ||
![]() |
1bbfba32a5 | ||
![]() |
cf59cc3a49 | ||
![]() |
897db61ee2 | ||
![]() |
ac14ac23fb | ||
![]() |
0f1bc34d37 | ||
![]() |
26d318356f | ||
![]() |
9f4a0d35b6 | ||
![]() |
a201be6487 | ||
![]() |
380ebcd1d8 | ||
![]() |
c06499033d | ||
![]() |
0874957993 | ||
![]() |
6019c7412f | ||
![]() |
30c300cabf | ||
![]() |
46f11f02ab | ||
![]() |
71e6029117 | ||
![]() |
5c67da7882 | ||
![]() |
af4f6de4b9 | ||
![]() |
9b173d6c68 | ||
![]() |
2f4fb5230d | ||
![]() |
9144a1fec3 | ||
![]() |
4192af1d46 | ||
![]() |
0e72124cdc | ||
![]() |
8300b9afee | ||
![]() |
5f61e74dfb | ||
![]() |
44b3ccd21e | ||
![]() |
29e54ce7ec | ||
![]() |
f2835209c6 | ||
![]() |
a0a1b8a9c0 | ||
![]() |
83f6ec1cb9 | ||
![]() |
af5b07202e | ||
![]() |
0bcfa59a12 | ||
![]() |
e00095f68d | ||
![]() |
5cbd2a1a82 | ||
![]() |
9b5a45a3f6 | ||
![]() |
325500620a | ||
![]() |
134bfa1a0b | ||
![]() |
df593859fa | ||
![]() |
4204fae5a0 | ||
![]() |
cc12c49143 | ||
![]() |
f09694da70 | ||
![]() |
d923df2156 | ||
![]() |
71d1db456a | ||
![]() |
ec0eaa2faa | ||
![]() |
836cd21df2 | ||
![]() |
7a4c364b49 | ||
![]() |
79f10ba724 | ||
![]() |
d0ea4ecd1b | ||
![]() |
867e448e21 | ||
![]() |
50a07d368f | ||
![]() |
21e2435350 | ||
![]() |
0dab66f24c | ||
![]() |
827595ded2 | ||
![]() |
fda99f18e8 | ||
![]() |
c9b76c9bc4 | ||
![]() |
3e2e2de482 | ||
![]() |
d648873e21 | ||
![]() |
2490b26277 | ||
![]() |
66ccd7a71d | ||
![]() |
4ef440d499 | ||
![]() |
e334dd1d10 | ||
![]() |
c7e62acf9d | ||
![]() |
f44adf92b4 | ||
![]() |
87cd07801d | ||
![]() |
24e96e2724 | ||
![]() |
a5f5a9ff24 | ||
![]() |
dd19b8a236 | ||
![]() |
0a80f40c07 | ||
![]() |
772cc97a8b | ||
![]() |
ce7f1d6c26 | ||
![]() |
a41994fc0f | ||
![]() |
6e42a729e7 | ||
![]() |
33a634e4fc | ||
![]() |
fc61c52939 | ||
![]() |
5e4ff5b780 | ||
![]() |
2e5903abed | ||
![]() |
62db8f574f | ||
![]() |
d44ee41268 | ||
![]() |
6baadfef75 | ||
![]() |
fbec6a9b35 | ||
![]() |
197d9359dd | ||
![]() |
fa083e0bde | ||
![]() |
1cf427fddd | ||
![]() |
819e9e89dc | ||
![]() |
900632c5f5 | ||
![]() |
dc66a4334f | ||
![]() |
badbe334df | ||
![]() |
fa334d6e84 | ||
![]() |
9580d4e72e | ||
![]() |
252257be8b | ||
![]() |
04c253995f | ||
![]() |
8c007fd627 | ||
![]() |
afcd59e1a4 | ||
![]() |
bba0ecad63 | ||
![]() |
c1058ac665 | ||
![]() |
b891fcdc4f | ||
![]() |
3bea9dfc8f | ||
![]() |
4d99d7dfc4 | ||
![]() |
373b8eddeb | ||
![]() |
d463d1feb3 | ||
![]() |
48a96a8d79 | ||
![]() |
0e1128aba3 | ||
![]() |
c3be4957ba | ||
![]() |
3618aadf74 | ||
![]() |
74a8c36c74 | ||
![]() |
49aa52b36f | ||
![]() |
ee95a05b48 | ||
![]() |
134e544718 | ||
![]() |
306a767686 | ||
![]() |
47ca9d303a | ||
![]() |
6fc68fe540 | ||
![]() |
9195bd7f4e | ||
![]() |
4ef503e07f | ||
![]() |
4711139513 | ||
![]() |
fc56508b91 | ||
![]() |
232c78364f | ||
![]() |
d85e16f1fa | ||
![]() |
562b386cb5 | ||
![]() |
daab751299 | ||
![]() |
9e82ff8de5 | ||
![]() |
52b2c23565 | ||
![]() |
617fd688db | ||
![]() |
2cf7fff3ba | ||
![]() |
a34d3fde1f | ||
![]() |
be054a723e | ||
![]() |
fc43f6a52e | ||
![]() |
195d3cb69b | ||
![]() |
92c69b6011 | ||
![]() |
ea78805587 | ||
![]() |
76e90ea321 | ||
![]() |
b300758aa5 | ||
![]() |
68c44c55d4 | ||
![]() |
228a89f61d | ||
![]() |
2645453de2 | ||
![]() |
5ce069a4c0 | ||
![]() |
6661434c35 | ||
![]() |
aee6b3a32d | ||
![]() |
4b0cc260cb | ||
![]() |
7611315941 | ||
![]() |
3b1f71a601 | ||
![]() |
fead3555fc | ||
![]() |
cd3f99fc90 | ||
![]() |
a2e6855117 | ||
![]() |
1e4cd3a5da | ||
![]() |
865898ac4f | ||
![]() |
44ace26cde | ||
![]() |
d0350c7672 | ||
![]() |
943a115ef0 | ||
![]() |
745322b3fe | ||
![]() |
90ea2cb760 | ||
![]() |
2d6c3c7d64 | ||
![]() |
4401c49c54 | ||
![]() |
fa3bfa7008 | ||
![]() |
14c2ddc725 | ||
![]() |
1e55dc8f65 | ||
![]() |
78980dde3f | ||
![]() |
3a770b6f40 | ||
![]() |
b271adef3f | ||
![]() |
639c9770b8 | ||
![]() |
e6b29666ad | ||
![]() |
dd052250f6 | ||
![]() |
1223a22d7e | ||
![]() |
b6f034f8e3 | ||
![]() |
ca01b67396 | ||
![]() |
eb3a2b0bb1 | ||
![]() |
41711fb527 | ||
![]() |
6e7a9a8796 | ||
![]() |
92838c0572 | ||
![]() |
3f71da19ee | ||
![]() |
43a6dd2b79 | ||
![]() |
806fac97db | ||
![]() |
9fd07827db | ||
![]() |
28cdcec7ee | ||
![]() |
cb2e946435 | ||
![]() |
2e7bb50d43 | ||
![]() |
3d7875ba18 | ||
![]() |
29ab88d581 | ||
![]() |
d93bbe4fe3 | ||
![]() |
3a2d062e22 | ||
![]() |
c3ef897a71 | ||
![]() |
73964e6be4 | ||
![]() |
520c000d3b | ||
![]() |
e3c1db7b88 | ||
![]() |
9ba3218f61 | ||
![]() |
a912d65608 | ||
![]() |
ffd6bb9c46 | ||
![]() |
6a238c3a11 | ||
![]() |
3210d72068 | ||
![]() |
add57592cd | ||
![]() |
584131c8c4 | ||
![]() |
9e8a1b4e3d | ||
![]() |
61efc2de16 | ||
![]() |
ce1f688b38 | ||
![]() |
088464bf13 | ||
![]() |
936ca3ffc2 | ||
![]() |
4f6320f7cf | ||
![]() |
ccf3169381 | ||
![]() |
54d66d2b02 | ||
![]() |
25aeb94364 | ||
![]() |
5657ef5b40 | ||
![]() |
c8818d104f | ||
![]() |
ed239034bf | ||
![]() |
774f936d3b | ||
![]() |
905c28886a | ||
![]() |
ad430074f7 | ||
![]() |
6449f01185 | ||
![]() |
0c3488472c | ||
![]() |
ee7990ec1e | ||
![]() |
b892b48388 | ||
![]() |
340213e4ff | ||
![]() |
989f2eed4c | ||
![]() |
4fadb7a6ab | ||
![]() |
8f1fd120eb | ||
![]() |
f2fc3b60a4 | ||
![]() |
c0735f71ef | ||
![]() |
858f9b3430 | ||
![]() |
402a7a85b8 | ||
![]() |
97fbc6087c | ||
![]() |
cc4a4766a9 | ||
![]() |
6821ac2b60 | ||
![]() |
06e10655ec | ||
![]() |
d32fdfa987 | ||
![]() |
9e97f063e5 | ||
![]() |
627f174ae4 | ||
![]() |
c349c28f08 | ||
![]() |
e73f96ffe9 | ||
![]() |
bd4ab51aff | ||
![]() |
81823c35ec | ||
![]() |
c567949205 | ||
![]() |
def136cb1b | ||
![]() |
889dc2e5ef | ||
![]() |
371323f929 | ||
![]() |
1694702d11 | ||
![]() |
048f50ddc4 | ||
![]() |
488cfc576b | ||
![]() |
1d8e564acf | ||
![]() |
6e94bc279b | ||
![]() |
90ee15cccf | ||
![]() |
751ff334ac | ||
![]() |
c200af1ad2 | ||
![]() |
5232afa812 | ||
![]() |
ad8e2f51d7 | ||
![]() |
ff708cf580 | ||
![]() |
f93ee9f01b | ||
![]() |
611320e661 | ||
![]() |
8a56d82cb9 | ||
![]() |
c052086388 | ||
![]() |
d4bfbf925a | ||
![]() |
b6b7e7be4f | ||
![]() |
61ef48798b | ||
![]() |
d65382e80d | ||
![]() |
e97d3e6fe9 | ||
![]() |
5cb189d545 | ||
![]() |
7897fe5f00 | ||
![]() |
6c4e0e8992 | ||
![]() |
3c6a533236 | ||
![]() |
69a9108655 | ||
![]() |
4fdc7bb7d3 | ||
![]() |
170bd7034a | ||
![]() |
2bc99753d6 | ||
![]() |
3ae1671b46 | ||
![]() |
4b9f137d41 | ||
![]() |
651f733622 | ||
![]() |
a2b0c2c05f | ||
![]() |
21476927ef | ||
![]() |
8c86081271 | ||
![]() |
fe5e94d277 | ||
![]() |
585db8094e | ||
![]() |
4bcc536d42 | ||
![]() |
b22c2e5ca5 | ||
![]() |
715b714781 | ||
![]() |
1d4b95a827 | ||
![]() |
0530a01445 | ||
![]() |
2a29eba66e | ||
![]() |
e93b66f4b8 | ||
![]() |
44bb9d7f12 | ||
![]() |
4f58f20b94 | ||
![]() |
cd047ea6fe | ||
![]() |
7d6526f291 | ||
![]() |
ede17bdae8 | ||
![]() |
876315613e | ||
![]() |
b2c5efb4bd | ||
![]() |
74047866e5 | ||
![]() |
6fb25c2111 | ||
![]() |
db3fc0014e | ||
![]() |
7105f8e719 | ||
![]() |
96ab7df306 | ||
![]() |
1a964adabb | ||
![]() |
9f4adc0777 | ||
![]() |
da1edce3aa | ||
![]() |
863012256f | ||
![]() |
faecbf7f45 | ||
![]() |
49581b6749 | ||
![]() |
d795d506dd | ||
![]() |
6348b8ed3f | ||
![]() |
aa2ec54189 | ||
![]() |
a8fdd78b21 | ||
![]() |
e1170b8a95 | ||
![]() |
400ef7d2c5 | ||
![]() |
02fec2c512 | ||
![]() |
8f4ec5e8d6 | ||
![]() |
e16e10a8e8 | ||
![]() |
15764b7642 | ||
![]() |
a4247c6c6a | ||
![]() |
1fcfc7c874 | ||
![]() |
0a885188a8 | ||
![]() |
213a78c864 | ||
![]() |
767d0d0efe | ||
![]() |
51ac0e4c33 | ||
![]() |
f3d1f2a84b | ||
![]() |
856fcdd9f2 | ||
![]() |
3aaef99bb3 | ||
![]() |
fed96e723f | ||
![]() |
58ba3c1838 | ||
![]() |
d6b233da3e | ||
![]() |
8bf7668cc5 | ||
![]() |
632badddb5 | ||
![]() |
c2e1cd370a | ||
![]() |
4ac787bef0 | ||
![]() |
678b9502ff | ||
![]() |
e2222be7b8 | ||
![]() |
4c5c2eef73 | ||
![]() |
064baae07d | ||
![]() |
a3a0f0fe6c | ||
![]() |
c5dd3c39d9 | ||
![]() |
7bb0853525 | ||
![]() |
25928bf38a | ||
![]() |
09e516db93 | ||
![]() |
0bf26224df | ||
![]() |
347704fc8e | ||
![]() |
829795f3fe | ||
![]() |
5f25b5458e | ||
![]() |
d3e80198a8 | ||
![]() |
5afb2936b8 | ||
![]() |
2da3f2a2b8 | ||
![]() |
acebdc610f | ||
![]() |
490df18d60 | ||
![]() |
9f963bdd2d | ||
![]() |
104d19e203 | ||
![]() |
261981ca23 | ||
![]() |
1acc469ba2 | ||
![]() |
64287d42b8 | ||
![]() |
bcf22f193c | ||
![]() |
6272f08d3a | ||
![]() |
14cf7a3f6f | ||
![]() |
51a92ecbe7 | ||
![]() |
567235ff3c | ||
![]() |
3a7f30474d | ||
![]() |
2f8a7c412e | ||
![]() |
f338da681b | ||
![]() |
80a2a2da3b | ||
![]() |
1b660ebd80 | ||
![]() |
43b9854190 | ||
![]() |
3779237f6a | ||
![]() |
e94d9b3b1a | ||
![]() |
8ec4bcfa5e | ||
![]() |
962835fc80 | ||
![]() |
cdd7e63e46 | ||
![]() |
1ae4678cdb | ||
![]() |
ec6dcbe049 | ||
![]() |
58e609c6f3 | ||
![]() |
128e52266f | ||
![]() |
576e50822f | ||
![]() |
5ff61d44d7 | ||
![]() |
7b1b2ecb42 | ||
![]() |
70b09a5265 | ||
![]() |
54ec23c85a | ||
![]() |
d97b88bcdd | ||
![]() |
6f5c7626c8 | ||
![]() |
0e1525ca7f | ||
![]() |
f6b520fb30 | ||
![]() |
a1849663cf | ||
![]() |
d4d0b075ed | ||
![]() |
e90bb990e8 | ||
![]() |
a9808cab34 | ||
![]() |
a40bb78a07 | ||
![]() |
8111ee0c76 | ||
![]() |
7191b57318 | ||
![]() |
f44670d2ca | ||
![]() |
9671f0c2eb | ||
![]() |
6ad6eef347 | ||
![]() |
43ed4d411e | ||
![]() |
7c8d5453cc | ||
![]() |
f4a40367f6 | ||
![]() |
e786ef279a | ||
![]() |
a6684e1bb5 | ||
![]() |
4fbe389245 | ||
![]() |
04b0af5d58 | ||
![]() |
7f797af3eb | ||
![]() |
4a3a0fb0bb | ||
![]() |
f9e9eec611 | ||
![]() |
cb71742a91 | ||
![]() |
638c7054d0 | ||
![]() |
fb21633f8c | ||
![]() |
9bb7cf1825 | ||
![]() |
e00ad4498b | ||
![]() |
a0f7e62616 | ||
![]() |
11653015ab | ||
![]() |
e6a37cab0f | ||
![]() |
7fcc6713a4 | ||
![]() |
5694938b81 | ||
![]() |
b6d3c17a87 | ||
![]() |
40ba175409 | ||
![]() |
bcc98d507b | ||
![]() |
ce1c32c930 | ||
![]() |
08d462f698 | ||
![]() |
d32e615837 | ||
![]() |
83368cdf3a | ||
![]() |
45525a6e3c | ||
![]() |
75a082c8df | ||
![]() |
d3d4d99fe4 | ||
![]() |
f05764d4a8 | ||
![]() |
a7822fcd55 | ||
![]() |
f0a0d2022a | ||
![]() |
2ccc85926e | ||
![]() |
b9699ab8bc | ||
![]() |
02ca7271fc | ||
![]() |
9dbe4bc8a1 | ||
![]() |
2ca20096a0 | ||
![]() |
1d7e8e3adb | ||
![]() |
88c897e09c | ||
![]() |
f1a1ec128f | ||
![]() |
b0bc03f251 | ||
![]() |
0f57e9ad1d | ||
![]() |
8b27c8986b | ||
![]() |
1210117922 | ||
![]() |
3a1e310e22 | ||
![]() |
918c043f10 | ||
![]() |
fbfb02d7ca | ||
![]() |
3026837946 | ||
![]() |
f7ccdad1df | ||
![]() |
4b4f70e6e0 | ||
![]() |
c28e9861ba | ||
![]() |
15c2b5466e | ||
![]() |
58bcdff782 | ||
![]() |
a08cdeeeb6 | ||
![]() |
9be2f7712d | ||
![]() |
f59e34758c | ||
![]() |
fc3846424d | ||
![]() |
11a0e4943a | ||
![]() |
5d95eb0420 | ||
![]() |
ef0b797e60 | ||
![]() |
dfa34a1838 | ||
![]() |
d58a32e283 | ||
![]() |
5fa1abe7bc | ||
![]() |
251dec084c | ||
![]() |
52ef24a5f6 | ||
![]() |
0a7fc04fa5 | ||
![]() |
612dbcc868 | ||
![]() |
850a92bee9 | ||
![]() |
5664e98d89 | ||
![]() |
1bd6f0f04e | ||
![]() |
58e3e0f53e | ||
![]() |
a3d8585276 | ||
![]() |
882269bf72 | ||
![]() |
c71e21ca0b | ||
![]() |
890ab25210 | ||
![]() |
81687c19ef | ||
![]() |
c98165c61e | ||
![]() |
0ee3ddef1d | ||
![]() |
06af1481e6 | ||
![]() |
740108432b | ||
![]() |
331959e3da | ||
![]() |
679e49e55f | ||
![]() |
5ae69f2466 | ||
![]() |
15c7d53acc | ||
![]() |
a1d93fca52 | ||
![]() |
56af6dda1d | ||
![]() |
7c62e115c3 | ||
![]() |
5f13e2d7ab | ||
![]() |
0186b3db8b | ||
![]() |
db4e353d8a | ||
![]() |
30468c2dab | ||
![]() |
3afe0a8a99 | ||
![]() |
fc626dc4c0 | ||
![]() |
7e4f582445 | ||
![]() |
f740443f73 | ||
![]() |
d43da60e8e | ||
![]() |
d29759da9b | ||
![]() |
4b3a2e441b | ||
![]() |
a8b8d07bf4 | ||
![]() |
34410446f3 | ||
![]() |
13098a351d | ||
![]() |
d071fa03a6 | ||
![]() |
6ff65c37ac | ||
![]() |
e03396490e | ||
![]() |
ad453b6400 | ||
![]() |
500a572a9c | ||
![]() |
f3bffcb5fb | ||
![]() |
30305ffd1c | ||
![]() |
62f2e33b64 | ||
![]() |
24d655ec76 | ||
![]() |
7668f795da | ||
![]() |
96a5853333 | ||
![]() |
6b767410dc | ||
![]() |
3f8dd1d457 | ||
![]() |
8cb501186a | ||
![]() |
bdfe42b22f | ||
![]() |
37c4fbdec0 | ||
![]() |
9af109d23d | ||
![]() |
3322e3337a | ||
![]() |
6ede71d164 | ||
![]() |
da2e41d59d | ||
![]() |
c08af69752 | ||
![]() |
1a3b438bfb | ||
![]() |
f15ee8cc5b | ||
![]() |
d65897ad09 | ||
![]() |
607f9690cc | ||
![]() |
3cbdc511c8 | ||
![]() |
e21ab89f89 | ||
![]() |
c50e0153f6 | ||
![]() |
bd3c2f9d78 | ||
![]() |
57bcc6d1ac | ||
![]() |
8331cb9f38 | ||
![]() |
1ef0f32ad9 | ||
![]() |
c9cab7f43d | ||
![]() |
73d8efcea7 | ||
![]() |
e9c45a45d7 | ||
![]() |
5b94307559 | ||
![]() |
ee03b65f2d | ||
![]() |
7920512f2b | ||
![]() |
928e355618 | ||
![]() |
efac0a7026 | ||
![]() |
42d10ed012 | ||
![]() |
b0655adff4 | ||
![]() |
c1b025d04b | ||
![]() |
3cf5884e10 | ||
![]() |
ce0acb9547 | ||
![]() |
777c54f6a1 | ||
![]() |
8e17d093c7 | ||
![]() |
33ba9d6e59 | ||
![]() |
f6a1751efe | ||
![]() |
00372947fa | ||
![]() |
c86167851f | ||
![]() |
6a90952319 | ||
![]() |
02f135eec3 | ||
![]() |
daa9bcc471 | ||
![]() |
5072fd6a07 | ||
![]() |
20f5868759 | ||
![]() |
db0297e898 | ||
![]() |
1efb03f3be | ||
![]() |
4e00d967a6 | ||
![]() |
266ca8db68 | ||
![]() |
2b976a3eec | ||
![]() |
962429ad33 | ||
![]() |
5d5c645308 | ||
![]() |
f1c7792f87 | ||
![]() |
fe86a21303 | ||
![]() |
33cccd76b3 | ||
![]() |
1f90c552a7 | ||
![]() |
614e789ce4 | ||
![]() |
07f2f82675 | ||
![]() |
d28d2be7c5 | ||
![]() |
a3250b31c2 | ||
![]() |
eae97e2017 | ||
![]() |
7983a52de9 | ||
![]() |
92b1b81b25 | ||
![]() |
f91fe303fb | ||
![]() |
529b0db71d | ||
![]() |
bd142ac66d | ||
![]() |
3749937799 | ||
![]() |
16d309cc34 | ||
![]() |
5315bc950a | ||
![]() |
2dbf6a9faf | ||
![]() |
a67e38bd1b | ||
![]() |
4688176216 | ||
![]() |
dbee9aafd7 | ||
![]() |
8c20617b1a | ||
![]() |
9e2ed6480d | ||
![]() |
7ef1b1aba9 | ||
![]() |
b74071d4cf | ||
![]() |
dc7578a5c3 | ||
![]() |
2227cf5fe2 | ||
![]() |
1296595ff7 | ||
![]() |
94f0b7599d | ||
![]() |
481d3099eb | ||
![]() |
d9a718d934 | ||
![]() |
e396bcce82 | ||
![]() |
b80b45f126 | ||
![]() |
b9a9a84982 | ||
![]() |
32a582dc66 | ||
![]() |
ce7362a6f5 | ||
![]() |
c3541f0368 | ||
![]() |
fa9da5147d | ||
![]() |
9905581b63 | ||
![]() |
4fe871d5c1 | ||
![]() |
4e5e39624b | ||
![]() |
7174c8ac39 | ||
![]() |
37c26de1ce | ||
![]() |
a56030eb53 | ||
![]() |
686a54b666 | ||
![]() |
3f3c19aeaa | ||
![]() |
0ff114b51d | ||
![]() |
f8deb13215 | ||
![]() |
b4669878a6 | ||
![]() |
68210961be | ||
![]() |
6af0d9b062 | ||
![]() |
ad401a8747 | ||
![]() |
e0ca123aa2 | ||
![]() |
ef3636befe | ||
![]() |
5635f895df | ||
![]() |
779f9b11a7 | ||
![]() |
b0b8e9d684 | ||
![]() |
b4f7163913 | ||
![]() |
6ef4738619 | ||
![]() |
333e4c3e07 | ||
![]() |
705900dd27 | ||
![]() |
363b6293af | ||
![]() |
97ef22d3fb | ||
![]() |
f7fa573347 | ||
![]() |
971b61fe8a | ||
![]() |
303a611913 | ||
![]() |
066a9f1722 | ||
![]() |
ac5cddf448 | ||
![]() |
d6bea30b24 | ||
![]() |
ac05154eec | ||
![]() |
ff579b0cfc | ||
![]() |
13ede1b2a4 | ||
![]() |
51c7706af2 | ||
![]() |
5a3c2c298b | ||
![]() |
608e8609c6 | ||
![]() |
60edf6d444 | ||
![]() |
28c79f30a2 | ||
![]() |
89fcd7413f | ||
![]() |
5741027a54 | ||
![]() |
6598ca5335 | ||
![]() |
5024bac01e | ||
![]() |
499a481baa | ||
![]() |
7d4ab6ff58 | ||
![]() |
9c93d5e336 | ||
![]() |
19af20457e | ||
![]() |
1cdc165b1c | ||
![]() |
ede8fe8066 | ||
![]() |
51046d9646 | ||
![]() |
f2fd933f50 | ||
![]() |
8d16d50171 | ||
![]() |
3e3e2486ee | ||
![]() |
780707d821 | ||
![]() |
8ac0f752ba | ||
![]() |
180641a72b | ||
![]() |
75126f27ed | ||
![]() |
df683a3022 | ||
![]() |
61373259e9 | ||
![]() |
481dffd8b6 | ||
![]() |
80a957d261 | ||
![]() |
9df3b0f163 | ||
![]() |
284cc53308 | ||
![]() |
4c7075fdb8 | ||
![]() |
5d5a21ca4e | ||
![]() |
9e6f14ed47 | ||
![]() |
c61c770c3e | ||
![]() |
9595892444 | ||
![]() |
8c7867e14a | ||
![]() |
a58b0dae6b | ||
![]() |
4385ef9f87 | ||
![]() |
8f9ed014f2 | ||
![]() |
2f0ce05789 | ||
![]() |
6d700e6819 | ||
![]() |
46c5ec3b44 | ||
![]() |
de8d450a05 | ||
![]() |
56f74e03ba | ||
![]() |
0ce037675b | ||
![]() |
aa472e6ffa | ||
![]() |
f05b45af02 | ||
![]() |
69b4f6a4ca | ||
![]() |
484d540ecb | ||
![]() |
bb542efaa8 | ||
![]() |
49ac691b3e | ||
![]() |
95d757f826 | ||
![]() |
c1fc156d75 | ||
![]() |
35a5a25150 | ||
![]() |
9547ba316e | ||
![]() |
0d48dec518 | ||
![]() |
f4852a4bdb | ||
![]() |
a7d515e76a | ||
![]() |
37f6acc984 | ||
![]() |
c87bd75334 | ||
![]() |
77ffbb49a7 | ||
![]() |
64533e5dbc | ||
![]() |
d42b980496 | ||
![]() |
2b84def4d8 | ||
![]() |
7ba75a04ad | ||
![]() |
98b88a74ae | ||
![]() |
31d98ef263 | ||
![]() |
3f34ae2ab0 | ||
![]() |
d8b52d8772 | ||
![]() |
103fa52511 | ||
![]() |
cdb0a8e685 | ||
![]() |
6b217d6c02 | ||
![]() |
490b0a32b2 | ||
![]() |
c0684f4486 | ||
![]() |
988c8dcb08 | ||
![]() |
a1251de4e8 | ||
![]() |
a64e4f1d0d | ||
![]() |
72f13a2b66 | ||
![]() |
a587119310 | ||
![]() |
12e29f944a | ||
![]() |
19861ce3d4 | ||
![]() |
d8647e4f16 | ||
![]() |
60e9abecfe | ||
![]() |
1b45d2b564 | ||
![]() |
25d62a4755 | ||
![]() |
c0a8fbe86b | ||
![]() |
8a9e7b2d57 | ||
![]() |
dc85034aed | ||
![]() |
6b029098d9 | ||
![]() |
9f754f93a0 | ||
![]() |
910240df67 | ||
![]() |
4f93a96e7e | ||
![]() |
f93977ba24 | ||
![]() |
9a260950ef | ||
![]() |
66df7986e7 | ||
![]() |
487da42baa | ||
![]() |
64150de775 | ||
![]() |
2ded5a6fe5 | ||
![]() |
feae17bffe | ||
![]() |
0949023b81 | ||
![]() |
aa096ed497 | ||
![]() |
af08703c50 | ||
![]() |
5c0939160a | ||
![]() |
1a2497f745 | ||
![]() |
ec1fb97c93 | ||
![]() |
c83c3b7fd8 | ||
![]() |
158fd884ad | ||
![]() |
a872cb977b | ||
![]() |
48d6ab035a | ||
![]() |
27ed169c26 | ||
![]() |
b3118bab80 | ||
![]() |
73edc42408 | ||
![]() |
a2a466cf2b | ||
![]() |
c426340ed2 | ||
![]() |
ae14943882 | ||
![]() |
c4b43fd2ac | ||
![]() |
df017d9d5d | ||
![]() |
9c0ea3e564 | ||
![]() |
eb5d4b3dec | ||
![]() |
8de7ad2d82 | ||
![]() |
96fb918b7a | ||
![]() |
d2e81917d3 | ||
![]() |
020e11a06c | ||
![]() |
8470b4f809 | ||
![]() |
12f29b765d | ||
![]() |
4bf56b9c99 | ||
![]() |
584a51a5bf | ||
![]() |
e36858d1e1 | ||
![]() |
860b12a63a | ||
![]() |
50708e2f89 | ||
![]() |
ad24e44041 | ||
![]() |
ad143b87c9 | ||
![]() |
f17914a3ef | ||
![]() |
3feeff793e | ||
![]() |
d9152fa8ea | ||
![]() |
77e3698b04 | ||
![]() |
d6366618fd | ||
![]() |
fe603eca70 | ||
![]() |
7904caa902 | ||
![]() |
f4dcb16d24 | ||
![]() |
cce017c646 | ||
![]() |
148615d4b6 | ||
![]() |
6db24d27c8 | ||
![]() |
f5ada35478 | ||
![]() |
d229c84c91 | ||
![]() |
7de46e9d46 | ||
![]() |
76b32c9138 | ||
![]() |
24148c053d | ||
![]() |
23cb30b31c | ||
![]() |
6c9e2dd0ab | ||
![]() |
a9db8747c1 | ||
![]() |
492d3f1a2a | ||
![]() |
fb6ce16433 | ||
![]() |
046a1acfb3 | ||
![]() |
f2ae017562 | ||
![]() |
0de916f4b7 | ||
![]() |
ddc19e40ef | ||
![]() |
9f437c0576 | ||
![]() |
f27773c9cb | ||
![]() |
d1690611d9 | ||
![]() |
6ba7c07a2c | ||
![]() |
259c502bfc | ||
![]() |
f81762bcdc | ||
![]() |
b27264b381 | ||
![]() |
a1c7f32dc5 | ||
![]() |
9454c07019 | ||
![]() |
6e66a147e7 | ||
![]() |
099c985617 | ||
![]() |
a79a12131b | ||
![]() |
0f82471dab | ||
![]() |
9dd947bbe5 | ||
![]() |
6982e05fac | ||
![]() |
edc30ad0cd | ||
![]() |
b9780c5515 | ||
![]() |
9bb6578c61 | ||
![]() |
f360bbf3c6 | ||
![]() |
b749367999 | ||
![]() |
4bcb83a1a4 | ||
![]() |
97e6ec8f99 | ||
![]() |
023e552157 | ||
![]() |
17973c1090 | ||
![]() |
28b5bd8c58 | ||
![]() |
62f94369c9 | ||
![]() |
c9fc53a546 | ||
![]() |
946f8ca938 | ||
![]() |
ffbeb3ede7 | ||
![]() |
6dd4678339 | ||
![]() |
82090571d6 | ||
![]() |
63bfe64e71 | ||
![]() |
5121f92870 | ||
![]() |
1b95b3a265 | ||
![]() |
e8d926eca8 | ||
![]() |
2076081405 | ||
![]() |
da5b898250 | ||
![]() |
cf2f806820 | ||
![]() |
3ebbea542b | ||
![]() |
cce963aaba | ||
![]() |
4e6156cae0 | ||
![]() |
457f122861 | ||
![]() |
d94b54b90f | ||
![]() |
834ac4744b | ||
![]() |
2716af78be | ||
![]() |
3d37a93336 | ||
![]() |
1d976cb7df | ||
![]() |
4e2a5a39e9 | ||
![]() |
63ef832ab4 | ||
![]() |
f480dfa6b4 | ||
![]() |
bd85cabce9 | ||
![]() |
76a5408bda | ||
![]() |
61537afb93 | ||
![]() |
12417340f2 | ||
![]() |
b7533957b2 | ||
![]() |
15512c9448 | ||
![]() |
f69efa7ec8 | ||
![]() |
f3c392760a | ||
![]() |
d59e6ea87b | ||
![]() |
476d36d41c | ||
![]() |
0ccc0c64f4 | ||
![]() |
c5b4db6141 | ||
![]() |
6d0f917a0e | ||
![]() |
497dbe6bce | ||
![]() |
1da8133e09 | ||
![]() |
b3354a35ad | ||
![]() |
827fe5b5e1 | ||
![]() |
fc98b2d768 | ||
![]() |
dd5c6886cd | ||
![]() |
72f6f5d260 | ||
![]() |
d54fd6abf8 | ||
![]() |
5c75a78a3d | ||
![]() |
653c2b9d4b | ||
![]() |
dba91ad560 | ||
![]() |
108672e9a1 | ||
![]() |
18499d12c5 | ||
![]() |
79e97f0b5b | ||
![]() |
dba7ad3e09 | ||
![]() |
d260ada9ec | ||
![]() |
1503937c48 | ||
![]() |
585f4d7c5c | ||
![]() |
b125085315 | ||
![]() |
ee605fb4eb | ||
![]() |
2e14d200ed | ||
![]() |
de28b1b2e3 | ||
![]() |
467815e8d5 | ||
![]() |
98687a0ec1 | ||
![]() |
bc92818c53 | ||
![]() |
3fd6806549 | ||
![]() |
3f76ed2f59 | ||
![]() |
c4b9f91376 | ||
![]() |
c797a2f7a8 | ||
![]() |
c23ceafddd | ||
![]() |
e0b1b0250c | ||
![]() |
ce54758f36 | ||
![]() |
a80efa9578 | ||
![]() |
04bad29146 | ||
![]() |
8816c0c40e | ||
![]() |
b6c9ce4a9f | ||
![]() |
c8d16104d5 | ||
![]() |
215d125032 | ||
![]() |
ccdf4ab391 | ||
![]() |
8bd7d68d2e | ||
![]() |
03f1df615e | ||
![]() |
86ee2d3d2f | ||
![]() |
9c608b0583 | ||
![]() |
bdc84fb36d | ||
![]() |
4dda37ad3d | ||
![]() |
7559010b83 | ||
![]() |
75644ae046 | ||
![]() |
994ffe5ab5 | ||
![]() |
1dc016a6f8 | ||
![]() |
44e3b31c67 | ||
![]() |
3cbfd60098 | ||
![]() |
fc0715aa97 | ||
![]() |
84fff0fe8b | ||
![]() |
153ef9bf1f | ||
![]() |
bbe8f3a32c | ||
![]() |
eb7c9b5c3c | ||
![]() |
90e73ed010 | ||
![]() |
e613017c13 | ||
![]() |
6404bb84ed | ||
![]() |
55ec9acccf | ||
![]() |
0197b79427 | ||
![]() |
828e531b52 | ||
![]() |
23279d9710 | ||
![]() |
0caf473897 | ||
![]() |
8e68534b28 | ||
![]() |
0f07ccfd3f | ||
![]() |
77fad02da7 | ||
![]() |
7a9cb1b2ca | ||
![]() |
d82ed79989 | ||
![]() |
ff82ded064 | ||
![]() |
78167f2d03 | ||
![]() |
80f2084822 | ||
![]() |
a7d67e993f | ||
![]() |
317eab54f8 | ||
![]() |
cb90ef363b | ||
![]() |
f31309f863 | ||
![]() |
a76a692075 | ||
![]() |
f52f758962 | ||
![]() |
bcc3a7877e | ||
![]() |
7b52da5ce0 | ||
![]() |
e7403bd1a4 | ||
![]() |
2881eb4546 | ||
![]() |
c7cc2269ba | ||
![]() |
014158bc63 | ||
![]() |
8dcccb17ad | ||
![]() |
325a222386 | ||
![]() |
9b4f4229f7 | ||
![]() |
3b719bf145 | ||
![]() |
136d5d2e15 | ||
![]() |
1c10a00089 | ||
![]() |
a8d9401de3 | ||
![]() |
e77fa7dfbc | ||
![]() |
8d3c0cc4ce | ||
![]() |
87e04c8c4b | ||
![]() |
e1f4228c31 | ||
![]() |
4cb4bef579 | ||
![]() |
744a0f7248 | ||
![]() |
a1e48ade96 | ||
![]() |
9a2540cf04 | ||
![]() |
399f525a3f | ||
![]() |
f1c99b0ed7 | ||
![]() |
6e14e50dfd | ||
![]() |
a143f90a37 | ||
![]() |
e60b2ec4a1 | ||
![]() |
0250ef68dd | ||
![]() |
71c9c19480 | ||
![]() |
fe108c2621 | ||
![]() |
aa76036470 | ||
![]() |
1475782fa6 | ||
![]() |
aa201d561d | ||
![]() |
35a8776bae | ||
![]() |
1f000d4b23 | ||
![]() |
fa268f4541 | ||
![]() |
f9c8c85578 | ||
![]() |
f7274cd43d | ||
![]() |
b122c40148 | ||
![]() |
05fa3b795c | ||
![]() |
5f329f9271 | ||
![]() |
22f9b9ee68 | ||
![]() |
3713f73da6 | ||
![]() |
efa4933c77 | ||
![]() |
fc9be4cdcf | ||
![]() |
9060fe20fe | ||
![]() |
b4d60df133 | ||
![]() |
09d7904654 | ||
![]() |
a7d35b7b06 | ||
![]() |
f22cffcfc4 | ||
![]() |
b6ae910514 | ||
![]() |
4486dcc814 | ||
![]() |
1452109194 | ||
![]() |
512f39ed8a | ||
![]() |
39c6f922fe | ||
![]() |
e8ccd62987 | ||
![]() |
210237c42f | ||
![]() |
daa2295cea | ||
![]() |
e6d5c16f12 | ||
![]() |
e0dea81ef5 | ||
![]() |
2889f8e8b1 | ||
![]() |
ac6d3504be | ||
![]() |
fdaf7de75e | ||
![]() |
185b8b5f40 | ||
![]() |
603590e95b | ||
![]() |
9cf7825384 | ||
![]() |
d50814ab08 | ||
![]() |
97d77d0dfc | ||
![]() |
4ec4cf28de | ||
![]() |
89f869a55e | ||
![]() |
aaecdb93f8 | ||
![]() |
24ce0ed262 | ||
![]() |
70e2532434 | ||
![]() |
828e0266fc | ||
![]() |
21d7117ca1 | ||
![]() |
13d4be8086 | ||
![]() |
862f0bb95b | ||
![]() |
2d7e32369c | ||
![]() |
ac37e4269c | ||
![]() |
5287ab023a | ||
![]() |
92d1b20678 | ||
![]() |
7b08b0b0ac | ||
![]() |
7047b9c5f5 | ||
![]() |
6c9cb40f1e | ||
![]() |
74901ecbf5 | ||
![]() |
598018feb7 | ||
![]() |
ca6a2bed82 | ||
![]() |
41cabcffd0 | ||
![]() |
3424565e95 | ||
![]() |
7b037bae46 | ||
![]() |
6d257e1aca | ||
![]() |
a3c288fb1d | ||
![]() |
3d33aa41da | ||
![]() |
4ba0104dc8 | ||
![]() |
3ab1d6b123 | ||
![]() |
5cca744f10 | ||
![]() |
c56d35b153 | ||
![]() |
b9df91cad8 | ||
![]() |
d05204a61b | ||
![]() |
c5376ea8c6 | ||
![]() |
ccfb4a8f82 | ||
![]() |
b99a9168bd | ||
![]() |
26fe455cc3 | ||
![]() |
eb66a24177 | ||
![]() |
5610ed67e5 | ||
![]() |
73f14989d8 | ||
![]() |
dc4ca0e862 | ||
![]() |
40b47bc782 | ||
![]() |
1a1c998f3f | ||
![]() |
f5c44ab79f | ||
![]() |
3da6951801 | ||
![]() |
f80241548a | ||
![]() |
65793ef70e | ||
![]() |
754da19c7c | ||
![]() |
73dc16f469 | ||
![]() |
91be9969e4 | ||
![]() |
792d7417b5 | ||
![]() |
ee0a50c4c2 | ||
![]() |
13554854d9 | ||
![]() |
1bdfc42d9e | ||
![]() |
f0ddacabe9 | ||
![]() |
de76908ad9 | ||
![]() |
8f2b4d7a36 | ||
![]() |
1e137fa213 | ||
![]() |
3035caddce | ||
![]() |
a2fc2ddb4c | ||
![]() |
838e73c380 | ||
![]() |
d57a646a27 | ||
![]() |
e27d760123 | ||
![]() |
f74cd1a1e6 | ||
![]() |
c226700c6d | ||
![]() |
c3ca11b05d | ||
![]() |
164d86e5b0 | ||
![]() |
61e692f5ac | ||
![]() |
47d68f7710 | ||
![]() |
6dd6f3bc45 | ||
![]() |
b229d70fab | ||
![]() |
c4d8eb5eea | ||
![]() |
ac6ebc6b57 | ||
![]() |
2a2d564a13 | ||
![]() |
a29c903a95 | ||
![]() |
7b54eb5cdf | ||
![]() |
7e6d2b40a3 | ||
![]() |
b0f0418207 | ||
![]() |
98d7611236 | ||
![]() |
2119b05429 | ||
![]() |
dd15e0eb37 | ||
![]() |
9e1f79a3b5 | ||
![]() |
65be02a837 | ||
![]() |
2a3cab631d | ||
![]() |
e6605764bc | ||
![]() |
9fbccab1b5 | ||
![]() |
6f6908f30b | ||
![]() |
1cf5fad731 | ||
![]() |
75dc930abb | ||
![]() |
8d0adf5a28 | ||
![]() |
7a981950f5 | ||
![]() |
da1c738671 | ||
![]() |
8fbdd27e1c | ||
![]() |
631cd979b0 | ||
![]() |
de9c00a6ec | ||
![]() |
4de1b7dce7 | ||
![]() |
e0f464dc7d | ||
![]() |
5b91945824 | ||
![]() |
e7bdd81136 | ||
![]() |
dbd1b731bc | ||
![]() |
097f041765 | ||
![]() |
f283e329a7 | ||
![]() |
ffbc775446 | ||
![]() |
fedb652e1e | ||
![]() |
503a7f7410 | ||
![]() |
a693508e24 | ||
![]() |
3ba3f13005 | ||
![]() |
66f5904893 | ||
![]() |
27848998d5 | ||
![]() |
e2e9bb421f | ||
![]() |
5e32ac2a04 | ||
![]() |
efbaa6ce4f | ||
![]() |
60821fc0c3 | ||
![]() |
e25edd77b0 | ||
![]() |
2ac190723e | ||
![]() |
775a4a4b2a | ||
![]() |
84d6758b7a | ||
![]() |
1031fbd660 | ||
![]() |
80d43bed2d | ||
![]() |
094ba86f47 | ||
![]() |
244911614d | ||
![]() |
f9eedc7835 | ||
![]() |
cbfb33faf0 | ||
![]() |
2d9e89d40a | ||
![]() |
266b3978fc | ||
![]() |
d2bfd1c48f | ||
![]() |
633da32df5 | ||
![]() |
ea2c28f3fd | ||
![]() |
f66b519f51 | ||
![]() |
6bfb558f73 | ||
![]() |
f0a894091c | ||
![]() |
3bc14eb232 | ||
![]() |
e428666750 | ||
![]() |
2301ea8df6 | ||
![]() |
e9434b327a | ||
![]() |
3b1d5d838e | ||
![]() |
4e5ea23b66 | ||
![]() |
3ad19673a4 | ||
![]() |
bb58394a43 | ||
![]() |
f574888563 | ||
![]() |
7339c262b5 | ||
![]() |
51f9d204b9 | ||
![]() |
3d082a51a3 | ||
![]() |
db6b6238c5 | ||
![]() |
6011e5637a | ||
![]() |
855bf85be6 | ||
![]() |
ec37884f7a | ||
![]() |
057720bca8 | ||
![]() |
e3d607bd25 | ||
![]() |
a9e3a5ecbb | ||
![]() |
f9a3edbf30 | ||
![]() |
c199aa0902 | ||
![]() |
dfafdbb8af | ||
![]() |
c4d8507638 | ||
![]() |
44d5cfa4de | ||
![]() |
5aa3cfb80f | ||
![]() |
22b83dbcf9 |
@@ -1,6 +0,0 @@
|
||||
assets/js/critical/color.js
|
||||
assets/js/analytics.js
|
||||
assets/js/flexsearch.js
|
||||
assets/js/sharing.js
|
||||
assets/js/vendor
|
||||
node_modules
|
42
.github/ISSUE_TEMPLATE/bug_report.md
vendored
42
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -7,31 +7,55 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
<!---
|
||||
Please use the discussion forum (https://github.com/gethinode/hinode/discussions) for questions and troubleshooting. We prefer to use GitHub issues for verified bugs and vetted enhancements.
|
||||
|
||||
When submitting a bug, please include the exact steps to reproduce the issue. Ideally, use a minimal repo created with the Hinode installation steps for either Hugo or npm (https://gethinode.com/docs/getting-started/introduction/#installation). Add any additional commands and configuration adjustments from there on.
|
||||
-->
|
||||
|
||||
## Describe the bug
|
||||
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To reproduce**
|
||||
## To reproduce
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
Alternatively, include the commands from your terminal as bash script.
|
||||
|
||||
## Expected behavior
|
||||
|
||||
If applicable, a clear and concise description of what you expected to happen.
|
||||
|
||||
## Log file
|
||||
|
||||
**Log file**
|
||||
If applicable, add a copy of Hugo's log messages.
|
||||
|
||||
**Screenshots**
|
||||
## Screenshots
|
||||
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Environment (please complete the following information):**
|
||||
## Host environment
|
||||
|
||||
Please complete the following information where applicable.
|
||||
|
||||
- Hinode version: [e.g. v0.11.3]
|
||||
- Host OS: [e.g. macOS Ventura 13.3]
|
||||
- Node version: [e.g. node v18.15.0]
|
||||
- Hugo version: [e.g. hugo v0.109.0-47b12b83e636224e5e601813ff3e6790c191e371+extended darwin/amd64 BuildDate=2022-12-23T10:38:11Z VendorInfo=gohugoio]
|
||||
- Browser: [e.g. Google Chrome Version 108.0.5359.124 (Official Build) (arm64)]
|
||||
|
||||
**Additional context**
|
||||
## Hugo environment
|
||||
|
||||
Copy the output of `hugo env` or `npm run env` here.
|
||||
|
||||
```bash
|
||||
[env output]
|
||||
```
|
||||
|
||||
## Additional context
|
||||
|
||||
Add any other context about the problem here.
|
||||
|
14
.github/ISSUE_TEMPLATE/feature_request.md
vendored
14
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -7,14 +7,18 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
## Problem or enhancement idea
|
||||
|
||||
A clear and concise description of what the problem is. E.g. I'm always frustrated when ... Or else, the enhancement idea to further improve Hinode.
|
||||
|
||||
## Proposed solution
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
## Alternatives
|
||||
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
## Additional context
|
||||
|
||||
Add any other context or screenshots about the feature request here.
|
||||
|
6
.github/dependabot.yml
vendored
6
.github/dependabot.yml
vendored
@@ -3,7 +3,13 @@
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
open-pull-requests-limit: 10
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
versioning-strategy: increase
|
||||
|
2
.github/release.yml
vendored
2
.github/release.yml
vendored
@@ -14,7 +14,7 @@ changelog:
|
||||
labels:
|
||||
- Semver-Minor
|
||||
- enhancement
|
||||
- title: 🐛 Bug fixes
|
||||
- title: 🐛 Bug Fixes
|
||||
labels:
|
||||
- fix
|
||||
- bugfix
|
||||
|
17
.github/workflows/auto-merge.yml
vendored
17
.github/workflows/auto-merge.yml
vendored
@@ -13,30 +13,27 @@ jobs:
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
uses: dependabot/fetch-metadata@v1
|
||||
uses: dependabot/fetch-metadata@v2
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
|
||||
- name: Enable auto-merge for Dependabot PRs
|
||||
run: gh pr merge --auto --merge "$PR_URL"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
|
||||
- name: Approve patch and minor updates
|
||||
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch' || steps.dependabot-metadata.outputs.update-type == 'version-update:semver-minor'}}
|
||||
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a patch or minor update**"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
- name: Approve major updates of development dependencies
|
||||
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:development'}}
|
||||
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a major update of a dependency used only in development**"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
- name: Comment on major updates of non-development dependencies
|
||||
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:production'}}
|
||||
|
||||
- name: Comment on major updates of any dependencies
|
||||
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major'}}
|
||||
run: |
|
||||
gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency used in production**"
|
||||
gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency**"
|
||||
gh pr edit $PR_URL --add-label "requires-manual-qa"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
|
28
.github/workflows/build.yml
vendored
28
.github/workflows/build.yml
vendored
@@ -1,28 +0,0 @@
|
||||
name: build
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||
node-version: [16.x, 18.x, 20.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
- run: npm ci
|
||||
- run: npm run build
|
105
.github/workflows/lint-build.yml
vendored
Normal file
105
.github/workflows/lint-build.yml
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
name: Lint & build
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
env:
|
||||
CACHE_KEY: 'hugo-hinode'
|
||||
CACHE_PATH_DEBIAN: '/tmp/hugo_cache_runner'
|
||||
CACHE_PATH_WIN: '~\AppData\Local\hugo_cache'
|
||||
CACHE_PATH_MAC: '/Users/runner/Library/Caches/hugo_cache'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
# [24/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
|
||||
- name: Install npm
|
||||
run: npm i
|
||||
|
||||
- name: Lint the source files
|
||||
run: npm run lint
|
||||
|
||||
build:
|
||||
needs: lint
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
node-version: [20.x, 22.x]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ">1.0.0"
|
||||
|
||||
- name: Set up Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Install Dart Sass
|
||||
run: |
|
||||
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||
sudo snap install dart-sass
|
||||
elif [ "$RUNNER_OS" == "macOS" ]; then
|
||||
brew install sass/sass/sass
|
||||
elif [ "$RUNNER_OS" == "Windows" ]; then
|
||||
choco install sass
|
||||
fi
|
||||
shell: bash
|
||||
|
||||
# [24/AUG/23] Adjusted from npm ci for non-macOS to prevent EBADPLATFORM error due to fsevents
|
||||
- name: Perform clean install of npm
|
||||
run: |
|
||||
if [ "$RUNNER_OS" == "macOS" ]; then
|
||||
npm ci
|
||||
else
|
||||
npm i
|
||||
fi
|
||||
shell: bash
|
||||
|
||||
# Cache Hugo cachedir and resourcedir (configured in config/ci/hugo.toml) for each OS
|
||||
# No additional cache invalidation is needed, Hugo uses checksums itself
|
||||
- name: Use Hugo cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ runner.os == 'Windows' && env.CACHE_PATH_WIN || runner.os == 'macOS' && env.CACHE_PATH_MAC || env.CACHE_PATH_DEBIAN }}
|
||||
key: ${{ runner.os }}-${{ env.CACHE_KEY }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ env.CACHE_KEY }}
|
||||
|
||||
- name: Display environment
|
||||
run: npm run env
|
||||
|
||||
- name: Build main site
|
||||
run: npm run build:cache
|
||||
|
||||
# The example site is to be published to demo.gethinode.com
|
||||
- name: Build example site
|
||||
run: npm run build:example:ci
|
28
.github/workflows/lint.yml
vendored
28
.github/workflows/lint.yml
vendored
@@ -1,28 +0,0 @@
|
||||
name: lint
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [16.x, 18.x, 20.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
- run: npm ci --ignore-scripts
|
||||
- run: npm run lint
|
62
.github/workflows/mod-update.yml
vendored
Normal file
62
.github/workflows/mod-update.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: Update Hugo dependencies
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 3 * * *' # run daily at 03:00 AM
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
update-mod:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
# [26/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
|
||||
- name: Install npm
|
||||
run: npm i
|
||||
|
||||
- name: Update Hugo module dependencies
|
||||
id: mod-updates
|
||||
run: |
|
||||
MOD_OUTPUT=$(npm run mod:update 2>&1)
|
||||
echo "$MOD_OUTPUT"
|
||||
MOD_UPDATES=$(echo "$MOD_OUTPUT" | grep '^go: upgraded' | sed 's/go: / - /' | sort -u)
|
||||
echo 'MOD_UPDATES<<EOF' >> $GITHUB_OUTPUT
|
||||
echo "$MOD_UPDATES" >> "$GITHUB_OUTPUT"
|
||||
echo 'EOF' >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: gethinode-actions/create-pull-request@v6
|
||||
with:
|
||||
token: ${{ secrets.HUGO_MOD_PR }}
|
||||
commit-message: 'fix: update Hugo module dependencies'
|
||||
committer: GitHub <noreply@github.com>
|
||||
branch: hugo-mod-dependencies
|
||||
delete-branch: true
|
||||
title: 'Update Hugo module dependencies'
|
||||
body: |
|
||||
This PR is auto-generated by [create-pull-request][1].
|
||||
|
||||
Changes to go.mod:
|
||||
|
||||
${{ steps.mod-updates.outputs.MOD_UPDATES }}
|
||||
|
||||
[1]: https://github.com/peter-evans/create-pull-request
|
||||
labels: dependencies
|
||||
add-paths: |
|
||||
go.mod
|
||||
go.sum
|
||||
**/go.mod
|
||||
**/go.sum
|
54
.github/workflows/npm-publish.yml
vendored
54
.github/workflows/npm-publish.yml
vendored
@@ -1,35 +1,41 @@
|
||||
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
|
||||
|
||||
name: Node.js Package
|
||||
# This workflow will run tests using node and then publish a package to npmjs.org when a release is created
|
||||
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
||||
name: Publish package to npmjs
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
branches: [ main ]
|
||||
release:
|
||||
types: [created]
|
||||
types: [published]
|
||||
|
||||
env:
|
||||
REGISTRY_URL: 'https://registry.npmjs.org/'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
node-version: [20.x]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
publish-npm:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup .npmrc file to publish to npm
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
registry-url: https://registry.npmjs.org/
|
||||
- run: npm ci
|
||||
- run: npm publish
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: ${{ env.REGISTRY_URL }}
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
# [27/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
|
||||
- name: Install npm
|
||||
run: npm i
|
||||
|
||||
- name: Publish package to npm
|
||||
run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
37
.github/workflows/update.yml
vendored
37
.github/workflows/update.yml
vendored
@@ -1,37 +0,0 @@
|
||||
name: Update Hugo Dependencies
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 3 * * *' # run daily at 03:00 AM
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
update-dep:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
- name: Update Hugo module dependencies
|
||||
run: npm run mod:update
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
token: ${{ secrets.HUGO_MOD_PR }}
|
||||
commit-message: 'fix: update Hugo module dependencies'
|
||||
branch: hugo-mod-dependencies
|
||||
delete-branch: true
|
||||
title: 'Update Hugo module dependencies'
|
||||
body: >
|
||||
This PR is auto-generated by
|
||||
[create-pull-request](https://github.com/peter-evans/create-pull-request).
|
||||
labels: dependencies
|
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,8 +1,8 @@
|
||||
/_vendor
|
||||
/public
|
||||
_vendor/
|
||||
prebuild/
|
||||
public/
|
||||
resources/
|
||||
node_modules/
|
||||
|
||||
.DS_store
|
||||
.hugo_build.lock
|
||||
hugo_stats.json
|
||||
.hugo_build.lock
|
@@ -4,10 +4,11 @@
|
||||
"MD013": false,
|
||||
"MD024": false,
|
||||
"MD026": false,
|
||||
"MD033": false,
|
||||
"MD034": false,
|
||||
"MD051": false,
|
||||
"MD053": false
|
||||
"MD053": false,
|
||||
"MD055": false,
|
||||
"MD056": false
|
||||
},
|
||||
"ignores": ["node_modules", "CHANGELOG.md"]
|
||||
}
|
||||
|
@@ -1,8 +1,8 @@
|
||||
assets/scss/common/_variables.scss
|
||||
assets/scss/components/_syntax-dark.scss
|
||||
assets/scss/components/_syntax-light.scss
|
||||
assets/scss/hotfix
|
||||
assets/scss/vendor
|
||||
assets/scss/theme/fonts.scss
|
||||
assets/scss/app-dart.scss
|
||||
assets/scss/app.scss
|
||||
node_modules
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"selector-id-pattern": null,
|
||||
"selector-class-pattern": null,
|
||||
"scss/no-global-function-names": null,
|
||||
"color-function-alias-notation": null,
|
||||
"number-max-precision": null,
|
||||
"hue-degree-notation": null,
|
||||
"value-no-vendor-prefix": null,
|
||||
|
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Mark Dumay
|
||||
Copyright (c) 2022-2025 Mark Dumay
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
101
README.md
101
README.md
@@ -1,5 +1,6 @@
|
||||
# Hugo Theme Hinode
|
||||
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<!-- Tagline -->
|
||||
<p align="center">
|
||||
<b>A clean documentation and blog theme for your Hugo site based on Bootstrap 5</b>
|
||||
@@ -8,32 +9,32 @@
|
||||
|
||||
<!-- Badges -->
|
||||
<p align="center">
|
||||
<a href="https://gohugo.io" alt="Hugo website">
|
||||
<img src="https://img.shields.io/badge/generator-hugo-brightgreen">
|
||||
<a href="https://gohugo.io">
|
||||
<img src="https://img.shields.io/badge/generator-hugo-brightgreen" alt="Hugo website">
|
||||
</a>
|
||||
<a href="https://gethinode.com" alt="Hinode theme">
|
||||
<img src="https://img.shields.io/badge/theme-hinode-blue">
|
||||
<a href="https://gethinode.com">
|
||||
<img src="https://img.shields.io/badge/theme-hinode-blue" alt="Hinode theme">
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/%40gethinode/hinode" alt="npm package">
|
||||
<img src="https://img.shields.io/npm/v/%40gethinode/hinode">
|
||||
<a href="https://www.npmjs.com/package/%40gethinode/hinode">
|
||||
<img src="https://img.shields.io/npm/v/%40gethinode/hinode" alt="npm package">
|
||||
</a>
|
||||
<a href="https://app.netlify.com/sites/gethinode-demo/deploys" alt="Netlify Status">
|
||||
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67">
|
||||
<a href="https://app.netlify.com/sites/gethinode-demo/deploys">
|
||||
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67" alt="Netlify Status">
|
||||
</a>
|
||||
<a href="https://stats.uptimerobot.com/xyGVYhLJmV" alt="UptimeRobot Status">
|
||||
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb">
|
||||
<a href="https://stats.uptimerobot.com/xyGVYhLJmV">
|
||||
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb" alt="UptimeRobot Status">
|
||||
</a>
|
||||
<a href="https://github.com/gethinode/hinode/commits/main" alt="Last commit">
|
||||
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg">
|
||||
<a href="https://github.com/gethinode/hinode/commits/main">
|
||||
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg" alt="Last commit">
|
||||
</a>
|
||||
<a href="https://github.com/gethinode/hinode/issues" alt="Issues">
|
||||
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg">
|
||||
<a href="https://github.com/gethinode/hinode/issues">
|
||||
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg" alt="Issues">
|
||||
</a>
|
||||
<a href="https://github.com/gethinode/hinode/pulls" alt="Pulls">
|
||||
<img src="https://img.shields.io/github/issues-pr-raw/gethinode/hinode.svg">
|
||||
<a href="https://github.com/gethinode/hinode/pulls">
|
||||
<img src="https://img.shields.io/github/issues-pr-raw/gethinode/hinode.svg" alt="Pulls">
|
||||
</a>
|
||||
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE" alt="License">
|
||||
<img src="https://img.shields.io/github/license/gethinode/hinode">
|
||||
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE">
|
||||
<img src="https://img.shields.io/github/license/gethinode/hinode" alt="License">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -47,6 +48,7 @@
|
||||
<a href="#donate">Donate</a> •
|
||||
<a href="#license">License</a>
|
||||
</p>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
## About
|
||||
|
||||
@@ -56,54 +58,51 @@
|
||||
- [PageSpeed Insights][pagespeed]
|
||||
- [Mozilla Observatory][observatory]
|
||||
|
||||
Hinode is a clean documentation and blog theme for [Hugo][hugo], an open-source static site generator. Based on the [Bootstrap 5][bootstrap] framework, the rendered site is fast, secure, and responsive. Hinode uses [FlexSearch][flexsearch] to enable full text search across your site. Finally, the theme supports [Node Package Manager][npm] to automate the build process and to keep track of dependencies.
|
||||
|
||||
Additional features include:
|
||||
|
||||
- Flexible configuration of Hugo modules
|
||||
- Switching between light mode and dark mode
|
||||
- Support for multiple languages
|
||||
- Reusable Bootstrap components through configurable shortcodes and partials
|
||||
- Embedded comments through light-weight integration with GitHub via [utteranc.es][utterances]
|
||||
- Integrated sidebar navigation for content-heavy sections, such as documentation pages
|
||||
- Reponsive image handling for multiple screen sizes and resolutions
|
||||
- Optimized search results, scoring 100 points for SEO on [PageSpeed Insights][pagespeed]
|
||||
- Secure by default, scoring A+ on [Mozilla Observatory test][observatory]
|
||||
Hinode is a clean documentation and blog theme for [Hugo][hugo], an open-source static site generator. Based on the [Bootstrap 5][bootstrap] framework, the rendered site is fast, secure, and responsive. Hinode uses [FlexSearch][flexsearch] to enable full text search across your site. Finally, the theme supports [Node Package Manager][npm] (npm) to automate the build process and to keep track of dependencies.
|
||||
|
||||
Detailed information about Hinode is available on the [official website][website].
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Hinode requires Git, Node.js and npm for local development and testing. Download the Git binary from the [official website][git_download]. Next, download and install [Node.js][nodejs] (it includes npm) for your platform.
|
||||
Hinode is a [Hugo theme that uses modules][hugo_modules] to install and maintain various components. It can be installed using either Hugo or npm. If you would like to take advantage of automation, the npm approach is recommended. Refer to the [Hinode template][repository_template] for installation instructions with npm.
|
||||
|
||||
The installation instructions in this readme install Hinode as a regular Hugo theme. Hinode requires the following software to be installed on your local machine.
|
||||
|
||||
- [Go binary][golang_download]
|
||||
- [Hugo][hugo_download] (extended version)
|
||||
|
||||
[Git][git_download] is recommended, but is not a strict requirement.
|
||||
|
||||
## Installation
|
||||
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<details>
|
||||
<summary>Installation notes for Windows</summary>
|
||||
|
||||
The installation for Windows requires PowerShell v7. Download it from the Microsoft Store as needed. Check your current version with the command `$PSVersionTable`.
|
||||
</details>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
Start a new Hinode project in three steps:
|
||||
|
||||
1. Create a new site
|
||||
|
||||
Hinode is available as a [template][repository_template], and a [main repository][repository]. The template [npm][npm] to link to the latest available version of Hinode. Unless you plan to customize a lot, it is recommended to use the template:
|
||||
1. **Create a new site**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/gethinode/template.git my-hinode-site && cd my-hinode-site
|
||||
hugo new site my-hinode-site && cd my-hinode-site
|
||||
```
|
||||
|
||||
Use the main theme if you intend to customize the base code:
|
||||
2. **Initialize the module system**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/gethinode/hinode.git my-hinode-site && cd my-hinode-site
|
||||
hugo mod init example.com/my-hinode-site
|
||||
echo "[[module.imports]]" >> hugo.toml
|
||||
echo "path = 'github.com/gethinode/hinode'" >> hugo.toml
|
||||
```
|
||||
|
||||
1. Install dependencies
|
||||
3. **Start a development server**
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
1. Start development server
|
||||
|
||||
```bash
|
||||
npm run start
|
||||
hugo server
|
||||
```
|
||||
|
||||
## Configuration
|
||||
@@ -123,11 +122,13 @@ Hinode is inspired by the following themes:
|
||||
|
||||
## Donate
|
||||
|
||||
<a href="https://www.buymeacoffee.com/markdumay" target="_blank" rel="noopener noreferrer"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<a href="https://www.buymeacoffee.com/markdumay" target="_blank" rel="noopener noreferrer nofollow"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
## License
|
||||
|
||||
The `hinode` and `template` codebase is released under the [MIT license][license]. The documentation (including the "README" and `docs` codebase) is licensed under the Creative Commons [(CC BY-NC 4.0)][cc-by-nc-4.0] license.
|
||||
The `hinode`, `docs`, and `template` codebase is released under the [MIT license][license]. The documentation of Hinode is licensed under the Creative Commons [(CC BY-NC 4.0)][cc-by-nc-4.0] license. This includes all files within the repository's `/content` and `/exampleSite/content` folders and their children, as well as the "README" in the repository root. This applies to all public repositories maintained by `gethinode` on GitHub, including the `gethinode/hinode`, `gethinode/template`, and `gethinode/docs` repositories, unless specified otherwise.
|
||||
|
||||
<!-- MARKDOWN PUBLIC LINKS -->
|
||||
[blist]: https://github.com/apvarun/blist-hugo-theme
|
||||
@@ -137,16 +138,18 @@ The `hinode` and `template` codebase is released under the [MIT license][license
|
||||
[flexsearch]: https://github.com/nextapps-de/flexsearch
|
||||
[git_download]: https://git-scm.com
|
||||
[hugo]: https://gohugo.io
|
||||
[hugo_download]: https://gohugo.io/installation
|
||||
[hugo_modules]: https://gohugo.io/hugo-modules/
|
||||
[netlify]: https://www.netlify.com
|
||||
[nodejs]: https://nodejs.org
|
||||
[npm]: https://www.npmjs.com
|
||||
[observatory]: https://observatory.mozilla.org/analyze/demo.gethinode.com
|
||||
[pagespeed]: https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F
|
||||
[utterances]: https://utteranc.es
|
||||
|
||||
<!-- MARKDOWN MAINTAINED LINKS -->
|
||||
[contribute]: https://gethinode.com/contribute
|
||||
[getstarted]: https://gethinode.com/docs
|
||||
[golang_download]: https://go.dev/dl/
|
||||
[demo]: https://demo.gethinode.com/
|
||||
[license]: https://github.com/gethinode/hinode/blob/main/LICENSE
|
||||
[repository]: https://github.com/gethinode/hinode.git
|
||||
|
@@ -1,2 +1,16 @@
|
||||
+++
|
||||
+++
|
||||
---
|
||||
# author:
|
||||
title: {{ replace .Name "-" " " | title }}
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
# layout:
|
||||
# description:
|
||||
# tags:
|
||||
# icon:
|
||||
# thumbnail:
|
||||
# url:
|
||||
# author:
|
||||
# authorURL:
|
||||
# origin:
|
||||
# originURL:
|
||||
---
|
||||
|
BIN
assets/img/creator-1x1.jpg
Normal file
BIN
assets/img/creator-1x1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.5 MiB |
@@ -1,14 +1,15 @@
|
||||
/* eslint-disable no-undef */
|
||||
const alert = document.getElementById('page-alert')
|
||||
const closeBtn = document.getElementById('page-alert-btn-close')
|
||||
if (alert !== null && closeBtn !== null) {
|
||||
const version = alert.getAttribute('data-page-alert-version') || 'unknown'
|
||||
const hideAlert = sessionStorage.getItem(`page-alert-${version}`) !== null
|
||||
const hideAlert = getSessionStorage(`page-alert-${version}`, null, 'functional') !== null
|
||||
if (hideAlert) {
|
||||
alert.classList.add('d-none')
|
||||
}
|
||||
|
||||
closeBtn.addEventListener('click', () => {
|
||||
sessionStorage.setItem(`page-alert-${version}`, 'seen')
|
||||
setSessionStorage(`page-alert-${version}`, 'seen', 'functional')
|
||||
alert.classList.add('d-none')
|
||||
})
|
||||
}
|
||||
|
@@ -1,69 +0,0 @@
|
||||
// Adapted from https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/google_analytics.html
|
||||
|
||||
{{- define "__ga_js_set_doNotTrack" -}}{{/* This is also used in the async version. */}}
|
||||
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
|
||||
{{- if not $pc.RespectDoNotTrack -}}
|
||||
var doNotTrack = false;
|
||||
{{- else -}}
|
||||
var dnt = (navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack);
|
||||
var doNotTrack = (dnt == "1" || dnt == "yes");
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
|
||||
{{- if (and (not .Site.IsServer) (not $pc.Disable)) -}}
|
||||
{{ with .Site.GoogleAnalytics -}}
|
||||
{{ if hasPrefix . "G-"}}
|
||||
{{ template "__ga_js_set_doNotTrack" $ }}
|
||||
|
||||
if (!doNotTrack) {
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
|
||||
gtag('js', new Date());
|
||||
gtag('config', '{{ . }}', { 'anonymize_ip': {{- $pc.AnonymizeIP -}} });
|
||||
}
|
||||
|
||||
{{ else if hasPrefix . "UA-" }}
|
||||
{{ template "__ga_js_set_doNotTrack" $ }}
|
||||
|
||||
if (!doNotTrack) {
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
{{- if $pc.UseSessionStorage }}
|
||||
if (window.sessionStorage) {
|
||||
var GA_SESSION_STORAGE_KEY = 'ga:clientId';
|
||||
ga('create', '{{ . }}', {
|
||||
'storage': 'none',
|
||||
'clientId': sessionStorage.getItem(GA_SESSION_STORAGE_KEY)
|
||||
});
|
||||
|
||||
ga(function(tracker) {
|
||||
sessionStorage.setItem(GA_SESSION_STORAGE_KEY, tracker.get('clientId'));
|
||||
});
|
||||
}
|
||||
{{ else }}
|
||||
ga('create', '{{ . }}', 'auto');
|
||||
{{ end -}}
|
||||
{{ if $pc.AnonymizeIP }}
|
||||
ga('set', 'anonymizeIp', true);
|
||||
{{ end }}
|
||||
|
||||
ga('send', 'pageview');
|
||||
}
|
||||
{{- end }}
|
||||
{{ end -}}
|
||||
{{- end }}
|
@@ -15,6 +15,7 @@ const addCopyButtons = (clipboard) => {
|
||||
const button = document.createElement('button')
|
||||
button.className = 'clipboard-button'
|
||||
button.setAttribute('data-toast-target', 'toast-copied-code-message')
|
||||
button.setAttribute('aria-label', '{{ T "copyToClipboard" }}')
|
||||
button.type = 'button'
|
||||
button.innerHTML = svgCopy
|
||||
button.addEventListener('click', () => {
|
||||
|
33
assets/js/critical/_cookie.js
Normal file
33
assets/js/critical/_cookie.js
Normal file
@@ -0,0 +1,33 @@
|
||||
/* eslint-disable no-undef, no-unused-vars */
|
||||
function hasConsent (category) {
|
||||
// TODO: placeholder function
|
||||
return true
|
||||
}
|
||||
|
||||
function getLocalStorage (key, def, category) {
|
||||
if (hasConsent(category)) {
|
||||
return localStorage.getItem(key)
|
||||
} else {
|
||||
return def
|
||||
}
|
||||
}
|
||||
|
||||
function setLocalStorage (key, val, category) {
|
||||
if (hasConsent(category)) {
|
||||
localStorage.setItem(key, val)
|
||||
}
|
||||
}
|
||||
|
||||
function getSessionStorage (key, def, category) {
|
||||
if (hasConsent(category)) {
|
||||
return sessionStorage.getItem(key)
|
||||
} else {
|
||||
return def
|
||||
}
|
||||
}
|
||||
|
||||
function setSessionStorage (key, val, category) {
|
||||
if (hasConsent(category)) {
|
||||
sessionStorage.setItem(key, val)
|
||||
}
|
||||
}
|
@@ -9,45 +9,49 @@
|
||||
(() => {
|
||||
'use strict'
|
||||
|
||||
const storedTheme = localStorage.getItem('theme')
|
||||
const supportedThemes = ['auto', 'dark', 'light'];
|
||||
|
||||
const getPreferredTheme = () => {
|
||||
if (storedTheme) {
|
||||
return storedTheme
|
||||
}
|
||||
// retrieves the currently stored theme from local storage
|
||||
const storedTheme = getLocalStorage('theme', 'auto', 'functional')
|
||||
|
||||
// retrieves the theme preferred by the client, defaults to light
|
||||
function getPreferredTheme() {
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
|
||||
}
|
||||
|
||||
const setTheme = function (theme) {
|
||||
if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.documentElement.setAttribute('data-bs-theme', 'dark')
|
||||
// retrieves the current theme, either from local storage or client's preferences
|
||||
function getTheme() {
|
||||
if (storedTheme) {
|
||||
return storedTheme
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-bs-theme', theme)
|
||||
const preference = getPreferredTheme()
|
||||
setLocalStorage('theme', preference, 'functional')
|
||||
return preference
|
||||
}
|
||||
}
|
||||
|
||||
setTheme(getPreferredTheme())
|
||||
|
||||
const showActiveTheme = theme => {
|
||||
const activeSelectors = document.querySelectorAll('.theme-icon-active')
|
||||
const activeButtons = document.querySelectorAll(`[data-bs-theme-value="${theme}"]`)
|
||||
if (activeButtons.length > 0) {
|
||||
const activeIcon = activeButtons[0].querySelector('span')
|
||||
|
||||
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
|
||||
element.classList.remove('active')
|
||||
})
|
||||
|
||||
for (let i = 0; i < activeSelectors.length; ++i) {
|
||||
activeSelectors[i].className = activeIcon.className
|
||||
activeSelectors[i].className = activeSelectors[i].className.replace('theme-icon', 'theme-icon-active')
|
||||
}
|
||||
|
||||
for (let i = 0; i < activeButtons.length; ++i) {
|
||||
activeButtons[i].classList.add('active')
|
||||
}
|
||||
// applies and stores requested theme
|
||||
function setTheme(theme) {
|
||||
if (!supportedThemes.includes(theme)) {
|
||||
theme = 'auto'
|
||||
}
|
||||
setLocalStorage('theme', theme, 'functional')
|
||||
|
||||
if (theme === 'auto') {
|
||||
document.documentElement.setAttribute('data-bs-theme', (getPreferredTheme()))
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-bs-theme', theme)
|
||||
}
|
||||
|
||||
document.querySelectorAll('.navbar-mode-selector').forEach(chk => {
|
||||
chk.checked = (document.documentElement.getAttribute('data-bs-theme') === 'light')
|
||||
})
|
||||
}
|
||||
|
||||
// alternates the currently active theme
|
||||
function toggleTheme() {
|
||||
const target = document.documentElement.getAttribute('data-bs-theme') === 'dark' ? 'light' : 'dark'
|
||||
setTheme(target)
|
||||
}
|
||||
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
|
||||
@@ -57,18 +61,16 @@
|
||||
})
|
||||
|
||||
window.addEventListener('DOMContentLoaded', () => {
|
||||
showActiveTheme(getPreferredTheme())
|
||||
|
||||
document.querySelectorAll('[data-bs-theme-value]')
|
||||
.forEach(toggle => {
|
||||
toggle.addEventListener('click', () => {
|
||||
const theme = toggle.getAttribute('data-bs-theme-value')
|
||||
localStorage.setItem('theme', theme)
|
||||
setTheme(theme)
|
||||
showActiveTheme(theme)
|
||||
})
|
||||
document.querySelectorAll('.navbar-mode-selector').forEach(chk => {
|
||||
chk.addEventListener('change', function () {
|
||||
document.documentElement.setAttribute('data-bs-theme-animate', 'true')
|
||||
toggleTheme()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
// initialize theme directly when script is invoked
|
||||
setTheme(getTheme())
|
||||
})()
|
||||
|
||||
{{- end -}}
|
86
assets/js/critical/languageSelector.js
Normal file
86
assets/js/critical/languageSelector.js
Normal file
@@ -0,0 +1,86 @@
|
||||
/* eslint-disable */
|
||||
{{- if site.Params.main.enableLanguageSelectionStorage -}}
|
||||
{{- $folder := (urls.Parse site.BaseURL).Path | default "/" -}}
|
||||
|
||||
(() => {
|
||||
'use strict'
|
||||
|
||||
const folder = '{{ $folder }}'
|
||||
|
||||
// Function to get the selected language from local storage
|
||||
function getLanguage () {
|
||||
return getLocalStorage('selectedLanguage', document.documentElement.lang, 'functional')
|
||||
}
|
||||
|
||||
// Function to set the selected language in local storage
|
||||
function setLanguage (language) {
|
||||
setLocalStorage('selectedLanguage', language, 'functional')
|
||||
}
|
||||
|
||||
// Function to apply the selected language to the website
|
||||
function applyLanguage (language, href) {
|
||||
if (document.documentElement.lang !== language) {
|
||||
if (href) {
|
||||
if (window.location.pathname !== href) {
|
||||
window.location.href = href
|
||||
}
|
||||
} else {
|
||||
let target = folder + language + '/'
|
||||
if (window.location.href !== target) {
|
||||
window.location.href = target
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Event listener for language selection
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
// override stored language when query string contains force is true
|
||||
let params = new URLSearchParams(document.location.search)
|
||||
let force = params.get('force')
|
||||
if (force !== null && force.toLowerCase() == 'true') {
|
||||
setLanguage(document.documentElement.lang)
|
||||
return
|
||||
}
|
||||
|
||||
// continue with regular code
|
||||
const storedLanguage = getLanguage()
|
||||
const languageItems = document.querySelectorAll('#language-selector[data-translated=true] .dropdown-item')
|
||||
|
||||
const link = document.querySelector("link[rel='canonical']")
|
||||
let alias = ''
|
||||
if (link !== null) {
|
||||
alias = link.getAttribute('href')
|
||||
}
|
||||
|
||||
if ((alias !== '') && (window.location.href !== alias)) {
|
||||
window.location.href = alias
|
||||
} else if (languageItems.length > 0) {
|
||||
// Redirect if the stored language differs from the active language
|
||||
if ((storedLanguage) && (document.documentElement.lang !== storedLanguage)) {
|
||||
languageItems.forEach(item => {
|
||||
if (item.getAttribute('hreflang') === storedLanguage) {
|
||||
applyLanguage(storedLanguage, item.getAttribute('href'))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Update the stored language when the user selects a new one
|
||||
languageItems.forEach(item => {
|
||||
item.addEventListener('click', () => {
|
||||
const selectedLanguage = item.getAttribute('hreflang')
|
||||
|
||||
if (selectedLanguage) {
|
||||
setLanguage(selectedLanguage)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
else {
|
||||
// overrule the current stored language when no translation is available
|
||||
setLanguage(document.documentElement.lang)
|
||||
}
|
||||
})
|
||||
})()
|
||||
{{- end -}}
|
||||
/* eslint-enable */
|
@@ -1,26 +1,75 @@
|
||||
const fixed = {{ site.Params.navigation.fixed }}
|
||||
const navbar = document.querySelector('.navbar')
|
||||
const toggler = document.getElementById('main-nav-toggler')
|
||||
const togglers = document.querySelectorAll('.main-nav-toggler')
|
||||
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
|
||||
const colorsBG = ['body', 'secondary', 'tertiary']
|
||||
|
||||
function updateNavbar () {
|
||||
let storedTheme
|
||||
if (typeof getLocalStorage === "function") {
|
||||
storedTheme = getLocalStorage('theme', null, 'functional')
|
||||
}
|
||||
|
||||
if (window.scrollY > 75) {
|
||||
navbar.classList.add('nav-active')
|
||||
if (storedTheme) {
|
||||
navbar.setAttribute('data-bs-theme', storedTheme)
|
||||
}
|
||||
} else {
|
||||
navbar.classList.remove('nav-active')
|
||||
const defaultTheme = navbar.getAttribute('data-bs-overlay')
|
||||
|
||||
const targetTheme = defaultTheme ? defaultTheme : storedTheme
|
||||
if (targetTheme) {
|
||||
navbar.setAttribute('data-bs-theme', defaultTheme)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((navbar !== null) && (window.performance.getEntriesByType)) {
|
||||
if (window.performance.getEntriesByType('navigation')[0].type === 'reload') {
|
||||
fixed && updateNavbar()
|
||||
}
|
||||
}
|
||||
|
||||
if (navbar !== null && togglers !== null) {
|
||||
// observe state changes to the site's color mode
|
||||
const html = document.querySelector('html')
|
||||
const config = {
|
||||
attributes: true,
|
||||
attributeFilter: ['data-bs-theme']
|
||||
}
|
||||
const Observer = new MutationObserver((mutationrecords) => {
|
||||
fixed && updateNavbar()
|
||||
})
|
||||
Observer.observe(html, config)
|
||||
|
||||
// initialize background color
|
||||
const color = (navbar.getAttribute('data-navbar-color') || 'body')
|
||||
const bg = colorsBG.includes(color) ? `var(--bs-${color}-bg)` : `var(--bs-navbar-color-${color})`
|
||||
navbar.style.setProperty('--bs-navbar-expanded-color', bg)
|
||||
|
||||
if (navbar !== null && toggler !== null) {
|
||||
// set the navbar background color to opaque when scrolling past a breakpoint
|
||||
window.onscroll = () => {
|
||||
if (window.scrollY > 75) {
|
||||
navbar.classList.add('nav-active')
|
||||
} else {
|
||||
navbar.classList.remove('nav-active')
|
||||
}
|
||||
fixed && updateNavbar()
|
||||
}
|
||||
|
||||
// set the navbar background color to opaque when expanded
|
||||
toggler.onclick = () => {
|
||||
navbar.classList.toggle('navbar-expanded')
|
||||
for (let i = 0; i < togglers.length; ++i) {
|
||||
togglers[i].onclick = () => {
|
||||
navbar.classList.toggle('navbar-expanded')
|
||||
}
|
||||
}
|
||||
|
||||
// invoke the navbar toggler for each mode switcher to collapse the main menu afterwards
|
||||
for (let i = 0; i < modeSelectors.length; ++i) {
|
||||
modeSelectors[i].onclick = () => {
|
||||
toggler.click()
|
||||
for (let j = 0; j < togglers.length; ++j) {
|
||||
const toggler = togglers[j]
|
||||
if (toggler.getAttribute('aria-expanded') === 'true') {
|
||||
toggler.click()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -14,23 +14,22 @@ function webShareAPI (title, description, link) {
|
||||
.catch((error) => console.log('Error sharing', error))
|
||||
}
|
||||
|
||||
const shareBtn = document.getElementById('btn-webshare')
|
||||
|
||||
if (shareBtn !== null) {
|
||||
const shareButtons = document.querySelectorAll('[data-sharing-url]')
|
||||
shareButtons.forEach(btn => {
|
||||
if (navigator.share) {
|
||||
const title = shareBtn.getAttribute('data-sharing-title')
|
||||
const description = shareBtn.getAttribute('data-sharing-description')
|
||||
const url = shareBtn.getAttribute('data-sharing-url')
|
||||
const title = btn.getAttribute('data-sharing-title')
|
||||
const description = btn.getAttribute('data-sharing-description')
|
||||
const url = btn.getAttribute('data-sharing-url')
|
||||
|
||||
// show button if it supports webShareAPI
|
||||
shareBtn.style.display = 'block'
|
||||
shareBtn.addEventListener('click', () =>
|
||||
btn.style.display = 'block'
|
||||
btn.addEventListener('click', () =>
|
||||
webShareAPI(title, description, url)
|
||||
)
|
||||
} else {
|
||||
// hide button if host does not support Web Share API
|
||||
shareBtn.style.display = 'none'
|
||||
btn.style.display = 'none'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
{{- end -}}
|
3
assets/js/video.js
Normal file
3
assets/js/video.js
Normal file
@@ -0,0 +1,3 @@
|
||||
document.querySelectorAll('[data-video-padding]').forEach(element => {
|
||||
element.style.paddingBottom = element.getAttribute('data-video-padding')
|
||||
})
|
61
assets/scss/app-dart.scss
Normal file
61
assets/scss/app-dart.scss
Normal file
@@ -0,0 +1,61 @@
|
||||
@use "sass:meta";
|
||||
|
||||
// Define template variables
|
||||
@use "hugo:vars" as h; // note: modified for dart-sass
|
||||
|
||||
// Include default variable overrides
|
||||
@import "common/variables-dart.scss"; // note: modified for dart-sass
|
||||
@import "theme/variables.scss";
|
||||
@import "common/icons.scss";
|
||||
|
||||
// Import Bootstrap configuration (mounted by core Bootstrap module)
|
||||
@import "bootstrap-dart.scss"; // note: modified for dart-sass
|
||||
|
||||
// Include dark mode overrides
|
||||
@import "common/variables-dark.scss";
|
||||
|
||||
// Import Hinode theme styles
|
||||
@import "components/abbr.scss";
|
||||
@import "components/alert.scss";
|
||||
@import "components/blockquote.scss";
|
||||
@import "components/breadcrumb.scss";
|
||||
@import "components/button.scss";
|
||||
@import "components/card.scss";
|
||||
@import "components/carousel.scss";
|
||||
@import "components/clipboard.scss";
|
||||
@import "components/command.scss";
|
||||
@import "components/feature.scss";
|
||||
@import "components/footer.scss";
|
||||
@import "components/nav.scss";
|
||||
@import "components/navbar.scss";
|
||||
@import "components/img.scss";
|
||||
@import "components/pagination.scss";
|
||||
@import "components/persona.scss";
|
||||
@import "components/popover.scss";
|
||||
@import "components/sidebar.scss";
|
||||
@import "components/syntax-dart.scss"; // note: modified for dart-sass
|
||||
@import "components/table.scss";
|
||||
@import "components/timeline.scss";
|
||||
@import "components/toc.scss";
|
||||
@import "components/video.scss";
|
||||
@import "common/animation.scss";
|
||||
@import "common/masonry.scss";
|
||||
@import "common/scrollbar.scss";
|
||||
@import "common/styles.scss";
|
||||
@import "layouts/reboot.scss";
|
||||
@import "layouts/type.scss";
|
||||
@import "common/export.scss";
|
||||
@import "helpers/colored-links.scss";
|
||||
@import "helpers/display.scss";
|
||||
|
||||
// note: modified for dart-sass
|
||||
@if h.$import-fonts {
|
||||
@include meta.load-css(theme/fonts);
|
||||
}
|
||||
|
||||
// Import theme placeholders
|
||||
@import "theme/base.scss";
|
||||
@import "theme/theme.scss";
|
||||
|
||||
// Import Bootstrap utilities API (mounted by core Bootstrap module)
|
||||
@import "modules/bootstrap/utilities/api";
|
@@ -3,21 +3,28 @@
|
||||
|
||||
// Include default variable overrides
|
||||
@import "common/variables.scss";
|
||||
@import "theme/variables.scss";
|
||||
@import "common/icons.scss";
|
||||
|
||||
// Import Bootstrap configuration (mounted by core Bootstrap module)
|
||||
@import "bootstrap.scss";
|
||||
|
||||
// Include dark mode overrides
|
||||
@import "common/variables-dark.scss";
|
||||
|
||||
// Import Hinode theme styles
|
||||
@import "components/abbr.scss";
|
||||
@import "components/alert.scss";
|
||||
@import "components/blockquote.scss";
|
||||
@import "components/breadcrumb.scss";
|
||||
@import "components/buttons.scss";
|
||||
@import "components/button.scss";
|
||||
@import "components/card.scss";
|
||||
@import "components/carousel.scss";
|
||||
@import "components/clipboard.scss";
|
||||
@import "components/command.scss";
|
||||
@import "components/comments.scss";
|
||||
@import "components/feature.scss";
|
||||
@import "components/footer.scss";
|
||||
@import "components/nav.scss";
|
||||
@import "components/navbar.scss";
|
||||
@import "components/img.scss";
|
||||
@import "components/pagination.scss";
|
||||
@@ -25,10 +32,13 @@
|
||||
@import "components/popover.scss";
|
||||
@import "components/sidebar.scss";
|
||||
@import "components/syntax.scss";
|
||||
@import "components/table.scss";
|
||||
@import "components/timeline.scss";
|
||||
@import "components/toc.scss";
|
||||
@import "components/vimeo.scss";
|
||||
@import "components/video.scss";
|
||||
@import "common/animation.scss";
|
||||
@import "common/masonry.scss";
|
||||
@import "common/scrollbar.scss";
|
||||
@import "common/styles.scss";
|
||||
@import "layouts/reboot.scss";
|
||||
@import "layouts/type.scss";
|
||||
@@ -36,17 +46,13 @@
|
||||
@import "helpers/colored-links.scss";
|
||||
@import "helpers/display.scss";
|
||||
|
||||
// TODO: include fonts with following statement in Dart Sass
|
||||
// @if $import-fonts {
|
||||
// @include meta.load-css(theme/fonts);
|
||||
// }
|
||||
|
||||
{{ if (not (hasPrefix (lower site.Params.style.themeFontPath) "http")) }}
|
||||
@import "theme/fonts.scss";
|
||||
{{ end }}
|
||||
|
||||
// Import theme placeholder
|
||||
// Import theme placeholders
|
||||
@import "theme/base.scss";
|
||||
@import "theme/theme.scss";
|
||||
|
||||
// Import Bootstrap utilities API (mounted by core Bootstrap module)
|
||||
// Import Bootstrap utilities API (mounted by core Bootstrap module)
|
||||
@import "modules/bootstrap/utilities/api";
|
||||
|
@@ -1,25 +1,25 @@
|
||||
// scss-docs-start icons
|
||||
$form-check-input-checked-bg-image: url("/icons/form-check-input-checked-bg-image.svg") !default;
|
||||
$form-check-radio-checked-bg-image: url("/icons/form-check-radio-checked-bg-image.svg") !default;
|
||||
$form-check-input-indeterminate-bg-image: url("/icons/form-check-input-indeterminate-bg-image.svg") !default;
|
||||
$form-switch-bg-image: url("/icons/form-switch-bg-image.svg") !default;
|
||||
$form-switch-bg-image-dark: url("/icons/form-switch-bg-image-dark.svg") !default;
|
||||
$form-switch-focus-bg-image: url("/icons/form-switch-focus-bg-image.svg") !default;
|
||||
$form-switch-checked-bg-image: url("/icons/form-switch-checked-bg-image.svg") !default;
|
||||
$form-select-indicator: url("/icons/form-select-indicator.svg") !default;
|
||||
$form-select-indicator-dark: url("/icons/form-select-indicator-dark.svg") !default;
|
||||
$form-feedback-icon-valid: url("/icons/form-feedback-icon-valid.svg") !default;
|
||||
$form-feedback-icon-invalid: url("/icons/form-feedback-icon-invalid.svg") !default;
|
||||
$navbar-light-toggler-icon-bg: url("/icons/navbar-light-toggler-icon-bg.svg") !default;
|
||||
$navbar-dark-toggler-icon-bg: url("/icons/navbar-dark-toggler-icon-bg.svg") !default;
|
||||
$accordion-button-icon: url("/icons/accordion-button-icon.svg") !default;
|
||||
$accordion-button-icon-dark: url("/icons/accordion-button-icon-dark.svg") !default;
|
||||
$accordion-button-active-icon: url("/icons/accordion-button-active-icon.svg") !default;
|
||||
$accordion-button-active-icon-dark: url("/icons/accordion-button-active-icon-dark.svg") !default;
|
||||
$carousel-control-prev-icon-bg: url("/icons/carousel-control-prev-icon-bg.svg") !default;
|
||||
$carousel-control-next-icon-bg: url("/icons/carousel-control-next-icon-bg.svg") !default;
|
||||
$btn-close-bg: url("/icons/btn-close-bg.svg") !default;
|
||||
$btn-toggle: url("/icons/btn-toggle.svg") !default;
|
||||
$btn-toggle-dark: url("/icons/btn-toggle-dark.svg") !default;
|
||||
$form-check-input-checked-bg-image: url("#{$base-url}icons/form-check-input-checked-bg-image.svg") !default;
|
||||
$form-check-radio-checked-bg-image: url("#{$base-url}icons/form-check-radio-checked-bg-image.svg") !default;
|
||||
$form-check-input-indeterminate-bg-image: url("#{$base-url}icons/form-check-input-indeterminate-bg-image.svg") !default;
|
||||
$form-switch-bg-image: url("#{$base-url}icons/form-switch-bg-image.svg") !default;
|
||||
$form-switch-bg-image-dark: url("#{$base-url}icons/form-switch-bg-image-dark.svg") !default;
|
||||
$form-switch-focus-bg-image: url("#{$base-url}icons/form-switch-focus-bg-image.svg") !default;
|
||||
$form-switch-checked-bg-image: url("#{$base-url}icons/form-switch-checked-bg-image.svg") !default;
|
||||
$form-select-indicator: url("#{$base-url}icons/form-select-indicator.svg") !default;
|
||||
$form-select-indicator-dark: url("#{$base-url}icons/form-select-indicator-dark.svg") !default;
|
||||
$form-feedback-icon-valid: url("#{$base-url}icons/form-feedback-icon-valid.svg") !default;
|
||||
$form-feedback-icon-invalid: url("#{$base-url}icons/form-feedback-icon-invalid.svg") !default;
|
||||
$navbar-light-toggler-icon-bg: url("#{$base-url}icons/navbar-light-toggler-icon-bg.svg") !default;
|
||||
$navbar-dark-toggler-icon-bg: url("#{$base-url}icons/navbar-dark-toggler-icon-bg.svg") !default;
|
||||
$accordion-button-icon: url("#{$base-url}icons/accordion-button-icon.svg") !default;
|
||||
$accordion-button-icon-dark: url("#{$base-url}icons/accordion-button-icon-dark.svg") !default;
|
||||
$accordion-button-active-icon: url("#{$base-url}icons/accordion-button-active-icon.svg") !default;
|
||||
$accordion-button-active-icon-dark: url("#{$base-url}icons/accordion-button-active-icon-dark.svg") !default;
|
||||
$carousel-control-prev-icon-bg: url("#{$base-url}icons/carousel-control-prev-icon-bg.svg") !default;
|
||||
$carousel-control-next-icon-bg: url("#{$base-url}icons/carousel-control-next-icon-bg.svg") !default;
|
||||
$btn-close-bg: url("#{$base-url}icons/btn-close-bg.svg") !default;
|
||||
$btn-toggle: url("#{$base-url}icons/btn-toggle.svg") !default;
|
||||
$btn-toggle-dark: url("#{$base-url}icons/btn-toggle-dark.svg") !default;
|
||||
|
||||
// scss-docs-end icons
|
||||
|
38
assets/scss/common/_masonry.scss
Normal file
38
assets/scss/common/_masonry.scss
Normal file
@@ -0,0 +1,38 @@
|
||||
.masonry {
|
||||
--masonry-padding: 4px;
|
||||
}
|
||||
|
||||
.m-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 0 var(--masonry-padding);
|
||||
}
|
||||
|
||||
.m-col {
|
||||
flex: 100%;
|
||||
max-width: 100%;
|
||||
padding: 0 var(--masonry-padding);
|
||||
}
|
||||
|
||||
.m-col div {
|
||||
margin-top: calc(2 * var(--masonry-padding));
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
$utilities: map-merge(
|
||||
$utilities,
|
||||
(
|
||||
"m-col": (
|
||||
property: max-width,
|
||||
responsive: true,
|
||||
class: m-col,
|
||||
values: (
|
||||
1: 100%,
|
||||
2: 50%,
|
||||
3: 33.3%,
|
||||
4: 25%,
|
||||
5: 20%,
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
34
assets/scss/common/_scrollbar.scss
Normal file
34
assets/scss/common/_scrollbar.scss
Normal file
@@ -0,0 +1,34 @@
|
||||
@mixin scrollbar(
|
||||
$foreground-color: var(--bs-primary),
|
||||
$background-color: var(--bs-tertiary-bg),
|
||||
$size: 10px
|
||||
) {
|
||||
// For Safari and Chrome (to force appearance in Chrome)
|
||||
&::-webkit-scrollbar {
|
||||
width: $size;
|
||||
height: $size;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
border-radius: calc($size / 2);
|
||||
background: $foreground-color;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
border-radius: calc($size / 2);
|
||||
background: $background-color;
|
||||
}
|
||||
|
||||
// Standard version (Firefox, only appears on scroll)
|
||||
@supports (-moz-appearance:none) {
|
||||
scrollbar-color: $foreground-color $background-color;
|
||||
}
|
||||
}
|
||||
|
||||
.scrollbar-horizontal
|
||||
{
|
||||
@include scrollbar;
|
||||
|
||||
overflow-x: scroll;
|
||||
margin: auto;
|
||||
}
|
@@ -1,3 +1,9 @@
|
||||
@if $enable-dark-mode {
|
||||
[data-bs-theme-animate="true"] body {
|
||||
transition: background-color 0.5s, color 0.5s;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Remove underline from all links
|
||||
//
|
||||
@@ -15,6 +21,34 @@ a:active {
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.fullcover {
|
||||
--navbar-height: #{$navbar-height};
|
||||
|
||||
min-height: calc(100vh - var(--navbar-height));
|
||||
}
|
||||
|
||||
.fullscreen {
|
||||
--overlay-offset: #{$overlay-offset};
|
||||
|
||||
min-height: calc(100vh - var(--overlay-offset));
|
||||
}
|
||||
|
||||
.main-content {
|
||||
margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
$utilities: map-merge(
|
||||
$utilities,
|
||||
(
|
||||
"cursor": (
|
||||
property: margin-left margin-right,
|
||||
class: mx,
|
||||
responsive: true,
|
||||
values: auto 0,
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
.tickmark li::marker {
|
||||
content: "✓ ";
|
||||
}
|
||||
@@ -112,6 +146,24 @@ $utilities: map-merge(
|
||||
}
|
||||
}
|
||||
|
||||
.section-cover {
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(xxl) {
|
||||
.section-cover {
|
||||
min-height: calc(min(100vh, 1000px));
|
||||
}
|
||||
}
|
||||
|
||||
/* stylelint-disable media-feature-range-notation */
|
||||
@media (min-height: 1400px) {
|
||||
.section-cover {
|
||||
min-height: calc(min(100vh, 1000px));
|
||||
}
|
||||
}
|
||||
/* stylelint-enable media-feature-range-notation */
|
||||
|
||||
$utilities: map-merge(
|
||||
$utilities,
|
||||
(
|
||||
|
103
assets/scss/common/_variables-dark.scss
Normal file
103
assets/scss/common/_variables-dark.scss
Normal file
@@ -0,0 +1,103 @@
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
--bs-primary: #{$primary-text-emphasis-dark};
|
||||
--bs-secondary: #{$secondary-text-emphasis-dark};
|
||||
--bs-primary-dark: #{$primary-bg-subtle-dark};
|
||||
--bs-primary-bg-subtle: #{$primary-bg-subtle-dark};
|
||||
--bg-primary-subtle: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 0.1));
|
||||
--bs-body: var(--bs-body-bg);
|
||||
--bs-body-tertiary: var(--bs-tertiary-bg);
|
||||
|
||||
.bg-primary-subtle {
|
||||
background-color: var(--bg-primary-subtle) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.accordion-button {
|
||||
background-color: var(--bg-primary-subtle);
|
||||
}
|
||||
|
||||
.form-check-input:checked {
|
||||
background-color: var(--bs-primary);
|
||||
border-color: var(--bs-primary); }
|
||||
|
||||
.form-check-input[type="checkbox"]:indeterminate {
|
||||
background-color: var(--bs-primary);
|
||||
border-color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.form-range::-webkit-slider-thumb {
|
||||
background-color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.form-range::-moz-range-thumb {
|
||||
background-color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.alert-primary {
|
||||
--bs-alert-bg: var(--bg-primary-subtle);
|
||||
}
|
||||
|
||||
.btn-outline-primary {
|
||||
--bs-btn-color: var(--bs-primary);
|
||||
--bs-btn-border-color: var(--bs-primary);
|
||||
--bs-btn-hover-bg: var(--bs-primary);
|
||||
--bs-btn-hover-border-color: var(--bs-primary);
|
||||
--bs-btn-active-bg: var(--bs-primary);
|
||||
--bs-btn-active-border-color: var(--bs-primary);
|
||||
--bs-btn-disabled-color: var(--bs-primary);
|
||||
--bs-btn-disabled-border-color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.btn-outline-secondary {
|
||||
--bs-btn-color: var(--bs-secondary);
|
||||
--bs-btn-border-color: var(--bs-secondary);
|
||||
--bs-btn-hover-bg: var(--bs-secondary);
|
||||
--bs-btn-hover-border-color: var(--bs-secondary);
|
||||
--bs-btn-active-bg: var(--bs-secondary);
|
||||
--bs-btn-active-border-color: var(--bs-secondary);
|
||||
--bs-btn-disabled-color: var(--bs-secondary);
|
||||
--bs-btn-disabled-border-color: var(--bs-secondary);
|
||||
}
|
||||
|
||||
.link-primary {
|
||||
color: var(--bs-primary) if($enable-important-utilities, !important, null);
|
||||
text-decoration-color: var(--bs-primary) if($enable-important-utilities, !important, null);
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: var(--bs-primary-dark) if($enable-important-utilities, !important, null);
|
||||
text-decoration-color: var(--bs-primary-dark) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
|
||||
.pagination {
|
||||
--bs-pagination-color: var(--bs-body-bg);
|
||||
--bs-pagination-bg: var(--bs-primary);
|
||||
}
|
||||
|
||||
.progress,
|
||||
.progress-stacked {
|
||||
--bs-progress-bar-bg: var(--bs-primary);
|
||||
}
|
||||
|
||||
.list-group {
|
||||
--bs-list-group-active-bg: var(--bs-primary);
|
||||
--bs-list-group-active-border-color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.clipboard-button:hover {
|
||||
color: var(--bs-primary); }
|
||||
|
||||
.clipboard-button:hover > svg {
|
||||
fill: var(--bs-primary);
|
||||
}
|
||||
|
||||
.toggler-icon {
|
||||
background-color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.heading:hover .anchor {
|
||||
color: var(--bs-primary);
|
||||
}
|
||||
}
|
||||
}
|
71
assets/scss/common/_variables-dart.scss
Normal file
71
assets/scss/common/_variables-dart.scss
Normal file
@@ -0,0 +1,71 @@
|
||||
// Bootstrap variables overrides for theme
|
||||
$enable-negative-margins: true;
|
||||
$enable-important-utilities: true !default;
|
||||
|
||||
// Remove the border from the focused navigation toggler
|
||||
$navbar-toggler-focus-width: 0 !default;
|
||||
|
||||
$base-url: h.$base-url;
|
||||
|
||||
$font-family-sans-serif: h.$theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
||||
$font-size-base: h.$font-size-base !default;
|
||||
$headings-font-weight: 600 !default;
|
||||
$font-weight-lighter: lighter !default;
|
||||
$font-weight-light: 200 !default;
|
||||
$font-weight-normal: 300 !default;
|
||||
$font-weight-bold: 600 !default;
|
||||
$font-weight-bolder: bolder !default;
|
||||
|
||||
$theme-border-radius: 1rem;
|
||||
|
||||
strong {
|
||||
font-weight: 600 if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
$navbar-height: h.$navbar-height;
|
||||
$navbar-offset: h.$navbar-offset;
|
||||
$navbar-offset-xs: h.$navbar-offset-xs;
|
||||
$navbar-size: h.$navbar-size;
|
||||
$overlay-offset: h.$overlay-offset;
|
||||
$primary: h.$primary;
|
||||
$secondary: h.$secondary;
|
||||
$success: h.$success;
|
||||
$info: h.$info;
|
||||
$warning: h.$warning;
|
||||
$danger: h.$danger;
|
||||
$light: h.$light;
|
||||
$dark: h.$dark;
|
||||
$white: #fff !default;
|
||||
$black: #000 !default;
|
||||
$body-bg: #fff !default;
|
||||
$gray-100: #f8f9fa !default;
|
||||
$btn-toggle-color: $black !default;
|
||||
|
||||
$carousel-dark-indicator-active-bg: #fff !default;
|
||||
$carousel-dark-caption-color: #fff !default;
|
||||
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
|
||||
|
||||
$primary-text-emphasis-dark: mix(white, h.$primary, h.$dark-mode-tint) !default;
|
||||
$secondary-text-emphasis-dark: mix(white, h.$secondary, h.$dark-mode-tint) !default;
|
||||
$link-color-dark: mix(white, h.$primary, h.$dark-mode-tint) !default;
|
||||
$primary-bg-subtle-dark: mix(black, h.$primary, h.$dark-mode-shade) !default;
|
||||
$primary-border-subtle-dark: mix(black, h.$primary, calc(h.$dark-mode-shade / 2)) !default;
|
||||
|
||||
$dropdown-transition: opacity .15s ease-in-out !default;
|
||||
$dropdown-horizontal-margin-top: calc((-1.5 * 1rem) - 2px);
|
||||
$dropdown-horizontal-padding-y: calc(1rem + 2px);
|
||||
|
||||
$theme-colors: (
|
||||
"primary": $primary,
|
||||
"secondary": $secondary,
|
||||
"success": $success,
|
||||
"info": $info,
|
||||
"warning": $warning,
|
||||
"danger": $danger,
|
||||
"light": $light,
|
||||
"dark": $dark,
|
||||
"white": $white,
|
||||
"black": $black,
|
||||
"body": $body-bg,
|
||||
"body-tertiary": $gray-100,
|
||||
);
|
@@ -2,14 +2,14 @@
|
||||
$enable-negative-margins: true;
|
||||
$enable-important-utilities: true !default;
|
||||
|
||||
// Font awesome variables overrides for theme
|
||||
$fa-font-path: "../fonts";
|
||||
|
||||
// Remove the border from the focused navigation toggler
|
||||
$navbar-toggler-focus-width: 0 !default;
|
||||
|
||||
$base-url: $base-url;
|
||||
|
||||
// scss-docs-start font
|
||||
$font-family-sans-serif: $theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
||||
$font-size-base: $font-size-base !default;;
|
||||
$headings-font-weight: 600 !default;
|
||||
$font-weight-lighter: lighter !default;
|
||||
$font-weight-light: 200 !default;
|
||||
@@ -17,14 +17,50 @@ $font-weight-normal: 300 !default;
|
||||
$font-weight-bold: 600 !default;
|
||||
$font-weight-bolder: bolder !default;
|
||||
|
||||
$theme-border-radius: 1rem;
|
||||
|
||||
strong {
|
||||
font-weight: 600 if($enable-important-utilities, !important, null);
|
||||
}
|
||||
// scss-docs-end font
|
||||
|
||||
$white: #fff !default;
|
||||
$black: #000 !default;
|
||||
$body-bg: #fff !default;
|
||||
$gray-100: #f8f9fa !default;
|
||||
$btn-toggle-color: $black !default;
|
||||
|
||||
$carousel-dark-indicator-active-bg: #ffffff !default;
|
||||
$carousel-dark-caption-color: #ffffff !default;
|
||||
$card-color: var(--bs-body-color);
|
||||
|
||||
$carousel-dark-indicator-active-bg: #fff !default;
|
||||
$carousel-dark-caption-color: #fff !default;
|
||||
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
|
||||
|
||||
// scss-docs-start color-mode
|
||||
$primary-text-emphasis-dark: mix(white, $primary, $dark-mode-tint) !default;
|
||||
$secondary-text-emphasis-dark: mix(white, $secondary, $dark-mode-tint) !default;
|
||||
$link-color-dark: mix(white, $primary, $dark-mode-tint) !default;
|
||||
$primary-bg-subtle-dark: mix(black, $primary, $dark-mode-shade) !default;
|
||||
$primary-border-subtle-dark: mix(black, $primary, $dark-mode-shade / 2) !default;
|
||||
// scss-docs-end color-mode
|
||||
|
||||
// scss-docs-start horizontal-nav
|
||||
$dropdown-transition: opacity .15s ease-in-out !default;
|
||||
$dropdown-horizontal-margin-top: calc((-1.5 * 1rem) - 2px);
|
||||
$dropdown-horizontal-padding-y: calc(1rem + 2px);
|
||||
// scss-docs-end horizontal-nav
|
||||
|
||||
$theme-colors: (
|
||||
"primary": $primary,
|
||||
"secondary": $secondary,
|
||||
"success": $success,
|
||||
"info": $info,
|
||||
"warning": $warning,
|
||||
"danger": $danger,
|
||||
"light": $light,
|
||||
"dark": $dark,
|
||||
"white": $white,
|
||||
"black": $black,
|
||||
"body": $body-bg,
|
||||
"body-tertiary": $gray-100,
|
||||
);
|
||||
|
22
assets/scss/components/_abbr.scss
Normal file
22
assets/scss/components/_abbr.scss
Normal file
@@ -0,0 +1,22 @@
|
||||
@media (hover: none) {
|
||||
abbr[title] {
|
||||
position: relative;
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
|
||||
abbr[title]:hover::after,
|
||||
abbr[title]:focus::after {
|
||||
content: attr(title);
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: -30px;
|
||||
width: auto;
|
||||
white-space: nowrap;
|
||||
background-color: var(--bs-body-bg);
|
||||
color: var(--bs-tooltip-color);
|
||||
border-radius: 3px;
|
||||
box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.4);
|
||||
font-size: 14px;
|
||||
padding: 3px 5px;
|
||||
}
|
||||
}
|
@@ -1,3 +1,18 @@
|
||||
.alert-no-decoration {
|
||||
--bs-alert-border-radius: none;
|
||||
.alert code {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
/* stylelint-disable declaration-block-no-redundant-longhand-properties */
|
||||
.alert a {
|
||||
color: inherit;
|
||||
|
||||
&:link,
|
||||
&:visited,
|
||||
&:hover,
|
||||
&:active {
|
||||
text-decoration-line: underline;
|
||||
text-decoration-style: dotted;
|
||||
text-decoration-color: var(--bs-body);
|
||||
}
|
||||
}
|
||||
/* stylelint-enable declaration-block-no-redundant-longhand-properties */
|
||||
|
@@ -1,6 +1,54 @@
|
||||
.blockquote {
|
||||
// background: var(--bs-light);
|
||||
border-left: 0.3rem solid;
|
||||
border-color: $secondary;
|
||||
padding: 1rem 1.5rem;
|
||||
}
|
||||
|
||||
.blockquote-alert {
|
||||
--bs-blockquote-alert-color: $secondary;
|
||||
|
||||
border-left: 0.3rem solid;
|
||||
border-color: var(--bs-blockquote-alert-color);
|
||||
padding: .5rem 1.5rem;
|
||||
}
|
||||
|
||||
.blockquote-alert > p:nth-of-type(2) {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.blockquote-alert-heading {
|
||||
font-weight: bold;
|
||||
color: var(--bs-blockquote-alert-color);
|
||||
}
|
||||
|
||||
.blockquote-alert-caution {
|
||||
--bs-blockquote-alert-color: var(--#{$prefix}danger);
|
||||
}
|
||||
|
||||
.blockquote-alert-important {
|
||||
--bs-blockquote-alert-color: var(--#{$prefix}primary);
|
||||
}
|
||||
|
||||
.blockquote-alert-note {
|
||||
--bs-blockquote-alert-color: var(--#{$prefix}info);
|
||||
}
|
||||
|
||||
.blockquote-alert-tip {
|
||||
--bs-blockquote-alert-color: var(--#{$prefix}success);
|
||||
}
|
||||
|
||||
.blockquote-alert-warning {
|
||||
--bs-blockquote-alert-color: var(--#{$prefix}warning);
|
||||
}
|
||||
|
||||
.blockquote-alert a.btn-link {
|
||||
--bs-link-color: var(--bs-blockquote-alert-color);
|
||||
--bs-link-hover-color: color-mix(in srgb, var(--bs-link-color), black 20%);
|
||||
|
||||
color: var(--bs-link-color) !important;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: var(--bs-link-hover-color) !important;
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
// scss-docs-start breadcrumb
|
||||
.breadcrumb {
|
||||
padding-top: 0.3 * $navbar-offset;
|
||||
padding-top: calc(0.3 * var(--navbar-offset));
|
||||
}
|
||||
|
||||
// scss-docs-end breadcrumb
|
||||
|
@@ -8,6 +8,8 @@
|
||||
}
|
||||
|
||||
.btn-social {
|
||||
background-color: transparent;
|
||||
|
||||
--bs-btn-bg: transparent;
|
||||
--bs-btn-border-width: none;
|
||||
--bs-btn-color: var(--bs-secondary);
|
||||
@@ -23,5 +25,26 @@
|
||||
.btn-social:active,
|
||||
.btn-social.active,
|
||||
.open > .dropdown-toggle.btn-primary {
|
||||
background-color: transparent;
|
||||
color: var(--bs-primary) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
a.btn {
|
||||
margin-top: $spacer * .25;
|
||||
margin-bottom: $spacer * .25;
|
||||
}
|
||||
|
||||
.btn-close {
|
||||
background-color: transparent if($enable-important-utilities, !important, null);
|
||||
background-image: var(--#{$prefix}btn-close-bg) if($enable-important-utilities, !important, null);
|
||||
background-position: center if($enable-important-utilities, !important, null);
|
||||
background-repeat: no-repeat if($enable-important-utilities, !important, null);
|
||||
background-size: $btn-close-width if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
--bs-btn-padding-x: 0;
|
||||
--bs-btn-padding-y: 0;
|
||||
|
||||
margin: 0 !important;
|
||||
}
|
@@ -1,11 +1,29 @@
|
||||
// add zoom animation with opacity change on card img hover
|
||||
// source: https://stackoverflow.com/a/43816376
|
||||
|
||||
.card-img-wrap {
|
||||
.card-img-bg {
|
||||
background-color: var(--#{$prefix}secondary-bg);
|
||||
}
|
||||
|
||||
.card {
|
||||
--bs-card-bg: transparent;
|
||||
}
|
||||
|
||||
.card .card-img-wrap {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.card .card-img-wrap:has(.card-img-top) {
|
||||
border-top-left-radius: var(--#{$prefix}card-inner-border-radius);
|
||||
border-top-right-radius: var(--#{$prefix}card-inner-border-radius);
|
||||
}
|
||||
|
||||
.card .card-img-wrap:has(.card-img-bottom) {
|
||||
border-bottom-right-radius: var(--#{$prefix}card-inner-border-radius);
|
||||
border-bottom-left-radius: var(--#{$prefix}card-inner-border-radius);
|
||||
}
|
||||
|
||||
.card-zoom {
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -15,6 +33,10 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
color: $secondary;
|
||||
}
|
||||
|
||||
.card-zoom::after .card-img-wrap img {
|
||||
content: "";
|
||||
position: absolute;
|
||||
@@ -48,6 +70,10 @@
|
||||
color: $body-color if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.card-body-margin {
|
||||
margin-bottom: $spacer * 1.5; // equals mb-4
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.card-body-link {
|
||||
@@ -56,18 +82,85 @@
|
||||
}
|
||||
}
|
||||
|
||||
.card-zoom card-body-link,
|
||||
.card-body-link {
|
||||
.card-zoom .card-body-link {
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: shade-color($primary, $link-shade-percentage) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.card-zoom .card-body-link {
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $primary-bg-subtle-dark if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// stylelint-enable annotation-no-unknown
|
||||
|
||||
// make tag-link clickable on top of the stretched-link.
|
||||
.card .tag-link {
|
||||
// make tag-link and card-button clickable on top of the stretched-link.
|
||||
.card .tag-link, .card .card-button {
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.card-button-link {
|
||||
text-decoration: underline if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
// support horizontally scrollable card groups
|
||||
.card-container-wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div.card-container-wrapper::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
height: calc(100% - 2rem);
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
var(--bs-body-bg) 0%,
|
||||
transparent 1.5rem,
|
||||
transparent calc(100% - 1.5rem),
|
||||
var(--bs-body-bg) 100%
|
||||
);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.card-container {
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
gap: 1.5rem;
|
||||
margin-bottom: 2rem;
|
||||
scroll-snap-type: x proximity;
|
||||
}
|
||||
|
||||
.card-block-1 {
|
||||
width: 80%;
|
||||
scroll-snap-align: center;
|
||||
}
|
||||
|
||||
.card-block-2 {
|
||||
width: 40%;
|
||||
scroll-snap-align: center;
|
||||
}
|
||||
|
||||
.card-block-3 {
|
||||
width: 27%;
|
||||
scroll-snap-align: center;
|
||||
}
|
||||
|
||||
.card-block-4 {
|
||||
width: 20%;
|
||||
scroll-snap-align: center;
|
||||
}
|
||||
|
||||
.card-block-5 {
|
||||
width: 16%;
|
||||
scroll-snap-align: center;
|
||||
}
|
||||
|
@@ -1,20 +0,0 @@
|
||||
.utterances {
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
max-width: 760px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.utterances-frame {
|
||||
color-scheme: light;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 1px;
|
||||
min-width: 100%;
|
||||
max-width: 100%;
|
||||
height: 100%;
|
||||
border: 0;
|
||||
}
|
3
assets/scss/components/_feature.scss
Normal file
3
assets/scss/components/_feature.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
.feature {
|
||||
margin-top: calc(0.3 * var(--navbar-offset));
|
||||
}
|
30
assets/scss/components/_footer.scss
Normal file
30
assets/scss/components/_footer.scss
Normal file
@@ -0,0 +1,30 @@
|
||||
.footer {
|
||||
// background-color: $gray-800 if($enable-important-utilities, !important, null);
|
||||
color: var(--bs-secondary) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.link-bg-footer {
|
||||
color: var(--bs-secondary) if($enable-important-utilities, !important, null);
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: var(--bs-tertiary-color) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.footer {
|
||||
color: $gray-500 if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.link-bg-footer {
|
||||
color: $gray-500 if($enable-important-utilities, !important, null);
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $gray-400 if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,3 +14,16 @@
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.mirrorred {
|
||||
-webkit-transform: scaleX(-1);
|
||||
transform: scaleX(-1);
|
||||
}
|
||||
|
||||
.background-img {
|
||||
--overlay-offset: #{$overlay-offset};
|
||||
|
||||
height: calc(100vh - var(--overlay-offset));
|
||||
width: 100vw;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
107
assets/scss/components/_nav.scss
Normal file
107
assets/scss/components/_nav.scss
Normal file
@@ -0,0 +1,107 @@
|
||||
.nav-tabs .nav-tabs {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link.active {
|
||||
border-bottom-color: var(--bs-body-bg) !important;
|
||||
border-bottom-style: solid !important;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.nav-callout {
|
||||
--#{$prefix}nav-callout-bg: var(--#{$prefix}light);
|
||||
--#{$prefix}nav-callout-active-bg: var(--bs-primary-bg-subtle);
|
||||
--#{$prefix}nav-callout-gap: #{$nav-underline-gap};
|
||||
|
||||
column-gap: var(--#{$prefix}nav-callout-gap) !important;
|
||||
}
|
||||
|
||||
.nav-callout + .tab-content {
|
||||
background-color: var(--#{$prefix}nav-callout-bg);
|
||||
padding: 2 * $spacer;
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.nav-callout .nav-link {
|
||||
display: flex;
|
||||
text-align: start;
|
||||
vertical-align: text-top;
|
||||
border-radius: 0;
|
||||
padding: 0 0 (4 * $spacer);
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.nav-callout .nav-link.active {
|
||||
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-bg) 50%, transparent 0);
|
||||
background-size: 50% (3 * $spacer);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% bottom;
|
||||
font-weight: 600;
|
||||
color: var(--bs-nav-underline-link-active-color);
|
||||
}
|
||||
|
||||
.nav-callout .accordion-button {
|
||||
background-color: var(--#{$prefix}nav-callout-bg) !important;
|
||||
border: solid;
|
||||
border-color: var(--#{$prefix}border-color);
|
||||
border-radius: var(--#{$prefix}accordion-inner-border-radius) !important;
|
||||
margin-bottom: 0;
|
||||
|
||||
&:focus {
|
||||
border-bottom: none !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
&:not(.collapsed) {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-callout .accordion-item {
|
||||
margin-top: 2 * $spacer;
|
||||
margin-bottom: 2 * $spacer;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.nav-callout .accordion-button[aria-expanded="false"] {
|
||||
border-bottom: solid !important;
|
||||
border-color: var(--#{$prefix}border-color) !important;
|
||||
border-radius: var(--#{$prefix}accordion-inner-border-radius);
|
||||
}
|
||||
|
||||
.nav-callout .accordion-button[aria-expanded="true"] {
|
||||
border-color: var(--#{$prefix}border-color) !important;
|
||||
border-bottom: none !important;
|
||||
border-radius: var(--#{$prefix}accordion-inner-border-radius) var(--#{$prefix}accordion-inner-border-radius) 0 0 !important;
|
||||
padding-bottom: 3 * $spacer;
|
||||
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-active-bg) 50%, transparent 0);
|
||||
background-size: 10% (2.5 * $spacer);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 10% bottom;
|
||||
}
|
||||
|
||||
.nav-callout .accordion-collapse {
|
||||
background-color: var(--#{$prefix}nav-callout-active-bg) !important;
|
||||
border-radius: 0 0 var(--#{$prefix}accordion-inner-border-radius) var(--#{$prefix}accordion-inner-border-radius);
|
||||
border-top: none !important;
|
||||
border-left: solid;
|
||||
border-right: solid;
|
||||
border-bottom: solid;
|
||||
border-color: var(--#{$prefix}border-color);
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.nav-callout {
|
||||
--#{$prefix}nav-callout-bg: var(--#{$prefix}tertiary-bg);
|
||||
}
|
||||
|
||||
.nav-callout .accordion-button[aria-expanded="true"] {
|
||||
background-image: linear-gradient(to top right, shade-color($primary, 70%) 50%, transparent 0);
|
||||
}
|
||||
|
||||
.nav-callout .accordion-collapse {
|
||||
background-color: shade-color($primary, 70%) !important;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,20 +1,137 @@
|
||||
// stylelint-disable annotation-no-unknown
|
||||
|
||||
// adapted from https://www.codeply.com/p/UsTEwDkzNp#
|
||||
.checkbox {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.mode-switch {
|
||||
--#{$prefix}mode-switch-width: 50px;
|
||||
}
|
||||
|
||||
.mode-switch .label {
|
||||
border-color: var(--#{$prefix}border-color);
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-radius: var(--#{$prefix}mode-switch-width);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 5px;
|
||||
position: relative;
|
||||
height: calc(1px + var(--#{$prefix}mode-switch-width) / 2);
|
||||
width: var(--#{$prefix}mode-switch-width);
|
||||
transform: scale(0.9);
|
||||
}
|
||||
|
||||
.notransition {
|
||||
-webkit-transition: none !important;
|
||||
-moz-transition: none !important;
|
||||
-o-transition: none !important;
|
||||
transition: none !important;
|
||||
}
|
||||
|
||||
.mode-switch .label .ball {
|
||||
background-color: var(--#{$prefix}border-color);
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
height: calc((var(--#{$prefix}mode-switch-width) / 2) - 5px);
|
||||
width: calc((var(--#{$prefix}mode-switch-width) / 2) - 5px);
|
||||
transition: transform 0.2s linear;
|
||||
}
|
||||
|
||||
.mode-switch .checkbox:checked + .label .ball {
|
||||
transform: translateX(calc((var(--#{$prefix}mode-switch-width) / 2) - 1px));
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
[data-bs-theme="light"] .mode-switch .ball {
|
||||
transform: translateX(calc((var(--#{$prefix}mode-switch-width) / 2) - 1px));
|
||||
}
|
||||
}
|
||||
|
||||
.mode-switch .fa-moon {
|
||||
color: $yellow;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
.mode-switch .fa-sun {
|
||||
color: var(--#{$prefix}bs-body-color);
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
// Source: https://jsfiddle.net/njhgr40m/
|
||||
|
||||
@if $enable-dark-mode {
|
||||
[data-bs-theme-animate="true"] .navbar {
|
||||
transition: 0.5s ease-in-out;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar {
|
||||
transition: 0.5s ease-in-out;
|
||||
--bs-navbar-expanded-color: var(--bs-body-bg);
|
||||
--bs-navbar-toggler-color: var(--bs-navbar-hover-color);
|
||||
|
||||
background-color: transparent;
|
||||
|
||||
@each $state, $val in $theme-colors {
|
||||
--bs-navbar-color-#{$state}: #{$val};
|
||||
}
|
||||
}
|
||||
|
||||
.nav-active, .navbar-expanded {
|
||||
background-color: var(--bs-body-bg);
|
||||
background-color: var(--bs-navbar-expanded-color);
|
||||
border-bottom: 1px solid var(--bs-secondary-bg);
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
margin: 0 .15rem;
|
||||
}
|
||||
|
||||
.navbar-title {
|
||||
display: inline-block;
|
||||
white-space: normal;
|
||||
text-align: center !important;
|
||||
vertical-align: middle;
|
||||
padding: 0 $spacer;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover {
|
||||
border-bottom: solid 1px var(--bs-navbar-hover-color);
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
|
||||
.navbar-contrast {
|
||||
--bs-navbar-color: white !important;
|
||||
--bs-navbar-hover-color: white !important;
|
||||
--bs-navbar-disabled-color: white !important;
|
||||
--bs-navbar-active-color: white !important;
|
||||
--bs-navbar-toggler-color: white;
|
||||
|
||||
.navbar-title, .mode-switch {
|
||||
--#{$prefix}border-color: white;
|
||||
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
.mode-switch .fa-moon {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-expanded {
|
||||
box-shadow: $box-shadow-sm;
|
||||
}
|
||||
|
||||
.nav-item .vr {
|
||||
color: var(--bs-navbar-color);
|
||||
}
|
||||
|
||||
/* Remove border from toggler */
|
||||
.navbar-toggler {
|
||||
border: 0 if($enable-important-utilities, !important, null);
|
||||
@@ -36,7 +153,6 @@
|
||||
.toggler-icon {
|
||||
width: 30px;
|
||||
height: 3px;
|
||||
background-color: $primary;
|
||||
display: block;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
@@ -82,19 +198,124 @@
|
||||
|
||||
/* Color of Toggler when collapsed */
|
||||
.navbar-toggler.collapsed .toggler-icon {
|
||||
background-color: #777;
|
||||
background-color: var(--bs-navbar-toggler-color);
|
||||
}
|
||||
|
||||
.emphasis {
|
||||
background-color: $black if($enable-important-utilities, !important, null);
|
||||
background-color: var(--bs-navbar-toggler-color);
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.emphasis {
|
||||
background-color: $white if($enable-important-utilities, !important, null);
|
||||
}
|
||||
@include color-mode(dark) {
|
||||
.emphasis {
|
||||
background-color: $white if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
|
||||
// stylelint-enable annotation-no-unknown
|
||||
|
||||
.navbar .dropdown-divider-bg {
|
||||
color: var(--#{$prefix}navbar-color);
|
||||
}
|
||||
|
||||
:root {
|
||||
--dropdown-horizontal-bg: var(--#{$prefix}light);
|
||||
--navbar-offset: #{$navbar-offset-xs};
|
||||
}
|
||||
|
||||
.navbar-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(#{$navbar-size}) {
|
||||
:root {
|
||||
--navbar-offset: #{$navbar-offset};
|
||||
}
|
||||
|
||||
.navbar-container {
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
.navbar-title {
|
||||
text-align: initial !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
margin-right: var(--bs-navbar-brand-margin-end);
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
--dropdown-horizontal-bg: var(--#{$prefix}tertiary-bg);
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-horizontal {
|
||||
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
||||
$infix: breakpoint-infix($next, $grid-breakpoints);
|
||||
|
||||
@include media-breakpoint-up($next) {
|
||||
&#{$infix} {
|
||||
position: static !important;
|
||||
}
|
||||
|
||||
&#{$infix} > .dropdown-menu {
|
||||
opacity: 0;
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
background-color: var(--dropdown-horizontal-bg) if($enable-important-utilities, !important, null);
|
||||
width: 100%;
|
||||
height: auto;
|
||||
text-align: center;
|
||||
border-radius: 0;
|
||||
border: 0;
|
||||
margin-top: $dropdown-horizontal-margin-top;
|
||||
padding-top: $dropdown-horizontal-padding-y;
|
||||
padding-bottom: $dropdown-horizontal-padding-y;
|
||||
box-shadow: 0.125rem 0.25rem rgba(0, 0, 0, .075);
|
||||
|
||||
@include transition($dropdown-transition);
|
||||
}
|
||||
|
||||
&#{$infix} > .dropdown-menu.show {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&#{$infix} > .dropdown-menu > li {
|
||||
display: inline-block;
|
||||
padding-left: $spacer;
|
||||
padding-right: $spacer;
|
||||
}
|
||||
|
||||
&#{$infix} > .dropdown-menu > li > a {
|
||||
padding-left: .25 * $spacer;
|
||||
padding-right: .25 * $spacer;
|
||||
|
||||
&.active,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: var(--bs-body-color);
|
||||
border-bottom: solid 1px var(--bs-navbar-hover-color);
|
||||
margin-bottom: -1px;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
&#{$infix} > .nav-link.show {
|
||||
background-color: var(--dropdown-horizontal-bg) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-overlay {
|
||||
position: absolute;
|
||||
z-index: $zindex-fixed;
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
.pagination {
|
||||
--bs-pagination-bg: var(--bs-primary-bg-subtle);
|
||||
--bs-pagination-color: var(--bs-body-color);
|
||||
--bs-pagination-border-color: none;
|
||||
--bs-pagination-hover-color: var(--bs-pagination-active-color);
|
||||
--bs-pagination-hover-bg: var(--bs-pagination-active-bg);
|
||||
|
@@ -1,28 +1,51 @@
|
||||
// scss-docs-start sidebar
|
||||
.sidebar {
|
||||
top: $navbar-offset;
|
||||
top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
.sidebar-overflow {
|
||||
top: $navbar-offset;
|
||||
top: var(--navbar-offset);
|
||||
max-height: 90vh;
|
||||
overflow-y: auto;
|
||||
scrollbar-gutter: stable;
|
||||
}
|
||||
|
||||
.sidebar-item {
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
margin-left: 0 !important;
|
||||
padding-left: 0.85rem !important;
|
||||
display: inline-block;
|
||||
padding: 0.1875rem 0.5rem !important;
|
||||
|
||||
&.active {
|
||||
color: $primary;
|
||||
}
|
||||
|
||||
&.active,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: black;
|
||||
color: $primary;
|
||||
background-color: tint-color($primary, 90%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle {
|
||||
.sidebar-item-group {
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $primary;
|
||||
background-color: tint-color($primary, 90%);
|
||||
}
|
||||
|
||||
> div > a {
|
||||
color: var(--bs-body-color) !important;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-item-group > div {
|
||||
padding: 0.1875rem 0.5rem !important;
|
||||
}
|
||||
|
||||
.btn-toggle-group {
|
||||
padding: 0.25rem 0.5rem;
|
||||
font-weight: 600;
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
@@ -30,8 +53,7 @@
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: black;
|
||||
background-color: tint-color($primary, 90%);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&::before {
|
||||
@@ -43,50 +65,50 @@
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle[aria-expanded="true"] {
|
||||
color: black;
|
||||
|
||||
.btn-toggle-group[aria-expanded="true"] {
|
||||
&::before {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle-nav a {
|
||||
padding: 0.1875rem 0.5rem;
|
||||
margin-top: 0.125rem;
|
||||
margin-left: 1.25rem;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: tint-color($primary, 90%);
|
||||
}
|
||||
|
||||
&.active {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.sidebar-item {
|
||||
color: var(--bs-tertiary-color);
|
||||
margin-left: 0 !important;
|
||||
padding-left: 0.85rem !important;
|
||||
|
||||
&.active,
|
||||
color: var(--bs-body-color);
|
||||
|
||||
&.active {
|
||||
color: $primary-text-emphasis-dark !important;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: var(--bs-secondary-color);
|
||||
color: $primary-text-emphasis-dark !important;
|
||||
background-color: transparent;
|
||||
box-shadow: inset 0 0 0 1px $primary-bg-subtle-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-item-group {
|
||||
color: var(--bs-body-color) !important;
|
||||
|
||||
&.active {
|
||||
color: $primary-text-emphasis-dark !important;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: white !important;
|
||||
background-color: transparent;
|
||||
box-shadow: inset 0 0 0 1px $primary-bg-subtle-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle {
|
||||
color: var(--bs-tertiary-color);
|
||||
.btn-toggle-group {
|
||||
color: var(--bs-body-color);
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $secondary;
|
||||
background-color: tint-color($primary, 90%);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&::before {
|
||||
@@ -94,26 +116,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle[aria-expanded="true"] {
|
||||
.btn-toggle-group[aria-expanded="true"] {
|
||||
color: var(--bs-secondary-color);
|
||||
}
|
||||
|
||||
.btn-toggle-nav a {
|
||||
padding: 0.1875rem 0.5rem;
|
||||
margin-top: 0.125rem;
|
||||
margin-left: 1.25rem;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $secondary;
|
||||
background-color: tint-color($primary, 90%);
|
||||
}
|
||||
|
||||
&.active {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// scss-docs-end sidebar
|
||||
|
@@ -6,9 +6,9 @@
|
||||
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
|
||||
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
||||
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
|
||||
/* LineHighlight */ .chroma .hl { background-color: #b8b800 }
|
||||
/* LineHighlight */ .chroma .hl { background-color: #373700 }
|
||||
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #64686c }
|
||||
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #6e7681 }
|
||||
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #999fa8 }
|
||||
/* Line */ .chroma .line { display: flex; }
|
||||
/* Keyword */ .chroma .k { color: #ff7b72 }
|
||||
/* KeywordConstant */ .chroma .kc { color: #79c0ff }
|
||||
@@ -18,8 +18,8 @@
|
||||
/* KeywordReserved */ .chroma .kr { color: #ff7b72 }
|
||||
/* KeywordType */ .chroma .kt { color: #ff7b72 }
|
||||
/* Name */ .chroma .n { }
|
||||
/* NameAttribute */ .chroma .na { }
|
||||
/* NameBuiltin */ .chroma .nb { }
|
||||
/* NameAttribute */ .chroma .na { color: #00cccc }
|
||||
/* NameBuiltin */ .chroma .nb { color: #00a2d8 }
|
||||
/* NameBuiltinPseudo */ .chroma .bp { }
|
||||
/* NameClass */ .chroma .nc { color: #f0883e; font-weight: bold }
|
||||
/* NameConstant */ .chroma .no { color: #79c0ff; font-weight: bold }
|
||||
@@ -64,23 +64,23 @@
|
||||
/* Operator */ .chroma .o { color: #ff7b72; font-weight: bold }
|
||||
/* OperatorWord */ .chroma .ow { color: #ff7b72; font-weight: bold }
|
||||
/* Punctuation */ .chroma .p { }
|
||||
/* Comment */ .chroma .c { color: #8b949e; font-style: italic }
|
||||
/* CommentHashbang */ .chroma .ch { color: #8b949e; font-style: italic }
|
||||
/* CommentMultiline */ .chroma .cm { color: #8b949e; font-style: italic }
|
||||
/* CommentSingle */ .chroma .c1 { color: #8b949e; font-style: italic }
|
||||
/* CommentSpecial */ .chroma .cs { color: #8b949e; font-weight: bold; font-style: italic }
|
||||
/* CommentPreproc */ .chroma .cp { color: #8b949e; font-weight: bold; font-style: italic }
|
||||
/* CommentPreprocFile */ .chroma .cpf { color: #8b949e; font-weight: bold; font-style: italic }
|
||||
/* Comment */ .chroma .c { color: #979fa8; font-style: italic }
|
||||
/* CommentHashbang */ .chroma .ch { color: #979fa8; font-style: italic }
|
||||
/* CommentMultiline */ .chroma .cm { color: #979fa8; font-style: italic }
|
||||
/* CommentSingle */ .chroma .c1 { color: #979fa8; font-style: italic }
|
||||
/* CommentSpecial */ .chroma .cs { color: #979fa8; font-weight: bold; font-style: italic }
|
||||
/* CommentPreproc */ .chroma .cp { color: #979fa8; font-weight: bold; font-style: italic }
|
||||
/* CommentPreprocFile */ .chroma .cpf { color: #979fa8; font-weight: bold; font-style: italic }
|
||||
/* Generic */ .chroma .g { }
|
||||
/* GenericDeleted */ .chroma .gd { color: #ffa198; background-color: #490202 }
|
||||
/* GenericEmph */ .chroma .ge { font-style: italic }
|
||||
/* GenericError */ .chroma .gr { color: #ffa198 }
|
||||
/* GenericHeading */ .chroma .gh { color: #79c0ff; font-weight: bold }
|
||||
/* GenericInserted */ .chroma .gi { color: #56d364; background-color: #0f5323 }
|
||||
/* GenericOutput */ .chroma .go { color: #8b949e }
|
||||
/* GenericPrompt */ .chroma .gp { color: #8b949e }
|
||||
/* GenericOutput */ .chroma .go { color: #979fa8 }
|
||||
/* GenericPrompt */ .chroma .gp { color: #979fa8 }
|
||||
/* GenericStrong */ .chroma .gs { font-weight: bold }
|
||||
/* GenericSubheading */ .chroma .gu { color: #79c0ff }
|
||||
/* GenericTraceback */ .chroma .gt { color: #ff7b72 }
|
||||
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
|
||||
/* TextWhitespace */ .chroma .w { color: #6e7681 }
|
||||
/* TextWhitespace */ .chroma .w { color: #999fa8 }
|
||||
|
49
assets/scss/components/_syntax-dart.scss
Normal file
49
assets/scss/components/_syntax-dart.scss
Normal file
@@ -0,0 +1,49 @@
|
||||
// stylelint-disable annotation-no-unknown
|
||||
@import "syntax-light";
|
||||
|
||||
.bg,
|
||||
.chroma,
|
||||
.chroma .err {
|
||||
// set to transparent background to avoid rendering issues with example shortcode
|
||||
background-color: transparent if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.chroma {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.chroma code {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.syntax-highlight {
|
||||
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
[data-bs-theme="dark"] {
|
||||
@include meta.load-css(syntax-dark);
|
||||
|
||||
.bg,
|
||||
.chroma,
|
||||
.chroma .err {
|
||||
// set to transparent background to avoid rendering issues with example shortcode
|
||||
background-color: transparent if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.syntax-highlight {
|
||||
background-color: var(--bs-tertiary-bg) if($enable-important-utilities, !important, null);
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.bg,
|
||||
.chroma,
|
||||
.chroma .ge,
|
||||
.chroma .gl,
|
||||
.chroma .gs {
|
||||
color: #c9d1d9 if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
// stylelint-enable annotation-no-unknown
|
@@ -19,7 +19,7 @@
|
||||
/* KeywordType */ .chroma .kt { color: #445588; font-weight: bold }
|
||||
/* Name */ .chroma .n { }
|
||||
/* NameAttribute */ .chroma .na { color: #008080 }
|
||||
/* NameBuiltin */ .chroma .nb { color: #0086b3 }
|
||||
/* NameBuiltin */ .chroma .nb { color: #006b8f }
|
||||
/* NameBuiltinPseudo */ .chroma .bp { color: #999999 }
|
||||
/* NameClass */ .chroma .nc { color: #445588; font-weight: bold }
|
||||
/* NameConstant */ .chroma .no { color: #008080 }
|
||||
@@ -54,20 +54,20 @@
|
||||
/* LiteralStringRegex */ .chroma .sr { color: #009926 }
|
||||
/* LiteralStringSingle */ .chroma .s1 { color: #dd1144 }
|
||||
/* LiteralStringSymbol */ .chroma .ss { color: #990073 }
|
||||
/* LiteralNumber */ .chroma .m { color: #009999 }
|
||||
/* LiteralNumberBin */ .chroma .mb { color: #009999 }
|
||||
/* LiteralNumberFloat */ .chroma .mf { color: #009999 }
|
||||
/* LiteralNumberHex */ .chroma .mh { color: #009999 }
|
||||
/* LiteralNumberInteger */ .chroma .mi { color: #009999 }
|
||||
/* LiteralNumberIntegerLong */ .chroma .il { color: #009999 }
|
||||
/* LiteralNumberOct */ .chroma .mo { color: #009999 }
|
||||
/* LiteralNumber */ .chroma .m { color: #007a7a }
|
||||
/* LiteralNumberBin */ .chroma .mb { color: #007a7a }
|
||||
/* LiteralNumberFloat */ .chroma .mf { color: #007a7a }
|
||||
/* LiteralNumberHex */ .chroma .mh { color: #007a7a }
|
||||
/* LiteralNumberInteger */ .chroma .mi { color: #007a7a }
|
||||
/* LiteralNumberIntegerLong */ .chroma .il { color: #007a7a }
|
||||
/* LiteralNumberOct */ .chroma .mo { color: #007a7a }
|
||||
/* Operator */ .chroma .o { color: #000000; font-weight: bold }
|
||||
/* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold }
|
||||
/* Punctuation */ .chroma .p { }
|
||||
/* Comment */ .chroma .c { color: #999988; font-style: italic }
|
||||
/* CommentHashbang */ .chroma .ch { color: #999988; font-style: italic }
|
||||
/* CommentMultiline */ .chroma .cm { color: #999988; font-style: italic }
|
||||
/* CommentSingle */ .chroma .c1 { color: #999988; font-style: italic }
|
||||
/* Comment */ .chroma .c { color: #6d6d5d; font-style: italic }
|
||||
/* CommentHashbang */ .chroma .ch { color: #6d6d5d; font-style: italic }
|
||||
/* CommentMultiline */ .chroma .cm { color: #6d6d5d; font-style: italic }
|
||||
/* CommentSingle */ .chroma .c1 { color: #6d6d5d; font-style: italic }
|
||||
/* CommentSpecial */ .chroma .cs { color: #999999; font-weight: bold; font-style: italic }
|
||||
/* CommentPreproc */ .chroma .cp { color: #999999; font-weight: bold; font-style: italic }
|
||||
/* CommentPreprocFile */ .chroma .cpf { color: #999999; font-weight: bold; font-style: italic }
|
||||
|
@@ -1,5 +1,5 @@
|
||||
// stylelint-disable annotation-no-unknown
|
||||
@import "components/syntax-light";
|
||||
@import "syntax-light";
|
||||
|
||||
.bg,
|
||||
.chroma,
|
||||
@@ -8,18 +8,22 @@
|
||||
background-color: transparent if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.chroma {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.chroma code {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.syntax-highlight {
|
||||
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.preview-background {
|
||||
background-color: var(--bs-dark-bg-subtle) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
[data-bs-theme="dark"] {
|
||||
@import "components/syntax-dark"; // stylelint-disable-line no-invalid-position-at-import-rule
|
||||
@import "syntax-dark"; // stylelint-disable-line no-invalid-position-at-import-rule
|
||||
|
||||
.bg,
|
||||
.chroma,
|
||||
@@ -34,7 +38,10 @@
|
||||
}
|
||||
|
||||
.bg,
|
||||
.chroma {
|
||||
.chroma,
|
||||
.chroma .ge,
|
||||
.chroma .gl,
|
||||
.chroma .gs {
|
||||
color: #c9d1d9 if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
|
38
assets/scss/components/_table.scss
Normal file
38
assets/scss/components/_table.scss
Normal file
@@ -0,0 +1,38 @@
|
||||
.datatable-container {
|
||||
border-bottom: none if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.datatable-bottom {
|
||||
padding-top: 0 if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.datatable-sorter {
|
||||
padding-left: 0;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.table-border-bottom-wrap {
|
||||
border-bottom-style: none !important
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.table-striped, .table-striped-columns {
|
||||
--bs-table-striped-bg: var(--bs-tertiary-bg);
|
||||
--bs-table-striped-color: var(--bs-body-color);
|
||||
}
|
||||
|
||||
.table-hover {
|
||||
--bs-table-hover-bg: var(--bs-tertiary-bg);
|
||||
--bs-table-striped-color: var(--bs-body-color);
|
||||
}
|
||||
|
||||
.datatable-pagination-list-item {
|
||||
&:hover,
|
||||
&:focus,
|
||||
&.datatable-active {
|
||||
color: var(--bs-body-bg) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -12,13 +12,17 @@ $semi-circle-border: 0.2rem;
|
||||
|
||||
@each $state in map-keys($theme-colors) {
|
||||
.timeline-#{$state} {
|
||||
--timeline-highlight: var(--#{$prefix}#{$state});
|
||||
--timeline-highlight: var(--#{$prefix}#{$state});
|
||||
}
|
||||
|
||||
.timeline-bg-#{$state} {
|
||||
--timeline-connector-bg: var(--#{$prefix}#{$state});
|
||||
}
|
||||
|
||||
.timeline-bg-#{$state}-subtle {
|
||||
--timeline-connector-bg: var(--#{$prefix}#{$state}-bg-subtle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// scss-docs-end timeline
|
||||
|
||||
@@ -27,10 +31,16 @@ $semi-circle-border: 0.2rem;
|
||||
}
|
||||
|
||||
.timeline-sm {
|
||||
--timeline-icon-radius: calc(#{$semi-circle-radius} / 2);
|
||||
--timeline-icon-radius: calc(#{$semi-circle-radius} / 2.4);
|
||||
--timeline-offset: 25%
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
.timeline-sm {
|
||||
--timeline-icon-radius: calc(#{$semi-circle-radius} / 2);
|
||||
}
|
||||
}
|
||||
|
||||
.timeline::before, .timeline-sm::before {
|
||||
content: "";
|
||||
width: 2 * $semi-circle-border;
|
||||
|
@@ -6,7 +6,6 @@
|
||||
grid-area: toc;
|
||||
right: 0;
|
||||
z-index: 2;
|
||||
height: calc(100vh - 5rem);
|
||||
overflow-y: auto;
|
||||
top: 5rem;
|
||||
}
|
||||
@@ -48,6 +47,13 @@
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
#toc-collapse {
|
||||
border-color: var(--bs-secondary-color) !important;
|
||||
border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius) !important;
|
||||
margin-top: -1.5rem;
|
||||
padding-top: 1.5rem !important;
|
||||
}
|
||||
|
||||
.toc-button {
|
||||
--bs-btn-hover-color: var(--bs-primary);
|
||||
--bs-btn-hover-bg: var(--bs-body-bg);
|
||||
@@ -56,6 +62,8 @@
|
||||
--bs-btn-active-bg: var(--bs-body-bg);
|
||||
--bs-btn-active-border-color: var(--bs-primary);
|
||||
|
||||
background-color: var(--#{$prefix}body-bg) !important;
|
||||
|
||||
&.active,
|
||||
&:hover,
|
||||
&:focus {
|
||||
@@ -65,3 +73,61 @@
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
a.toc-item {
|
||||
display: block;
|
||||
}
|
||||
|
||||
a.toc-level-1 {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
a.toc-level-2 {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
a.toc-level-3 {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
a.toc-level-4 {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
a.toc-level-5 {
|
||||
margin-left: 4em;
|
||||
}
|
||||
|
||||
a.toc-level-6 {
|
||||
margin-left: 5em;
|
||||
}
|
||||
|
||||
|
||||
@if $enable-dark-mode {
|
||||
[data-bs-theme="dark"] {
|
||||
.toc-button {
|
||||
--bs-btn-color: var(--bs-body-color);
|
||||
--bs-btn-border-color: var(--bs-body-color);
|
||||
|
||||
&:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
#toc-collapse {
|
||||
border-color: var(--bs-body-color) !important;
|
||||
}
|
||||
|
||||
.toc nav a {
|
||||
color: var(--bs-body-color);
|
||||
|
||||
&:hover {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.section-menu > .nav-link.active, .section-menu > .nav-link:hover {
|
||||
color: var(--bs-primary);
|
||||
}
|
||||
|
@@ -1,3 +1,19 @@
|
||||
.video-embedded {
|
||||
position: relative;
|
||||
padding-bottom: 56.25%;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.video-embedded > iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border:0;
|
||||
}
|
||||
|
||||
// Adapted from https://github.com/gohugoio/hugo/tpl/tplimpl/embedded/templates/shortcodes/vimeo_simple.html
|
||||
.__h_video {
|
||||
position: relative;
|
@@ -5,7 +5,7 @@
|
||||
// stylelint-disable annotation-no-unknown
|
||||
|
||||
// scss-docs-start display-color
|
||||
.d-none-light {
|
||||
.d-none-light, .d-none-inline-light {
|
||||
display: none if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
@@ -13,13 +13,21 @@
|
||||
display: block if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.d-none-inline-dark {
|
||||
display: inline if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.d-none-light {
|
||||
display: block if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.d-none-dark {
|
||||
.d-none-inline-light {
|
||||
display: inline if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.d-none-dark, .d-none-inline-dark {
|
||||
display: none if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
|
@@ -3,30 +3,34 @@
|
||||
//
|
||||
h1 {
|
||||
margin-top: $spacer * 2.5;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: $spacer * 2;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: $spacer * 1.75;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-top: $spacer * 1.5;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h5 {
|
||||
margin-top: $spacer * 1.25;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h6 {
|
||||
margin-top: $spacer;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
2
assets/scss/theme/_variables.scss
Normal file
2
assets/scss/theme/_variables.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
// Placeholder to quickly add your own theme variable overrides
|
||||
// The file is included at the beginning of the build pipeline
|
2
assets/scss/theme/base.scss
Normal file
2
assets/scss/theme/base.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
// Placeholder for themes extending the core Hinode theme
|
||||
// The file is included last in the build pipeline, but prior to theme.scss
|
9
component-library/bookshop.scss
Normal file
9
component-library/bookshop.scss
Normal file
@@ -0,0 +1,9 @@
|
||||
@import "modules/bookshop/shared/styles/global";
|
||||
@import "modules/bookshop/components/about/about";
|
||||
@import "modules/bookshop/components/articles/articles";
|
||||
@import "modules/bookshop/components/faq/faq";
|
||||
@import "modules/bookshop/components/hero/hero";
|
||||
@import "modules/bookshop/components/releases/releases";
|
||||
@import "modules/bookshop/components/separator/separator";
|
||||
@import "modules/bookshop/components/video-message/video-message";
|
||||
@import "modules/bookshop/theme";
|
39
component-library/components/about/about.bookshop.yml
Normal file
39
component-library/components/about/about.bookshop.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: About
|
||||
description: About section
|
||||
icon: fingerprint
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
heading:
|
||||
preheading:
|
||||
title:
|
||||
content:
|
||||
align:
|
||||
arrangement:
|
||||
width:
|
||||
size:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
illustration:
|
||||
image:
|
||||
icon:
|
||||
ratio:
|
||||
class:
|
||||
anchor:
|
||||
mode:
|
||||
order:
|
||||
width:
|
||||
link-type:
|
||||
links:
|
||||
-
|
||||
title:
|
||||
url:
|
||||
icon:
|
||||
force:
|
31
component-library/components/about/about.hugo.html
Normal file
31
component-library/components/about/about.hugo.html
Normal file
@@ -0,0 +1,31 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "about" "args" .) }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/about/about.hugo.html"
|
||||
"msg" " Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $args.error }}
|
||||
{{ partial "assets/hero.html" (dict
|
||||
"heading" $args.heading
|
||||
"background" $args.background
|
||||
"illustration" (merge (dict "ratio" "1x1") $args.illustration)
|
||||
"order" $args.order
|
||||
"link-type" $args.linkType
|
||||
"links" $args.links
|
||||
"orientation" "horizontal"
|
||||
"width" (or .width 8)
|
||||
)
|
||||
}}
|
||||
{{- end -}}
|
3
component-library/components/about/about.scss
Normal file
3
component-library/components/about/about.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
.about {
|
||||
scroll-margin-block: var(--navbar-offset);
|
||||
}
|
45
component-library/components/articles/articles.bookshop.yml
Normal file
45
component-library/components/articles/articles.bookshop.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: Articles
|
||||
description: Articles section
|
||||
icon: post
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
heading:
|
||||
preheading:
|
||||
heading:
|
||||
content:
|
||||
align:
|
||||
width:
|
||||
hide-empty:
|
||||
input:
|
||||
section:
|
||||
nested:
|
||||
keywords:
|
||||
categories:
|
||||
tags:
|
||||
reverse:
|
||||
sort:
|
||||
more:
|
||||
title:
|
||||
link:
|
||||
cols:
|
||||
padding:
|
||||
max:
|
||||
pagination:
|
||||
paginate:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
scroll:
|
||||
bento:
|
||||
cover:
|
||||
header-style:
|
||||
footer-style:
|
||||
orientation:
|
||||
class:
|
108
component-library/components/articles/articles.hugo.html
Normal file
108
component-library/components/articles/articles.hugo.html
Normal file
@@ -0,0 +1,108 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{ $error := false }}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "articles" "args" .)}}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/articles/articles.hugo.html"
|
||||
"msg" "Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ $error = $args.err }}
|
||||
{{ end }}
|
||||
|
||||
{{ $pages := slice }}
|
||||
{{ $result := partial "assets/live-pages.html" (dict
|
||||
"page" $args.page
|
||||
"section" $args.input.section
|
||||
"nested" $args.input.nested
|
||||
"keywords" $args.input.keywords
|
||||
"categories" $args.input.categories
|
||||
"tags" $args.input.tags
|
||||
"sort" $args.input.sort
|
||||
"reverse" $args.input.reverse
|
||||
)}}
|
||||
{{ $pages = $result.pages }}
|
||||
|
||||
<!-- Add style definitions -->
|
||||
{{ $styles := slice
|
||||
(dict "ratio" "1x1" "orientation" "overlay" "portrait" false "width" "6")
|
||||
(dict "ratio" "4x3" "orientation" "stacked" "portrait" true "width" "3")
|
||||
(dict "ratio" "1x1" "orientation" "stacked" "portrait" false "width" "3")
|
||||
(dict "ratio" "16x9" "orientation" "stacked" "portrait" true "width" "3")
|
||||
(dict "ratio" "1x1" "orientation" "stacked" "portrait" false "width" "3")
|
||||
}}
|
||||
|
||||
<!-- Define more button -->
|
||||
{{ $moreButton := site.Params.modules.bookshop.articles.moreButton | default false }}
|
||||
{{ $moreTitle := T "more" (pluralize $args.input.section) }}
|
||||
{{ $moreLink := $args.input.section }}
|
||||
{{ with $args.more }}
|
||||
{{ if .title }}{{ $moreTitle = .title }}{{ end }}
|
||||
{{ if .link }}{{ $moreLink = .link }}{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ $paginate := $args.paginate }}
|
||||
{{ if and $paginate page.IsPage }}
|
||||
{{ partial "utilities/LogWarn.html" (dict
|
||||
"partial" "component-library/components/articles/articles.hugo.html"
|
||||
"msg" "Pagination not supported"
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ $paginate = false }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if not $error }}
|
||||
<div class="container-xxl p-4 px-xxl-0">
|
||||
{{- partial "assets/section-title.html" (dict "heading" $args.heading "class" "py-5") -}}
|
||||
|
||||
{{ $partial := "assets/card-group.html" }}
|
||||
{{ $params := dict }}
|
||||
{{- $params = merge $params (dict
|
||||
"page" page
|
||||
"list" $pages
|
||||
"max" $args.max
|
||||
"cols" $args.cols
|
||||
"icon-rounded" $args.iconRounded
|
||||
"href" (cond $moreButton $moreLink "")
|
||||
"href-title" (cond $moreButton $moreTitle "")
|
||||
"href-force" (gt $result.total (len $result.pages))
|
||||
)}}
|
||||
|
||||
{{ if $args.scroll }}
|
||||
{{ $partial := "assets/stack.html" }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" "none"
|
||||
"body-style" "title"
|
||||
"footer-style" "none"
|
||||
"gutter" 1
|
||||
"padding" 3
|
||||
"ratio" "1x1"
|
||||
"orientation" "horizontal-sm"
|
||||
"styles" (cond $args.bento $styles "")
|
||||
) -}}
|
||||
{{ else }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" $args.headerStyle
|
||||
"footer-style" $args.footerStyle
|
||||
"padding" $args.padding
|
||||
"class" (or $args.class "border-0")
|
||||
"icon-style" "fa-2x"
|
||||
"align" "start"
|
||||
"orientation" $args.orientation
|
||||
"hook" "assets/live-card.html"
|
||||
"pagination" $args.pagination
|
||||
"paginate" $paginate
|
||||
) -}}
|
||||
{{ end }}
|
||||
{{ partial $partial $params }}
|
||||
</div>
|
||||
{{ end }}
|
8
component-library/components/articles/articles.scss
Normal file
8
component-library/components/articles/articles.scss
Normal file
@@ -0,0 +1,8 @@
|
||||
.card-overlay-gradient {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
background: linear-gradient(to bottom, rgba(0, 0, 0, 0),rgba(0, 0, 0, 1));
|
||||
}
|
26
component-library/components/faq/faq.bookshop.yml
Normal file
26
component-library/components/faq/faq.bookshop.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: FAQ
|
||||
description: Accordion of frequently asked questions
|
||||
icon: expand_more
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
heading:
|
||||
preheading:
|
||||
title:
|
||||
content:
|
||||
align:
|
||||
width:
|
||||
size:
|
||||
contrast:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
items:
|
||||
- title:
|
||||
description:
|
58
component-library/components/faq/faq.hugo.html
Normal file
58
component-library/components/faq/faq.hugo.html
Normal file
@@ -0,0 +1,58 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "faq" "args" .)}}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/faq/faq.hugo.html"
|
||||
"msg" "Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
{{ if not $args.err }}
|
||||
<div class="container-xxl p-4 px-xxl-0">
|
||||
{{ $color := "" }}
|
||||
{{ if $args.contrast }}{{ $color = "white" }}{{ end }}
|
||||
{{- partial "assets/section-title.html" (dict
|
||||
"heading" $args.heading
|
||||
"color" $color
|
||||
"class" "py-5"
|
||||
) -}}
|
||||
|
||||
{{ $class := "" }}
|
||||
{{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }}
|
||||
|
||||
<div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end }}accordion-flush mb-3{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto">
|
||||
{{ range $index, $item := $args.items }}
|
||||
<div class="accordion-item">
|
||||
{{- with $item.title -}}
|
||||
<div class="accordion-header m-0" id="{{ $id }}-heading-{{ $id }}">
|
||||
<button class="accordion-button collapsed"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#{{ $id }}-item-{{ $index }}"
|
||||
aria-expanded="false"
|
||||
aria-controls="{{ $id }}-item-{{ $index }}"
|
||||
>
|
||||
{{ if $args.color }}<div class="text-{{ $args.color }}">{{ . }}</div>{{ else }}{{ . }}{{ end }}
|
||||
</button>
|
||||
</div>
|
||||
{{- end -}}
|
||||
<div id="{{ $id }}-item-{{ $index }}"
|
||||
class="accordion-collapse collapse"
|
||||
aria-labelledby="{{ $id }}-heading-{{ $index }}"
|
||||
data-bs-parent="#{{ $id }}"
|
||||
>
|
||||
<div class="accordion-body">{{ $item.description | page.RenderString | safeHTML }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
44
component-library/components/faq/faq.scss
Normal file
44
component-library/components/faq/faq.scss
Normal file
@@ -0,0 +1,44 @@
|
||||
$accordion-button-icon-white: url("/icons/accordion-button-icon-white.svg") !default;
|
||||
$accordion-button-active-icon-white: url("/icons/accordion-button-active-icon-white.svg") !default;
|
||||
|
||||
|
||||
.accordion-faq {
|
||||
--#{$prefix}accordion-btn-padding-x: 0;
|
||||
--#{$prefix}accordion-btn-focus-border-color: none;
|
||||
--#{$prefix}accordion-btn-focus-box-shadow: none;
|
||||
--#{$prefix}accordion-body-padding-x: 0;
|
||||
--#{$prefix}accordion-active-color: var(--#{$prefix}primary);
|
||||
--#{$prefix}accordion-active-bg: none;
|
||||
--#{$prefix}accordion-border-color: var(--#{$prefix}body-color);
|
||||
--#{$prefix}accordion-bg: none;
|
||||
}
|
||||
|
||||
.accordion-faq .accordion-button {
|
||||
font-size: $h5-font-size;
|
||||
}
|
||||
|
||||
// note: explicitly suppresses border in Safari
|
||||
.accordion-faq [aria-expanded="true"] {
|
||||
--#{$prefix}accordion-border-color: none;
|
||||
}
|
||||
|
||||
.accordion-faq-contrast {
|
||||
--#{$prefix}accordion-active-color: var(--#{$prefix}white);
|
||||
--#{$prefix}accordion-border-color: white;
|
||||
}
|
||||
|
||||
.accordion-faq-contrast .accordion-button, .accordion-faq-contrast .accordion-body {
|
||||
--#{$prefix}accordion-btn-icon: #{$accordion-button-icon-white};
|
||||
--#{$prefix}accordion-btn-active-icon: #{$accordion-button-active-icon-white};
|
||||
--#{$prefix}accordion-border-color: white;
|
||||
|
||||
color: white;
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.accordion-faq .accordion-button {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
40
component-library/components/hero/hero.bookshop.yml
Normal file
40
component-library/components/hero/hero.bookshop.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: Hero
|
||||
description: Main page Hero block
|
||||
icon: title
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
breadcrumb:
|
||||
heading:
|
||||
preheading:
|
||||
title:
|
||||
content:
|
||||
align:
|
||||
arrangement:
|
||||
width:
|
||||
size:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
illustration:
|
||||
image:
|
||||
icon:
|
||||
ratio:
|
||||
class:
|
||||
anchor:
|
||||
mode:
|
||||
width:
|
||||
link-type:
|
||||
links:
|
||||
align:
|
||||
order:
|
||||
overlay-mode:
|
||||
cover:
|
||||
orientation:
|
||||
width:
|
34
component-library/components/hero/hero.hugo.html
Normal file
34
component-library/components/hero/hero.hugo.html
Normal file
@@ -0,0 +1,34 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "hero" "args" .) }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/hero/hero.hugo.html"
|
||||
"msg" " Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
{{ if not $args.err }}
|
||||
{{ partial "assets/hero.html" (dict
|
||||
"breadcrumb" $args.breadcrumb
|
||||
"heading" $args.heading
|
||||
"background" $args.background
|
||||
"illustration" $args.illustration
|
||||
"align" $args.align
|
||||
"order" $args.order
|
||||
"overlay-mode" $args.overlayMode
|
||||
"cover" $args.cover
|
||||
"link-type" $args.linkType
|
||||
"links" $args.links
|
||||
"orientation" $args.orientation
|
||||
"width" $args.width
|
||||
)
|
||||
}}
|
||||
{{ end }}
|
18
component-library/components/hero/hero.scss
Normal file
18
component-library/components/hero/hero.scss
Normal file
@@ -0,0 +1,18 @@
|
||||
.background-img-fluid {
|
||||
position: absolute;
|
||||
object-fit: cover;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.background-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
background-color: rgba($dark, 0.8);
|
||||
}
|
||||
|
||||
.hero-content {
|
||||
z-index: 1;
|
||||
}
|
24
component-library/components/releases/releases.bookshop.yml
Normal file
24
component-library/components/releases/releases.bookshop.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: Releases
|
||||
description: Release timeline
|
||||
icon: fingerprint
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
heading:
|
||||
preheading:
|
||||
title:
|
||||
content:
|
||||
align:
|
||||
arrangement:
|
||||
width:
|
||||
size:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
data:
|
27
component-library/components/releases/releases.hugo.html
Normal file
27
component-library/components/releases/releases.hugo.html
Normal file
@@ -0,0 +1,27 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "releases" "args" .) }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/releases/releases.hugo.html"
|
||||
"msg" " Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $args.error }}
|
||||
{{ partial "assets/timeline.html" (dict
|
||||
"page" page
|
||||
"background" $args.background
|
||||
"heading" $args.heading
|
||||
"data" $args.data
|
||||
)
|
||||
}}
|
||||
{{- end -}}
|
0
component-library/components/releases/releases.scss
Normal file
0
component-library/components/releases/releases.scss
Normal file
@@ -0,0 +1,8 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: Separator
|
||||
description: Inserts a horizontal page section separator
|
||||
icon: horizontal_rule
|
||||
tags: []
|
19
component-library/components/separator/separator.hugo.html
Normal file
19
component-library/components/separator/separator.hugo.html
Normal file
@@ -0,0 +1,19 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "separator" "args" .) }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/separator/separator.hugo.html"
|
||||
"msg" " Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
{{ if not $args.err }}
|
||||
<div class="container-xxl p-0"{{ with $args.theme }} data-bs-theme="{{ . }}"{{ end }}><hr></div>
|
||||
{{ end }}
|
@@ -0,0 +1,51 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: Video
|
||||
description: Video section
|
||||
icon: build
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
heading:
|
||||
preheading:
|
||||
title:
|
||||
content:
|
||||
align:
|
||||
arrangement:
|
||||
width:
|
||||
size:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
link-type:
|
||||
orientation:
|
||||
icon-rounded:
|
||||
video:
|
||||
provider:
|
||||
account:
|
||||
media-id:
|
||||
autoplay:
|
||||
query-args:
|
||||
cols:
|
||||
messages:
|
||||
- title:
|
||||
icon:
|
||||
content:
|
||||
link:
|
||||
label:
|
||||
border:
|
||||
width:
|
||||
|
||||
_structures:
|
||||
messages:
|
||||
values:
|
||||
value:
|
||||
title:
|
||||
icon:
|
||||
content:
|
||||
link:
|
||||
label:
|
@@ -0,0 +1,135 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "video-message" "args" .) }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/video-message/video-message.hugo.html"
|
||||
"msg" " Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
|
||||
{{- define "_partials/inline/video.html" -}}
|
||||
{{ $provider := .provider }}
|
||||
{{ $account := .account }}
|
||||
{{ $mediaID := (index . "media-id") }}
|
||||
{{ $autoplay := .autoplay }}
|
||||
{{ $queryArgs := .queryArgs }}
|
||||
{{ $border := .border }}
|
||||
|
||||
{{ if site.Params.env_bookshop_live }}
|
||||
{{/* Define dummy content as we cannot retrieve video data in live mode */}}
|
||||
{{- partial "assets/live-image.html" (dict "src" "/img/placeholder-video.svg" "ratio" "21x9" "wrapper" "text-center mb-4") -}}
|
||||
{{ else }}
|
||||
<div class="video-container{{ if $border }} video-container-border{{ end}}">
|
||||
{{ partial "assets/video.html" (dict
|
||||
"page" page
|
||||
"provider" $provider
|
||||
"account" $account
|
||||
"media-id" $mediaID
|
||||
"autoplay" $autoplay
|
||||
"query-args" $queryArgs
|
||||
) -}}
|
||||
{{ if $border }}
|
||||
<div class="video-overlay video-overlay-start"></div>
|
||||
<div class="video-overlay video-overlay-top"></div>
|
||||
<div class="video-overlay video-overlay-end"></div>
|
||||
<div class="video-overlay video-overlay-bottom"></div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{- define "_partials/inline/messages.html" -}}
|
||||
{{ $list := .list }}
|
||||
{{ $cols := .cols }}
|
||||
{{ $type := .type }}
|
||||
{{ $iconRounded := .iconRounded }}
|
||||
|
||||
{{- partial "assets/card-group.html" (dict
|
||||
"page" page
|
||||
"list" $list
|
||||
"class" "border-0 card-icon card-icon-secondary"
|
||||
"cols" $cols
|
||||
"gutter" ""
|
||||
"padding" "0"
|
||||
"header-style" "none"
|
||||
"footer-style" "none"
|
||||
"icon-style" "fa-fluid fa-fw"
|
||||
"align" "start"
|
||||
"orientation" "horizontal-sm"
|
||||
"button" true
|
||||
"link-type" $type
|
||||
"icon-rounded" $iconRounded
|
||||
) -}}
|
||||
{{ end }}
|
||||
|
||||
<div class="container-xxl p-4 px-xxl-0">
|
||||
{{ $list := slice }}
|
||||
|
||||
{{ range $args.messages }}
|
||||
{{ $path := "" }}
|
||||
{{ $href := "" }}
|
||||
{{ with .link }}{{ if hasPrefix . "http" }}{{ $href = . }}{{ else }}{{ $path = . }}{{ end }}{{ end }}
|
||||
|
||||
{{ $list = $list | append (dict
|
||||
"title" .title
|
||||
"description" (.content | page.RenderString)
|
||||
"icon" .icon
|
||||
"href" $href
|
||||
"path" $path
|
||||
"button-label" .label
|
||||
) }}
|
||||
{{ end}}
|
||||
|
||||
{{- partial "assets/section-title.html" (dict
|
||||
"heading" $args.heading
|
||||
"class" "py-5"
|
||||
) -}}
|
||||
|
||||
{{ if eq $args.orientation "stacked" }}
|
||||
<div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
|
||||
{{ with $args.video }}
|
||||
{{- partial "inline/video.html" (dict
|
||||
"provider" .provider
|
||||
"account" .account
|
||||
"media-id" (index . "media-id")
|
||||
"autoplay" .autoplay
|
||||
"query-args" .queryArgs
|
||||
"border" $.border
|
||||
) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
{{- partial "inline/messages.html" (dict "list" $list "cols" $args.cols "type" $args.type "iconRounded" $args.iconRounded) -}}
|
||||
</div>
|
||||
{{ else }}
|
||||
<div class="container grid gap-4">
|
||||
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
|
||||
<div class="col col-{{ $breakpoint.current }}-{{ $args.width }} p-0">
|
||||
{{ with $args.video }}
|
||||
{{- partial "inline/video.html" (dict
|
||||
"provider" .provider
|
||||
"account" .account
|
||||
"media-id" (index . "media-id")
|
||||
"autoplay" .autoplay
|
||||
"query-args" .queryArgs
|
||||
"border" $.border
|
||||
) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="col col-{{ $breakpoint.current }}-{{ sub 12 $args.width }} mt-4 mt-{{ $breakpoint.current }}-0">
|
||||
{{- partial "inline/messages.html" (dict "list" $list "cols" 1 "type" $args.type "iconRounded" $args.iconRounded) -}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
@@ -0,0 +1,59 @@
|
||||
.video-container {
|
||||
--bs-video-border-color: var(--bs-primary);
|
||||
--bs-video-border-width: 1rem;
|
||||
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.video-container > .video-embedded {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.video-container-border > .video-embedded {
|
||||
width: calc(100% - var(--bs-video-border-width) / 2);
|
||||
height: calc(100% - var(--bs-video-border-width) / 2);
|
||||
margin-left: calc(var(--bs-video-border-width) / 2);
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.video-overlay {
|
||||
border: calc(var(--bs-video-border-width) / 2) solid var(--bs-video-border-color);
|
||||
background: var(--bs-video-border-color);
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.video-overlay-start {
|
||||
border-bottom-left-radius: $theme-border-radius;
|
||||
border-top-left-radius: $theme-border-radius;
|
||||
width: 1;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.video-overlay-top {
|
||||
width: calc(100% - 1rem);
|
||||
height: 1;
|
||||
left: 1rem;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.video-overlay-bottom {
|
||||
width: calc(100% - 1rem);
|
||||
height: 1;
|
||||
left: 1rem;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.video-overlay-end {
|
||||
border-bottom-right-radius: $theme-border-radius;
|
||||
border-top-right-radius: $theme-border-radius;
|
||||
width: 1;
|
||||
height: 100%;
|
||||
left: 100%;
|
||||
bottom: 0;
|
||||
}
|
69
component-library/helpers/component.html
Normal file
69
component-library/helpers/component.html
Normal file
@@ -0,0 +1,69 @@
|
||||
{{/* Adapted from https://github.com/CloudCannon/bookshop/blob/main/hugo/v3/core/helpers/component.html */}}
|
||||
|
||||
{{/*
|
||||
Renders a single Bookshop component,
|
||||
wrapping in in a live editing context tag.
|
||||
|
||||
Expects a slice:
|
||||
[
|
||||
<string>, # Component name
|
||||
<_> # Component props
|
||||
]
|
||||
*/}}
|
||||
|
||||
{{- $component_name := index . 0 -}}
|
||||
{{- $component_props := index . 1 -}}
|
||||
{{- $class := index . 2 | default "p-0" -}}
|
||||
{{- $bgclass := index . 3 | default "" -}}
|
||||
|
||||
{{- $component_path := partial "_bookshop/helpers/component_key" $component_name -}}
|
||||
{{- $flat_component_path := partial "_bookshop/helpers/flat_component_key" $component_name -}}
|
||||
|
||||
{{- $resolved_component := false -}}
|
||||
{{- if templates.Exists ( printf "_partials/%s" $component_path ) -}}
|
||||
{{- $resolved_component = $component_path -}}
|
||||
{{- else if templates.Exists ( printf "_partials/%s" $flat_component_path ) -}}
|
||||
{{- $resolved_component = $flat_component_path -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if $resolved_component -}}
|
||||
{{- $id := index $component_props "id" -}}
|
||||
{{- $cover := index $component_props "cover" -}}
|
||||
{{- $background := index $component_props "background" -}}
|
||||
{{- $backdrop := "" -}}
|
||||
{{- $style := index $component_props "wrapper" -}}
|
||||
{{- $wrapper := $style }}
|
||||
{{ with $background }}
|
||||
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $style) }}
|
||||
{{ if reflect.IsMap $background }}
|
||||
{{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{/* warnf "wrapper: '%s'" $wrapper */}}
|
||||
{{- $theme := index $component_props "theme" -}}
|
||||
{{- $overlayMode := (or (index $component_props "overlay-mode") page.Params.overlayMode) | default "dark" -}}
|
||||
{{ if not $backdrop }}{{ $overlayMode = page.Params.overlayMode }}{{ end }}
|
||||
{{ if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }}
|
||||
|
||||
{{ (printf "<!--bookshop-live name(%s)-->" $component_name) | safeHTML }}
|
||||
<section {{ with $id }}id="{{ . }}" {{ end }}class="{{ $component_name }} container-fluid {{ $class }} {{ with $wrapper }}{{ . }}{{ end -}}
|
||||
{{- if and $backdrop $overlayMode }} background-container{{ end -}}
|
||||
{{- if $cover }} section-cover d-flex align-items-center{{ end }}"
|
||||
{{ with $overlayMode -}}
|
||||
data-bs-theme="{{ . }}"
|
||||
data-bs-overlay="{{ . }}"
|
||||
{{- else -}}
|
||||
{{- with $theme }}data-bs-theme="{{ . }}"{{ end -}}
|
||||
{{- end -}}
|
||||
>
|
||||
{{- if $backdrop -}}
|
||||
{{ partial "assets/live-image.html" (dict "src" $backdrop "class" (printf "background-img-fluid %s" $bgclass) "title" (T "backgroundImage")) }}
|
||||
{{- end -}}
|
||||
{{ partial $resolved_component $component_props }}
|
||||
</section>
|
||||
{{ "<!--bookshop-live end-->" | safeHTML }}
|
||||
{{- else -}}
|
||||
{{- $file_loc := slicestr $component_path 9 -}}
|
||||
{{- $flat_file_loc := slicestr $flat_component_path 9 -}}
|
||||
{{- partial "_bookshop/errors/err" (printf "Component \"%s\" does not exist.\n Create this component by placing a file in your bookshop at %s or %s" $component_name $file_loc $flat_file_loc) -}}
|
||||
{{- end -}}
|
27
component-library/helpers/partial.html
Normal file
27
component-library/helpers/partial.html
Normal file
@@ -0,0 +1,27 @@
|
||||
{{/* Adapted from https://github.com/CloudCannon/bookshop/blob/main/hugo/v3/core/helpers/partial.html */}}
|
||||
|
||||
{{/*
|
||||
Renders a single Bookshop partial,
|
||||
wrapping in in a live editing context tag.
|
||||
|
||||
Expects a slice:
|
||||
[
|
||||
<string>, # Partial name
|
||||
<_> # Partial props
|
||||
]
|
||||
*/}}
|
||||
|
||||
{{- $partial_name := index . 0 -}}
|
||||
{{- $partial_props := index . 1 -}}
|
||||
{{- $partial_path := partial "_bookshop/helpers/partial_key" $partial_name -}}
|
||||
|
||||
{{- if templates.Exists ( printf "partials/%s" $partial_path ) -}}
|
||||
|
||||
{{ (printf "<!--bookshop-live name(%s)-->" $partial_name) | safeHTML }}
|
||||
{{ partial $partial_path $partial_props }}
|
||||
{{ "<!--bookshop-live end-->" | safeHTML }}
|
||||
|
||||
{{- else -}}
|
||||
{{- $file_loc := slicestr $partial_path 9 -}}
|
||||
{{- partial "_bookshop/errors/err" (printf "Partial \"%s\" does not exist.\n Create this partial by placing a file in your bookshop at %s" $partial_name $file_loc) -}}
|
||||
{{- end -}}
|
5
component-library/shared/hugo/page.hugo.html
Normal file
5
component-library/shared/hugo/page.hugo.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<div>
|
||||
{{ range . }}
|
||||
{{ partial "bookshop" . }}
|
||||
{{ end }}
|
||||
</div>
|
23
component-library/shared/styles/global.scss
Normal file
23
component-library/shared/styles/global.scss
Normal file
@@ -0,0 +1,23 @@
|
||||
// Files in shared/styles will be used as global stylesheets on your site,
|
||||
// as well as in the component browser and screenshots.
|
||||
|
||||
.display-1 > strong {
|
||||
color: var(--bs-primary);
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.preheading.text-primary {
|
||||
color: #{$primary-text-emphasis-dark} !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h1[class*="display-"] {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.navbar-offset {
|
||||
padding-top: var(--navbar-offset);
|
||||
}
|
2
component-library/theme.scss
Normal file
2
component-library/theme.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
// Placeholder to quickly add your own styles
|
||||
// The file is included last in the build pipeline
|
@@ -1,17 +1,16 @@
|
||||
# toml-docs-start main
|
||||
title = "Hinode"
|
||||
copyright = "Copyright © 2023 Mark Dumay."
|
||||
paginate = 9
|
||||
copyright = "Copyright © 2022 - 2025 Mark Dumay."
|
||||
enableGitInfo = true
|
||||
# toml-docs-end main
|
||||
|
||||
# additional settings
|
||||
googleAnalytics = "G-T85PPZ36GN"
|
||||
baseURL = "https://demo.gethinode.com/"
|
||||
baseURL = "https://example.com/"
|
||||
canonifyURLs = false
|
||||
enableEmoji = true
|
||||
enableRobotsTXT = true
|
||||
enableInlineShortcodes = true
|
||||
summaryLength = 20
|
||||
|
||||
# prevent build failures when using Hugo's Instagram shortcode due to deprecated Instagram API.
|
||||
# See https://github.com/gohugoio/hugo/issues/7228#issuecomment-714490456
|
||||
@@ -24,23 +23,51 @@ timeout = "180s"
|
||||
# toml-docs-start language
|
||||
languageCode = "en-us"
|
||||
defaultContentLanguage = "en"
|
||||
defaultContentLanguageInSubdir = true
|
||||
defaultContentLanguageInSubdir = false
|
||||
# toml-docs-end language
|
||||
|
||||
# toml-docs-start headers
|
||||
[outputFormats]
|
||||
[outputFormats.server]
|
||||
mediaType = "application/toml"
|
||||
baseName = "server"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
permalinkable = true
|
||||
root = true
|
||||
[outputFormats.netlify]
|
||||
mediaType = "application/toml"
|
||||
baseName = "netlify"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
permalinkable = true
|
||||
root = true
|
||||
# toml-docs-end headers
|
||||
|
||||
[outputFormats.XML]
|
||||
isPlainText = false
|
||||
mediaType = "application/xml"
|
||||
isHtml = false
|
||||
noUgly = true
|
||||
permalinkable = false
|
||||
name = "xml"
|
||||
|
||||
# toml-docs-start redirect
|
||||
[outputFormats.REDIR]
|
||||
mediaType = "text/netlify"
|
||||
baseName = "_redirects"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
[outputFormats.REDIR]
|
||||
mediaType = "text/netlify"
|
||||
baseName = "_redirects"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
|
||||
[mediaTypes."text/netlify"]
|
||||
delimiter = ""
|
||||
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "REDIR"]
|
||||
# toml-docs-end redirect
|
||||
|
||||
# toml-docs-start outputs
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "REDIR", "netlify", "server"]
|
||||
# toml-docs-end outputs
|
||||
|
||||
# toml-docs-start build
|
||||
[build]
|
||||
writeStats = true
|
||||
@@ -49,12 +76,15 @@ home = ["HTML", "RSS", "REDIR"]
|
||||
[taxonomies]
|
||||
tag = 'tags'
|
||||
|
||||
[pagination]
|
||||
pagerSize = 9
|
||||
|
||||
[privacy]
|
||||
[privacy.vimeo]
|
||||
disabled = false
|
||||
simple = true
|
||||
|
||||
[privacy.twitter]
|
||||
[privacy.x]
|
||||
disabled = false
|
||||
enableDNT = true
|
||||
simple = true
|
||||
@@ -70,29 +100,35 @@ home = ["HTML", "RSS", "REDIR"]
|
||||
[services]
|
||||
[services.instagram]
|
||||
disableInlineCSS = true
|
||||
[services.twitter]
|
||||
[services.x]
|
||||
disableInlineCSS = true
|
||||
[services.googleAnalytics]
|
||||
# ID = "G-xxxxxxxxxx"
|
||||
|
||||
[outputFormats]
|
||||
[outputFormats.XML]
|
||||
isPlainText = false
|
||||
mediaType = "application/xml"
|
||||
isHtml = false
|
||||
noUgly = true
|
||||
permalinkable = false
|
||||
name = "xml"
|
||||
[minify]
|
||||
[minify.tdewolff.js]
|
||||
keepVarNames = true
|
||||
precision = 0
|
||||
version = 2022
|
||||
[minify.tdewolff.html]
|
||||
keepWhitespace = true
|
||||
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.110.0"
|
||||
max = ""
|
||||
min = "0.141.0"
|
||||
[[module.mounts]]
|
||||
source = "archetypes"
|
||||
target = "archetypes"
|
||||
[[module.mounts]]
|
||||
source = "assets"
|
||||
target = "assets"
|
||||
[[module.mounts]]
|
||||
source = "content"
|
||||
target = "content"
|
||||
[[module.mounts]]
|
||||
source = "data"
|
||||
target = "data"
|
||||
[[module.mounts]]
|
||||
source = "i18n"
|
||||
target = "i18n"
|
||||
@@ -102,18 +138,67 @@ home = ["HTML", "RSS", "REDIR"]
|
||||
[[module.mounts]]
|
||||
source = "static"
|
||||
target = "static"
|
||||
[[module.mounts]]
|
||||
source = 'component-library'
|
||||
target = 'layouts/partials/bookshop'
|
||||
includeFiles = ['**/*.hugo.html']
|
||||
[[module.mounts]]
|
||||
source = 'component-library'
|
||||
target = 'data/structures'
|
||||
includeFiles = ['**/*.bookshop.yml']
|
||||
[[module.mounts]]
|
||||
source = 'component-library'
|
||||
target = 'assets/bookshop'
|
||||
[[module.mounts]]
|
||||
source = 'component-library'
|
||||
target = 'assets/scss/modules/bookshop'
|
||||
includeFiles = ['**/*.scss']
|
||||
excludeFiles = ['bookshop.scss']
|
||||
[[module.mounts]]
|
||||
source = 'component-library/bookshop.scss'
|
||||
target = 'assets/scss/bookshop.scss'
|
||||
[[module.mounts]]
|
||||
source = 'component-library/helpers'
|
||||
target = 'layouts/partials/_bookshop/helpers'
|
||||
# ensures main package.json is always available, even when using workspaces
|
||||
# in workspaces, the package.json is pointing to the first imported module
|
||||
[[module.mounts]]
|
||||
source = "package.json"
|
||||
target = "assets/data/package-hinode.json"
|
||||
[[module.mounts]]
|
||||
source = "netlify.toml"
|
||||
target = "assets/config/netlify.toml"
|
||||
# toml-docs-start modules
|
||||
[[module.imports]]
|
||||
path = "github.com/cloudcannon/bookshop/hugo/v3"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-bootstrap"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-flexsearch"
|
||||
path = "github.com/gethinode/mod-csp"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-fontawesome"
|
||||
path = "github.com/gethinode/mod-flexsearch/v2"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-fontawesome/v2"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-google-analytics"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-katex"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-leaflet"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-lottie"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-mermaid"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-simple-datatables"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-utils/v3"
|
||||
# toml-docs-end modules
|
||||
|
||||
# toml-docs-start segments
|
||||
[segments]
|
||||
[segments.headers]
|
||||
[[segments.headers.includes]]
|
||||
kind = '{home}'
|
||||
output = '{netlify,server}'
|
||||
# toml-docs-end segments
|
||||
|
@@ -1,31 +1,15 @@
|
||||
# toml-docs-start lang-main
|
||||
[en]
|
||||
languageName = "English"
|
||||
contentDir = "content/en"
|
||||
contentDir = "content"
|
||||
weight = 1
|
||||
# toml-docs-end lang-main
|
||||
# toml-docs-start lang-param
|
||||
[en.params.head]
|
||||
tagline = "A Hugo Theme"
|
||||
[en.params.feature]
|
||||
link = "about"
|
||||
caption = "About"
|
||||
[en.params.social]
|
||||
title = "Follow me"
|
||||
caption = "I work on everything coding and tweet developer memes"
|
||||
[en.params.footer]
|
||||
license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
|
||||
socialTitle = "Follow me"
|
||||
socialCaption = "I work on everything coding and tweet developer memes"
|
||||
# license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer nofollow'>CC BY-NC-SA 4.0</a>)."
|
||||
# toml-docs-end lang-param
|
||||
|
||||
[nl]
|
||||
languageName = "Nederlands"
|
||||
contentDir = "content/nl"
|
||||
weight = 2
|
||||
[nl.params.head]
|
||||
tagline = "Een Hugo Thema"
|
||||
[nl.params.feature]
|
||||
link = "over-mij"
|
||||
caption = "Over mij"
|
||||
[nl.params.footer]
|
||||
license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
|
||||
socialTitle = "Volg mij"
|
||||
socialCaption = "Ik doe aan programmeren en tweet memes"
|
@@ -24,12 +24,18 @@ defaultMarkdownHandler = "goldmark"
|
||||
table = true
|
||||
taskList = true
|
||||
typographer = true
|
||||
[goldmark.extensions.passthrough]
|
||||
enable = true
|
||||
[goldmark.extensions.passthrough.delimiters]
|
||||
block = [['\[', '\]'], ['$$', '$$']]
|
||||
inline = [['\(', '\)'], ['$', '$']]
|
||||
[goldmark.parser]
|
||||
autoHeadingID = true
|
||||
autoHeadingIDType = 'github'
|
||||
wrapStandAloneImageWithinParagraph = false
|
||||
[goldmark.parser.attribute]
|
||||
block = true
|
||||
[goldmark.renderer]
|
||||
hardWraps = false
|
||||
unsafe = true
|
||||
unsafe = false
|
||||
xhtml = false
|
@@ -1,34 +1,12 @@
|
||||
[[main]]
|
||||
name = "About"
|
||||
pageRef = "/about/"
|
||||
name = "Home"
|
||||
pageRef = "/"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "Blog"
|
||||
pageRef = "/blog/"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Projects"
|
||||
pageRef = "/projects/"
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
name = "Sample project"
|
||||
pageRef = "/projects/sample-project/"
|
||||
parent = "Projects"
|
||||
weight = 1
|
||||
|
||||
[[main]]
|
||||
name = "Another project"
|
||||
pageRef = "/projects/another-project/"
|
||||
parent = "Projects"
|
||||
weight = 2
|
||||
|
||||
[[main]]
|
||||
name = "Tags"
|
||||
pageRef = "/tags/"
|
||||
weight = 40
|
||||
pageRef = "/tags"
|
||||
weight = 20
|
||||
|
||||
[[social]]
|
||||
name = "LinkedIn"
|
||||
|
@@ -3,29 +3,58 @@
|
||||
separator = "-"
|
||||
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
|
||||
enableDarkMode = true
|
||||
enableLanguageSelectionStorage = false
|
||||
modes = ["light", "dark"]
|
||||
canonifyAssetsURLs = false
|
||||
endorse = true
|
||||
footerBelowFold = false
|
||||
loading = "lazy"
|
||||
breakpoint = "md"
|
||||
titleCase = false
|
||||
[main.internalLinks]
|
||||
validate = true
|
||||
pretty = false
|
||||
[main.externalLinks]
|
||||
cue = false
|
||||
tab = false
|
||||
[main.build]
|
||||
transpiler = "libsass"
|
||||
# toml-docs-end main
|
||||
|
||||
# toml-docs-start modules
|
||||
[modules]
|
||||
core = ["bootstrap", "flexsearch", "fontawesome"]
|
||||
optional = ["leaflet", "katex"]
|
||||
excludeSCSS = ["bootstrap"]
|
||||
disableTemplate = ["katex"]
|
||||
[modules.fontawesome]
|
||||
inline = true
|
||||
debug = true
|
||||
skipMissing = false
|
||||
# toml-docs-end modules
|
||||
# toml-docs-start images
|
||||
[images]
|
||||
[images.cloudinary]
|
||||
host = "cloudinary"
|
||||
[images.imagekit]
|
||||
host = "imagekit"
|
||||
[images.imgix]
|
||||
host = "imgix"
|
||||
# toml-docs-end images
|
||||
|
||||
# toml-docs-start videos
|
||||
[videos]
|
||||
[videos.cloudinary]
|
||||
host = "cloudinary"
|
||||
account = "demo"
|
||||
[videos.vimeo]
|
||||
host = "vimeo"
|
||||
[videos.youtube]
|
||||
host = "youtube"
|
||||
# toml-docs-end videos
|
||||
|
||||
[dam]
|
||||
videoCodecs = [
|
||||
"webm/vp9",
|
||||
"mp4/h265",
|
||||
"mp4"
|
||||
]
|
||||
|
||||
# toml-docs-start debugging
|
||||
[debugging]
|
||||
showJS = false
|
||||
showSCSS = false
|
||||
purgeHTMLComments = false
|
||||
includeSVGOrigin = true
|
||||
# toml-docs-end debugging
|
||||
|
||||
# toml-docs-start docs
|
||||
@@ -37,11 +66,15 @@
|
||||
|
||||
# toml-docs-start home
|
||||
[home]
|
||||
sections = ["blog", "projects"]
|
||||
featurePhoto = "/img/sunrise.jpg" # source: https://unsplash.com/photos/ZX6BPboJrYk
|
||||
# sections = ["posts"]
|
||||
fullCover = false
|
||||
centerHeadline = false
|
||||
style = ""
|
||||
[home.feature]
|
||||
orientation = "horizontal"
|
||||
color = "primary"
|
||||
width = 4
|
||||
align = "start"
|
||||
# toml-docs-end home
|
||||
|
||||
# toml-docs-start navigation
|
||||
@@ -50,11 +83,16 @@
|
||||
logo = "/img/logo_icon.svg"
|
||||
color = "body"
|
||||
fixed = true
|
||||
offset = "3.8em"
|
||||
overlay = false
|
||||
overlayMode = "dark"
|
||||
horizontal = false
|
||||
offset = "5.5rem"
|
||||
search = true
|
||||
searchModal = false
|
||||
breadcrumb = true
|
||||
toc = true
|
||||
sidebar = true
|
||||
size = "md"
|
||||
# toml-docs-end navigation
|
||||
|
||||
# toml-docs-start messages
|
||||
@@ -78,7 +116,7 @@
|
||||
[[sharing.providers]]
|
||||
name = "Twitter"
|
||||
url = "https://twitter.com/home?status={url}"
|
||||
icon = "fab twitter"
|
||||
icon = "fab x-twitter"
|
||||
weight = 20
|
||||
|
||||
[[sharing.providers]]
|
||||
@@ -102,37 +140,21 @@
|
||||
# toml-docs-end sharing
|
||||
|
||||
# toml-docs-start sections
|
||||
[sections]
|
||||
[sections.blog]
|
||||
title = "Blog"
|
||||
sort = "date"
|
||||
reverse = true
|
||||
nested = true
|
||||
cols = 3
|
||||
color = ""
|
||||
padding = "0"
|
||||
header = "full"
|
||||
footer = "none"
|
||||
orientation = "stacked"
|
||||
style = "border-0 card-zoom"
|
||||
homepage = 3
|
||||
separator = true
|
||||
[sections.projects]
|
||||
title = "Projects"
|
||||
layout = "card"
|
||||
sort = "title"
|
||||
reverse = false
|
||||
nested = true
|
||||
cols = 1
|
||||
background = "body-tertiary"
|
||||
color = "body"
|
||||
padding = "3"
|
||||
header = "none"
|
||||
footer = "tags"
|
||||
orientation = "horizontal"
|
||||
style = "border-1 card-emphasize"
|
||||
homepage = 3
|
||||
separator = false
|
||||
# [sections]
|
||||
# [sections.posts]
|
||||
# title = "Posts"
|
||||
# sort = "date"
|
||||
# reverse = true
|
||||
# nested = true
|
||||
# cols = 3
|
||||
# color = ""
|
||||
# padding = "0"
|
||||
# header = "full"
|
||||
# footer = "none"
|
||||
# orientation = "stacked"
|
||||
# style = "border-0 card-zoom card-body-margin"
|
||||
# homepage = 3
|
||||
# separator = true
|
||||
# toml-docs-end sections
|
||||
|
||||
[favicon]
|
||||
@@ -151,10 +173,14 @@
|
||||
dark = "#212529"
|
||||
# toml-docs-end theme-colors
|
||||
themeOpacity = "10"
|
||||
darkModeShade = "20%"
|
||||
darkModeTint = "40%"
|
||||
# toml-docs-start font
|
||||
themeFont = "Inter"
|
||||
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
|
||||
themeFontPath = "/fonts" # local path
|
||||
themeFontPreload = "/fonts/inter-v12-latin-regular.woff2"
|
||||
fontSizeBase = "1rem" # assumes the browser default, typically '16px'
|
||||
# toml-docs-end font
|
||||
# toml-docs-start build
|
||||
purge = false
|
||||
@@ -168,16 +194,16 @@
|
||||
# linkedIn = ""
|
||||
github = "https://github.com/gethinode/hinode"
|
||||
section = "blog"
|
||||
[author]
|
||||
[schema.author]
|
||||
name = "Mark Dumay"
|
||||
# twitter = "https://twitter.com/markdumay"
|
||||
linkedin = "https://www.linkedin.com/in/markdumay/"
|
||||
github = "https://github.com/markdumay"
|
||||
[logo]
|
||||
[schema.logo]
|
||||
url = "img/logo512x512.png"
|
||||
width = 512
|
||||
height = 512
|
||||
[image]
|
||||
[schema.image]
|
||||
url = "img/logo1280x640.png"
|
||||
width = 1280
|
||||
height = 640
|
||||
@@ -186,21 +212,62 @@
|
||||
images = ["logo.png"]
|
||||
locale = "en_US"
|
||||
|
||||
[comments]
|
||||
enabled = false
|
||||
repo = "" # Replace with your repository.
|
||||
#issueTerm = "pathname" # pathname, url, title, og:title
|
||||
#label = "comment"
|
||||
# By default, light and dark mode correspond to github-light and github-dark, respectively.
|
||||
# Optional values: github-light, github-dark, preferred-color-scheme, github-dark-orange, icy-dark, dark-blue, photon-dark.
|
||||
#theme = ""
|
||||
|
||||
[links]
|
||||
bs_badge_heading = "https://getbootstrap.com/docs/5.2/components/badge/#headings"
|
||||
hinode_docs = "https://gethinode.com/docs"
|
||||
hugo_imaging = "https://gohugo.io/content-management/image-processing/#imaging-configuration"
|
||||
mozilla_image = "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"
|
||||
observatory = "https://observatory.mozilla.org/analyze/demo.gethinode.com"
|
||||
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
|
||||
utterances = "https://utteranc.es"
|
||||
|
||||
hinode = "https://gethinode.com"
|
||||
|
||||
# toml-docs-start headers
|
||||
[headers]
|
||||
[headers.netlify]
|
||||
source = "netlify.toml"
|
||||
# toml-docs-end headers
|
||||
|
||||
# toml-docs-start csp
|
||||
[modules.hinode.csp]
|
||||
style-src = ["www.youtube.com"]
|
||||
font-src = ["fonts.gstatic.com"]
|
||||
frame-src = [
|
||||
"player.cloudinary.com",
|
||||
"www.youtube-nocookie.com",
|
||||
"www.youtube.com"
|
||||
]
|
||||
img-src = [
|
||||
"data:",
|
||||
"*.imgix.net",
|
||||
"*.imagekit.io",
|
||||
"*.cloudinary.com",
|
||||
"i.ytimg.com"
|
||||
]
|
||||
# toml-docs-end csp
|
||||
|
||||
[modules.vimeo]
|
||||
local = true
|
||||
integration = "optional"
|
||||
state = "async"
|
||||
url = "https://player.vimeo.com/api/player.js"
|
||||
|
||||
[modules.vimeo.csp]
|
||||
frame-src = ["player.vimeo.com"]
|
||||
img-src = ["i.vimeocdn.com"]
|
||||
script-src = ["player.vimeo.com"]
|
||||
|
||||
# define module integration
|
||||
[modules.bookshop]
|
||||
integration = "core"
|
||||
|
||||
# provide default hero settings
|
||||
[modules.bookshop.hero]
|
||||
align = "start"
|
||||
# backdrop = "/assets/img/nat-9l98kFByiao-unsplash.jpg"
|
||||
overlayMode = "dark"
|
||||
section = true
|
||||
default = ["section"]
|
||||
# default = ["page", "home", "section"]
|
||||
|
||||
[modules.bookshop.title]
|
||||
size = 4
|
||||
arrangement = "above"
|
||||
headingStyle = "display"
|
||||
bodyStyle = "lead text-muted"
|
||||
|
||||
[modules.bookshop.articles]
|
||||
moreButton = true
|
||||
|
@@ -1,43 +1,29 @@
|
||||
# toml-docs-start server-config
|
||||
# Auto-generated file - do not modify
|
||||
|
||||
[[headers]]
|
||||
for = '/**'
|
||||
[headers.values]
|
||||
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
|
||||
X-Content-Type-Options = "nosniff"
|
||||
X-XSS-Protection = "1; mode=block"
|
||||
Content-Security-Policy = """\
|
||||
default-src 'self'; \
|
||||
script-src 'self' \
|
||||
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
|
||||
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
|
||||
object-src 'none'; \
|
||||
for = '/**'
|
||||
|
||||
[headers.values]
|
||||
Access-Control-Allow-Origin = '*'
|
||||
Content-Security-Policy = """
|
||||
base-uri 'self'; \
|
||||
connect-src 'self'
|
||||
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
||||
font-src 'self' https://fonts.gstatic.com; \
|
||||
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
|
||||
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
||||
connect-src 'self' *.analytics.google.com *.google.com *.google-analytics.com *.googletagmanager.com; \
|
||||
default-src 'none'; \
|
||||
font-src 'self' fonts.gstatic.com data:; \
|
||||
form-action 'self'; \
|
||||
frame-src *.googletagmanager.com player.cloudinary.com www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
|
||||
img-src 'self' *.google-analytics.com *.googletagmanager.com googletagmanager.com ssl.gstatic.com www.gstatic.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
|
||||
manifest-src 'self'; \
|
||||
media-src 'self' \
|
||||
media-src 'self'; \
|
||||
object-src 'none'; \
|
||||
script-src 'self' *.google-analytics.com *.googletagmanager.com *.analytics.google.com googletagmanager.com tagmanager.google.com player.vimeo.com; \
|
||||
style-src 'self' googletagmanager.com tagmanager.google.com fonts.googleapis.com www.youtube.com; \
|
||||
"""
|
||||
X-Frame-Options = "SAMEORIGIN"
|
||||
Referrer-Policy = "strict-origin"
|
||||
Permissions-Policy = """\
|
||||
geolocation=(), \
|
||||
midi=(), \
|
||||
sync-xhr=(), \
|
||||
microphone=(), \
|
||||
camera=(), \
|
||||
magnetometer=(), \
|
||||
gyroscope=(), \
|
||||
fullscreen=(), \
|
||||
payment=() \
|
||||
"""
|
||||
cache-control = """\
|
||||
max-age=0, \
|
||||
no-cache, \
|
||||
no-store, \
|
||||
must-revalidate \
|
||||
"""
|
||||
Access-Control-Allow-Origin = "*"
|
||||
# toml-docs-end server-config
|
||||
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
|
||||
Referrer-Policy = 'strict-origin'
|
||||
Strict-Transport-Security = 'max-age=31536000; includeSubDomains; preload'
|
||||
X-Content-Type-Options = 'nosniff'
|
||||
X-Frame-Options = 'SAMEORIGIN'
|
||||
X-XSS-Protection = '1; mode=block'
|
||||
cache-control = 'max-age=0, no-cache, no-store, must-revalidate '
|
||||
|
||||
|
23
config/ci/hugo.toml
Normal file
23
config/ci/hugo.toml
Normal file
@@ -0,0 +1,23 @@
|
||||
# cachedir default on POSIX: '/tmp/hugo_cache_runner'
|
||||
# cachedir default on Windows: '~\AppData\Local\hugo_cache'
|
||||
# cachedir default on macOS: '/Users/runner/Library/Caches/hugo_cache'
|
||||
|
||||
[caches]
|
||||
[caches.assets]
|
||||
dir = ':cacheDir/resources/_gen' # map to cacheDir instead of resourceDir to utilize GitHub action/cache
|
||||
maxAge = -1
|
||||
[caches.getcsv]
|
||||
dir = ':cacheDir/:project'
|
||||
maxAge = -1
|
||||
[caches.getjson]
|
||||
dir = ':cacheDir/:project'
|
||||
maxAge = -1
|
||||
[caches.getresource]
|
||||
dir = ':cacheDir/:project'
|
||||
maxAge = -1
|
||||
[caches.images]
|
||||
dir = ':cacheDir/resources/_gen' # map to cacheDir instead of resourceDir to utilize GitHub action/cache
|
||||
maxAge = -1
|
||||
[caches.modules]
|
||||
dir = ':cacheDir/modules'
|
||||
maxAge = -1
|
@@ -3,29 +3,37 @@ const cssnano = require('cssnano')({
|
||||
preset: 'advanced'
|
||||
})
|
||||
const whitelister = require('purgecss-whitelister')
|
||||
const purgecss = require('@fullhuman/postcss-purgecss')({
|
||||
const purgeImport = require('@fullhuman/postcss-purgecss')
|
||||
const purgeCSSPlugin = purgeImport.purgeCSSPlugin || purgeImport.default || purgeImport
|
||||
const purgecss = purgeCSSPlugin({
|
||||
content: ['./hugo_stats.json'],
|
||||
defaultExtractor: (content) => {
|
||||
const els = JSON.parse(content).htmlElements
|
||||
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
||||
},
|
||||
dynamicAttributes: ['data-bs-theme'],
|
||||
safelist: [
|
||||
dynamicAttributes: ['data-bs-theme', 'data-bs-theme-animate'],
|
||||
safelist: ['was-validated',
|
||||
...whitelister([
|
||||
'./assets/scss/components/_clipboard.scss',
|
||||
'./assets/scss/components/_command.scss',
|
||||
'./assets/scss/components/_nav.scss',
|
||||
'./assets/scss/components/_navbar.scss',
|
||||
'./assets/scss/components/_search.scss',
|
||||
'./assets/scss/components/_syntax.scss',
|
||||
'./assets/scss/components/_syntax-dark.scss',
|
||||
'./assets/scss/components/_syntax-light.scss',
|
||||
'./assets/scss/components/_table.scss',
|
||||
'./assets/scss/components/_video.scss',
|
||||
'./assets/scss/theme/fonts.scss',
|
||||
'./assets/scss/theme/theme.scss',
|
||||
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss',
|
||||
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
|
||||
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
|
||||
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
|
||||
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
|
||||
'./_vendor/github.com/gethinode/mod-simple-datatables/dist/simple-datatables.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_reboot.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_tooltip.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_transitions.scss',
|
||||
|
24
content/_index.md
Normal file
24
content/_index.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Welcome to Hinode!
|
||||
description: A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
||||
content_blocks:
|
||||
- _bookshop_name: hero
|
||||
heading:
|
||||
title: Welcome to Hinode!
|
||||
content: |-
|
||||
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
illustration:
|
||||
image: /img/sunrise.jpg
|
||||
ratio: 16x9
|
||||
width: 8
|
||||
width: 6
|
||||
links:
|
||||
- title: Get started
|
||||
url: https://gethinode.com/docs
|
||||
icon: fas book-open
|
||||
orientation: horizontal
|
||||
---
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user