Compare commits
901 Commits
v0.9.0-alp
...
v0.18.0-al
Author | SHA1 | Date | |
---|---|---|---|
![]() |
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 | ||
![]() |
0a88ae04b9 | ||
![]() |
bf068977a6 | ||
![]() |
5dfc99efa0 | ||
![]() |
84f09f0dcb | ||
![]() |
65d9635f61 | ||
![]() |
452bd92029 | ||
![]() |
87fc26e289 | ||
![]() |
aad1335523 | ||
![]() |
a216b26857 | ||
![]() |
2c121c6cde | ||
![]() |
2bc4ff0233 | ||
![]() |
a76c80ba17 | ||
![]() |
6580955770 | ||
![]() |
38d6c01983 | ||
![]() |
af2ba38a86 | ||
![]() |
0242d388b5 | ||
![]() |
5a78dda34f | ||
![]() |
8564e3e2fc | ||
![]() |
913c6ad158 | ||
![]() |
5e676ee5fa | ||
![]() |
f1b4e556c4 | ||
![]() |
9856b670e6 | ||
![]() |
88ff187891 | ||
![]() |
5c54291eb8 | ||
![]() |
2a862034aa | ||
![]() |
56e0713582 | ||
![]() |
23a3f7ef71 | ||
![]() |
3418ac8d1d | ||
![]() |
c645024474 | ||
![]() |
f35c66c0ae | ||
![]() |
f479764542 | ||
![]() |
ab7cc04821 | ||
![]() |
6dd208f671 | ||
![]() |
833e438a23 | ||
![]() |
9d829b6d94 | ||
![]() |
0f42fae2c4 | ||
![]() |
a2f7749aa2 | ||
![]() |
ba87ccd4a5 | ||
![]() |
1c68399313 | ||
![]() |
30714ef6da | ||
![]() |
1ef92a0928 | ||
![]() |
8331a6ce7c | ||
![]() |
fd34766ffb | ||
![]() |
78573f8e51 | ||
![]() |
4a0cc8bc88 | ||
![]() |
8fd6f2af4e | ||
![]() |
0191e14a69 | ||
![]() |
1f8fb26278 | ||
![]() |
50548237c6 | ||
![]() |
7f35cf45ef | ||
![]() |
528f84c8c6 | ||
![]() |
33ab75ed84 | ||
![]() |
3010136585 | ||
![]() |
676a28c322 | ||
![]() |
a04ec4d73e | ||
![]() |
fcc93788a9 | ||
![]() |
f949a785a1 | ||
![]() |
becba931bc | ||
![]() |
03e3c5b3ee | ||
![]() |
311aa3b957 | ||
![]() |
62db3eb9db | ||
![]() |
56ea9eec47 | ||
![]() |
b845e210b7 | ||
![]() |
e8bba05213 | ||
![]() |
74d0d625c6 | ||
![]() |
9d98a3568c | ||
![]() |
dc55571f7a | ||
![]() |
b7ab9d5690 | ||
![]() |
5d20be19a8 | ||
![]() |
ecae077e2d | ||
![]() |
132c316ff0 | ||
![]() |
a3b9081b4d | ||
![]() |
8a689a95de | ||
![]() |
9bd04a5b2a | ||
![]() |
8dc884f846 | ||
![]() |
4cb558440b | ||
![]() |
0d78918aa4 | ||
![]() |
ba7ab907ef | ||
![]() |
af557ac054 | ||
![]() |
9ada0eee80 | ||
![]() |
ae3e20b596 | ||
![]() |
c49e6f14c1 | ||
![]() |
b4f6b1aa3d | ||
![]() |
962549f2ae | ||
![]() |
28601323c4 | ||
![]() |
a11ee72174 | ||
![]() |
8e91440261 | ||
![]() |
19879c4ecc | ||
![]() |
810dfef311 | ||
![]() |
c42fcefa73 | ||
![]() |
a3c417e378 | ||
![]() |
2bee381906 | ||
![]() |
244a3f7496 | ||
![]() |
563b526cea | ||
![]() |
fa7fad67b5 | ||
![]() |
966906778d | ||
![]() |
135128a5f9 | ||
![]() |
25663974ce | ||
![]() |
af5643f98f | ||
![]() |
743126d9b9 | ||
![]() |
b0187e3a75 | ||
![]() |
c7613ab7a8 | ||
![]() |
2a6a119762 | ||
![]() |
b556f4f4ec | ||
![]() |
9fa95da778 | ||
![]() |
3a07b36447 | ||
![]() |
ca5ed02bf9 | ||
![]() |
d19321af56 | ||
![]() |
142e21d792 | ||
![]() |
4c00655584 | ||
![]() |
38a2b9ff72 | ||
![]() |
efe8837eb3 | ||
![]() |
130e95ace5 | ||
![]() |
e6e38ac7c3 | ||
![]() |
3c0a6079af | ||
![]() |
4ae09056d3 | ||
![]() |
c20f367894 | ||
![]() |
4e41b5d233 | ||
![]() |
b78e9bd154 | ||
![]() |
5caaeae073 | ||
![]() |
df99d74a30 | ||
![]() |
976c541b03 | ||
![]() |
853a2f0ddd | ||
![]() |
e7b6216e4e | ||
![]() |
5f3e3fca43 | ||
![]() |
3e2340a14a | ||
![]() |
52f9dc5016 | ||
![]() |
542bf1103e | ||
![]() |
04d1d24c7b | ||
![]() |
398028858e | ||
![]() |
8658d02264 | ||
![]() |
6adb066773 | ||
![]() |
b68a632b63 | ||
![]() |
20d9de6c0f | ||
![]() |
51a26c4be8 | ||
![]() |
ef136b33da | ||
![]() |
04262c00d2 | ||
![]() |
bc17718fb8 | ||
![]() |
bd277e420c | ||
![]() |
69e196f8c2 | ||
![]() |
6663d8de58 | ||
![]() |
99d457a091 | ||
![]() |
4b1a72d1c0 | ||
![]() |
02875e731f | ||
![]() |
50664248ca | ||
![]() |
b3491cdadb | ||
![]() |
fe822cccaf | ||
![]() |
c0bcb96275 | ||
![]() |
cb09aba813 | ||
![]() |
fac6581dc9 | ||
![]() |
3ef2392913 | ||
![]() |
8531bf988f | ||
![]() |
bb2d3e7eeb | ||
![]() |
7892bd6afe | ||
![]() |
733b8b6dc8 | ||
![]() |
b5fb0d3ea8 | ||
![]() |
31e3fdc534 | ||
![]() |
641f2ee1d1 | ||
![]() |
951f595d29 | ||
![]() |
cab4338b23 | ||
![]() |
0921b1467e | ||
![]() |
23a1f2fed9 | ||
![]() |
1acc1a5264 | ||
![]() |
3c60c2c512 | ||
![]() |
9d3ac01de2 | ||
![]() |
09973c5a23 | ||
![]() |
2ed01bb499 | ||
![]() |
bca302323a | ||
![]() |
ac0152640b | ||
![]() |
5e15eb5dae | ||
![]() |
c1515325a8 | ||
![]() |
6fbec8dbac | ||
![]() |
6e20600893 | ||
![]() |
de7fb8927f | ||
![]() |
c14e45ac49 | ||
![]() |
32fd291194 | ||
![]() |
b45d0155ea | ||
![]() |
0530b2ea1e | ||
![]() |
8678741f72 | ||
![]() |
8c4e11b99f | ||
![]() |
00818cb91f | ||
![]() |
b3469d277c | ||
![]() |
3627059227 | ||
![]() |
4f92886b21 | ||
![]() |
0c2f951b81 | ||
![]() |
300efb780c | ||
![]() |
42a4fc4618 | ||
![]() |
683ffff1b2 | ||
![]() |
7738c06b6c | ||
![]() |
9aca661574 | ||
![]() |
3d5440fa3d | ||
![]() |
4854d238b7 | ||
![]() |
898764eb12 | ||
![]() |
40e66bba8a | ||
![]() |
a543db250f | ||
![]() |
8d6b34716f | ||
![]() |
ea89e1c8b5 | ||
![]() |
fb6d47c33e | ||
![]() |
dc71f43faf | ||
![]() |
78df40873f | ||
![]() |
43f996acc3 | ||
![]() |
dd51fbd542 | ||
![]() |
49df936f3b | ||
![]() |
b6643f12dd | ||
![]() |
2de996242a | ||
![]() |
3b8611ebd0 | ||
![]() |
3274c7453e | ||
![]() |
ff622c8080 | ||
![]() |
455e77b3e9 | ||
![]() |
22c85f7997 | ||
![]() |
d8799fabb5 | ||
![]() |
8ae01a2ce1 | ||
![]() |
d9d3054f22 | ||
![]() |
0bf25f7acd | ||
![]() |
d5c228d43c | ||
![]() |
96886e20d7 | ||
![]() |
171259fb29 | ||
![]() |
a706936849 | ||
![]() |
f538f3b772 | ||
![]() |
a848fccec8 | ||
![]() |
69352dd60a | ||
![]() |
e1c8641d41 | ||
![]() |
deb8dfb3cb | ||
![]() |
0dcd3f02c9 | ||
![]() |
d3105436a3 | ||
![]() |
38c982f7f4 | ||
![]() |
9c19327e19 | ||
![]() |
a9f2d56dd6 | ||
![]() |
434e02e7f5 | ||
![]() |
7e44d71ecb | ||
![]() |
be8c6d539b | ||
![]() |
3db2b1f734 | ||
![]() |
6802524aac | ||
![]() |
71cdad17d3 | ||
![]() |
626b82a619 | ||
![]() |
fbb60a0622 | ||
![]() |
a0684a8a49 | ||
![]() |
55516602e5 | ||
![]() |
fcab852216 | ||
![]() |
cb714201bc | ||
![]() |
c8de62f46b | ||
![]() |
53ab00357e | ||
![]() |
0cc246a79a | ||
![]() |
21541b9f80 | ||
![]() |
e3d4339730 | ||
![]() |
710efd0caa | ||
![]() |
493ff64be0 | ||
![]() |
f2e35074c2 | ||
![]() |
7597710980 | ||
![]() |
c44340ef9e | ||
![]() |
8dfe0cb9d4 | ||
![]() |
fdb8287951 | ||
![]() |
f4f9b7c754 | ||
![]() |
4bb5ba728a | ||
![]() |
bdb8c43fb9 | ||
![]() |
63e51006ed | ||
![]() |
37b623e48c | ||
![]() |
27019594ca | ||
![]() |
d4ee11b7a5 | ||
![]() |
009314943b | ||
![]() |
826b5f58d8 | ||
![]() |
f6fb80d690 | ||
![]() |
8ed98bc5b4 | ||
![]() |
0cc3775370 | ||
![]() |
7be81f4393 | ||
![]() |
869f696a67 | ||
![]() |
c6d942b350 | ||
![]() |
18275acc80 | ||
![]() |
a85540f8de | ||
![]() |
3c93828d4f | ||
![]() |
8ca629978f | ||
![]() |
d99d416838 | ||
![]() |
b58a69b2ad | ||
![]() |
49d7736e1a | ||
![]() |
04531b6158 | ||
![]() |
b7fb9fb05b | ||
![]() |
4a78bd9e6b | ||
![]() |
4d0007a26b | ||
![]() |
ac7e564857 | ||
![]() |
f804ab747c | ||
![]() |
cfd292ddff | ||
![]() |
d4b0c379e2 | ||
![]() |
60ebd5fd41 | ||
![]() |
19a4398c90 | ||
![]() |
841c2e397f | ||
![]() |
3f42d781ec | ||
![]() |
dd9fcc6cbd | ||
![]() |
70aed1ed63 | ||
![]() |
1c635c814c | ||
![]() |
ff1c8ff056 | ||
![]() |
44c70f4036 | ||
![]() |
28f13f8385 | ||
![]() |
849d481cd6 | ||
![]() |
a0987e33a9 | ||
![]() |
f5dae5caa2 | ||
![]() |
d640ed1f8e | ||
![]() |
0c46c0080e | ||
![]() |
7319a3f9e3 | ||
![]() |
2e6ba557c8 | ||
![]() |
1d24b8ff0e | ||
![]() |
df307be37c | ||
![]() |
5d09963bb5 | ||
![]() |
8ce05d0c41 | ||
![]() |
5e03d80944 | ||
![]() |
65bdc8bb32 | ||
![]() |
558eed95ef | ||
![]() |
a17ed9b14a | ||
![]() |
06c5a97e3b | ||
![]() |
269d7c6bcf | ||
![]() |
fc2a43b8b9 | ||
![]() |
9c14411a3b | ||
![]() |
529e402267 | ||
![]() |
4a8ecaad19 | ||
![]() |
d13013189c | ||
![]() |
b21b412f16 | ||
![]() |
b3ad43768c | ||
![]() |
9ea9a6c616 | ||
![]() |
188129f19b | ||
![]() |
8a83f7345a | ||
![]() |
65cd47b1db | ||
![]() |
7e7cc41603 | ||
![]() |
7318d3cacb | ||
![]() |
ff928d035a | ||
![]() |
9341a98ab7 | ||
![]() |
206558e21e | ||
![]() |
8ecf38befc | ||
![]() |
afb3bbff9d | ||
![]() |
a7f871f954 | ||
![]() |
5d368ecaaa | ||
![]() |
2e40bd6be0 | ||
![]() |
21ae80d491 | ||
![]() |
6292be190e | ||
![]() |
a7c5c613c2 | ||
![]() |
480981d867 | ||
![]() |
abfa80d5a2 | ||
![]() |
08531514d3 | ||
![]() |
d4c321fee4 | ||
![]() |
b125be2e7d | ||
![]() |
f075eb12ee | ||
![]() |
c30dd39ce2 | ||
![]() |
ad7cd18893 | ||
![]() |
cdc3accff3 | ||
![]() |
5916a89979 | ||
![]() |
dbc253cbf2 | ||
![]() |
1fd8989ad3 | ||
![]() |
0a401775ff | ||
![]() |
3534d6daec | ||
![]() |
ada5ac3d5c | ||
![]() |
1630eabff8 | ||
![]() |
4a492d2de5 | ||
![]() |
20a492d9d9 | ||
![]() |
179132964f | ||
![]() |
4768d6791f | ||
![]() |
c8e2d3410c | ||
![]() |
8d53c762d7 | ||
![]() |
22d2e41601 | ||
![]() |
b462c31916 | ||
![]() |
dbb5b4be69 | ||
![]() |
4f288ec5dd | ||
![]() |
8fb47e27af | ||
![]() |
a0d2063738 | ||
![]() |
c17986bb49 | ||
![]() |
bafd522530 | ||
![]() |
930e151365 | ||
![]() |
6687e09d68 | ||
![]() |
86ec79d08a | ||
![]() |
afb42a188c | ||
![]() |
c303e97eb0 | ||
![]() |
1ad2a4c617 | ||
![]() |
2bf15ca8b2 | ||
![]() |
e00ab2a2fd | ||
![]() |
98c422a6d4 | ||
![]() |
527060e219 | ||
![]() |
b5c81cd121 | ||
![]() |
9fbe81a668 | ||
![]() |
cf4ed131aa | ||
![]() |
15a9eb2c5c | ||
![]() |
3271fcc97e | ||
![]() |
0752b4cfbf | ||
![]() |
965845137c | ||
![]() |
8f83138cbc | ||
![]() |
86d726d10c | ||
![]() |
2860edd1bd | ||
![]() |
d802df87ef | ||
![]() |
808b3a5694 | ||
![]() |
cde8495583 | ||
![]() |
c2aaff81cf | ||
![]() |
5421839028 | ||
![]() |
a74466e281 | ||
![]() |
454c659e44 | ||
![]() |
2de384497e | ||
![]() |
ca41d9adb4 | ||
![]() |
a633e4eea0 | ||
![]() |
a341e916b9 | ||
![]() |
a3d289843f | ||
![]() |
8700e18ad9 | ||
![]() |
8936dafac6 | ||
![]() |
4d1c7d46eb | ||
![]() |
bffe6425da | ||
![]() |
3e1c3a2c9c | ||
![]() |
df83103718 | ||
![]() |
e54417bc02 | ||
![]() |
61f2b82221 | ||
![]() |
2689107e5a | ||
![]() |
d20d053232 | ||
![]() |
35fb72d408 | ||
![]() |
18cee3cac6 | ||
![]() |
192021fbb3 | ||
![]() |
a3c5d36584 | ||
![]() |
42d169bbc0 | ||
![]() |
3b4b3a65b6 | ||
![]() |
32ee66bf90 | ||
![]() |
6b8ff44fb0 | ||
![]() |
70cc8946b0 | ||
![]() |
eab0cfa6ab | ||
![]() |
1580898f1a | ||
![]() |
530fb03d29 | ||
![]() |
3e5261bd36 | ||
![]() |
e2d409baed | ||
![]() |
d009874ece | ||
![]() |
f8adffc131 | ||
![]() |
68a3a3be30 | ||
![]() |
c077c8b53b | ||
![]() |
6a0c6af296 | ||
![]() |
2bf16b0e59 | ||
![]() |
e56cc645e2 | ||
![]() |
8c361a8417 | ||
![]() |
65e9e57c9e | ||
![]() |
ffa4473d25 | ||
![]() |
6c5fe6f208 | ||
![]() |
60efecf946 | ||
![]() |
70fdf7c4f0 | ||
![]() |
ee4bb45368 | ||
![]() |
a08695d97e | ||
![]() |
1abeabcacd | ||
![]() |
16b2c8b058 | ||
![]() |
f8eab705fb | ||
![]() |
13b8421893 | ||
![]() |
6324a90d77 | ||
![]() |
faccca732b | ||
![]() |
04736fd8f1 | ||
![]() |
9c4378e5af | ||
![]() |
0574627010 | ||
![]() |
9e668775db | ||
![]() |
cefd152430 | ||
![]() |
48d2002d1c | ||
![]() |
259f0f321c | ||
![]() |
d24cb8ccb3 | ||
![]() |
96226e2d8a | ||
![]() |
27857b7fd5 | ||
![]() |
9a67f7bd4f | ||
![]() |
e15cd08bea | ||
![]() |
dd817bc5ce | ||
![]() |
4b4c9d1711 | ||
![]() |
38e68ac757 | ||
![]() |
c14d3868bb | ||
![]() |
067c244770 | ||
![]() |
d76d275ddb | ||
![]() |
1803759b6b | ||
![]() |
2833cfc15a | ||
![]() |
0a174def75 | ||
![]() |
7a7d3a93f9 | ||
![]() |
c1afe32344 | ||
![]() |
749dab16ca | ||
![]() |
264012eefb | ||
![]() |
fda4efa72b | ||
![]() |
6a0bdf0f61 | ||
![]() |
1a09879bea | ||
![]() |
81cc8fe02f | ||
![]() |
ef3d79f875 | ||
![]() |
c66bb79ac5 | ||
![]() |
c5c5695541 | ||
![]() |
a3343c29dc | ||
![]() |
50a697c1fb | ||
![]() |
6cf7a410f4 | ||
![]() |
bdade82dea | ||
![]() |
38aac9507e | ||
![]() |
0eec1da639 | ||
![]() |
1e8bc5f11d | ||
![]() |
56f467e02c | ||
![]() |
83049db4bc | ||
![]() |
78599c8f76 | ||
![]() |
fc6e916fca | ||
![]() |
a0febc31ee | ||
![]() |
800c82dba5 | ||
![]() |
8b59f3b6f7 | ||
![]() |
9795e04a9b | ||
![]() |
6381cb3519 | ||
![]() |
01927f22b6 | ||
![]() |
da75210771 | ||
![]() |
b47bf99744 | ||
![]() |
2a4ba34c51 | ||
![]() |
fc07cec664 | ||
![]() |
538a1d2de3 | ||
![]() |
6dda374b73 | ||
![]() |
e53a333ebf | ||
![]() |
5ed8c28bee | ||
![]() |
fa47b7d93e | ||
![]() |
f1693c8cf0 | ||
![]() |
740fd91038 | ||
![]() |
9a0dba5ee4 | ||
![]() |
e4b7b252b3 | ||
![]() |
569562cf24 | ||
![]() |
60b53f2fa9 | ||
![]() |
3e5f23cf89 | ||
![]() |
c7b16cf2f4 | ||
![]() |
191d6e3d94 | ||
![]() |
9dd7bf64e1 | ||
![]() |
580675f8b1 | ||
![]() |
b2b43d550b | ||
![]() |
f79317b317 | ||
![]() |
3d7bcc4356 | ||
![]() |
a7256ff270 | ||
![]() |
8ffc6dbd59 | ||
![]() |
5bb0cf07e6 | ||
![]() |
37e9e70c55 | ||
![]() |
b4ddc8c58d | ||
![]() |
a7c4be508d | ||
![]() |
0988e07106 | ||
![]() |
7dcbfe8373 | ||
![]() |
fdebbccfa1 | ||
![]() |
7d1cd93e87 | ||
![]() |
3a056829c5 | ||
![]() |
0ee0febc15 | ||
![]() |
ac081a3084 | ||
![]() |
9d07b5da5a | ||
![]() |
67f1708691 | ||
![]() |
c5e5ec0f21 | ||
![]() |
d461333738 | ||
![]() |
32c422a2a8 | ||
![]() |
b66660b557 | ||
![]() |
be95c3cd68 | ||
![]() |
74aa32e595 | ||
![]() |
4c305b38a5 | ||
![]() |
63c609c1d3 | ||
![]() |
d7424d26eb | ||
![]() |
1f66740c19 | ||
![]() |
cb032b4fb8 | ||
![]() |
3889382e19 | ||
![]() |
86addfd6dd | ||
![]() |
9110fb5ab4 | ||
![]() |
fad4cdbfd2 | ||
![]() |
c403d422d9 | ||
![]() |
0ecfa72864 | ||
![]() |
62af498414 | ||
![]() |
ee37599ded | ||
![]() |
9a4c7c7776 | ||
![]() |
c05eeb015c | ||
![]() |
d9f898a2e1 | ||
![]() |
36f31a57ae | ||
![]() |
17b3bbaf80 | ||
![]() |
26bc4ebb00 | ||
![]() |
d13d80af2f | ||
![]() |
64abaf8d1e | ||
![]() |
ffc9c47b45 | ||
![]() |
092630b030 | ||
![]() |
2ec60a8b71 | ||
![]() |
9af871fee7 | ||
![]() |
883ab3f7a0 | ||
![]() |
d6a49ccb90 | ||
![]() |
fdc58d52e9 | ||
![]() |
97a829dfff | ||
![]() |
c7fbc548bb | ||
![]() |
794510861c | ||
![]() |
da7c70c444 | ||
![]() |
1571decb8e | ||
![]() |
835d3e615e | ||
![]() |
393aea46e1 | ||
![]() |
f3347e871e | ||
![]() |
9d751abbf0 | ||
![]() |
ccfc674019 | ||
![]() |
45aa488e37 | ||
![]() |
5d96fdb3db | ||
![]() |
c2faf0d4f6 | ||
![]() |
1e8d94e1fb | ||
![]() |
3a6edbf2a2 | ||
![]() |
a52154b531 | ||
![]() |
a27d25737f | ||
![]() |
e810df9177 | ||
![]() |
d4dc5d8693 | ||
![]() |
878258796b | ||
![]() |
0397b66d05 | ||
![]() |
5ef32bed6d | ||
![]() |
bbdd8b6c62 | ||
![]() |
67a1d58178 | ||
![]() |
1bede70fae | ||
![]() |
156dbfd3a9 | ||
![]() |
c2a2ffd06d | ||
![]() |
6aeb1ae617 | ||
![]() |
9fe02aa39b | ||
![]() |
f6f65ef7f3 | ||
![]() |
8b8a6b5b36 | ||
![]() |
9fabcbaf13 | ||
![]() |
18ad1ebc93 | ||
![]() |
f4cde441a0 | ||
![]() |
1baea7f63d | ||
![]() |
89b7aa24e9 | ||
![]() |
2ebbf5a370 | ||
![]() |
595e562814 | ||
![]() |
2bf64805dc | ||
![]() |
0576f78240 | ||
![]() |
0f06571e50 | ||
![]() |
bb834c9c15 | ||
![]() |
f000d95533 | ||
![]() |
d3738657a3 | ||
![]() |
d2655290b4 | ||
![]() |
97fd864129 | ||
![]() |
44d2f3699f | ||
![]() |
7bc7621996 | ||
![]() |
19b6a7817d | ||
![]() |
eddfe93e6e | ||
![]() |
a5b3b61e23 | ||
![]() |
6586370d75 | ||
![]() |
c1de0a4604 | ||
![]() |
e71908e2a8 | ||
![]() |
053b63a580 | ||
![]() |
276b2e7ab5 | ||
![]() |
db5cadb2ac | ||
![]() |
a6669030d8 | ||
![]() |
8cbd2db6fa | ||
![]() |
b09b411b10 | ||
![]() |
b4414c9ecb | ||
![]() |
e6a4d9a643 | ||
![]() |
4c4bce6e1e | ||
![]() |
5c6c934499 | ||
![]() |
f163c870cd | ||
![]() |
b6035d2aa8 | ||
![]() |
2eed95a45d | ||
![]() |
9019ea8d3c | ||
![]() |
bd88950647 | ||
![]() |
7b2d88d9d7 | ||
![]() |
c6cc6e03eb | ||
![]() |
afc023d580 | ||
![]() |
d3a15b5b1e | ||
![]() |
d928f6d4fd | ||
![]() |
f2559c243f | ||
![]() |
0e073465ae | ||
![]() |
f5dafb50a8 | ||
![]() |
671cd1f0f2 | ||
![]() |
e15052db22 | ||
![]() |
6be2bb28f8 | ||
![]() |
31e4161258 | ||
![]() |
44d018fa7c | ||
![]() |
3a49d0ca73 | ||
![]() |
c5ac3bbd3c | ||
![]() |
6fe0df9466 | ||
![]() |
2fc134503c | ||
![]() |
f11e98367b | ||
![]() |
0ad4875ee2 | ||
![]() |
a227a01407 | ||
![]() |
a8c8546c23 | ||
![]() |
0aa2a0427b | ||
![]() |
3047f8e937 | ||
![]() |
d144bd328c | ||
![]() |
8815642bea | ||
![]() |
cb862374fd | ||
![]() |
60265ce7e8 | ||
![]() |
eec1c0954a | ||
![]() |
8aa0556298 | ||
![]() |
c92c1686cd | ||
![]() |
f2509b07af | ||
![]() |
4b606deafd | ||
![]() |
d9f805d4a4 | ||
![]() |
a62bea018b | ||
![]() |
2596f2d7ee | ||
![]() |
2bcd955402 | ||
![]() |
511ad2cb4c | ||
![]() |
b87a91f6df | ||
![]() |
11b8bb4c69 | ||
![]() |
84fab6b8a8 | ||
![]() |
656770352a | ||
![]() |
1dadce3f92 | ||
![]() |
8d428d3b51 | ||
![]() |
8de8204f0e | ||
![]() |
e5d2ece0b7 | ||
![]() |
01159ceea2 | ||
![]() |
d6357b70ae | ||
![]() |
eb000e9f81 | ||
![]() |
efe9c2e06e | ||
![]() |
4c41cbcafb | ||
![]() |
1910af163d | ||
![]() |
cba1566ba1 | ||
![]() |
69abe3ec0c | ||
![]() |
9961d8e364 | ||
![]() |
7b1f81cd9a | ||
![]() |
1dd91da4f5 | ||
![]() |
624d89118d | ||
![]() |
ddab72c463 | ||
![]() |
c95ccd22eb | ||
![]() |
ced7196084 | ||
![]() |
9c726191de | ||
![]() |
93a6fab67f | ||
![]() |
923ff12915 | ||
![]() |
aaa299ef1d | ||
![]() |
e93bfcce8e | ||
![]() |
d3847186b7 | ||
![]() |
ac956333d4 | ||
![]() |
08ab28bfea | ||
![]() |
18d4548b8d | ||
![]() |
38f4fe796b | ||
![]() |
04e4c37f3e | ||
![]() |
c4695dd771 | ||
![]() |
cb75b6c777 | ||
![]() |
827fcd9d4d | ||
![]() |
21f1678de4 | ||
![]() |
f0cfd49983 | ||
![]() |
61fb294dfd | ||
![]() |
7e1843febe | ||
![]() |
7ed4693f40 | ||
![]() |
6c08d5eda1 | ||
![]() |
79e1b0aae1 | ||
![]() |
f3225ff139 | ||
![]() |
f0389f83b7 | ||
![]() |
d8271aa83a | ||
![]() |
c523f2b890 | ||
![]() |
6a32015d08 | ||
![]() |
e576737ff1 | ||
![]() |
08fa4d8c89 | ||
![]() |
7086700562 | ||
![]() |
a8fbdad172 | ||
![]() |
d374f50b66 | ||
![]() |
f0210348c6 | ||
![]() |
d66b093281 | ||
![]() |
bda9550c16 | ||
![]() |
36a4d93321 | ||
![]() |
26aeec106a | ||
![]() |
d419bb8f67 | ||
![]() |
b840ce6cf4 | ||
![]() |
816b7ca920 | ||
![]() |
3534141678 | ||
![]() |
7125033baa | ||
![]() |
042fa303be | ||
![]() |
5bd83f8255 | ||
![]() |
f0d18dc909 | ||
![]() |
128f9d6071 | ||
![]() |
f0be69daf5 | ||
![]() |
d21bc1fe42 | ||
![]() |
6da61c23db | ||
![]() |
454efc5915 | ||
![]() |
aa139ec51a | ||
![]() |
a7844486bf | ||
![]() |
221dc23a05 | ||
![]() |
92d97f7091 | ||
![]() |
51b31cb98a | ||
![]() |
2935b60404 | ||
![]() |
fc74085a7f | ||
![]() |
cd6b7332ab | ||
![]() |
ef952f73f8 | ||
![]() |
4a3a6d5395 | ||
![]() |
b4186265ef | ||
![]() |
ac5ae9aeb8 | ||
![]() |
d15eced48c | ||
![]() |
7a66470b67 | ||
![]() |
1b772f8a18 | ||
![]() |
29c49350a2 | ||
![]() |
6f0e767610 | ||
![]() |
013937d60f | ||
![]() |
dc99a35258 | ||
![]() |
3b4c4cb02f | ||
![]() |
56929c918a | ||
![]() |
696ccbf64b | ||
![]() |
2e5028a612 | ||
![]() |
89ecf07f23 | ||
![]() |
ea9295da62 | ||
![]() |
b6b5230cc3 | ||
![]() |
b65110fdcc | ||
![]() |
6d3dc7b590 | ||
![]() |
7bb479194b | ||
![]() |
73c1cf8a59 | ||
![]() |
20ce3580c7 | ||
![]() |
2f733a709d | ||
![]() |
96b1eaaa04 | ||
![]() |
f0200f77dc | ||
![]() |
4ab462750c | ||
![]() |
597ea2fa2b | ||
![]() |
82b8228277 | ||
![]() |
6a025f80c4 | ||
![]() |
99d4d79537 | ||
![]() |
e1d1526b10 | ||
![]() |
8808c10402 | ||
![]() |
87f1733a49 | ||
![]() |
0da862db93 | ||
![]() |
2bdcce58a7 | ||
![]() |
e81456021e | ||
![]() |
2815cda0ed | ||
![]() |
bad3a6fd4b | ||
![]() |
53a779ca78 | ||
![]() |
f559ae17fd | ||
![]() |
3bf1cd9ef7 | ||
![]() |
1596b40689 | ||
![]() |
1506281000 | ||
![]() |
a0a550d070 | ||
![]() |
0fe6e477a4 | ||
![]() |
a8618e1da3 | ||
![]() |
e724130159 | ||
![]() |
831fc66534 | ||
![]() |
ba8631b6a3 | ||
![]() |
0092588d87 | ||
![]() |
210f02089f | ||
![]() |
6508caec70 | ||
![]() |
5123cd1d6b | ||
![]() |
ed0b3c9da3 | ||
![]() |
55100c9b62 | ||
![]() |
1728c66dcc | ||
![]() |
4fa17934fd | ||
![]() |
263adc92e2 | ||
![]() |
0b4f63f300 | ||
![]() |
6cdd79ac3c | ||
![]() |
6c590a83a8 | ||
![]() |
3e98e3ff81 | ||
![]() |
18dd8ae837 | ||
![]() |
9e9bd2fb60 | ||
![]() |
f50b2ff166 | ||
![]() |
f3bfa8f823 | ||
![]() |
4764c02fe3 | ||
![]() |
ef20fb7a22 | ||
![]() |
d74d9b5bee | ||
![]() |
2bff77cdae | ||
![]() |
6c319a4ab8 | ||
![]() |
2f0e9f8a03 | ||
![]() |
99e9d4902b | ||
![]() |
0abf604d2a | ||
![]() |
ca51130286 | ||
![]() |
28e96deb73 | ||
![]() |
9173b6eaaa | ||
![]() |
492420d13f | ||
![]() |
d2ec492827 | ||
![]() |
d12cdc7a76 | ||
![]() |
a4f49ffb18 | ||
![]() |
6599912985 |
@@ -1,4 +1,6 @@
|
|||||||
assets/js/color.js
|
assets/js/critical/color.js
|
||||||
|
assets/js/analytics.js
|
||||||
assets/js/flexsearch.js
|
assets/js/flexsearch.js
|
||||||
|
assets/js/sharing.js
|
||||||
assets/js/vendor
|
assets/js/vendor
|
||||||
node_modules
|
node_modules
|
||||||
|
5
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -27,8 +27,9 @@ If applicable, add a copy of Hugo's log messages.
|
|||||||
If applicable, add screenshots to help explain your problem.
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
**Environment (please complete the following information):**
|
**Environment (please complete the following information):**
|
||||||
- Host OS: [e.g. macOS Ventura 13.0]
|
- Hinode version: [e.g. v0.11.3]
|
||||||
- Node version: [e.g. node v18.10.0]
|
- 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]
|
- 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)]
|
- Browser: [e.g. Google Chrome Version 108.0.5359.124 (Official Build) (arm64)]
|
||||||
|
|
||||||
|
1
.github/dependabot.yml
vendored
@@ -7,3 +7,4 @@ updates:
|
|||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "daily"
|
||||||
|
versioning-strategy: increase
|
||||||
|
27
.github/release.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
changelog:
|
||||||
|
exclude:
|
||||||
|
labels:
|
||||||
|
- skip-changelog
|
||||||
|
categories:
|
||||||
|
- title: ❗ Breaking Changes
|
||||||
|
labels:
|
||||||
|
- Semver-Major
|
||||||
|
- breaking-change
|
||||||
|
- title: 🚀 Highlights
|
||||||
|
labels:
|
||||||
|
- release-highlight
|
||||||
|
- title: 🎉 New Features
|
||||||
|
labels:
|
||||||
|
- Semver-Minor
|
||||||
|
- enhancement
|
||||||
|
- title: 🐛 Bug fixes
|
||||||
|
labels:
|
||||||
|
- fix
|
||||||
|
- bugfix
|
||||||
|
- bug
|
||||||
|
- title: 📦 Dependencies
|
||||||
|
labels:
|
||||||
|
- dependencies
|
||||||
|
- title: 🧰 Other Changes
|
||||||
|
labels:
|
||||||
|
- "*"
|
43
.github/workflows/auto-merge.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# Source: https://nicolasiensen.github.io/2022-07-23-automating-dependency-updates-with-dependabot-github-auto-merge-and-github-actions/
|
||||||
|
name: Dependabot auto-merge
|
||||||
|
on: pull_request_target
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
review-dependabot-pr:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
|
||||||
|
steps:
|
||||||
|
- name: Dependabot metadata
|
||||||
|
id: metadata
|
||||||
|
uses: dependabot/fetch-metadata@v1
|
||||||
|
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'}}
|
||||||
|
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 edit $PR_URL --add-label "requires-manual-qa"
|
||||||
|
env:
|
||||||
|
PR_URL: ${{github.event.pull_request.html_url}}
|
||||||
|
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
4
.github/workflows/build.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
node-version: [14.x, 16.x, 18.x]
|
node-version: [16.x, 18.x, 20.x]
|
||||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
@@ -24,5 +24,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
|
cache-dependency-path: '**/package-lock.json'
|
||||||
- run: npm ci
|
- run: npm ci
|
||||||
- run: npm run build
|
- run: npm run build
|
||||||
|
- run: npm run build:example
|
||||||
|
5
.github/workflows/lint.yml
vendored
@@ -14,15 +14,18 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [14.x, 16.x, 18.x]
|
node-version: [16.x, 18.x, 20.x]
|
||||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
|
cache-dependency-path: '**/package-lock.json'
|
||||||
|
|
||||||
- run: npm ci --ignore-scripts
|
- run: npm ci --ignore-scripts
|
||||||
- run: npm run lint
|
- run: npm run lint
|
||||||
|
37
.github/workflows/update.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
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
|
4
.gitignore
vendored
@@ -1,6 +1,8 @@
|
|||||||
/public
|
/_vendor
|
||||||
|
public/
|
||||||
resources/
|
resources/
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
.DS_store
|
.DS_store
|
||||||
.hugo_build.lock
|
.hugo_build.lock
|
||||||
|
hugo_stats.json
|
@@ -3,5 +3,6 @@ assets/scss/components/_syntax-dark.scss
|
|||||||
assets/scss/components/_syntax-light.scss
|
assets/scss/components/_syntax-light.scss
|
||||||
assets/scss/hotfix
|
assets/scss/hotfix
|
||||||
assets/scss/vendor
|
assets/scss/vendor
|
||||||
|
assets/scss/theme/fonts.scss
|
||||||
assets/scss/app.scss
|
assets/scss/app.scss
|
||||||
node_modules
|
node_modules
|
||||||
|
@@ -2,10 +2,7 @@
|
|||||||
"extends": "stylelint-config-standard-scss",
|
"extends": "stylelint-config-standard-scss",
|
||||||
"rules": {
|
"rules": {
|
||||||
"no-empty-source": null,
|
"no-empty-source": null,
|
||||||
"indentation": 4,
|
|
||||||
"string-quotes": "double",
|
|
||||||
"scss/comment-no-empty": null,
|
"scss/comment-no-empty": null,
|
||||||
"max-line-length": null,
|
|
||||||
"scss/at-extend-no-missing-placeholder": null,
|
"scss/at-extend-no-missing-placeholder": null,
|
||||||
"scss/dollar-variable-colon-space-after": null,
|
"scss/dollar-variable-colon-space-after": null,
|
||||||
"scss/dollar-variable-empty-line-before": null,
|
"scss/dollar-variable-empty-line-before": null,
|
||||||
|
34
README.md
@@ -9,25 +9,31 @@
|
|||||||
<!-- Badges -->
|
<!-- Badges -->
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://gohugo.io" alt="Hugo website">
|
<a href="https://gohugo.io" alt="Hugo website">
|
||||||
<img src="https://img.shields.io/badge/generator-hugo-brightgreen" />
|
<img src="https://img.shields.io/badge/generator-hugo-brightgreen">
|
||||||
|
</a>
|
||||||
|
<a href="https://gethinode.com" alt="Hinode theme">
|
||||||
|
<img src="https://img.shields.io/badge/theme-hinode-blue">
|
||||||
|
</a>
|
||||||
|
<a href="https://www.npmjs.com/package/%40gethinode/hinode" alt="npm package">
|
||||||
|
<img src="https://img.shields.io/npm/v/%40gethinode/hinode">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://app.netlify.com/sites/gethinode-demo/deploys" alt="Netlify Status">
|
<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" />
|
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://stats.uptimerobot.com/xyGVYhLJmV" alt="UptimeRobot Status">
|
<a href="https://stats.uptimerobot.com/xyGVYhLJmV" alt="UptimeRobot Status">
|
||||||
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb" />
|
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/gethinode/hinode/commits/main" alt="Last commit">
|
<a href="https://github.com/gethinode/hinode/commits/main" alt="Last commit">
|
||||||
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg" />
|
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/gethinode/hinode/issues" alt="Issues">
|
<a href="https://github.com/gethinode/hinode/issues" alt="Issues">
|
||||||
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg" />
|
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/gethinode/hinode/pulls" alt="Pulls">
|
<a href="https://github.com/gethinode/hinode/pulls" alt="Pulls">
|
||||||
<img src="https://img.shields.io/github/issues-pr-raw/gethinode/hinode.svg" />
|
<img src="https://img.shields.io/github/issues-pr-raw/gethinode/hinode.svg">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE" alt="License">
|
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE" alt="License">
|
||||||
<img src="https://img.shields.io/github/license/gethinode/hinode" />
|
<img src="https://img.shields.io/github/license/gethinode/hinode">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -50,10 +56,12 @@
|
|||||||
- [PageSpeed Insights][pagespeed]
|
- [PageSpeed Insights][pagespeed]
|
||||||
- [Mozilla Observatory][observatory]
|
- [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 uses [Node Package Manager][npm] to automate the build process and to keep track of dependencies.
|
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:
|
Additional features include:
|
||||||
|
|
||||||
|
- Flexible configuration of Hugo modules
|
||||||
|
- Switching between light mode and dark mode
|
||||||
- Support for multiple languages
|
- Support for multiple languages
|
||||||
- Reusable Bootstrap components through configurable shortcodes and partials
|
- Reusable Bootstrap components through configurable shortcodes and partials
|
||||||
- Embedded comments through light-weight integration with GitHub via [utteranc.es][utterances]
|
- Embedded comments through light-weight integration with GitHub via [utteranc.es][utterances]
|
||||||
@@ -74,10 +82,10 @@ Start a new Hinode project in three steps:
|
|||||||
|
|
||||||
1. Create a new site
|
1. Create a new site
|
||||||
|
|
||||||
Hinode is available as a [child theme][repository_child], and a [main theme][repository]. The child theme uses [npm][npm] to link to the latest available version of Hinode. Unless you plan to customize a lot, it is recommended to use the child theme:
|
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:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/gethinode/child.git my-hinode-site && cd my-hinode-site
|
git clone https://github.com/gethinode/template.git my-hinode-site && cd my-hinode-site
|
||||||
```
|
```
|
||||||
|
|
||||||
Use the main theme if you intend to customize the base code:
|
Use the main theme if you intend to customize the base code:
|
||||||
@@ -115,11 +123,11 @@ Hinode is inspired by the following themes:
|
|||||||
|
|
||||||
## Donate
|
## Donate
|
||||||
|
|
||||||
<a href="https://www.buymeacoffee.com/markdumay" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
|
<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>
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
The `hinode` and `child` 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` 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.
|
||||||
|
|
||||||
<!-- MARKDOWN PUBLIC LINKS -->
|
<!-- MARKDOWN PUBLIC LINKS -->
|
||||||
[blist]: https://github.com/apvarun/blist-hugo-theme
|
[blist]: https://github.com/apvarun/blist-hugo-theme
|
||||||
@@ -142,5 +150,5 @@ The `hinode` and `child` codebase is released under the [MIT license][license].
|
|||||||
[demo]: https://demo.gethinode.com/
|
[demo]: https://demo.gethinode.com/
|
||||||
[license]: https://github.com/gethinode/hinode/blob/main/LICENSE
|
[license]: https://github.com/gethinode/hinode/blob/main/LICENSE
|
||||||
[repository]: https://github.com/gethinode/hinode.git
|
[repository]: https://github.com/gethinode/hinode.git
|
||||||
[repository_child]: https://github.com/gethinode/child.git
|
[repository_template]: https://github.com/gethinode/template.git
|
||||||
[website]: https://gethinode.com/
|
[website]: https://gethinode.com/
|
||||||
|
@@ -1,2 +1,16 @@
|
|||||||
+++
|
---
|
||||||
+++
|
# author:
|
||||||
|
title: {{ replace .Name "-" " " | title }}
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: true
|
||||||
|
# layout:
|
||||||
|
# description:
|
||||||
|
# tags:
|
||||||
|
# icon:
|
||||||
|
# thumbnail:
|
||||||
|
# url:
|
||||||
|
# author:
|
||||||
|
# authorURL:
|
||||||
|
# origin:
|
||||||
|
# originURL:
|
||||||
|
---
|
||||||
|
Before Width: | Height: | Size: 480 KiB |
Before Width: | Height: | Size: 396 KiB |
Before Width: | Height: | Size: 442 KiB |
Before Width: | Height: | Size: 476 KiB |
Before Width: | Height: | Size: 420 KiB |
Before Width: | Height: | Size: 183 KiB |
Before Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 229 KiB |
Before Width: | Height: | Size: 648 KiB |
Before Width: | Height: | Size: 325 KiB |
Before Width: | Height: | Size: 362 KiB |
Before Width: | Height: | Size: 290 KiB |
BIN
assets/img/puzzle.jpg
Normal file
After Width: | Height: | Size: 152 KiB |
14
assets/js/alert.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
if (hideAlert) {
|
||||||
|
alert.classList.add('d-none')
|
||||||
|
}
|
||||||
|
|
||||||
|
closeBtn.addEventListener('click', () => {
|
||||||
|
sessionStorage.setItem(`page-alert-${version}`, 'seen')
|
||||||
|
alert.classList.add('d-none')
|
||||||
|
})
|
||||||
|
}
|
69
assets/js/analytics.js
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
// 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 }}
|
18
assets/js/animation.js
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
function reveal () {
|
||||||
|
const reveals = document.querySelectorAll('.reveal')
|
||||||
|
|
||||||
|
for (let i = 0; i < reveals.length; i++) {
|
||||||
|
const windowHeight = window.innerHeight
|
||||||
|
const elementTop = reveals[i].getBoundingClientRect().top
|
||||||
|
const elementVisible = 150
|
||||||
|
|
||||||
|
if (elementTop < windowHeight - elementVisible) {
|
||||||
|
reveals[i].classList.add('active')
|
||||||
|
reveals[i].classList.remove('reveal')
|
||||||
|
} else {
|
||||||
|
reveals[i].classList.remove('active')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener('scroll', reveal)
|
@@ -14,10 +14,12 @@ const addCopyButtons = (clipboard) => {
|
|||||||
// 2. Create a button that will trigger a copy operation
|
// 2. Create a button that will trigger a copy operation
|
||||||
const button = document.createElement('button')
|
const button = document.createElement('button')
|
||||||
button.className = 'clipboard-button'
|
button.className = 'clipboard-button'
|
||||||
|
button.setAttribute('data-toast-target', 'toast-copied-code-message')
|
||||||
button.type = 'button'
|
button.type = 'button'
|
||||||
button.innerHTML = svgCopy
|
button.innerHTML = svgCopy
|
||||||
button.addEventListener('click', () => {
|
button.addEventListener('click', () => {
|
||||||
clipboard.writeText(codeBlock.innerText).then(
|
const text = codeBlock.innerText.split('\n').filter(Boolean).join('\n')
|
||||||
|
clipboard.writeText(text).then(
|
||||||
() => {
|
() => {
|
||||||
button.blur()
|
button.blur()
|
||||||
button.innerHTML = svgCheck
|
button.innerHTML = svgCheck
|
||||||
@@ -36,3 +38,10 @@ const addCopyButtons = (clipboard) => {
|
|||||||
if (navigator && navigator.clipboard) {
|
if (navigator && navigator.clipboard) {
|
||||||
addCopyButtons(navigator.clipboard)
|
addCopyButtons(navigator.clipboard)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('[data-clipboard]').forEach(trigger => {
|
||||||
|
const text = trigger.getAttribute('data-clipboard')
|
||||||
|
trigger.addEventListener('click', () => {
|
||||||
|
navigator.clipboard.writeText(text)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
|
{{- if site.Params.main.enableDarkMode -}}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
|
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2022 The Bootstrap Authors
|
* Copyright 2011-2022 The Bootstrap Authors
|
||||||
* Licensed under the Creative Commons Attribution 3.0 Unported License.
|
* Licensed under the Creative Commons Attribution 3.0 Unported License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{{ if site.Params.main.enableDarkMode }}
|
|
||||||
|
|
||||||
(() => {
|
(() => {
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
@@ -30,17 +30,24 @@
|
|||||||
setTheme(getPreferredTheme())
|
setTheme(getPreferredTheme())
|
||||||
|
|
||||||
const showActiveTheme = theme => {
|
const showActiveTheme = theme => {
|
||||||
const activeSelector = document.querySelector('.theme-icon-active')
|
const activeSelectors = document.querySelectorAll('.theme-icon-active')
|
||||||
const activeButton = document.querySelector(`[data-bs-theme-value="${theme}"]`)
|
const activeButtons = document.querySelectorAll(`[data-bs-theme-value="${theme}"]`)
|
||||||
const activeIcon = activeButton.querySelector('i')
|
if (activeButtons.length > 0) {
|
||||||
|
const activeIcon = activeButtons[0].querySelector('span')
|
||||||
|
|
||||||
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
|
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
|
||||||
element.classList.remove('active')
|
element.classList.remove('active')
|
||||||
})
|
})
|
||||||
|
|
||||||
activeSelector.className = activeIcon.className
|
for (let i = 0; i < activeSelectors.length; ++i) {
|
||||||
activeSelector.className = activeSelector.className.replace('theme-icon', 'theme-icon-active')
|
activeSelectors[i].className = activeIcon.className
|
||||||
activeButton.classList.add('active')
|
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')
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
|
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
|
||||||
@@ -64,4 +71,4 @@
|
|||||||
})
|
})
|
||||||
})()
|
})()
|
||||||
|
|
||||||
{{ end }}
|
{{- end -}}
|
@@ -1,161 +0,0 @@
|
|||||||
/*
|
|
||||||
Source:
|
|
||||||
- https://raw.githubusercontent.com/h-enk/doks/master/assets/js/index.js
|
|
||||||
*/
|
|
||||||
|
|
||||||
var suggestions = document.getElementById('suggestions');
|
|
||||||
var search = document.getElementById('search');
|
|
||||||
|
|
||||||
if (search !== null) {
|
|
||||||
document.addEventListener('keydown', inputFocus);
|
|
||||||
}
|
|
||||||
|
|
||||||
function inputFocus(e) {
|
|
||||||
if (e.ctrlKey && e.key === '/' ) {
|
|
||||||
e.preventDefault();
|
|
||||||
search.focus();
|
|
||||||
}
|
|
||||||
if (e.key === 'Escape' ) {
|
|
||||||
search.blur();
|
|
||||||
suggestions.classList.add('d-none');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
document.addEventListener('click', function(event) {
|
|
||||||
|
|
||||||
var isClickInsideElement = suggestions.contains(event.target);
|
|
||||||
|
|
||||||
if (!isClickInsideElement) {
|
|
||||||
suggestions.classList.add('d-none');
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
Source:
|
|
||||||
- https://dev.to/shubhamprakash/trap-focus-using-javascript-6a3
|
|
||||||
*/
|
|
||||||
|
|
||||||
document.addEventListener('keydown',suggestionFocus);
|
|
||||||
|
|
||||||
function suggestionFocus(e) {
|
|
||||||
const suggestionsHidden = suggestions.classList.contains('d-none');
|
|
||||||
if (suggestionsHidden) return;
|
|
||||||
|
|
||||||
const focusableSuggestions= [...suggestions.querySelectorAll('a')];
|
|
||||||
if (focusableSuggestions.length === 0) return;
|
|
||||||
|
|
||||||
const index = focusableSuggestions.indexOf(document.activeElement);
|
|
||||||
|
|
||||||
if (e.key === "ArrowUp") {
|
|
||||||
e.preventDefault();
|
|
||||||
const nextIndex = index > 0 ? index - 1 : 0;
|
|
||||||
focusableSuggestions[nextIndex].focus();
|
|
||||||
}
|
|
||||||
else if (e.key === "ArrowDown") {
|
|
||||||
e.preventDefault();
|
|
||||||
const nextIndex= index + 1 < focusableSuggestions.length ? index + 1 : index;
|
|
||||||
focusableSuggestions[nextIndex].focus();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Source:
|
|
||||||
- https://github.com/nextapps-de/flexsearch#index-documents-field-search
|
|
||||||
- https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function(){
|
|
||||||
|
|
||||||
var index = new FlexSearch.Document({
|
|
||||||
tokenize: "forward",
|
|
||||||
cache: 100,
|
|
||||||
document: {
|
|
||||||
id: "id",
|
|
||||||
tag: "tag",
|
|
||||||
store: ["href", "title", "description"],
|
|
||||||
index: ["title", "description", "content"]
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// https://discourse.gohugo.io/t/range-length-or-last-element/3803/2
|
|
||||||
// Note: uses .Site.AllPages as .Site.RegularPages only returns content for the current language
|
|
||||||
// pages without a title (such as browserconfig.xml) are excluded
|
|
||||||
{{ $list := where (where .Site.AllPages "Kind" "in" "page") "Title" "!=" "" }}
|
|
||||||
{{ $len := (len $list) -}}
|
|
||||||
|
|
||||||
index.add(
|
|
||||||
{{ range $index, $element := $list -}}
|
|
||||||
{
|
|
||||||
id: {{ $index }},
|
|
||||||
tag: "{{ .Lang }}",
|
|
||||||
href: "{{ .RelPermalink }}",
|
|
||||||
title: {{ .Title | jsonify }},
|
|
||||||
{{ with .Description -}}
|
|
||||||
description: {{ . | jsonify }},
|
|
||||||
{{ else -}}
|
|
||||||
description: {{ .Summary | plainify | jsonify }},
|
|
||||||
{{ end -}}
|
|
||||||
content: {{ .Plain | jsonify }}
|
|
||||||
})
|
|
||||||
{{ if ne (add $index 1) $len -}}
|
|
||||||
.add(
|
|
||||||
{{ end -}}
|
|
||||||
{{ end -}}
|
|
||||||
;
|
|
||||||
|
|
||||||
search.addEventListener('input', show_results, true);
|
|
||||||
|
|
||||||
function show_results(){
|
|
||||||
const maxResult = 5;
|
|
||||||
var searchQuery = this.value;
|
|
||||||
// filter the results for the currently tagged language
|
|
||||||
const lang = document.documentElement.lang;
|
|
||||||
var results = index.search(searchQuery, { index: ['title', 'description', 'content'], limit: maxResult, tag: lang, enrich: true });
|
|
||||||
|
|
||||||
// flatten results since index.search() returns results for each indexed field
|
|
||||||
const flatResults = new Map(); // keyed by href to dedupe results
|
|
||||||
for (const result of results.flatMap(r => r.result)) {
|
|
||||||
if (flatResults.has(result.doc.href)) continue;
|
|
||||||
flatResults.set(result.doc.href, result.doc);
|
|
||||||
}
|
|
||||||
|
|
||||||
suggestions.innerHTML = "";
|
|
||||||
suggestions.classList.remove('d-none');
|
|
||||||
|
|
||||||
// inform user that no results were found
|
|
||||||
if (flatResults.size === 0 && searchQuery) {
|
|
||||||
const noResultsMessage = document.createElement('div')
|
|
||||||
noResultsMessage.innerHTML = `{{ T "ui_no_results" }} "<strong>${searchQuery}</strong>"`
|
|
||||||
noResultsMessage.classList.add("suggestion__no-results");
|
|
||||||
suggestions.appendChild(noResultsMessage);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// construct a list of suggestions
|
|
||||||
for(const [href, doc] of flatResults) {
|
|
||||||
const entry = document.createElement('div');
|
|
||||||
suggestions.appendChild(entry);
|
|
||||||
|
|
||||||
const a = document.createElement('a');
|
|
||||||
a.href = href;
|
|
||||||
entry.appendChild(a);
|
|
||||||
|
|
||||||
const title = document.createElement('span');
|
|
||||||
title.classList.add('text-start');
|
|
||||||
title.textContent = doc.title;
|
|
||||||
title.classList.add("suggestion__title");
|
|
||||||
a.appendChild(title);
|
|
||||||
|
|
||||||
const description = document.createElement('span');
|
|
||||||
description.textContent = doc.description;
|
|
||||||
description.classList.add("suggestion__description");
|
|
||||||
a.appendChild(description);
|
|
||||||
|
|
||||||
suggestions.appendChild(entry);
|
|
||||||
|
|
||||||
if(suggestions.childElementCount == maxResult) break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}());
|
|
||||||
|
|
20
assets/js/menu.js
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
const url = new URL(window.location.href)
|
||||||
|
const menu = url.searchParams.get('menu')
|
||||||
|
const child = url.searchParams.get('child')
|
||||||
|
const menuItems = document.querySelectorAll('[data-nav="main"]')
|
||||||
|
|
||||||
|
if (menu !== null) {
|
||||||
|
menuItems.forEach(element => {
|
||||||
|
element.classList.remove('active')
|
||||||
|
})
|
||||||
|
|
||||||
|
const targetMainItems = document.querySelectorAll(`[data-nav-main="${menu}"]:not([data-nav-child])`)
|
||||||
|
targetMainItems.forEach(element => {
|
||||||
|
element.classList.add('active')
|
||||||
|
})
|
||||||
|
|
||||||
|
const targetChildItems = document.querySelectorAll(`[data-nav-main="${menu}"][data-nav-child="${child}"]`)
|
||||||
|
targetChildItems.forEach(element => {
|
||||||
|
element.classList.add('active')
|
||||||
|
})
|
||||||
|
}
|
26
assets/js/navbar.js
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
const navbar = document.querySelector('.navbar')
|
||||||
|
const toggler = document.getElementById('main-nav-toggler')
|
||||||
|
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
|
||||||
|
|
||||||
|
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')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set the navbar background color to opaque when expanded
|
||||||
|
toggler.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()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
0
assets/js/optional/.gitkeep
Normal file
36
assets/js/sharing.js
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{{- if site.Params.sharing.webshare -}}
|
||||||
|
|
||||||
|
// Adapted from: https://dev.to/j471n/how-to-share-anything-from-your-website-by-web-share-api-1h5g
|
||||||
|
|
||||||
|
// function for Web Share API
|
||||||
|
function webShareAPI (title, description, link) {
|
||||||
|
navigator
|
||||||
|
.share({
|
||||||
|
title,
|
||||||
|
text: description,
|
||||||
|
url: link
|
||||||
|
})
|
||||||
|
.then(() => console.log('Successful share'))
|
||||||
|
.catch((error) => console.log('Error sharing', error))
|
||||||
|
}
|
||||||
|
|
||||||
|
const shareBtn = document.getElementById('btn-webshare')
|
||||||
|
|
||||||
|
if (shareBtn !== null) {
|
||||||
|
if (navigator.share) {
|
||||||
|
const title = shareBtn.getAttribute('data-sharing-title')
|
||||||
|
const description = shareBtn.getAttribute('data-sharing-description')
|
||||||
|
const url = shareBtn.getAttribute('data-sharing-url')
|
||||||
|
|
||||||
|
// show button if it supports webShareAPI
|
||||||
|
shareBtn.style.display = 'block'
|
||||||
|
shareBtn.addEventListener('click', () =>
|
||||||
|
webShareAPI(title, description, url)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
// hide button if host does not support Web Share API
|
||||||
|
shareBtn.style.display = 'none'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{{- end -}}
|
@@ -1,10 +1,24 @@
|
|||||||
// Bootstrap toast example: https://getbootstrap.com/docs/5.2/components/toasts/
|
// Script to move all embedded toast messages into a container with id 'toast-container'. The container ensures multiple
|
||||||
const toastTrigger = document.getElementById('toastButton')
|
// toast messages are stacked properly. The script targets all elements specified by a 'data-toast-target' and ensures
|
||||||
const toastLiveExample = document.getElementById('toastMessage')
|
// the click event of the origin is linked as well.
|
||||||
if (toastTrigger) {
|
|
||||||
toastTrigger.addEventListener('click', () => {
|
const container = document.getElementById('toast-container')
|
||||||
|
if (container !== null) {
|
||||||
|
// process all data-toast-target elements
|
||||||
|
document.querySelectorAll('[data-toast-target]').forEach(trigger => {
|
||||||
|
const target = document.getElementById(trigger.getAttribute('data-toast-target'))
|
||||||
|
if (target !== null) {
|
||||||
|
// move the element to the toast containr
|
||||||
|
container.appendChild(target)
|
||||||
|
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
const toast = new bootstrap.Toast(toastLiveExample)
|
const toast = bootstrap.Toast.getOrCreateInstance(target)
|
||||||
|
if (toast !== null) {
|
||||||
|
// associate the click event of the origin with the toast element
|
||||||
|
trigger.addEventListener('click', () => {
|
||||||
toast.show()
|
toast.show()
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@@ -1,103 +1,53 @@
|
|||||||
// Define template variables
|
// Define template variables
|
||||||
// TODO: optimize, see https://discourse.gohugo.io/t/initialize-sass-variables-from-hugo-templates/42053
|
@import "hugo:vars";
|
||||||
// requires installation of dart-sass, no cross-platform installation available yet
|
|
||||||
$themeFont: {{ site.Params.style.themeFont | default "Inter" }};
|
|
||||||
$primary: {{ site.Params.style.primary | default "#007bff" }};
|
|
||||||
$secondary: {{ site.Params.style.secondary | default "#6c757d" }};
|
|
||||||
$success: {{ site.Params.style.success | default "#198754" }};
|
|
||||||
$info: {{ site.Params.style.info | default "#0dcaf0" }};
|
|
||||||
$warning: {{ site.Params.style.warning | default "#ffc107" }};
|
|
||||||
$danger: {{ site.Params.style.danger | default "#dc3545" }};
|
|
||||||
$light: {{ site.Params.style.light | default "#f8f9fa" }};
|
|
||||||
$dark: {{ site.Params.style.dark | default "#212529" }};
|
|
||||||
$navbar-offset: {{ if site.Params.navigation.fixed }}{{ site.Params.navigation.offset | default "4em" }}{{ else }}0em{{ end }};
|
|
||||||
$enable-dark-mode: {{ site.Params.main.enableDarkMode | default true }} !default;
|
|
||||||
|
|
||||||
// Include default variable overrides
|
// Include default variable overrides
|
||||||
@import "common/variables.scss";
|
@import "common/variables.scss";
|
||||||
@import "common/icons.scss";
|
@import "common/icons.scss";
|
||||||
|
|
||||||
// Import Bootstrap banner and functions
|
// Import Bootstrap configuration (mounted by core Bootstrap module)
|
||||||
@import "bootstrap/scss/mixins/banner";
|
@import "bootstrap.scss";
|
||||||
@include bsBanner("");
|
|
||||||
@import "bootstrap/scss/functions";
|
|
||||||
|
|
||||||
// Import Bootstrap configuration
|
|
||||||
@import "hotfix/variables";
|
|
||||||
@import "hotfix/variables-dark.scss";
|
|
||||||
@import "hotfix/maps";
|
|
||||||
@import "bootstrap/scss/mixins";
|
|
||||||
@import "bootstrap/scss/utilities";
|
|
||||||
|
|
||||||
// Import Bootstrap layout & components
|
|
||||||
@import "hotfix/root";
|
|
||||||
@import "bootstrap/scss/reboot";
|
|
||||||
@import "bootstrap/scss/type";
|
|
||||||
@import "bootstrap/scss/images";
|
|
||||||
@import "bootstrap/scss/containers";
|
|
||||||
@import "bootstrap/scss/grid";
|
|
||||||
@import "bootstrap/scss/tables";
|
|
||||||
@import "bootstrap/scss/forms";
|
|
||||||
@import "bootstrap/scss/buttons";
|
|
||||||
@import "bootstrap/scss/transitions";
|
|
||||||
@import "bootstrap/scss/dropdown";
|
|
||||||
@import "bootstrap/scss/button-group";
|
|
||||||
@import "bootstrap/scss/nav";
|
|
||||||
@import "bootstrap/scss/navbar";
|
|
||||||
@import "bootstrap/scss/card";
|
|
||||||
@import "bootstrap/scss/accordion";
|
|
||||||
@import "bootstrap/scss/breadcrumb";
|
|
||||||
@import "bootstrap/scss/pagination";
|
|
||||||
@import "bootstrap/scss/badge";
|
|
||||||
@import "bootstrap/scss/alert";
|
|
||||||
@import "bootstrap/scss/progress";
|
|
||||||
@import "bootstrap/scss/list-group";
|
|
||||||
@import "bootstrap/scss/close";
|
|
||||||
@import "bootstrap/scss/toasts";
|
|
||||||
@import "bootstrap/scss/modal";
|
|
||||||
@import "bootstrap/scss/tooltip";
|
|
||||||
@import "bootstrap/scss/popover";
|
|
||||||
@import "bootstrap/scss/carousel";
|
|
||||||
@import "bootstrap/scss/spinners";
|
|
||||||
@import "bootstrap/scss/offcanvas";
|
|
||||||
@import "bootstrap/scss/placeholders";
|
|
||||||
|
|
||||||
// Import Bootstrap helpers
|
|
||||||
@import "bootstrap/scss/helpers";
|
|
||||||
|
|
||||||
// Import Bootstrap utilities
|
|
||||||
@import "bootstrap/scss/utilities/api";
|
|
||||||
|
|
||||||
// Import Font Awesome
|
|
||||||
// scss-docs-start awesome
|
|
||||||
@import "@fortawesome/fontawesome-free/scss/fontawesome";
|
|
||||||
@import "@fortawesome/fontawesome-free/scss/regular";
|
|
||||||
@import "@fortawesome/fontawesome-free/scss/solid";
|
|
||||||
@import "@fortawesome/fontawesome-free/scss/brands";
|
|
||||||
// scss-docs-end awesome
|
|
||||||
|
|
||||||
// Import Hinode theme styles
|
// Import Hinode theme styles
|
||||||
|
@import "components/alert.scss";
|
||||||
@import "components/blockquote.scss";
|
@import "components/blockquote.scss";
|
||||||
|
@import "components/breadcrumb.scss";
|
||||||
@import "components/buttons.scss";
|
@import "components/buttons.scss";
|
||||||
@import "components/card.scss";
|
@import "components/card.scss";
|
||||||
@import "components/carousel.scss";
|
@import "components/carousel.scss";
|
||||||
@import "components/clipboard.scss";
|
@import "components/clipboard.scss";
|
||||||
@import "components/command.scss";
|
@import "components/command.scss";
|
||||||
@import "components/comments.scss";
|
@import "components/comments.scss";
|
||||||
|
@import "components/feature.scss";
|
||||||
@import "components/navbar.scss";
|
@import "components/navbar.scss";
|
||||||
@import "components/img.scss";
|
@import "components/img.scss";
|
||||||
|
@import "components/pagination.scss";
|
||||||
|
@import "components/persona.scss";
|
||||||
@import "components/popover.scss";
|
@import "components/popover.scss";
|
||||||
@import "components/search.scss";
|
|
||||||
@import "components/sidebar.scss";
|
@import "components/sidebar.scss";
|
||||||
@import "components/syntax.scss";
|
@import "components/syntax.scss";
|
||||||
|
@import "components/timeline.scss";
|
||||||
@import "components/toc.scss";
|
@import "components/toc.scss";
|
||||||
@import "components/vimeo.scss";
|
@import "components/vimeo.scss";
|
||||||
|
@import "common/animation.scss";
|
||||||
@import "common/styles.scss";
|
@import "common/styles.scss";
|
||||||
@import "layouts/reboot.scss";
|
@import "layouts/reboot.scss";
|
||||||
@import "layouts/type.scss";
|
@import "layouts/type.scss";
|
||||||
@import "common/export.scss";
|
@import "common/export.scss";
|
||||||
@import "helpers/colored-links.scss";
|
@import "helpers/colored-links.scss";
|
||||||
@import "helpers/hidden.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 placeholder
|
||||||
@import "theme.scss";
|
@import "theme/theme.scss";
|
||||||
|
|
||||||
|
// Import Bootstrap utilities API (mounted by core Bootstrap module)
|
||||||
|
@import "modules/bootstrap/utilities/api";
|
||||||
|
99
assets/scss/common/_animation.scss
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
.rotate-5 {
|
||||||
|
transform: rotate(5deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rotate-n5 {
|
||||||
|
transform: rotate(-5deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-reduced-motion: no-preference) {
|
||||||
|
.reveal {
|
||||||
|
position: relative;
|
||||||
|
opacity: 0;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal.active {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active.fade-bottom {
|
||||||
|
animation: fade-bottom 1s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active.fade-bottom-5 {
|
||||||
|
animation: fade-bottom-5 1s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active.fade-bottom-n5 {
|
||||||
|
animation: fade-bottom-n5 1s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active.fade-left {
|
||||||
|
animation: fade-left 1s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active.fade-right {
|
||||||
|
animation: fade-right 1s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-bottom {
|
||||||
|
0% {
|
||||||
|
transform: translateY(50px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateY(0);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-bottom-5 {
|
||||||
|
0% {
|
||||||
|
transform: translateY(50px) rotate(5deg);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateY(0) rotate(5deg);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-bottom-n5 {
|
||||||
|
0% {
|
||||||
|
transform: translateY(50px) rotate(-5deg);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateY(0) rotate(-5deg);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-left {
|
||||||
|
0% {
|
||||||
|
transform: translateX(-100px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateX(0);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-right {
|
||||||
|
0% {
|
||||||
|
transform: translateX(100px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateX(0);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -25,3 +25,4 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// scss-docs-end export
|
// scss-docs-end export
|
||||||
|
// stylelint-enable selector-pseudo-class-no-unknown
|
||||||
|
@@ -1,25 +1,25 @@
|
|||||||
// scss-docs-start icons
|
// scss-docs-start icons
|
||||||
$form-check-input-checked-bg-image: url("icons/form-check-input-checked-bg-image.svg") !default;
|
$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-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-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: url("/icons/form-switch-bg-image.svg") !default;
|
||||||
$form-switch-bg-image-dark: url("icons/form-switch-bg-image-dark.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-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-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: url("/icons/form-select-indicator.svg") !default;
|
||||||
$form-select-indicator-dark: url("icons/form-select-indicator-dark.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-valid: url("/icons/form-feedback-icon-valid.svg") !default;
|
||||||
$form-feedback-icon-invalid: url("icons/form-feedback-icon-invalid.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-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;
|
$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: url("/icons/accordion-button-icon.svg") !default;
|
||||||
$accordion-button-icon-dark: url("icons/accordion-button-icon-dark.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: url("/icons/accordion-button-active-icon.svg") !default;
|
||||||
$accordion-button-active-icon-dark: url("icons/accordion-button-active-icon-dark.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-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;
|
$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-close-bg: url("/icons/btn-close-bg.svg") !default;
|
||||||
$btn-toggle: url("icons/btn-toggle.svg") !default;
|
$btn-toggle: url("/icons/btn-toggle.svg") !default;
|
||||||
$btn-toggle-dark: url("icons/btn-toggle-dark.svg") !default;
|
$btn-toggle-dark: url("/icons/btn-toggle-dark.svg") !default;
|
||||||
|
|
||||||
// scss-docs-end icons
|
// scss-docs-end icons
|
||||||
|
@@ -18,3 +18,132 @@ a:active {
|
|||||||
.tickmark li::marker {
|
.tickmark li::marker {
|
||||||
content: "✓ ";
|
content: "✓ ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.anchor
|
||||||
|
{
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.heading:hover .anchor
|
||||||
|
{
|
||||||
|
transition: 0.25s ease-in-out;
|
||||||
|
color: $primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
$utilities: map-merge(
|
||||||
|
$utilities,
|
||||||
|
(
|
||||||
|
"padding-start-wide": (
|
||||||
|
property: padding-left,
|
||||||
|
responsive: true,
|
||||||
|
class: psw,
|
||||||
|
values: (
|
||||||
|
0: 0,
|
||||||
|
1: 1.5 * $spacer,
|
||||||
|
2: 3 * $spacer,
|
||||||
|
3: 6 * $spacer,
|
||||||
|
4: 9 * $spacer,
|
||||||
|
5: 12 * $spacer,
|
||||||
|
)
|
||||||
|
),
|
||||||
|
"padding-top-wide": (
|
||||||
|
property: padding-top,
|
||||||
|
responsive: true,
|
||||||
|
class: ptw,
|
||||||
|
values: (
|
||||||
|
0: 0,
|
||||||
|
1: 1.5 * $spacer,
|
||||||
|
2: 3 * $spacer,
|
||||||
|
3: 6 * $spacer,
|
||||||
|
4: 9 * $spacer,
|
||||||
|
5: 12 * $spacer,
|
||||||
|
)
|
||||||
|
),
|
||||||
|
"font-size": map-merge(
|
||||||
|
map-get($utilities, "font-size"),
|
||||||
|
( responsive: true ),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
@media screen and (orientation: portrait) {
|
||||||
|
.min-vh-custom {
|
||||||
|
min-height: 25vh !important
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (orientation: landscape) {
|
||||||
|
.min-vh-custom {
|
||||||
|
min-height: 50vh !important
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--nav-height: 90px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(sm) {
|
||||||
|
.ratio-section {
|
||||||
|
min-height: calc(min(100vh, 576px) - var(--nav-height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
.ratio-section {
|
||||||
|
min-height: calc(min(100vh, 768px) - var(--nav-height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(lg) {
|
||||||
|
.ratio-section {
|
||||||
|
min-height: calc(min(100vh, 992px) - var(--nav-height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(xl) {
|
||||||
|
.ratio-section {
|
||||||
|
min-height: calc(min(100vh, 1200px) - var(--nav-height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(xxl) {
|
||||||
|
.ratio-section {
|
||||||
|
min-height: calc(min(100vh, 1400px) - var(--nav-height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$utilities: map-merge(
|
||||||
|
$utilities,
|
||||||
|
(
|
||||||
|
"padding-start-wide": (
|
||||||
|
property: padding-left,
|
||||||
|
responsive: true,
|
||||||
|
class: psw,
|
||||||
|
values: (
|
||||||
|
0: 0,
|
||||||
|
1: 1.5 * $spacer,
|
||||||
|
2: 3 * $spacer,
|
||||||
|
3: 6 * $spacer,
|
||||||
|
4: 9 * $spacer,
|
||||||
|
5: 12 * $spacer,
|
||||||
|
)
|
||||||
|
),
|
||||||
|
"padding-top-wide": (
|
||||||
|
property: padding-top,
|
||||||
|
responsive: true,
|
||||||
|
class: ptw,
|
||||||
|
values: (
|
||||||
|
0: 0,
|
||||||
|
1: 1.5 * $spacer,
|
||||||
|
2: 3 * $spacer,
|
||||||
|
3: 6 * $spacer,
|
||||||
|
4: 9 * $spacer,
|
||||||
|
5: 12 * $spacer,
|
||||||
|
)
|
||||||
|
),
|
||||||
|
"font-size": map-merge(
|
||||||
|
map-get($utilities, "font-size"),
|
||||||
|
( responsive: true ),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
// Bootstrap variables overrides for theme
|
// Bootstrap variables overrides for theme
|
||||||
$enable-negative-margins: true;
|
$enable-negative-margins: true;
|
||||||
|
$enable-important-utilities: true !default;
|
||||||
|
|
||||||
// Font awesome variables overrides for theme
|
// Font awesome variables overrides for theme
|
||||||
$fa-font-path: "../fonts";
|
$fa-font-path: "../fonts";
|
||||||
@@ -8,7 +9,7 @@ $fa-font-path: "../fonts";
|
|||||||
$navbar-toggler-focus-width: 0 !default;
|
$navbar-toggler-focus-width: 0 !default;
|
||||||
|
|
||||||
// scss-docs-start font
|
// scss-docs-start font
|
||||||
$font-family-sans-serif: $themeFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
$font-family-sans-serif: $theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
||||||
$headings-font-weight: 600 !default;
|
$headings-font-weight: 600 !default;
|
||||||
$font-weight-lighter: lighter !default;
|
$font-weight-lighter: lighter !default;
|
||||||
$font-weight-light: 200 !default;
|
$font-weight-light: 200 !default;
|
||||||
@@ -17,7 +18,7 @@ $font-weight-bold: 600 !default;
|
|||||||
$font-weight-bolder: bolder !default;
|
$font-weight-bolder: bolder !default;
|
||||||
|
|
||||||
strong {
|
strong {
|
||||||
font-weight: 600 !important;
|
font-weight: 600 if($enable-important-utilities, !important, null);
|
||||||
}
|
}
|
||||||
// scss-docs-end font
|
// scss-docs-end font
|
||||||
|
|
||||||
|
3
assets/scss/components/_alert.scss
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.alert-no-decoration {
|
||||||
|
--bs-alert-border-radius: none;
|
||||||
|
}
|
6
assets/scss/components/_breadcrumb.scss
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
// scss-docs-start breadcrumb
|
||||||
|
.breadcrumb {
|
||||||
|
padding-top: 0.3 * $navbar-offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
// scss-docs-end breadcrumb
|
@@ -4,5 +4,24 @@
|
|||||||
.btn-primary:active,
|
.btn-primary:active,
|
||||||
.btn-primary.active,
|
.btn-primary.active,
|
||||||
.open > .dropdown-toggle.btn-primary {
|
.open > .dropdown-toggle.btn-primary {
|
||||||
color: #fff !important;
|
color: #fff if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-social {
|
||||||
|
--bs-btn-bg: transparent;
|
||||||
|
--bs-btn-border-width: none;
|
||||||
|
--bs-btn-color: var(--bs-secondary);
|
||||||
|
--bs-btn-border-color: none;
|
||||||
|
--bs-btn-hover-bg: none;
|
||||||
|
--bs-btn-hover-border-color: none;
|
||||||
|
--bs-btn-active-bg: none;
|
||||||
|
--bs-btn-active-border-color: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-social:hover,
|
||||||
|
.btn-social:focus,
|
||||||
|
.btn-social:active,
|
||||||
|
.btn-social.active,
|
||||||
|
.open > .dropdown-toggle.btn-primary {
|
||||||
|
color: var(--bs-primary) if($enable-important-utilities, !important, null);
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
// stylelint-disable annotation-no-unknown
|
|
||||||
|
|
||||||
// add zoom animation with opacity change on card img hover
|
// add zoom animation with opacity change on card img hover
|
||||||
// source: https://stackoverflow.com/a/43816376
|
// source: https://stackoverflow.com/a/43816376
|
||||||
|
|
||||||
@@ -8,16 +6,8 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-img-wrap::after {
|
.card-zoom {
|
||||||
content: "";
|
cursor: pointer;
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
background: rgba(255, 255, 255, 0.3);
|
|
||||||
opacity: 0;
|
|
||||||
transition: opacity 0.25s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-img-wrap img {
|
.card-img-wrap img {
|
||||||
@@ -25,11 +15,21 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-img-wrap:hover img {
|
.card-zoom::after .card-img-wrap img {
|
||||||
transform: scale(1.1);
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
background: rgba(255, 255, 255, 0.3);
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.25s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-img-wrap:hover::after {
|
.card-zoom:hover .card-img-wrap img {
|
||||||
|
transform: scale(1.1);
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-zoom:hover::after .card-img-wrap img {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,29 +43,31 @@
|
|||||||
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
|
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// stylelint-disable annotation-no-unknown
|
||||||
.card-body-link {
|
.card-body-link {
|
||||||
color: $body-color if($enable-important-utilities, !important, null);
|
color: $body-color if($enable-important-utilities, !important, null);
|
||||||
|
|
||||||
@if $link-shade-percentage != 0 {
|
|
||||||
&:hover,
|
|
||||||
&:focus {
|
|
||||||
color: tint-color($body-color, $link-shade-percentage) if($enable-important-utilities, !important, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@if $enable-dark-mode {
|
@if $enable-dark-mode {
|
||||||
@include color-mode(dark) {
|
@include color-mode(dark) {
|
||||||
.card-body-link {
|
.card-body-link {
|
||||||
color: $gray-500 if($enable-important-utilities, !important, null);
|
color: $gray-500 if($enable-important-utilities, !important, null);
|
||||||
|
|
||||||
@if $link-shade-percentage != 0 {
|
|
||||||
&:hover,
|
|
||||||
&:focus {
|
|
||||||
color: shade-color($gray-500, $link-shade-percentage) if($enable-important-utilities, !important, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card-zoom card-body-link,
|
||||||
|
.card-body-link {
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
color: shade-color($primary, $link-shade-percentage) if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// stylelint-enable annotation-no-unknown
|
// stylelint-enable annotation-no-unknown
|
||||||
|
|
||||||
|
// make tag-link clickable on top of the stretched-link.
|
||||||
|
.card .tag-link {
|
||||||
|
z-index: 2;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
3
assets/scss/components/_feature.scss
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.feature {
|
||||||
|
margin-top: 0.3 * $navbar-offset;
|
||||||
|
}
|
@@ -2,17 +2,34 @@
|
|||||||
|
|
||||||
// Source: https://jsfiddle.net/njhgr40m/
|
// Source: https://jsfiddle.net/njhgr40m/
|
||||||
|
|
||||||
|
.navbar {
|
||||||
|
transition: 0.5s ease-in-out;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-active, .navbar-expanded {
|
||||||
|
background-color: var(--bs-body-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-expanded {
|
||||||
|
box-shadow: $box-shadow-sm;
|
||||||
|
}
|
||||||
|
|
||||||
/* Remove border from toggler */
|
/* Remove border from toggler */
|
||||||
.navbar-toggler {
|
.navbar-toggler {
|
||||||
border: 0 !important;
|
border: 0 if($enable-important-utilities, !important, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-toggler:focus,
|
.navbar-toggler:focus,
|
||||||
.navbar-toggler:active,
|
.navbar-toggler:active,
|
||||||
.navbar-toggler-icon:focus {
|
.navbar-toggler-icon:focus {
|
||||||
outline: none !important;
|
outline: none if($enable-important-utilities, !important, null);
|
||||||
box-shadow: none !important;
|
box-shadow: none if($enable-important-utilities, !important, null);
|
||||||
border: 0 !important;
|
border: 0 if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fw-30 {
|
||||||
|
width: 30px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Lines of the Toggler */
|
/* Lines of the Toggler */
|
||||||
@@ -80,8 +97,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-spacing {
|
|
||||||
width: 26px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// stylelint-enable annotation-no-unknown
|
// stylelint-enable annotation-no-unknown
|
||||||
|
11
assets/scss/components/_pagination.scss
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
.pagination {
|
||||||
|
--bs-pagination-bg: var(--bs-primary-bg-subtle);
|
||||||
|
--bs-pagination-border-color: none;
|
||||||
|
--bs-pagination-hover-color: var(--bs-pagination-active-color);
|
||||||
|
--bs-pagination-hover-bg: var(--bs-pagination-active-bg);
|
||||||
|
--bs-pagination-hover-border-color: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination .page-item {
|
||||||
|
margin: 0.4rem;
|
||||||
|
}
|
3
assets/scss/components/_persona.scss
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.persona {
|
||||||
|
min-height: 320px !important
|
||||||
|
}
|
@@ -1,117 +0,0 @@
|
|||||||
// Adapted from https://github.com/h-enk/doks
|
|
||||||
|
|
||||||
@include media-breakpoint-up(md) {
|
|
||||||
.search {
|
|
||||||
max-width: 20rem;
|
|
||||||
margin-top: 0.125rem;
|
|
||||||
margin-bottom: 0.125rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control.is-search {
|
|
||||||
padding-right: 4rem;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
background: var(--bs-tertiary-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control.is-search:focus {
|
|
||||||
border: 1px solid $primary;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search::after {
|
|
||||||
position: absolute;
|
|
||||||
top: 0.4625rem;
|
|
||||||
right: 0.5375rem;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
height: 1.5rem;
|
|
||||||
padding-right: 0.3125rem;
|
|
||||||
padding-left: 0.3125rem;
|
|
||||||
font-size: $font-size-base * 0.75;
|
|
||||||
color: var(--bs-secondary-color);
|
|
||||||
content: "Ctrl + /";
|
|
||||||
border: 1px solid var(--bs-border-color);
|
|
||||||
border-radius: 0.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-form {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
margin-top: 0.5rem;
|
|
||||||
width: calc(100vw - 3rem);
|
|
||||||
z-index: $zindex-dropdown;
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions a,
|
|
||||||
.suggestion__no-results {
|
|
||||||
padding: 0.75rem;
|
|
||||||
margin: 0 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions a {
|
|
||||||
display: block;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions a:focus {
|
|
||||||
background-color: var(--bs-tertiary-bg);
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions div:not(:first-child) {
|
|
||||||
border-top: 1px dashed var(--bs-border-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions div:first-child {
|
|
||||||
margin-top: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions div:last-child {
|
|
||||||
margin-bottom: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions a:hover {
|
|
||||||
background-color: var(--bs-tertiary-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions span {
|
|
||||||
display: flex;
|
|
||||||
font-size: $font-size-base;
|
|
||||||
}
|
|
||||||
|
|
||||||
.suggestion__title {
|
|
||||||
font-weight: $headings-font-weight;
|
|
||||||
}
|
|
||||||
|
|
||||||
.suggestion__description,
|
|
||||||
.suggestion__no-results {
|
|
||||||
color: var(--bs-secondary-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
@include media-breakpoint-up(sm) {
|
|
||||||
#suggestions {
|
|
||||||
width: 31.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#suggestions a {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.suggestion__title {
|
|
||||||
width: 9rem;
|
|
||||||
padding-right: 1rem;
|
|
||||||
border-right: 1px solid var(--bs-border-color);
|
|
||||||
display: inline-block;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.suggestion__description {
|
|
||||||
width: 19rem;
|
|
||||||
padding-left: 1rem;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -3,8 +3,23 @@
|
|||||||
top: $navbar-offset;
|
top: $navbar-offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sidebar-overflow {
|
||||||
|
top: $navbar-offset;
|
||||||
|
max-height: 90vh;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.sidebar-item {
|
.sidebar-item {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
margin-left: 0 !important;
|
||||||
|
padding-left: 0.85rem !important;
|
||||||
|
display: inline-block;
|
||||||
|
|
||||||
|
&.active,
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
color: black;
|
color: black;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-toggle {
|
.btn-toggle {
|
||||||
@@ -55,6 +70,14 @@
|
|||||||
@include color-mode(dark) {
|
@include color-mode(dark) {
|
||||||
.sidebar-item {
|
.sidebar-item {
|
||||||
color: var(--bs-tertiary-color);
|
color: var(--bs-tertiary-color);
|
||||||
|
margin-left: 0 !important;
|
||||||
|
padding-left: 0.85rem !important;
|
||||||
|
|
||||||
|
&.active,
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
color: var(--bs-secondary-color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-toggle {
|
.btn-toggle {
|
||||||
|
@@ -6,9 +6,9 @@
|
|||||||
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
|
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
|
||||||
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
||||||
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
|
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
|
||||||
/* LineHighlight */ .chroma .hl { background-color: #ffffcc }
|
/* LineHighlight */ .chroma .hl { background-color: #b8b800 }
|
||||||
/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #64686c }
|
/* 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; 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: #6e7681 }
|
||||||
/* Line */ .chroma .line { display: flex; }
|
/* Line */ .chroma .line { display: flex; }
|
||||||
/* Keyword */ .chroma .k { color: #ff7b72 }
|
/* Keyword */ .chroma .k { color: #ff7b72 }
|
||||||
/* KeywordConstant */ .chroma .kc { color: #79c0ff }
|
/* KeywordConstant */ .chroma .kc { color: #79c0ff }
|
||||||
|
@@ -7,8 +7,8 @@
|
|||||||
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
||||||
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
|
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
|
||||||
/* LineHighlight */ .chroma .hl { background-color: #ffffcc }
|
/* LineHighlight */ .chroma .hl { background-color: #ffffcc }
|
||||||
/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
|
/* 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: #7f7f7f }
|
||||||
/* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
|
/* 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: #7f7f7f }
|
||||||
/* Line */ .chroma .line { display: flex; }
|
/* Line */ .chroma .line { display: flex; }
|
||||||
/* Keyword */ .chroma .k { color: #000000; font-weight: bold }
|
/* Keyword */ .chroma .k { color: #000000; font-weight: bold }
|
||||||
/* KeywordConstant */ .chroma .kc { color: #000000; font-weight: bold }
|
/* KeywordConstant */ .chroma .kc { color: #000000; font-weight: bold }
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
// stylelint-disable annotation-no-unknown
|
// stylelint-disable annotation-no-unknown
|
||||||
@import "syntax-light";
|
@import "components/syntax-light";
|
||||||
|
|
||||||
.bg,
|
.bg,
|
||||||
.chroma,
|
.chroma,
|
||||||
@@ -10,15 +10,16 @@
|
|||||||
|
|
||||||
.syntax-highlight {
|
.syntax-highlight {
|
||||||
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
|
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
|
||||||
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.preview-background {
|
.preview-background {
|
||||||
background-color: var(--bs-secondary-bg) if($enable-important-utilities, !important, null);
|
background-color: var(--bs-dark-bg-subtle) if($enable-important-utilities, !important, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@if $enable-dark-mode {
|
@if $enable-dark-mode {
|
||||||
[data-bs-theme="dark"] {
|
[data-bs-theme="dark"] {
|
||||||
@import "syntax-dark"; // stylelint-disable-line no-invalid-position-at-import-rule
|
@import "components/syntax-dark"; // stylelint-disable-line no-invalid-position-at-import-rule
|
||||||
|
|
||||||
.bg,
|
.bg,
|
||||||
.chroma,
|
.chroma,
|
||||||
@@ -29,6 +30,7 @@
|
|||||||
|
|
||||||
.syntax-highlight {
|
.syntax-highlight {
|
||||||
background-color: var(--bs-tertiary-bg) if($enable-important-utilities, !important, null);
|
background-color: var(--bs-tertiary-bg) if($enable-important-utilities, !important, null);
|
||||||
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg,
|
.bg,
|
||||||
|
165
assets/scss/components/_timeline.scss
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
// scss-docs-start timeline
|
||||||
|
$connector-radius: 0.8rem;
|
||||||
|
$semi-circle-radius: 8rem;
|
||||||
|
$semi-circle-border: 0.2rem;
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--timeline-highlight: var(--bs-primary);
|
||||||
|
--timeline-icon-radius: #{$semi-circle-radius};
|
||||||
|
--timeline-offset: 50%;
|
||||||
|
--timeline-connector-bg: var(--bs-body-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $state in map-keys($theme-colors) {
|
||||||
|
.timeline-#{$state} {
|
||||||
|
--timeline-highlight: var(--#{$prefix}#{$state});
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-bg-#{$state} {
|
||||||
|
--timeline-connector-bg: var(--#{$prefix}#{$state}-bg-subtle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// scss-docs-end timeline
|
||||||
|
|
||||||
|
.timeline, .timeline-sm {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-sm {
|
||||||
|
--timeline-icon-radius: calc(#{$semi-circle-radius} / 2);
|
||||||
|
--timeline-offset: 25%
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline::before, .timeline-sm::before {
|
||||||
|
content: "";
|
||||||
|
width: 2 * $semi-circle-border;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: var(--bs-body-color);
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-sm::before {
|
||||||
|
margin: 0 calc(var(--timeline-offset) - #{$semi-circle-border});
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-semi-circle-start, .timeline-semi-circle-end {
|
||||||
|
width: var(--timeline-icon-radius);
|
||||||
|
height: var(--timeline-icon-radius);
|
||||||
|
border-radius: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-semi-circle-start {
|
||||||
|
left: -$semi-circle-border;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-semi-circle-end {
|
||||||
|
left: $semi-circle-border;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-semi-circle-start::before {
|
||||||
|
content: "";
|
||||||
|
width: var(--timeline-icon-radius);
|
||||||
|
height: var(--timeline-icon-radius);
|
||||||
|
border-radius: 100%;
|
||||||
|
border: $semi-circle-border solid;
|
||||||
|
position: absolute;
|
||||||
|
border-color: transparent var(--timeline-highlight) var(--timeline-highlight) var(--timeline-highlight);
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-semi-circle-start::after {
|
||||||
|
content: "";
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: var(--timeline-icon-radius);
|
||||||
|
height: var(--timeline-icon-radius);
|
||||||
|
border-radius: 100%;
|
||||||
|
border: $semi-circle-border solid;
|
||||||
|
position: absolute;
|
||||||
|
border-color: var(--timeline-highlight) var(--timeline-highlight) var(--timeline-highlight) transparent;
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-semi-circle-end::before {
|
||||||
|
content: "";
|
||||||
|
width: var(--timeline-icon-radius);
|
||||||
|
height: var(--timeline-icon-radius);
|
||||||
|
border-radius: 100%;
|
||||||
|
border: $semi-circle-border solid;
|
||||||
|
position: absolute;
|
||||||
|
border-color: transparent var(--timeline-highlight) var(--timeline-highlight) var(--timeline-highlight);
|
||||||
|
transform: rotate(-225deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-semi-circle-end::after {
|
||||||
|
content: "";
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: var(--timeline-icon-radius);
|
||||||
|
height: var(--timeline-icon-radius);
|
||||||
|
border-radius: 100%;
|
||||||
|
border: $semi-circle-border solid;
|
||||||
|
position: absolute;
|
||||||
|
border-color: var(--timeline-highlight) var(--timeline-highlight) var(--timeline-highlight) transparent;
|
||||||
|
transform: rotate(-180deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-description-text-start {
|
||||||
|
border-bottom: $semi-circle-border solid var(--timeline-highlight);
|
||||||
|
margin-right: 2 * $connector-radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-description-text-end {
|
||||||
|
border-bottom: $semi-circle-border solid var(--timeline-highlight);
|
||||||
|
margin-left: 2 * $connector-radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-panel-start, .timeline-panel-end, .timeline-connector-start, .timeline-connector-end {
|
||||||
|
top: calc(var(--timeline-icon-radius) / 2);
|
||||||
|
position: relative;
|
||||||
|
width: calc(var(--timeline-icon-radius) / 2);
|
||||||
|
height: calc($semi-circle-border + var(--timeline-icon-radius) / 2);
|
||||||
|
border: $semi-circle-border solid var(--timeline-highlight);
|
||||||
|
border-bottom: none;
|
||||||
|
border-right: none;
|
||||||
|
border-left: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-panel-start {
|
||||||
|
top: 50%;
|
||||||
|
right: 50%;
|
||||||
|
position: absolute;
|
||||||
|
width: calc(var(--timeline-icon-radius) * 2);
|
||||||
|
width: 2 * $connector-radius;
|
||||||
|
height: 50%;
|
||||||
|
border-top: $semi-circle-border solid var(--timeline-highlight);
|
||||||
|
border-left: $semi-circle-border solid var(--timeline-highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-panel-end {
|
||||||
|
top: 50%;
|
||||||
|
position: absolute;
|
||||||
|
width: calc(var(--timeline-icon-radius) * 2);
|
||||||
|
width: 2 * $connector-radius;
|
||||||
|
height: 50%;
|
||||||
|
border-top: $semi-circle-border solid var(--timeline-highlight);
|
||||||
|
border-right: $semi-circle-border solid var(--timeline-highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-dot::after {
|
||||||
|
display: inline-block;
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: var(--timeline-offset);
|
||||||
|
margin: (-$connector-radius) 0 0 (-$connector-radius);
|
||||||
|
width: 2 * $connector-radius;
|
||||||
|
height: 2 * $connector-radius;
|
||||||
|
border-radius: 100%;
|
||||||
|
border: ($semi-circle-border * 1.5) solid var(--timeline-connector-bg);
|
||||||
|
color: var(--timeline-highlight);
|
||||||
|
background: var(--timeline-highlight);
|
||||||
|
}
|
@@ -1,20 +1,21 @@
|
|||||||
//
|
//
|
||||||
// Table of contents sidebar
|
// Table of contents sidebar & drop-down panel
|
||||||
//
|
//
|
||||||
// scss-docs-start toc
|
// scss-docs-start toc
|
||||||
.toc {
|
.toc-sidebar {
|
||||||
grid-area: toc;
|
grid-area: toc;
|
||||||
right: 0;
|
right: 0;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
height: calc(100vh - 7rem);
|
height: calc(100vh - 5rem);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
top: $navbar-offset;
|
top: 5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
// scss-docs-end toc
|
// scss-docs-end toc
|
||||||
|
|
||||||
.toc nav {
|
.toc nav {
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
|
margin-bottom: -0.875rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toc nav ul {
|
.toc nav ul {
|
||||||
@@ -33,6 +34,10 @@
|
|||||||
|
|
||||||
.toc nav a {
|
.toc nav a {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: var(--bs-primary);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.toc nav a:not(:hover) {
|
.toc nav a:not(:hover) {
|
||||||
@@ -42,3 +47,21 @@
|
|||||||
.toc nav a code {
|
.toc nav a code {
|
||||||
font: inherit;
|
font: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.toc-button {
|
||||||
|
--bs-btn-hover-color: var(--bs-primary);
|
||||||
|
--bs-btn-hover-bg: var(--bs-body-bg);
|
||||||
|
--bs-btn-hover-border-color: var(--bs-primary);
|
||||||
|
--bs-btn-active-color: var(--bs-primary);
|
||||||
|
--bs-btn-active-bg: var(--bs-body-bg);
|
||||||
|
--bs-btn-active-border-color: var(--bs-primary);
|
||||||
|
|
||||||
|
&.active,
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
color: var(--bs-primary);
|
||||||
|
border-color: var(--bs-primary);
|
||||||
|
box-shadow: 0 0 0 4px var(--bs-primary-border-subtle);
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1,19 +1,37 @@
|
|||||||
// stylelint-disable function-name-case
|
|
||||||
|
|
||||||
// scss-docs-start colored-links
|
// scss-docs-start colored-links
|
||||||
@each $color, $value in $theme-colors {
|
$custom-colors: (
|
||||||
$contrast-color: color-contrast($value);
|
"primary": "light",
|
||||||
$color-rgb: to-rgb($value);
|
"secondary": "light",
|
||||||
|
"success": "light",
|
||||||
|
"danger": "light",
|
||||||
|
"dark": "light",
|
||||||
|
"black": "light",
|
||||||
|
"info": "dark",
|
||||||
|
"warning": "dark",
|
||||||
|
"light": "dark",
|
||||||
|
"white": "dark",
|
||||||
|
"body": "adaptive",
|
||||||
|
"body-tertiary": "adaptive"
|
||||||
|
);
|
||||||
|
|
||||||
|
@each $color, $value in $custom-colors {
|
||||||
|
$main-color: var(--bs-body-color);
|
||||||
|
$emphasize-color: var(--bs-secondary-color);
|
||||||
|
|
||||||
|
@if $value == "light" {
|
||||||
|
$main-color: $white;
|
||||||
|
$emphasize-color: shade-color($main-color, $link-shade-percentage);
|
||||||
|
} @else if $value == "dark" {
|
||||||
|
$main-color: $black;
|
||||||
|
$emphasize-color: tint-color($main-color, $link-shade-percentage);
|
||||||
|
}
|
||||||
|
|
||||||
.link-bg-#{$color} {
|
.link-bg-#{$color} {
|
||||||
color: $contrast-color !important; // stylelint-disable-line declaration-no-important
|
color: $main-color if($enable-important-utilities, !important, null);
|
||||||
background-color: RGBA($color-rgb, var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null); // stylelint-disable-line annotation-no-unknown
|
|
||||||
|
|
||||||
@if $link-shade-percentage != 0 {
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
color: if($contrast-color == $color-contrast-light, shade-color($contrast-color, $link-shade-percentage), tint-color($contrast-color, $link-shade-percentage)) !important; // stylelint-disable-line declaration-no-important
|
color: $emphasize-color if($enable-important-utilities, !important, null);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
30
assets/scss/helpers/_display.scss
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// stylelint-disable annotation-no-unknown
|
||||||
|
|
||||||
|
// scss-docs-start display-color
|
||||||
|
.d-none-light {
|
||||||
|
display: none if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
.d-none-dark {
|
||||||
|
display: block 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 {
|
||||||
|
display: none if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// scss-docs-end display-color
|
||||||
|
|
||||||
|
// stylelint-enable annotation-no-unknown
|
@@ -1,3 +0,0 @@
|
|||||||
.hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
@@ -1,176 +0,0 @@
|
|||||||
// Copied from https://github.com/twbs/bootstrap/commit/15744ee1d04bcca03155c3bb37ee7e65a7b011c6
|
|
||||||
//
|
|
||||||
// Re-assigned maps
|
|
||||||
//
|
|
||||||
// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.
|
|
||||||
|
|
||||||
// scss-docs-start theme-colors-rgb
|
|
||||||
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
|
|
||||||
// scss-docs-end theme-colors-rgb
|
|
||||||
|
|
||||||
// scss-docs-start theme-text-map
|
|
||||||
$theme-colors-text: (
|
|
||||||
"primary": $primary-text-emphasis,
|
|
||||||
"secondary": $secondary-text-emphasis,
|
|
||||||
"success": $success-text-emphasis,
|
|
||||||
"info": $info-text-emphasis,
|
|
||||||
"warning": $warning-text-emphasis,
|
|
||||||
"danger": $danger-text-emphasis,
|
|
||||||
"light": $light-text-emphasis,
|
|
||||||
"dark": $dark-text-emphasis,
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end theme-text-map
|
|
||||||
|
|
||||||
// scss-docs-start theme-bg-subtle-map
|
|
||||||
$theme-colors-bg-subtle: (
|
|
||||||
"primary": $primary-bg-subtle,
|
|
||||||
"secondary": $secondary-bg-subtle,
|
|
||||||
"success": $success-bg-subtle,
|
|
||||||
"info": $info-bg-subtle,
|
|
||||||
"warning": $warning-bg-subtle,
|
|
||||||
"danger": $danger-bg-subtle,
|
|
||||||
"light": $light-bg-subtle,
|
|
||||||
"dark": $dark-bg-subtle,
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end theme-bg-subtle-map
|
|
||||||
|
|
||||||
// scss-docs-start theme-border-subtle-map
|
|
||||||
$theme-colors-border-subtle: (
|
|
||||||
"primary": $primary-border-subtle,
|
|
||||||
"secondary": $secondary-border-subtle,
|
|
||||||
"success": $success-border-subtle,
|
|
||||||
"info": $info-border-subtle,
|
|
||||||
"warning": $warning-border-subtle,
|
|
||||||
"danger": $danger-border-subtle,
|
|
||||||
"light": $light-border-subtle,
|
|
||||||
"dark": $dark-border-subtle,
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end theme-border-subtle-map
|
|
||||||
|
|
||||||
$theme-colors-text-dark: null !default;
|
|
||||||
$theme-colors-bg-subtle-dark: null !default;
|
|
||||||
$theme-colors-border-subtle-dark: null !default;
|
|
||||||
|
|
||||||
@if $enable-dark-mode {
|
|
||||||
// scss-docs-start theme-text-dark-map
|
|
||||||
$theme-colors-text-dark: (
|
|
||||||
"primary": $primary-text-emphasis-dark,
|
|
||||||
"secondary": $secondary-text-emphasis-dark,
|
|
||||||
"success": $success-text-emphasis-dark,
|
|
||||||
"info": $info-text-emphasis-dark,
|
|
||||||
"warning": $warning-text-emphasis-dark,
|
|
||||||
"danger": $danger-text-emphasis-dark,
|
|
||||||
"light": $light-text-emphasis-dark,
|
|
||||||
"dark": $dark-text-emphasis-dark,
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end theme-text-dark-map
|
|
||||||
|
|
||||||
// scss-docs-start theme-bg-subtle-dark-map
|
|
||||||
$theme-colors-bg-subtle-dark: (
|
|
||||||
"primary": $primary-bg-subtle-dark,
|
|
||||||
"secondary": $secondary-bg-subtle-dark,
|
|
||||||
"success": $success-bg-subtle-dark,
|
|
||||||
"info": $info-bg-subtle-dark,
|
|
||||||
"warning": $warning-bg-subtle-dark,
|
|
||||||
"danger": $danger-bg-subtle-dark,
|
|
||||||
"light": $light-bg-subtle-dark,
|
|
||||||
"dark": $dark-bg-subtle-dark,
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end theme-bg-subtle-dark-map
|
|
||||||
|
|
||||||
// scss-docs-start theme-border-subtle-dark-map
|
|
||||||
$theme-colors-border-subtle-dark: (
|
|
||||||
"primary": $primary-border-subtle-dark,
|
|
||||||
"secondary": $secondary-border-subtle-dark,
|
|
||||||
"success": $success-border-subtle-dark,
|
|
||||||
"info": $info-border-subtle-dark,
|
|
||||||
"warning": $warning-border-subtle-dark,
|
|
||||||
"danger": $danger-border-subtle-dark,
|
|
||||||
"light": $light-border-subtle-dark,
|
|
||||||
"dark": $dark-border-subtle-dark,
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end theme-border-subtle-dark-map
|
|
||||||
}
|
|
||||||
|
|
||||||
// Utilities maps
|
|
||||||
//
|
|
||||||
// Extends the default `$theme-colors` maps to help create our utilities.
|
|
||||||
|
|
||||||
// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
|
|
||||||
// scss-docs-start utilities-colors
|
|
||||||
$utilities-colors: $theme-colors-rgb !default;
|
|
||||||
// scss-docs-end utilities-colors
|
|
||||||
|
|
||||||
// scss-docs-start utilities-text-colors
|
|
||||||
$utilities-text: map-merge(
|
|
||||||
$utilities-colors,
|
|
||||||
(
|
|
||||||
"black": to-rgb($black),
|
|
||||||
"white": to-rgb($white),
|
|
||||||
"body": to-rgb($body-color)
|
|
||||||
)
|
|
||||||
) !default;
|
|
||||||
$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
|
|
||||||
|
|
||||||
$utilities-text-emphasis-colors: (
|
|
||||||
"primary-emphasis": var(--#{$prefix}primary-text-emphasis),
|
|
||||||
"secondary-emphasis": var(--#{$prefix}secondary-text-emphasis),
|
|
||||||
"success-emphasis": var(--#{$prefix}success-text-emphasis),
|
|
||||||
"info-emphasis": var(--#{$prefix}info-text-emphasis),
|
|
||||||
"warning-emphasis": var(--#{$prefix}warning-text-emphasis),
|
|
||||||
"danger-emphasis": var(--#{$prefix}danger-text-emphasis),
|
|
||||||
"light-emphasis": var(--#{$prefix}light-text-emphasis),
|
|
||||||
"dark-emphasis": var(--#{$prefix}dark-text-emphasis)
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end utilities-text-colors
|
|
||||||
|
|
||||||
// scss-docs-start utilities-bg-colors
|
|
||||||
$utilities-bg: map-merge(
|
|
||||||
$utilities-colors,
|
|
||||||
(
|
|
||||||
"black": to-rgb($black),
|
|
||||||
"white": to-rgb($white),
|
|
||||||
"body": to-rgb($body-bg)
|
|
||||||
)
|
|
||||||
) !default;
|
|
||||||
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
|
|
||||||
|
|
||||||
$utilities-bg-subtle: (
|
|
||||||
"primary-subtle": var(--#{$prefix}primary-bg-subtle),
|
|
||||||
"secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
|
|
||||||
"success-subtle": var(--#{$prefix}success-bg-subtle),
|
|
||||||
"info-subtle": var(--#{$prefix}info-bg-subtle),
|
|
||||||
"warning-subtle": var(--#{$prefix}warning-bg-subtle),
|
|
||||||
"danger-subtle": var(--#{$prefix}danger-bg-subtle),
|
|
||||||
"light-subtle": var(--#{$prefix}light-bg-subtle),
|
|
||||||
"dark-subtle": var(--#{$prefix}dark-bg-subtle)
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end utilities-bg-colors
|
|
||||||
|
|
||||||
// scss-docs-start utilities-border-colors
|
|
||||||
$utilities-border: map-merge(
|
|
||||||
$utilities-colors,
|
|
||||||
(
|
|
||||||
"black": to-rgb($black),
|
|
||||||
"white": to-rgb($white)
|
|
||||||
)
|
|
||||||
) !default;
|
|
||||||
$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
|
|
||||||
|
|
||||||
$utilities-border-subtle: (
|
|
||||||
"primary-subtle": var(--#{$prefix}primary-border-subtle),
|
|
||||||
"secondary-subtle": var(--#{$prefix}secondary-border-subtle),
|
|
||||||
"success-subtle": var(--#{$prefix}success-border-subtle),
|
|
||||||
"info-subtle": var(--#{$prefix}info-border-subtle),
|
|
||||||
"warning-subtle": var(--#{$prefix}warning-border-subtle),
|
|
||||||
"danger-subtle": var(--#{$prefix}danger-border-subtle),
|
|
||||||
"light-subtle": var(--#{$prefix}light-border-subtle),
|
|
||||||
"dark-subtle": var(--#{$prefix}dark-border-subtle)
|
|
||||||
) !default;
|
|
||||||
// scss-docs-end utilities-border-colors
|
|
||||||
|
|
||||||
$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
|
|
||||||
|
|
||||||
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
|
|
||||||
|
|
||||||
$gutters: $spacers !default;
|
|
@@ -1,180 +0,0 @@
|
|||||||
// Copied from https://github.com/twbs/bootstrap/commit/15744ee1d04bcca03155c3bb37ee7e65a7b011c6
|
|
||||||
|
|
||||||
:root,
|
|
||||||
[data-bs-theme="light"] {
|
|
||||||
// Note: Custom variable values only support SassScript inside `#{}`.
|
|
||||||
|
|
||||||
// Colors
|
|
||||||
//
|
|
||||||
// Generate palettes for full colors, grays, and theme colors.
|
|
||||||
|
|
||||||
@each $color, $value in $colors {
|
|
||||||
--#{$prefix}#{$color}: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $color, $value in $grays {
|
|
||||||
--#{$prefix}gray-#{$color}: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $color, $value in $theme-colors {
|
|
||||||
--#{$prefix}#{$color}: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $color, $value in $theme-colors-rgb {
|
|
||||||
--#{$prefix}#{$color}-rgb: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $color, $value in $theme-colors-text {
|
|
||||||
--#{$prefix}#{$color}-text-emphasis: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $color, $value in $theme-colors-bg-subtle {
|
|
||||||
--#{$prefix}#{$color}-bg-subtle: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $color, $value in $theme-colors-border-subtle {
|
|
||||||
--#{$prefix}#{$color}-border-subtle: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
--#{$prefix}white-rgb: #{to-rgb($white)};
|
|
||||||
--#{$prefix}black-rgb: #{to-rgb($black)};
|
|
||||||
|
|
||||||
// Fonts
|
|
||||||
|
|
||||||
// Note: Use `inspect` for lists so that quoted items keep the quotes.
|
|
||||||
// See https://github.com/sass/sass/issues/2383#issuecomment-336349172
|
|
||||||
--#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};
|
|
||||||
--#{$prefix}font-monospace: #{inspect($font-family-monospace)};
|
|
||||||
--#{$prefix}gradient: #{$gradient};
|
|
||||||
|
|
||||||
// Root and body
|
|
||||||
// scss-docs-start root-body-variables
|
|
||||||
@if $font-size-root != null {
|
|
||||||
--#{$prefix}root-font-size: #{$font-size-root};
|
|
||||||
}
|
|
||||||
--#{$prefix}body-font-family: #{inspect($font-family-base)};
|
|
||||||
@include rfs($font-size-base, --#{$prefix}body-font-size);
|
|
||||||
--#{$prefix}body-font-weight: #{$font-weight-base};
|
|
||||||
--#{$prefix}body-line-height: #{$line-height-base};
|
|
||||||
@if $body-text-align != null {
|
|
||||||
--#{$prefix}body-text-align: #{$body-text-align};
|
|
||||||
}
|
|
||||||
|
|
||||||
--#{$prefix}body-color: #{$body-color};
|
|
||||||
--#{$prefix}body-color-rgb: #{to-rgb($body-color)};
|
|
||||||
--#{$prefix}body-bg: #{$body-bg};
|
|
||||||
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
|
|
||||||
|
|
||||||
--#{$prefix}emphasis-color: #{$body-emphasis-color};
|
|
||||||
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};
|
|
||||||
|
|
||||||
--#{$prefix}secondary-color: #{$body-secondary-color};
|
|
||||||
--#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};
|
|
||||||
--#{$prefix}secondary-bg: #{$body-secondary-bg};
|
|
||||||
--#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};
|
|
||||||
|
|
||||||
--#{$prefix}tertiary-color: #{$body-tertiary-color};
|
|
||||||
--#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};
|
|
||||||
--#{$prefix}tertiary-bg: #{$body-tertiary-bg};
|
|
||||||
--#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};
|
|
||||||
// scss-docs-end root-body-variables
|
|
||||||
|
|
||||||
@if $headings-color != null {
|
|
||||||
--#{$prefix}heading-color: #{$headings-color};
|
|
||||||
}
|
|
||||||
|
|
||||||
--#{$prefix}link-color: #{$link-color};
|
|
||||||
--#{$prefix}link-color-rgb: #{to-rgb($link-color)};
|
|
||||||
--#{$prefix}link-decoration: #{$link-decoration};
|
|
||||||
|
|
||||||
--#{$prefix}link-hover-color: #{$link-hover-color};
|
|
||||||
--#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};
|
|
||||||
|
|
||||||
@if $link-hover-decoration != null {
|
|
||||||
--#{$prefix}link-hover-decoration: #{$link-hover-decoration};
|
|
||||||
}
|
|
||||||
|
|
||||||
--#{$prefix}code-color: #{$code-color};
|
|
||||||
--#{$prefix}highlight-bg: #{$mark-bg};
|
|
||||||
|
|
||||||
// scss-docs-start root-border-var
|
|
||||||
--#{$prefix}border-width: #{$border-width};
|
|
||||||
--#{$prefix}border-style: #{$border-style};
|
|
||||||
--#{$prefix}border-color: #{$border-color};
|
|
||||||
--#{$prefix}border-color-translucent: #{$border-color-translucent};
|
|
||||||
|
|
||||||
--#{$prefix}border-radius: #{$border-radius};
|
|
||||||
--#{$prefix}border-radius-sm: #{$border-radius-sm};
|
|
||||||
--#{$prefix}border-radius-lg: #{$border-radius-lg};
|
|
||||||
--#{$prefix}border-radius-xl: #{$border-radius-xl};
|
|
||||||
--#{$prefix}border-radius-xxl: #{$border-radius-xxl};
|
|
||||||
--#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency
|
|
||||||
--#{$prefix}border-radius-pill: #{$border-radius-pill};
|
|
||||||
// scss-docs-end root-border-var
|
|
||||||
|
|
||||||
--#{$prefix}box-shadow: #{$box-shadow};
|
|
||||||
--#{$prefix}box-shadow-sm: #{$box-shadow-sm};
|
|
||||||
--#{$prefix}box-shadow-lg: #{$box-shadow-lg};
|
|
||||||
--#{$prefix}box-shadow-inset: #{$box-shadow-inset};
|
|
||||||
|
|
||||||
// Focus styles
|
|
||||||
// scss-docs-start root-focus-variables
|
|
||||||
--#{$prefix}focus-ring-width: #{$focus-ring-width};
|
|
||||||
--#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};
|
|
||||||
--#{$prefix}focus-ring-color: #{$focus-ring-color};
|
|
||||||
// By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values
|
|
||||||
--#{$prefix}focus-ring-box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);
|
|
||||||
// scss-docs-end root-focus-variables
|
|
||||||
}
|
|
||||||
|
|
||||||
@if $enable-dark-mode {
|
|
||||||
@include color-mode(dark, true) {
|
|
||||||
color-scheme: dark;
|
|
||||||
|
|
||||||
// scss-docs-start root-dark-mode-vars
|
|
||||||
--#{$prefix}body-color: #{$body-color-dark};
|
|
||||||
--#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
|
|
||||||
--#{$prefix}body-bg: #{$body-bg-dark};
|
|
||||||
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};
|
|
||||||
|
|
||||||
--#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
|
|
||||||
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};
|
|
||||||
|
|
||||||
--#{$prefix}secondary-color: #{$body-secondary-color-dark};
|
|
||||||
--#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};
|
|
||||||
--#{$prefix}secondary-bg: #{$body-secondary-bg-dark};
|
|
||||||
--#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};
|
|
||||||
|
|
||||||
--#{$prefix}tertiary-color: #{$body-tertiary-color-dark};
|
|
||||||
--#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};
|
|
||||||
--#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
|
|
||||||
--#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};
|
|
||||||
|
|
||||||
@each $color, $value in $theme-colors-text-dark {
|
|
||||||
--#{$prefix}#{$color}-text-emphasis: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $color, $value in $theme-colors-bg-subtle-dark {
|
|
||||||
--#{$prefix}#{$color}-bg-subtle: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $color, $value in $theme-colors-border-subtle-dark {
|
|
||||||
--#{$prefix}#{$color}-border-subtle: #{$value};
|
|
||||||
}
|
|
||||||
|
|
||||||
@if $headings-color-dark != null {
|
|
||||||
--#{$prefix}heading-color: #{$headings-color-dark};
|
|
||||||
}
|
|
||||||
|
|
||||||
--#{$prefix}link-color: #{$link-color-dark};
|
|
||||||
--#{$prefix}link-hover-color: #{$link-hover-color-dark};
|
|
||||||
--#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};
|
|
||||||
--#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};
|
|
||||||
|
|
||||||
--#{$prefix}code-color: #{$code-color-dark};
|
|
||||||
|
|
||||||
--#{$prefix}border-color: #{$border-color-dark};
|
|
||||||
--#{$prefix}border-color-translucent: #{$border-color-translucent-dark};
|
|
||||||
// scss-docs-end root-dark-mode-vars
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,77 +0,0 @@
|
|||||||
// Copied from https://github.com/twbs/bootstrap/pull/37953
|
|
||||||
|
|
||||||
// Dark color mode variables
|
|
||||||
//
|
|
||||||
// Custom variables for the `[data-bs-theme="dark"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.
|
|
||||||
|
|
||||||
//
|
|
||||||
// Global colors
|
|
||||||
//
|
|
||||||
|
|
||||||
// scss-docs-start sass-dark-mode-vars
|
|
||||||
// scss-docs-start theme-text-dark-variables
|
|
||||||
$primary-text-emphasis-dark: tint-color($primary, 40%) !default;
|
|
||||||
$secondary-text-emphasis-dark: tint-color($secondary, 40%) !default;
|
|
||||||
$success-text-emphasis-dark: tint-color($success, 40%) !default;
|
|
||||||
$info-text-emphasis-dark: tint-color($info, 40%) !default;
|
|
||||||
$warning-text-emphasis-dark: tint-color($warning, 40%) !default;
|
|
||||||
$danger-text-emphasis-dark: tint-color($danger, 40%) !default;
|
|
||||||
$light-text-emphasis-dark: $gray-100 !default;
|
|
||||||
$dark-text-emphasis-dark: $gray-300 !default;
|
|
||||||
// scss-docs-end theme-text-dark-variables
|
|
||||||
|
|
||||||
// scss-docs-start theme-bg-subtle-dark-variables
|
|
||||||
$primary-bg-subtle-dark: shade-color($primary, 80%) !default;
|
|
||||||
$secondary-bg-subtle-dark: shade-color($secondary, 80%) !default;
|
|
||||||
$success-bg-subtle-dark: shade-color($success, 80%) !default;
|
|
||||||
$info-bg-subtle-dark: shade-color($info, 80%) !default;
|
|
||||||
$warning-bg-subtle-dark: shade-color($warning, 80%) !default;
|
|
||||||
$danger-bg-subtle-dark: shade-color($danger, 80%) !default;
|
|
||||||
$light-bg-subtle-dark: $gray-800 !default;
|
|
||||||
$dark-bg-subtle-dark: mix($gray-800, $black) !default;
|
|
||||||
// scss-docs-end theme-bg-subtle-dark-variables
|
|
||||||
|
|
||||||
// scss-docs-start theme-border-subtle-dark-variables
|
|
||||||
$primary-border-subtle-dark: shade-color($primary, 40%) !default;
|
|
||||||
$secondary-border-subtle-dark: shade-color($secondary, 40%) !default;
|
|
||||||
$success-border-subtle-dark: shade-color($success, 40%) !default;
|
|
||||||
$info-border-subtle-dark: shade-color($info, 40%) !default;
|
|
||||||
$warning-border-subtle-dark: shade-color($warning, 40%) !default;
|
|
||||||
$danger-border-subtle-dark: shade-color($danger, 40%) !default;
|
|
||||||
$light-border-subtle-dark: $gray-700 !default;
|
|
||||||
$dark-border-subtle-dark: $gray-800 !default;
|
|
||||||
// scss-docs-end theme-border-subtle-dark-variables
|
|
||||||
|
|
||||||
$body-color-dark: $gray-500 !default;
|
|
||||||
$body-bg-dark: $gray-900 !default;
|
|
||||||
$body-secondary-color-dark: rgba($body-color-dark, .75) !default;
|
|
||||||
$body-secondary-bg-dark: $gray-800 !default;
|
|
||||||
$body-tertiary-color-dark: rgba($body-color-dark, .5) !default;
|
|
||||||
$body-tertiary-bg-dark: mix($gray-800, $gray-900, 50%) !default;
|
|
||||||
$body-emphasis-color-dark: $white !default;
|
|
||||||
$border-color-dark: $gray-700 !default;
|
|
||||||
$border-color-translucent-dark: rgba($white, .15) !default;
|
|
||||||
$headings-color-dark: null !default;
|
|
||||||
$link-color-dark: tint-color($primary, 40%) !default;
|
|
||||||
$link-hover-color-dark: shift-color($link-color-dark, -$link-shade-percentage) !default;
|
|
||||||
$code-color-dark: tint-color($code-color, 40%) !default;
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Forms
|
|
||||||
//
|
|
||||||
|
|
||||||
$form-select-indicator-color-dark: $body-color-dark !default;
|
|
||||||
$form-select-indicator-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>") !default;
|
|
||||||
|
|
||||||
$form-switch-color-dark: rgba($white, .25) !default;
|
|
||||||
$form-switch-bg-image-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color-dark}'/></svg>") !default;
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Accordion
|
|
||||||
//
|
|
||||||
|
|
||||||
$accordion-button-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$primary-text-emphasis-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
|
|
||||||
$accordion-button-active-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$primary-text-emphasis-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
|
|
||||||
// scss-docs-end sass-dark-mode-vars
|
|
62
assets/scss/theme/fonts.scss
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
/*!
|
||||||
|
* Copyright (c) 2016-2020 The Inter Project Authors.
|
||||||
|
* "Inter" is trademark of Rasmus Andersson.
|
||||||
|
* https://github.com/rsms/inter
|
||||||
|
|
||||||
|
* This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
* This license is copied below, and is also available with a FAQ at:
|
||||||
|
* http://scripts.sil.org/OFL
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* inter-200 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 200;
|
||||||
|
src: url('../fonts/inter-v12-latin-200.eot'); /* IE9 Compat Modes */
|
||||||
|
src: url('../fonts/inter-v12-latin-200.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||||
|
url('../fonts/inter-v12-latin-200.woff2') format('woff2'), /* Super Modern Browsers */
|
||||||
|
url('../fonts/inter-v12-latin-200.woff') format('woff'), /* Modern Browsers */
|
||||||
|
url('../fonts/inter-v12-latin-200.ttf') format('truetype'), /* Safari, Android, iOS */
|
||||||
|
url('../fonts/inter-v12-latin-200.svg#Inter') format('svg'); /* Legacy iOS */
|
||||||
|
}
|
||||||
|
/* inter-300 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: url('../fonts/inter-v12-latin-300.eot'); /* IE9 Compat Modes */
|
||||||
|
src: url('../fonts/inter-v12-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||||
|
url('../fonts/inter-v12-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
|
||||||
|
url('../fonts/inter-v12-latin-300.woff') format('woff'), /* Modern Browsers */
|
||||||
|
url('../fonts/inter-v12-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
|
||||||
|
url('../fonts/inter-v12-latin-300.svg#Inter') format('svg'); /* Legacy iOS */
|
||||||
|
}
|
||||||
|
/* inter-regular - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: url('../fonts/inter-v12-latin-regular.eot'); /* IE9 Compat Modes */
|
||||||
|
src: url('../fonts/inter-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||||
|
url('../fonts/inter-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
|
||||||
|
url('../fonts/inter-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
|
||||||
|
url('../fonts/inter-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
|
||||||
|
url('../fonts/inter-v12-latin-regular.svg#Inter') format('svg'); /* Legacy iOS */
|
||||||
|
}
|
||||||
|
/* inter-600 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 600;
|
||||||
|
src: url('../fonts/inter-v12-latin-600.eot'); /* IE9 Compat Modes */
|
||||||
|
src: url('../fonts/inter-v12-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||||
|
url('../fonts/inter-v12-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
|
||||||
|
url('../fonts/inter-v12-latin-600.woff') format('woff'), /* Modern Browsers */
|
||||||
|
url('../fonts/inter-v12-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
|
||||||
|
url('../fonts/inter-v12-latin-600.svg#Inter') format('svg'); /* Legacy iOS */
|
||||||
|
}
|
@@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
label: Blog post
|
|
||||||
hide_body: false
|
|
||||||
fields:
|
|
||||||
- type: text
|
|
||||||
name: author
|
|
||||||
label: author
|
|
||||||
- type: text
|
|
||||||
name: title
|
|
||||||
label: title
|
|
||||||
- type: text
|
|
||||||
name: description
|
|
||||||
label: description
|
|
||||||
- type: list
|
|
||||||
name: tags
|
|
||||||
label: tags
|
|
||||||
- type: datetime
|
|
||||||
name: date
|
|
||||||
label: date
|
|
||||||
- type: file
|
|
||||||
name: thumbnail
|
|
||||||
label: thumbnail
|
|
||||||
- type: textarea
|
|
||||||
name: credits
|
|
||||||
label: credits
|
|
@@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
label: Project
|
|
||||||
hide_body: false
|
|
||||||
fields:
|
|
||||||
- type: text
|
|
||||||
name: author
|
|
||||||
label: author
|
|
||||||
- type: text
|
|
||||||
name: title
|
|
||||||
label: title
|
|
||||||
- type: datetime
|
|
||||||
name: date
|
|
||||||
label: date
|
|
||||||
- type: text
|
|
||||||
name: description
|
|
||||||
label: description
|
|
||||||
- type: list
|
|
||||||
name: tags
|
|
||||||
label: tags
|
|
||||||
- type: file
|
|
||||||
name: thumbnail
|
|
||||||
label: thumbnail
|
|
||||||
- type: textarea
|
|
||||||
name: credits
|
|
||||||
label: credits
|
|
@@ -1,40 +0,0 @@
|
|||||||
---
|
|
||||||
new_page_extension: md
|
|
||||||
auto_deploy: false
|
|
||||||
admin_path:
|
|
||||||
webhook_url:
|
|
||||||
sections:
|
|
||||||
- type: directory
|
|
||||||
path: content/en/blog
|
|
||||||
label: Blog
|
|
||||||
create: all
|
|
||||||
match: "**/*"
|
|
||||||
templates:
|
|
||||||
- blog-post
|
|
||||||
- type: directory
|
|
||||||
path: content/en/projects
|
|
||||||
label: Projects
|
|
||||||
create: all
|
|
||||||
match: "**/*"
|
|
||||||
templates:
|
|
||||||
- project
|
|
||||||
- type: document
|
|
||||||
path: content/en/about.md
|
|
||||||
label: About
|
|
||||||
upload_dir: assets/img
|
|
||||||
public_path: "/img"
|
|
||||||
front_matter_path: ''
|
|
||||||
use_front_matter_path: false
|
|
||||||
file_template: ":filename:"
|
|
||||||
build:
|
|
||||||
preview_env:
|
|
||||||
- HUGO_ENV=staging
|
|
||||||
- HUGO_VERSION=0.92.2
|
|
||||||
- HUGO_ENABLEGITINFO=true
|
|
||||||
preview_output_directory: public
|
|
||||||
install_dependencies_command: npm install
|
|
||||||
preview_docker_image: forestryio/hugo:node16
|
|
||||||
mount_path: "/srv"
|
|
||||||
working_dir: "/srv"
|
|
||||||
instant_preview_command: npm run start
|
|
||||||
version: 0.81.0
|
|
120
config/_default/hugo.toml
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
# toml-docs-start main
|
||||||
|
title = "Hinode"
|
||||||
|
copyright = "Copyright © 2023 Mark Dumay."
|
||||||
|
paginate = 9
|
||||||
|
enableGitInfo = true
|
||||||
|
# toml-docs-end main
|
||||||
|
|
||||||
|
# additional settings
|
||||||
|
# googleAnalytics = "G-xxxxxxxxxx"
|
||||||
|
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
|
||||||
|
ignoreErrors = ["error-remote-getjson"]
|
||||||
|
|
||||||
|
# toml-docs-start timeout
|
||||||
|
timeout = "180s"
|
||||||
|
# toml-docs-end timeout
|
||||||
|
|
||||||
|
# toml-docs-start language
|
||||||
|
languageCode = "en-us"
|
||||||
|
defaultContentLanguage = "en"
|
||||||
|
defaultContentLanguageInSubdir = false
|
||||||
|
# toml-docs-end language
|
||||||
|
|
||||||
|
# toml-docs-start redirect
|
||||||
|
[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 build
|
||||||
|
[build]
|
||||||
|
writeStats = true
|
||||||
|
# toml-docs-end build
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
tag = 'tags'
|
||||||
|
|
||||||
|
[privacy]
|
||||||
|
[privacy.vimeo]
|
||||||
|
disabled = false
|
||||||
|
simple = true
|
||||||
|
|
||||||
|
[privacy.twitter]
|
||||||
|
disabled = false
|
||||||
|
enableDNT = true
|
||||||
|
simple = true
|
||||||
|
|
||||||
|
[privacy.instagram]
|
||||||
|
disabled = false
|
||||||
|
simple = true
|
||||||
|
|
||||||
|
[privacy.youtube]
|
||||||
|
disabled = false
|
||||||
|
privacyEnhanced = true
|
||||||
|
|
||||||
|
[services]
|
||||||
|
[services.instagram]
|
||||||
|
disableInlineCSS = true
|
||||||
|
[services.twitter]
|
||||||
|
disableInlineCSS = true
|
||||||
|
|
||||||
|
[outputFormats]
|
||||||
|
[outputFormats.XML]
|
||||||
|
isPlainText = false
|
||||||
|
mediaType = "application/xml"
|
||||||
|
isHtml = false
|
||||||
|
noUgly = true
|
||||||
|
permalinkable = false
|
||||||
|
name = "xml"
|
||||||
|
|
||||||
|
[module]
|
||||||
|
[module.hugoVersion]
|
||||||
|
extended = true
|
||||||
|
min = "0.110.0"
|
||||||
|
max = ""
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "archetypes"
|
||||||
|
target = "archetypes"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "assets"
|
||||||
|
target = "assets"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "i18n"
|
||||||
|
target = "i18n"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "layouts"
|
||||||
|
target = "layouts"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "static"
|
||||||
|
target = "static"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "netlify.toml"
|
||||||
|
target = "assets/config/netlify.toml"
|
||||||
|
# toml-docs-start modules
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-bootstrap"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-flexsearch"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-fontawesome"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-katex"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-leaflet"
|
||||||
|
# toml-docs-end modules
|
@@ -1,31 +1,15 @@
|
|||||||
# toml-docs-start lang-main
|
# toml-docs-start lang-main
|
||||||
[en]
|
[en]
|
||||||
languageName = "English"
|
languageName = "English"
|
||||||
contentDir = "content/en"
|
contentDir = "content"
|
||||||
weight = 1
|
weight = 1
|
||||||
# toml-docs-end lang-main
|
# toml-docs-end lang-main
|
||||||
# toml-docs-start lang-param
|
# toml-docs-start lang-param
|
||||||
[en.params.head]
|
[en.params.head]
|
||||||
tagline = "A Hugo Theme"
|
tagline = "A Hugo Theme"
|
||||||
[en.params.feature]
|
[en.params.social]
|
||||||
link = "/en/about"
|
title = "Follow me"
|
||||||
caption = "About"
|
caption = "I work on everything coding and tweet developer memes"
|
||||||
[en.params.footer]
|
[en.params.footer]
|
||||||
license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank'>CC BY-NC-SA 4.0</a>)."
|
# 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"
|
|
||||||
# toml-docs-end lang-param
|
# toml-docs-end lang-param
|
||||||
|
|
||||||
[nl]
|
|
||||||
languageName = "Nederlands"
|
|
||||||
contentDir = "content/nl"
|
|
||||||
weight = 2
|
|
||||||
[nl.params.head]
|
|
||||||
tagline = "Een Hugo Thema"
|
|
||||||
[nl.params.feature]
|
|
||||||
link = "/nl/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'>CC BY-NC-SA 4.0</a>)."
|
|
||||||
socialTitle = "Volg mij"
|
|
||||||
socialCaption = "Ik doe aan programmeren en tweet memes"
|
|
@@ -1,73 +1,51 @@
|
|||||||
[[main]]
|
[[main]]
|
||||||
name = "About"
|
name = "Home"
|
||||||
url = "/about/"
|
pageRef = "/"
|
||||||
weight = 10
|
weight = 10
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Blog"
|
|
||||||
url = "/blog/"
|
|
||||||
weight = 20
|
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Projects"
|
|
||||||
url = "/projects/"
|
|
||||||
weight = 30
|
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Sample project"
|
|
||||||
url = "/en/projects/sample-project/"
|
|
||||||
parent = "Projects"
|
|
||||||
weight = 1
|
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Another project"
|
|
||||||
url = "/en/projects/another-project/"
|
|
||||||
parent = "Projects"
|
|
||||||
weight = 2
|
|
||||||
|
|
||||||
[[main]]
|
[[main]]
|
||||||
name = "Tags"
|
name = "Tags"
|
||||||
url = "/tags/"
|
pageRef = "/tags"
|
||||||
weight = 40
|
weight = 20
|
||||||
|
|
||||||
[[social]]
|
[[social]]
|
||||||
name = "LinkedIn"
|
name = "LinkedIn"
|
||||||
pre = "<i class=\"fab fa-linkedin fa-2x\"></i>"
|
pre = "fab linkedin"
|
||||||
url = "https://linkedin.com/"
|
url = "https://linkedin.com/"
|
||||||
weight = 10
|
weight = 10
|
||||||
|
|
||||||
[[social]]
|
[[social]]
|
||||||
name = "GitHub"
|
name = "GitHub"
|
||||||
pre = "<i class=\"fab fa-github fa-2x\"></i>"
|
pre = "fab fa-github"
|
||||||
url = "https://github.com/"
|
url = "https://github.com/"
|
||||||
weight = 20
|
weight = 20
|
||||||
|
|
||||||
[[social]]
|
[[social]]
|
||||||
name = "Medium"
|
name = "Medium"
|
||||||
pre = "<i class=\"fab fa-medium fa-2x\"></i>"
|
pre = "fab medium"
|
||||||
url = "https://medium.com/"
|
url = "https://medium.com/"
|
||||||
weight = 30
|
weight = 30
|
||||||
|
|
||||||
# toml-docs-start sample-navigation
|
# toml-docs-start sample-navigation
|
||||||
[[sample]]
|
[[sample]]
|
||||||
name = "Blog"
|
name = "Blog"
|
||||||
url = "/blog/"
|
pageRef = "/blog/"
|
||||||
weight = 10
|
weight = 10
|
||||||
|
|
||||||
[[sample]]
|
[[sample]]
|
||||||
name = "Projects"
|
name = "Projects"
|
||||||
url = "/projects/"
|
pageRef = "/projects/"
|
||||||
weight = 20
|
weight = 20
|
||||||
|
|
||||||
[[sample]]
|
[[sample]]
|
||||||
name = "Sample project"
|
name = "Sample project"
|
||||||
url = "/en/projects/sample-project/"
|
pageRef = "/projects/sample-project/"
|
||||||
parent = "Projects"
|
parent = "Projects"
|
||||||
weight = 1
|
weight = 1
|
||||||
|
|
||||||
[[sample]]
|
[[sample]]
|
||||||
name = "Another project"
|
name = "Another project"
|
||||||
url = "/en/projects/another-project/"
|
pageRef = "/projects/another-project/"
|
||||||
parent = "Projects"
|
parent = "Projects"
|
||||||
weight = 2
|
weight = 2
|
||||||
# toml-docs-end sample-navigation
|
# toml-docs-end sample-navigation
|
@@ -1,49 +0,0 @@
|
|||||||
[[main]]
|
|
||||||
name = "Over mij"
|
|
||||||
url = "/over-mij/"
|
|
||||||
weight = 10
|
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Blog"
|
|
||||||
url = "/blog/"
|
|
||||||
weight = 20
|
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Projecten"
|
|
||||||
url = "/projecten/"
|
|
||||||
weight = 30
|
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Voorbeeldproject"
|
|
||||||
url = "/nl/projecten/voorbeeldproject/"
|
|
||||||
parent = "Projecten"
|
|
||||||
weight = 1
|
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Ander project"
|
|
||||||
url = "/nl/projecten/ander-project/"
|
|
||||||
parent = "Projecten"
|
|
||||||
weight = 2
|
|
||||||
|
|
||||||
[[main]]
|
|
||||||
name = "Tags"
|
|
||||||
url = "/tags/"
|
|
||||||
weight = 40
|
|
||||||
|
|
||||||
[[social]]
|
|
||||||
name = "LinkedIn"
|
|
||||||
pre = "<i class=\"fab fa-linkedin fa-2x\"></i>"
|
|
||||||
url = "https://linkedin.com/"
|
|
||||||
weight = 10
|
|
||||||
|
|
||||||
[[social]]
|
|
||||||
name = "GitHub"
|
|
||||||
pre = "<i class=\"fab fa-github fa-2x\"></i>"
|
|
||||||
url = "https://github.com/"
|
|
||||||
weight = 20
|
|
||||||
|
|
||||||
[[social]]
|
|
||||||
name = "Medium"
|
|
||||||
pre = "<i class=\"fab fa-medium fa-2x\"></i>"
|
|
||||||
url = "https://medium.com/"
|
|
||||||
weight = 30
|
|
@@ -3,61 +3,121 @@
|
|||||||
separator = "-"
|
separator = "-"
|
||||||
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
|
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
|
||||||
enableDarkMode = true
|
enableDarkMode = true
|
||||||
|
modes = ["light", "dark"]
|
||||||
|
canonifyAssetsURLs = false
|
||||||
|
endorse = true
|
||||||
|
[main.externalLinks]
|
||||||
|
cue = false
|
||||||
|
tab = false
|
||||||
# toml-docs-end main
|
# 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 debugging
|
||||||
|
[debugging]
|
||||||
|
showJS = false
|
||||||
|
showSCSS = false
|
||||||
|
# toml-docs-end debugging
|
||||||
|
|
||||||
# toml-docs-start docs
|
# toml-docs-start docs
|
||||||
[docs]
|
[docs]
|
||||||
version = "0.8"
|
github = "https://github.com/gethinode/hinode"
|
||||||
basePath = ""
|
release = "https://github.com/gethinode/hinode/releases/tag/"
|
||||||
|
checkVersion = false
|
||||||
# toml-docs-end docs
|
# toml-docs-end docs
|
||||||
|
|
||||||
# toml-docs-start home
|
# toml-docs-start home
|
||||||
[home]
|
[home]
|
||||||
sections = ["blog", "projects"]
|
# sections = ["posts"]
|
||||||
featurePhoto = "/img/sunrise.jpg" # source: https://unsplash.com/photos/ZX6BPboJrYk
|
|
||||||
fullCover = false
|
fullCover = false
|
||||||
|
centerHeadline = false
|
||||||
|
style = ""
|
||||||
# toml-docs-end home
|
# toml-docs-end home
|
||||||
|
|
||||||
# toml-docs-start navigation
|
# toml-docs-start navigation
|
||||||
[navigation]
|
[navigation]
|
||||||
|
anchor = true
|
||||||
logo = "/img/logo_icon.svg"
|
logo = "/img/logo_icon.svg"
|
||||||
color = "body"
|
color = "body"
|
||||||
style = "light"
|
|
||||||
fixed = true
|
fixed = true
|
||||||
offset = "4em"
|
offset = "3.8em"
|
||||||
search = true
|
search = true
|
||||||
breadcrumb = false
|
breadcrumb = true
|
||||||
toc = true
|
toc = true
|
||||||
sidebar = true
|
sidebar = true
|
||||||
# toml-docs-end navigation
|
# toml-docs-end navigation
|
||||||
|
|
||||||
# toml-docs-start list
|
# toml-docs-start messages
|
||||||
[list]
|
[messages]
|
||||||
[blog]
|
placement = "bottom-right"
|
||||||
title = "Blog"
|
# toml-docs-end messages
|
||||||
sort = "date"
|
|
||||||
|
# toml-docs-start sharing
|
||||||
|
[sharing]
|
||||||
|
enabled = true
|
||||||
|
sort = "weight"
|
||||||
reverse = false
|
reverse = false
|
||||||
cols = 3
|
webshare = true
|
||||||
color = ""
|
|
||||||
padding = "0"
|
[[sharing.providers]]
|
||||||
header = "full"
|
name = "LinkedIn"
|
||||||
footer = "none"
|
url = "https://www.linkedin.com/sharing/share-offsite/?url={url}"
|
||||||
orientation = "stacked"
|
icon = "fab linkedin"
|
||||||
style = "border-0"
|
weight = 10
|
||||||
homepage = 3
|
|
||||||
[projects]
|
[[sharing.providers]]
|
||||||
title = "Projects"
|
name = "Twitter"
|
||||||
sort = "title"
|
url = "https://twitter.com/home?status={url}"
|
||||||
reverse = false
|
icon = "fab x-twitter"
|
||||||
cols = 1
|
weight = 20
|
||||||
color = ""
|
|
||||||
padding = "3"
|
[[sharing.providers]]
|
||||||
header = "none"
|
name = "Facebook"
|
||||||
footer = "tags"
|
url = "https://www.facebook.com/sharer.php?u={url}"
|
||||||
orientation = "none"
|
icon = "fab facebook"
|
||||||
style = "border-1 card-emphasize"
|
weight = 30
|
||||||
homepage = 3
|
|
||||||
# toml-docs-end list
|
[[sharing.providers]]
|
||||||
|
name = "WhatsApp"
|
||||||
|
url = "whatsapp://send?text={title}%20{url}"
|
||||||
|
icon = "fab whatsapp"
|
||||||
|
weight = 40
|
||||||
|
|
||||||
|
[[sharing.providers]]
|
||||||
|
name = "email"
|
||||||
|
url = "{url}"
|
||||||
|
icon = "fas link"
|
||||||
|
weight = 50
|
||||||
|
clipboard = true
|
||||||
|
# toml-docs-end sharing
|
||||||
|
|
||||||
|
# toml-docs-start sections
|
||||||
|
# [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"
|
||||||
|
# homepage = 3
|
||||||
|
# separator = true
|
||||||
|
# toml-docs-end sections
|
||||||
|
|
||||||
[favicon]
|
[favicon]
|
||||||
logo = "img/favicon.png"
|
logo = "img/favicon.png"
|
||||||
@@ -65,7 +125,7 @@
|
|||||||
|
|
||||||
# toml-docs-start theme-colors
|
# toml-docs-start theme-colors
|
||||||
[style]
|
[style]
|
||||||
primary = "#D43900"
|
primary = "#d43900"
|
||||||
secondary = "#6c757d"
|
secondary = "#6c757d"
|
||||||
success = "#198754"
|
success = "#198754"
|
||||||
info = "#0dcaf0"
|
info = "#0dcaf0"
|
||||||
@@ -77,8 +137,12 @@
|
|||||||
themeOpacity = "10"
|
themeOpacity = "10"
|
||||||
# toml-docs-start font
|
# toml-docs-start font
|
||||||
themeFont = "Inter"
|
themeFont = "Inter"
|
||||||
themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap"
|
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
|
||||||
|
themeFontPath = "/fonts" # local path
|
||||||
# toml-docs-end font
|
# toml-docs-end font
|
||||||
|
# toml-docs-start build
|
||||||
|
purge = false
|
||||||
|
# toml-docs-end build
|
||||||
|
|
||||||
[schema]
|
[schema]
|
||||||
type = "Organization"
|
type = "Organization"
|
||||||
@@ -116,11 +180,4 @@
|
|||||||
#theme = ""
|
#theme = ""
|
||||||
|
|
||||||
[links]
|
[links]
|
||||||
bs_badge_heading = "https://getbootstrap.com/docs/5.2/components/badge/#headings"
|
hinode = "https://gethinode.com"
|
||||||
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"
|
|
||||||
|
|
||||||
|
@@ -8,14 +8,15 @@ for = '/**'
|
|||||||
Content-Security-Policy = """\
|
Content-Security-Policy = """\
|
||||||
default-src 'self'; \
|
default-src 'self'; \
|
||||||
script-src 'self' \
|
script-src 'self' \
|
||||||
https://utteranc.es/client.js; \
|
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; \
|
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
|
||||||
object-src 'none'; \
|
object-src 'none'; \
|
||||||
base-uri 'self'; \
|
base-uri 'self'; \
|
||||||
connect-src 'self'; \
|
connect-src 'self'
|
||||||
|
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
||||||
font-src 'self' https://fonts.gstatic.com; \
|
font-src 'self' https://fonts.gstatic.com; \
|
||||||
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
|
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
|
||||||
img-src 'self' https://i.vimeocdn.com https://i.ytimg.com; \
|
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
||||||
manifest-src 'self'; \
|
manifest-src 'self'; \
|
||||||
media-src 'self' \
|
media-src 'self' \
|
||||||
"""
|
"""
|
||||||
|
@@ -1,47 +1,43 @@
|
|||||||
const autoprefixer = require('autoprefixer');
|
const autoprefixer = require('autoprefixer')({})
|
||||||
const purgecss = require('@fullhuman/postcss-purgecss');
|
const cssnano = require('cssnano')({
|
||||||
const whitelister = require('purgecss-whitelister');
|
preset: 'advanced'
|
||||||
|
})
|
||||||
module.exports = {
|
const whitelister = require('purgecss-whitelister')
|
||||||
plugins: [
|
const purgecss = require('@fullhuman/postcss-purgecss')({
|
||||||
autoprefixer(),
|
content: ['./hugo_stats.json'],
|
||||||
purgecss({
|
defaultExtractor: (content) => {
|
||||||
content: [
|
const els = JSON.parse(content).htmlElements
|
||||||
'./layouts/**/*.html',
|
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
||||||
'./content/**/*.md',
|
},
|
||||||
],
|
dynamicAttributes: ['data-bs-theme'],
|
||||||
safelist: [
|
safelist: [
|
||||||
/lazyloaded/,
|
|
||||||
/table/,
|
|
||||||
/thead/,
|
|
||||||
/tbody/,
|
|
||||||
/tr/,
|
|
||||||
/th/,
|
|
||||||
/td/,
|
|
||||||
/h5/,
|
|
||||||
/alert-link/,
|
|
||||||
/container-xxl/,
|
|
||||||
/container-fluid/,
|
|
||||||
/^bg-opacity-\d+/,
|
|
||||||
/svg.*/,
|
|
||||||
/fa.*/,
|
|
||||||
/ratio.*/,
|
|
||||||
/suggestion.*/,
|
|
||||||
...whitelister([
|
...whitelister([
|
||||||
'./assets/scss/components/_blockquote.scss',
|
|
||||||
'./assets/scss/components/_buttons.scss',
|
|
||||||
'./assets/scss/components/_card.scss',
|
|
||||||
'./assets/scss/components/_clipboard.scss',
|
'./assets/scss/components/_clipboard.scss',
|
||||||
'./assets/scss/components/_img.scss',
|
'./assets/scss/components/_command.scss',
|
||||||
'./assets/scss/components/_navbar.scss',
|
'./assets/scss/components/_navbar.scss',
|
||||||
'./assets/scss/components/_search.scss',
|
'./assets/scss/components/_search.scss',
|
||||||
'./assets/scss/components/_syntax.scss',
|
'./assets/scss/components/_syntax.scss',
|
||||||
'./assets/scss/layouts/_reboot.scss',
|
'./assets/scss/components/_syntax-dark.scss',
|
||||||
'./assets/scss/layouts/type.scss',
|
'./assets/scss/components/_syntax-light.scss',
|
||||||
'./node_modules/bootstrap/scss/_dropdown.scss',
|
'./assets/scss/theme/fonts.scss',
|
||||||
'./node_modules/bootstrap/scss/_utilities.scss',
|
'./assets/scss/theme/theme.scss',
|
||||||
]),
|
'./_vendor/github.com/gethinode/mod-flexsearch/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/twbs/bootstrap/scss/_carousel.scss',
|
||||||
|
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.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',
|
||||||
|
'./_vendor/github.com/twbs/bootstrap/scss/_utilities.scss'
|
||||||
|
])
|
||||||
|
]
|
||||||
|
})
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
plugins: [
|
||||||
|
autoprefixer,
|
||||||
|
cssnano,
|
||||||
|
purgecss
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
canonifyURLs = false
|
|
13
content/_index.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
title: Welcome to Hinode!
|
||||||
|
thumbnail:
|
||||||
|
url: /img/sunrise.jpg
|
||||||
|
author: Harris Vo
|
||||||
|
authorURL: https://unsplash.com/@hoanvokim
|
||||||
|
origin: https://unsplash.com/photos/ZX6BPboJrYk
|
||||||
|
originName: Unsplash
|
||||||
|
---
|
||||||
|
|
||||||
|
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
||||||
|
|
||||||
|
{{< button href="https://gethinode.com/docs" icon="fas book-open" order="first" >}}Get Started{{< /button>}}
|
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
author: Mark Dumay
|
|
||||||
title: Welcome to Hinode!
|
|
||||||
---
|
|
||||||
|
|
||||||
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
|
@@ -1,58 +0,0 @@
|
|||||||
---
|
|
||||||
author: "Mark Dumay"
|
|
||||||
title: "Code Highlighting"
|
|
||||||
date: 2022-04-16
|
|
||||||
description: "Examples on how to enable code highlighting."
|
|
||||||
tags: ["code"]
|
|
||||||
thumbnail: img/notepad.jpg
|
|
||||||
photoCredits: <a href="https://unsplash.com/@frederickjmedina">Frederick Medina</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/PdfRE-xB--s">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
## Code Fencing
|
|
||||||
|
|
||||||
Use code fencing to highlight the syntax of a specific language.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"themes": [],
|
|
||||||
"projects": [],
|
|
||||||
"configuration": {}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
```html
|
|
||||||
<div class="highlight">
|
|
||||||
<pre>
|
|
||||||
<code>some code...</code>
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
```
|
|
||||||
|
|
||||||
## Highlight Shortcode
|
|
||||||
|
|
||||||
Use the `highlight` shortcode to customize the layout of a specific code block.
|
|
||||||
|
|
||||||
{{< highlight go "linenos=table,hl_lines=8 15-17,linenostart=199" >}}
|
|
||||||
// GetTitleFunc returns a func that can be used to transform a string to
|
|
||||||
// title case.
|
|
||||||
//
|
|
||||||
// The supported styles are
|
|
||||||
//
|
|
||||||
// - "Go" (strings.Title)
|
|
||||||
// - "AP" (see https://www.apstylebook.com/)
|
|
||||||
// - "Chicago" (see https://www.chicagomanualofstyle.org/home.html)
|
|
||||||
//
|
|
||||||
// If an unknown or empty style is provided, AP style is what you get.
|
|
||||||
func GetTitleFunc(style string) func(s string) string {
|
|
||||||
switch strings.ToLower(style) {
|
|
||||||
case "go":
|
|
||||||
return strings.Title
|
|
||||||
case "chicago":
|
|
||||||
return transform.NewTitleConverter(transform.ChicagoStyle)
|
|
||||||
default:
|
|
||||||
return transform.NewTitleConverter(transform.APStyle)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{{< / highlight >}}
|
|
@@ -1,24 +0,0 @@
|
|||||||
---
|
|
||||||
author: "Hugo Authors"
|
|
||||||
title: "Emoji Support"
|
|
||||||
date: 2021-07-15
|
|
||||||
description: "Guide to emoji usage in Hugo."
|
|
||||||
tags: ["emoji"]
|
|
||||||
# thumbnail: img/dunes.jpg
|
|
||||||
thumbnail: https://picsum.photos/id/184/4288/2848.jpg
|
|
||||||
photoCredits: <a href="https://unsplash.com/@timdegroot">Tim de Groot</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/yNGQ830uFB4">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
Emoji can be enabled in a Hugo project in a number of ways.
|
|
||||||
|
|
||||||
<!--more-->
|
|
||||||
|
|
||||||
The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
|
|
||||||
|
|
||||||
To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.
|
|
||||||
|
|
||||||
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.
|
|
@@ -1,165 +0,0 @@
|
|||||||
---
|
|
||||||
author: Hugo Authors
|
|
||||||
title: Markdown Syntax Guide
|
|
||||||
description: Use Markdown syntax and basic HTML elements to style your Hugo content files.
|
|
||||||
tags: ["markdown", "css", "html"]
|
|
||||||
date: 2022-01-14
|
|
||||||
thumbnail: img/phone.jpg # https://picsum.photos/id/160/3200/2119
|
|
||||||
photoCredits: <a href="https://unsplash.com/@thomweerd">Thom</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/Zdcq3iKly6g">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
|
|
||||||
|
|
||||||
<!--more-->
|
|
||||||
|
|
||||||
## Headings
|
|
||||||
|
|
||||||
The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
|
|
||||||
|
|
||||||
<!-- markdownlint-disable-next-line -->
|
|
||||||
# H1
|
|
||||||
|
|
||||||
## H2
|
|
||||||
|
|
||||||
### H3
|
|
||||||
|
|
||||||
#### H4
|
|
||||||
|
|
||||||
##### H5
|
|
||||||
|
|
||||||
###### H6
|
|
||||||
|
|
||||||
## Paragraph
|
|
||||||
|
|
||||||
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
|
|
||||||
|
|
||||||
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
|
|
||||||
|
|
||||||
## Blockquotes
|
|
||||||
|
|
||||||
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
|
|
||||||
|
|
||||||
### Blockquote without attribution
|
|
||||||
|
|
||||||
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
|
|
||||||
> **Note** that you can use _Markdown syntax_ within a blockquote.
|
|
||||||
{.blockquote}
|
|
||||||
|
|
||||||
### Blockquote with attribution
|
|
||||||
|
|
||||||
> Don't communicate by sharing memory, share memory by communicating.<br>
|
|
||||||
> — <cite>Rob Pike[^1]</cite>
|
|
||||||
{.blockquote}
|
|
||||||
|
|
||||||
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
|
|
||||||
|
|
||||||
<figure>
|
|
||||||
<blockquote class="blockquote">
|
|
||||||
<p>A well-known quote, contained in a blockquote element.</p>
|
|
||||||
</blockquote>
|
|
||||||
<figcaption class="blockquote-footer">
|
|
||||||
Someone famous in <cite title="Source Title">Source Title</cite>
|
|
||||||
</figcaption>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
## Tables
|
|
||||||
|
|
||||||
Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.
|
|
||||||
|
|
||||||
| Name | Age |
|
|
||||||
| ----- | --- |
|
|
||||||
| Bob | 27 |
|
|
||||||
| Alice | 23 |
|
|
||||||
{.table}
|
|
||||||
|
|
||||||
### Inline Markdown within tables
|
|
||||||
|
|
||||||
| Italics | Bold | Code |
|
|
||||||
| --------- | -------- | ------ |
|
|
||||||
| _italics_ | **bold** | `code` |
|
|
||||||
{.table}
|
|
||||||
|
|
||||||
## Code Blocks
|
|
||||||
|
|
||||||
### Code block with backticks
|
|
||||||
|
|
||||||
```html
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Example HTML5 Document</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p>Test</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
```
|
|
||||||
|
|
||||||
<!-- markdownlint-disable MD046 -->
|
|
||||||
### Code block indented with four spaces
|
|
||||||
|
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Example HTML5 Document</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p>Test</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
<!-- markdownlint-enable MD046 -->
|
|
||||||
|
|
||||||
### Code block with Hugo's internal highlight shortcode
|
|
||||||
|
|
||||||
{{< highlight html >}}
|
|
||||||
|
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Example HTML5 Document</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p>Test</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
{{< /highlight >}}
|
|
||||||
|
|
||||||
## List Types
|
|
||||||
|
|
||||||
### Ordered List
|
|
||||||
|
|
||||||
1. First item
|
|
||||||
2. Second item
|
|
||||||
3. Third item
|
|
||||||
|
|
||||||
### Unordered List
|
|
||||||
|
|
||||||
- List item
|
|
||||||
- Another item
|
|
||||||
- And another item
|
|
||||||
|
|
||||||
### Nested list
|
|
||||||
|
|
||||||
- Fruit
|
|
||||||
- Apple
|
|
||||||
- Orange
|
|
||||||
- Banana
|
|
||||||
- Dairy
|
|
||||||
- Milk
|
|
||||||
- Cheese
|
|
||||||
|
|
||||||
## Other Elements — abbr, sub, sup, kbd, mark
|
|
||||||
|
|
||||||
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
|
|
||||||
|
|
||||||
H<sub>2</sub>O
|
|
||||||
|
|
||||||
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
|
|
||||||
|
|
||||||
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
|
|
||||||
|
|
||||||
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
|
|
@@ -1,34 +0,0 @@
|
|||||||
---
|
|
||||||
author: "Hugo Authors"
|
|
||||||
title: "Rich Content"
|
|
||||||
date: 2021-07-13
|
|
||||||
description: "A brief description of Hugo Shortcodes."
|
|
||||||
tags: ["shortcode", "privacy"]
|
|
||||||
thumbnail: img/flowers.jpg # https://picsum.photos/id/106/2592/1728
|
|
||||||
photoCredits: <a href="https://unsplash.com/@flutterhappy">Arvee Marie</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/YnfGtpt2gf4">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds.
|
|
||||||
|
|
||||||
## <!--more-->
|
|
||||||
|
|
||||||
## YouTube Privacy Enhanced Shortcode
|
|
||||||
|
|
||||||
{{< youtube id="ZJthWmvUzzc" class="video">}}
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Twitter Simple Shortcode
|
|
||||||
|
|
||||||
{{< twitter_simple user="SanDiegoZoo" id="1453110110599868418" >}}
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Vimeo Simple Shortcode
|
|
||||||
|
|
||||||
{{< vimeo_simple id="48912912" class="__h_video" >}}
|
|
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
author: Mark Dumay
|
|
||||||
title: Welkom bij Hinode!
|
|
||||||
---
|
|
||||||
|
|
||||||
Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5.
|
|
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
author: Katheryn Fox
|
|
||||||
title: Blog
|
|
||||||
---
|
|
@@ -1,60 +0,0 @@
|
|||||||
---
|
|
||||||
author: "Mark Dumay"
|
|
||||||
slug: "code-markeren"
|
|
||||||
title: "Code markeren"
|
|
||||||
date: 2022-04-16
|
|
||||||
description: "Voorbeelden om de syntax van een taal te markeren."
|
|
||||||
tags: ["code"]
|
|
||||||
thumbnail: img/notepad.jpg
|
|
||||||
photoCredits: <a href="https://unsplash.com/@frederickjmedina">Frederick Medina</a>
|
|
||||||
# credits: Photo by <a href="https://unsplash.com/@frederickjmedina">Frederick Medina</a> on <a href="https://unsplash.com/photos/PdfRE-xB--s">Unsplash</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/PdfRE-xB--s">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
## Code Fencing
|
|
||||||
|
|
||||||
Gebruik code fencing om de syntax voor een specifieke taal te markeren.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"themes": [],
|
|
||||||
"projects": [],
|
|
||||||
"configuration": {}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
```html
|
|
||||||
<div class="highlight">
|
|
||||||
<pre>
|
|
||||||
<code>some code...</code>
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
```
|
|
||||||
|
|
||||||
## Highlight Shortcode
|
|
||||||
|
|
||||||
Gebruik de `highlight` shortcode om de lay-out van een taalfragment aan te passen.
|
|
||||||
|
|
||||||
{{< highlight go "linenos=table,hl_lines=8 15-17,linenostart=199" >}}
|
|
||||||
// GetTitleFunc returns a func that can be used to transform a string to
|
|
||||||
// title case.
|
|
||||||
//
|
|
||||||
// The supported styles are
|
|
||||||
//
|
|
||||||
// - "Go" (strings.Title)
|
|
||||||
// - "AP" (see https://www.apstylebook.com/)
|
|
||||||
// - "Chicago" (see https://www.chicagomanualofstyle.org/home.html)
|
|
||||||
//
|
|
||||||
// If an unknown or empty style is provided, AP style is what you get.
|
|
||||||
func GetTitleFunc(style string) func(s string) string {
|
|
||||||
switch strings.ToLower(style) {
|
|
||||||
case "go":
|
|
||||||
return strings.Title
|
|
||||||
case "chicago":
|
|
||||||
return transform.NewTitleConverter(transform.ChicagoStyle)
|
|
||||||
default:
|
|
||||||
return transform.NewTitleConverter(transform.APStyle)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{{< / highlight >}}
|
|
@@ -1,204 +0,0 @@
|
|||||||
---
|
|
||||||
author: "Mark Dumay"
|
|
||||||
title: "Extra shortcodes"
|
|
||||||
date: 2022-12-05
|
|
||||||
modified: 2022-12-31
|
|
||||||
description: "Beschikbare shortcodes die gebruik maken van Bootstrap componenten en vormgeving."
|
|
||||||
tags: ["bootstrap", "shortcode"]
|
|
||||||
thumbnail: img/boots.jpg
|
|
||||||
photoCredits: <a href="https://unsplash.com/@nate_dumlao">Nathan Dumlao</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/QLPWQvHvmII">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
Bootstrap is een open-source raamwerk voor het ontwikkelen van websites gemaakt door Twitter. Het volgt een aanpak die geschikt is voor meerdere schermformaten, inclusief mobiele apparaten. Bootstrap bevat een uitgebreide collectie van direct bruikbare componenten, zoals navigatiemenu's, paginering, knoppen, en nog veel meer. Om het gebruik hiervan in markdown pagina's te vergemakkelijken, stelt Hinode enkele van deze componenten beschikbaar als Hugo shortcode. De onderstaande paragrafen bieden een overzicht en uitleg van de beschikbare shortcodes.
|
|
||||||
|
|
||||||
## Carousel Shortcode
|
|
||||||
|
|
||||||
Gebruik de `carousel` shortcode om een carousel van meerdere plaatjes te tonen, analoog aan de [Image Shortcode](#image-shortcode). De shortcode ondersteunt de volgende parameters:
|
|
||||||
|
|
||||||
| Parameter | Verplicht | Toelichting |
|
|
||||||
|-----------|-----------|-------------|
|
|
||||||
| ratio | Nee | Verhouding van het plaatje, de mogelijke waarden zijn "1x1", "4x3" (standaard), "16x9", en "21x9". |
|
|
||||||
| class | Nee | Optionele `class` waarde van het `carousel` element, bijvoorbeeld "w-75". |
|
|
||||||
{.table}
|
|
||||||
|
|
||||||
Voeg een `img` element toe voor elke pagina van de carousel. Het `img` element ondersteunt de volgende parameters:
|
|
||||||
|
|
||||||
| Parameter | Verplicht | Toelichting |
|
|
||||||
|-----------|-----------|-------------|
|
|
||||||
| src | Ja | Verplichte url van het plaatje, bijvoorbeeld "img/boots.jpg" of "https://picsum.photos/id/27/3264/1836". |
|
|
||||||
| caption | Nee | Optionele beschrijving van het plaatje. Het plaatje wordt iets donkerder gemaakt om het contrast te verhogen. Op kleinere schermen wordt de beschrijving weggelaten. |
|
|
||||||
{.table}
|
|
||||||
|
|
||||||
Ter illustratie toont de volgende shortcode een carousel met drie pagina's in een verhouding van 16x9 en een relatieve breedte van 67% voor grote schermen.
|
|
||||||
|
|
||||||
```html
|
|
||||||
{{</* carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" */>}}
|
|
||||||
{{</* img src="img/coffee.jpg" caption="slide 1" */>}}
|
|
||||||
{{</* img src="img/phone.jpg" caption="slide 2" */>}}
|
|
||||||
{{</* img src="img/dunes.jpg" caption="slide 3" */>}}
|
|
||||||
{{</* /carousel */>}}
|
|
||||||
```
|
|
||||||
|
|
||||||
Het resultaat ziet er als volgt uit:
|
|
||||||
{{< carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" >}}
|
|
||||||
{{< img src="img/coffee.jpg" caption="slide 1" >}}
|
|
||||||
{{< img src="img/phone.jpg" caption="slide 2" >}}
|
|
||||||
{{< img src="img/dunes.jpg" caption="slide 3" >}}
|
|
||||||
{{< /carousel >}}
|
|
||||||
|
|
||||||
## Command Prompt Shortcode
|
|
||||||
|
|
||||||
De `command` shortcode simuleert een terminal voor `bash`, `powershell` of `sql` shell talen. De shortcode ondersteunt de volgende parameters:
|
|
||||||
|
|
||||||
| Parameter | Verplicht | Toelichting |
|
|
||||||
|-----------|----------|-------------|
|
|
||||||
| user | Nee | Optionele gebruiker om toe te voegen aan de prompt, bijvoorbeeld "user". |
|
|
||||||
| host | Nee | Optionele omgeving om toe te voegen aan de prompt, bijvoorbeeld "localhost". |
|
|
||||||
| prompt | Nee | Optionele vervanging van de prompt, bijvoorbeeld "PS C:\Users\User>". |
|
|
||||||
| shell | Nee | Type shell, met ondersteuning voor "bash" (standaard), "powershell", of "sql". |
|
|
||||||
{.table}
|
|
||||||
|
|
||||||
### Bash (standaard shell)
|
|
||||||
|
|
||||||
Gebruik de `command` shortcode om een bash terminal te simuleren.
|
|
||||||
|
|
||||||
```html
|
|
||||||
{{%/* command */%}}
|
|
||||||
export MY_VAR=123
|
|
||||||
{{%/* /command */%}}
|
|
||||||
```
|
|
||||||
|
|
||||||
Het resultaat ziet er als volgt uit:
|
|
||||||
{{% command %}}
|
|
||||||
export MY_VAR=123
|
|
||||||
{{% /command %}}
|
|
||||||
|
|
||||||
Gebruik `user` en `host` om de gebruikerscontext mee te geven aan de prompt. Maak daarnaast gebruik van `(out)` om output aan te geven, met `\` als markering van een bijbehorende regel.
|
|
||||||
|
|
||||||
```html
|
|
||||||
{{%/* command user="user" host="localhost" */%}}
|
|
||||||
export MY_VAR=123
|
|
||||||
echo "hello"
|
|
||||||
(out)hello
|
|
||||||
echo one \
|
|
||||||
two \
|
|
||||||
three
|
|
||||||
(out)one two three
|
|
||||||
echo "goodbye"
|
|
||||||
(out)goodbye
|
|
||||||
{{%/* /command */%}}
|
|
||||||
```
|
|
||||||
|
|
||||||
Het resultaat ziet er als volgt uit:
|
|
||||||
{{% command user="user" host="localhost" %}}
|
|
||||||
export MY_VAR=123
|
|
||||||
echo "hello"
|
|
||||||
(out)hello
|
|
||||||
echo one \
|
|
||||||
two \
|
|
||||||
three
|
|
||||||
(out)one two three
|
|
||||||
echo "goodbye"
|
|
||||||
(out)goodbye
|
|
||||||
{{% /command %}}
|
|
||||||
|
|
||||||
### PowerShell
|
|
||||||
|
|
||||||
Geef `powershell` op als waarde voor het argument `shell` om een PowerShell terminal te simuleren. Je kunt `prompt` aanpassen om een eventule directory aan te geven. Het backtick `` ` `` symbool geeft aan dat het commando doorgaat op de volgende regel.
|
|
||||||
|
|
||||||
```html
|
|
||||||
{{%/* command prompt="PS C:\Users\User>" shell="powershell" */%}}
|
|
||||||
Write-Host `
|
|
||||||
'Hello' `
|
|
||||||
'from' `
|
|
||||||
'PowerShell!'
|
|
||||||
(out)Hello from PowerShell!
|
|
||||||
Write-Host 'Goodbye from PowerShell!'
|
|
||||||
(out)Goodbye from PowerShell!
|
|
||||||
{{%/* /command */%}}
|
|
||||||
```
|
|
||||||
|
|
||||||
Het resultaat ziet er als volgt uit:
|
|
||||||
{{% command prompt="PS C:\Users\User>" shell="powershell" %}}
|
|
||||||
Write-Host `
|
|
||||||
'Hello' `
|
|
||||||
'from' `
|
|
||||||
'PowerShell!'
|
|
||||||
(out)Hello from PowerShell!
|
|
||||||
Write-Host 'Goodbye from PowerShell!'
|
|
||||||
(out)Goodbye from PowerShell!
|
|
||||||
{{% /command %}}
|
|
||||||
|
|
||||||
### SQL
|
|
||||||
|
|
||||||
Geef `sql` op als waarde voor het argument `shell` om een SQL terminal te simuleren. Gebruik `(con)` als markering van een bijbehorende regel.
|
|
||||||
|
|
||||||
```html
|
|
||||||
{{%/* command prompt="mysql>" shell="sql" */%}}
|
|
||||||
set @my_var = 'foo';
|
|
||||||
set @my_other_var = 'bar';
|
|
||||||
CREATE TABLE people ((con)
|
|
||||||
first_name VARCHAR(30) NOT NULL,(con)
|
|
||||||
last_name VARCHAR(30) NOT NULL(con)
|
|
||||||
);
|
|
||||||
(out)Query OK, 0 rows affected (0.09 sec)
|
|
||||||
insert into people(con)
|
|
||||||
values ('John', 'Doe');
|
|
||||||
(out)Query OK, 1 row affected (0.02 sec)
|
|
||||||
select *(con)
|
|
||||||
from people(con)
|
|
||||||
order by last_name;
|
|
||||||
(out)+------------+-----------+
|
|
||||||
(out)| first_name | last_name |
|
|
||||||
(out)+------------+-----------+
|
|
||||||
(out)| John | Doe |
|
|
||||||
(out)+------------+-----------+
|
|
||||||
(out)1 row in set (0.00 sec)
|
|
||||||
{{%/* /command */%}}
|
|
||||||
```
|
|
||||||
|
|
||||||
Het resultaat ziet er als volgt uit:
|
|
||||||
{{% command prompt="mysql>" shell="sql" %}}
|
|
||||||
set @my_var = 'foo';
|
|
||||||
set @my_other_var = 'bar';
|
|
||||||
CREATE TABLE people ((con)
|
|
||||||
first_name VARCHAR(30) NOT NULL,(con)
|
|
||||||
last_name VARCHAR(30) NOT NULL(con)
|
|
||||||
);
|
|
||||||
(out)Query OK, 0 rows affected (0.09 sec)
|
|
||||||
insert into people(con)
|
|
||||||
values ('John', 'Doe');
|
|
||||||
(out)Query OK, 1 row affected (0.02 sec)
|
|
||||||
select *(con)
|
|
||||||
from people(con)
|
|
||||||
order by last_name;
|
|
||||||
(out)+------------+-----------+
|
|
||||||
(out)| first_name | last_name |
|
|
||||||
(out)+------------+-----------+
|
|
||||||
(out)| John | Doe |
|
|
||||||
(out)+------------+-----------+
|
|
||||||
(out)1 row in set (0.00 sec)
|
|
||||||
{{% /command %}}
|
|
||||||
|
|
||||||
## Image Shortcode
|
|
||||||
|
|
||||||
Gebruik de `image` shortcode om een adaptief plaatje met een specifieke verhouding te tonen. De bron kan verwijzen naar een bestand in de `/assets/img` folder van je website of naar een publieke weblocatie. De shortcode genereert het plaatje als een zogenaamde [image set]({{< param "links.mozilla_image" >}}) om deze te optimaliseren voor meerdere schermformaten en verschillende resoluties. Achter de schermen converteert Hugo de plaatjes naar een `WebP` bestandsformaat en slaat deze op in een lokale folder (`resources` of `public`). De kwaliteit van het plaatje kan worden opgegeven in de sectie `[imaging]` van de site [configuratie]({{< param "links.hugo_imaging" >}}) (75 is de standaardwaarde). De geschikte bestandsformaten zijn `.png`, `.jpeg`, `.gif`, `.tiff`, `.bmp` en `.webp`. Een plaatje in het formaat `.jpeg` is beschikbaar voor oudere browsers. De shortcode ondersteunt de volgende parameters:
|
|
||||||
|
|
||||||
| Parameter | Verplicht | Toelichting |
|
|
||||||
|-----------|----------|-------------|
|
|
||||||
| src | Ja | Verplichte url van het plaatje, bijvoorbeeld "img/boots.jpg" of "https://picsum.photos/id/27/3264/1836". |
|
|
||||||
| ratio | Nee | Verhouding van het plaatje, de mogelijke waarden zijn "1x1", "4x3", "16x9", en "21x9". Indien opgegeven wordt het plaatje bijgesneden en verkleind om te voldoen aan de ratio. Als de verhouding niet is opgegeven dan wordt de verhouding van het originele bestand gebruikt. |
|
|
||||||
| class | Nee | Optionele `class` waarde van het `img` element, bijvoorbeeld "rounded". |
|
|
||||||
| title | Nee | Optionele beschrijving van het plaatje. |
|
|
||||||
| caption | Nee | Optioneel onderschrift van het plaatje. |
|
|
||||||
{.table}
|
|
||||||
|
|
||||||
Ter illustratie toont de volgende shortcode een plaatje met afgeronde hoeken en een verhouding van 21x9.
|
|
||||||
|
|
||||||
```html
|
|
||||||
{{</* image src="img/flowers.jpg" ratio="21x9" caption="Onderschrift" class="rounded" */>}}
|
|
||||||
```
|
|
||||||
|
|
||||||
Het resultaat ziet er als volgt uit:
|
|
||||||
{{< image src="img/flowers.jpg" ratio="21x9" caption="Onderschrift" class="rounded">}}
|
|
@@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
author: "Hugo Authors"
|
|
||||||
slug: "emoji-ondersteuning"
|
|
||||||
title: "Emoji ondersteuning"
|
|
||||||
date: 2021-07-15
|
|
||||||
description: "Gids voor het gebruik van emoji met Hugo."
|
|
||||||
tags: ["emoji"]
|
|
||||||
# thumbnail: img/dunes.jpg
|
|
||||||
thumbnail: https://picsum.photos/id/184/4288/2848.jpg
|
|
||||||
photoCredits: <a href="https://unsplash.com/@timdegroot">Tim de Groot</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/yNGQ830uFB4">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
Je kunt op meerdere manieren emoji gebruiken binnen Hugo.
|
|
||||||
|
|
||||||
<!--more-->
|
|
||||||
|
|
||||||
Je kunt de [`emojify`](https://gohugo.io/functions/emojify/) functie direct aanroepen vanuit een template of [Inline Shortcode](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
|
|
||||||
|
|
||||||
Zet de waarde `enableEmoji` op `true` in de globale [configuratie](https://gohugo.io/getting-started/configuration/) om emoji direct te kunnen gebruiken in content, bijvoorbeeld:
|
|
||||||
|
|
||||||
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
De [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) geeft een handig overzicht van alle beschikbare emoji codes.
|
|
@@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
author: "Hugo Authors"
|
|
||||||
slug: "markdown-syntax-handleiding"
|
|
||||||
title: "Markdown syntax handleiding"
|
|
||||||
description: "Een voorbeeldartikel die het gebruik van Markdown illustreert."
|
|
||||||
tags: ["markdown", "css", "html"]
|
|
||||||
date: 2022-01-14
|
|
||||||
thumbnail: img/phone.jpg # https://picsum.photos/id/160/3200/2119
|
|
||||||
photoCredits: <a href="https://unsplash.com/@thomweerd">Thom</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/Zdcq3iKly6g">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
Nunc porta nisi ac massa tincidunt, ac facilisis magna faucibus. Nullam consectetur luctus ante, sed venenatis quam malesuada id. Curabitur tempus semper elit, in euismod justo vestibulum nec. Nulla luctus, arcu non venenatis posuere, sapien dolor interdum massa, eget feugiat ipsum nulla sed orci. Vivamus sit amet gravida diam. Morbi aliquam urna et congue tincidunt. Vestibulum tincidunt libero non dolor viverra, non malesuada nisl ultricies. Fusce venenatis justo non nisl pretium auctor. Aliquam fermentum metus sem, porttitor auctor diam elementum a. Phasellus vel ornare ante. Nunc blandit dictum rhoncus.
|
|
||||||
|
|
||||||
Proin sagittis felis sed euismod interdum. Duis pellentesque tempus leo non luctus. Integer convallis ultricies rhoncus. Donec eu mauris eget justo dictum efficitur imperdiet et nibh. Sed ornare enim eros, et ornare sem accumsan sodales. Maecenas pellentesque sollicitudin massa quis varius. Integer et tempor arcu. Curabitur vitae varius metus, at luctus massa. Pellentesque fringilla neque congue ultricies fermentum. Curabitur vulputate eros eget eros pharetra dignissim. Morbi pulvinar iaculis tincidunt.
|
|
@@ -1,35 +0,0 @@
|
|||||||
---
|
|
||||||
author: "Hugo Authors"
|
|
||||||
slug: "multimedia"
|
|
||||||
title: "Multimedia"
|
|
||||||
date: 2021-07-13
|
|
||||||
description: "Een overzicht van enkele Hugo Shortcodes."
|
|
||||||
tags: ["shortcode", "privacy"]
|
|
||||||
thumbnail: img/flowers.jpg # https://picsum.photos/id/106/2592/1728
|
|
||||||
photoCredits: <a href="https://unsplash.com/@flutterhappy">Arvee Marie</a>
|
|
||||||
photoSource: <a href="https://unsplash.com/photos/YnfGtpt2gf4">Unsplash</a>
|
|
||||||
---
|
|
||||||
|
|
||||||
Hugo biedt diverse [shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) voor het toevoegen van multimedia, inclusief een [privacy configuratie](https://gohugo.io/about/hugo-and-gdpr/) en een verzameling van eenvoudige shortcodes voor het toevoegen van statische en no-JS versies van diverse sociale media.
|
|
||||||
|
|
||||||
## <!--more-->
|
|
||||||
|
|
||||||
## YouTube Privacy Enhanced Shortcode
|
|
||||||
|
|
||||||
{{< youtube id="ZJthWmvUzzc" class="video">}}
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Twitter Simple Shortcode
|
|
||||||
|
|
||||||
{{< twitter_simple user="SanDiegoZoo" id="1453110110599868418" >}}
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Vimeo Simple Shortcode
|
|
||||||
|
|
||||||
{{< vimeo_simple id="48912912" class="__h_video" >}}
|
|
@@ -1,11 +1,10 @@
|
|||||||
# toml-docs-start main
|
|
||||||
title = "Hinode"
|
title = "Hinode"
|
||||||
copyright = "Copyright © 2023 Mark Dumay."
|
copyright = "Copyright © 2023 Mark Dumay."
|
||||||
paginate = 9
|
paginate = 9
|
||||||
enableGitInfo = true
|
enableGitInfo = true
|
||||||
# toml-docs-end main
|
|
||||||
|
|
||||||
# additional settings
|
# additional settings
|
||||||
|
googleAnalytics = "G-T85PPZ36GN"
|
||||||
baseURL = "https://demo.gethinode.com/"
|
baseURL = "https://demo.gethinode.com/"
|
||||||
canonifyURLs = false
|
canonifyURLs = false
|
||||||
enableEmoji = true
|
enableEmoji = true
|
||||||
@@ -16,15 +15,26 @@ enableInlineShortcodes = true
|
|||||||
# See https://github.com/gohugoio/hugo/issues/7228#issuecomment-714490456
|
# See https://github.com/gohugoio/hugo/issues/7228#issuecomment-714490456
|
||||||
ignoreErrors = ["error-remote-getjson"]
|
ignoreErrors = ["error-remote-getjson"]
|
||||||
|
|
||||||
# toml-docs-start build
|
timeout = "180s"
|
||||||
timeout = "60s"
|
|
||||||
# toml-docs-end build
|
|
||||||
|
|
||||||
# toml-docs-start language
|
|
||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
defaultContentLanguage = "en"
|
defaultContentLanguage = "en"
|
||||||
defaultContentLanguageInSubdir = true
|
defaultContentLanguageInSubdir = true
|
||||||
# toml-docs-end language
|
|
||||||
|
[outputFormats.REDIR]
|
||||||
|
mediaType = "text/netlify"
|
||||||
|
baseName = "_redirects"
|
||||||
|
isPlainText = true
|
||||||
|
notAlternative = true
|
||||||
|
|
||||||
|
[mediaTypes."text/netlify"]
|
||||||
|
delimiter = ""
|
||||||
|
|
||||||
|
[outputs]
|
||||||
|
home = ["HTML", "RSS", "REDIR"]
|
||||||
|
|
||||||
|
[build]
|
||||||
|
writeStats = true
|
||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
tag = 'tags'
|
tag = 'tags'
|
||||||
@@ -63,23 +73,6 @@ defaultContentLanguageInSubdir = true
|
|||||||
name = "xml"
|
name = "xml"
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
[module.hugoVersion]
|
replacements = 'github.com/gethinode/hinode -> ../..'
|
||||||
extended = true
|
[[module.imports]]
|
||||||
min = "0.81.0"
|
path = "github.com/gethinode/hinode"
|
||||||
max = ""
|
|
||||||
[[module.mounts]]
|
|
||||||
source = "assets"
|
|
||||||
target = "assets"
|
|
||||||
[[module.mounts]]
|
|
||||||
source = "static"
|
|
||||||
target = "static"
|
|
||||||
# toml-docs-start javascript
|
|
||||||
[[module.mounts]]
|
|
||||||
source = "node_modules/bootstrap/dist/js"
|
|
||||||
target = "assets/js/vendor/bootstrap"
|
|
||||||
includeFiles = "*.bundle.js"
|
|
||||||
[[module.mounts]]
|
|
||||||
source = "node_modules/flexsearch/dist"
|
|
||||||
target = "assets/js/vendor/flexsearch"
|
|
||||||
includeFiles = "*.bundle.js"
|
|
||||||
# toml-docs-end javascript
|
|
29
exampleSite/config/_default/languages.toml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# toml-docs-start lang-main
|
||||||
|
[en]
|
||||||
|
languageName = "English"
|
||||||
|
contentDir = "content/en"
|
||||||
|
weight = 1
|
||||||
|
# toml-docs-end lang-main
|
||||||
|
# toml-docs-start lang-param
|
||||||
|
[en.params.head]
|
||||||
|
tagline = "A Hugo Theme"
|
||||||
|
[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>)."
|
||||||
|
# toml-docs-end lang-param
|
||||||
|
|
||||||
|
[nl]
|
||||||
|
languageName = "Nederlands"
|
||||||
|
contentDir = "content/nl"
|
||||||
|
weight = 2
|
||||||
|
[nl.params.head]
|
||||||
|
tagline = "Een Hugo Thema"
|
||||||
|
[nl.params.social]
|
||||||
|
title = "Volg mij"
|
||||||
|
caption = "Ik doe aan programmeren en tweet memes"
|
||||||
|
[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>)."
|
||||||
|
[nl.params.sections.projects]
|
||||||
|
title = "Projecten"
|
35
exampleSite/config/_default/markup.toml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
defaultMarkdownHandler = "goldmark"
|
||||||
|
|
||||||
|
[highlight]
|
||||||
|
anchorLineNos = false
|
||||||
|
codeFences = true
|
||||||
|
guessSyntax = true
|
||||||
|
hl_Lines = ""
|
||||||
|
lineAnchors = ""
|
||||||
|
lineNoStart = 1
|
||||||
|
lineNos = false
|
||||||
|
lineNumbersInTable = false
|
||||||
|
noClasses = false
|
||||||
|
tabWidth = 2
|
||||||
|
## Update the 'create:syntax' command in package.json to modify the style
|
||||||
|
## The first two lines have been modified to remove the background color
|
||||||
|
# style = "monokailight"
|
||||||
|
|
||||||
|
[goldmark]
|
||||||
|
[goldmark.extensions]
|
||||||
|
definitionList = true
|
||||||
|
footnote = true
|
||||||
|
linkify = true
|
||||||
|
strikethrough = true
|
||||||
|
table = true
|
||||||
|
taskList = true
|
||||||
|
typographer = true
|
||||||
|
[goldmark.parser]
|
||||||
|
autoHeadingID = true
|
||||||
|
autoHeadingIDType = 'github'
|
||||||
|
[goldmark.parser.attribute]
|
||||||
|
block = true
|
||||||
|
[goldmark.renderer]
|
||||||
|
hardWraps = false
|
||||||
|
unsafe = true
|
||||||
|
xhtml = false
|
73
exampleSite/config/_default/menus/menus.en.toml
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
[[main]]
|
||||||
|
name = "About"
|
||||||
|
pageRef = "/about/"
|
||||||
|
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
|
||||||
|
|
||||||
|
[[social]]
|
||||||
|
name = "LinkedIn"
|
||||||
|
pre = "fab linkedin"
|
||||||
|
url = "https://linkedin.com/"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[social]]
|
||||||
|
name = "GitHub"
|
||||||
|
pre = "fab fa-github"
|
||||||
|
url = "https://github.com/"
|
||||||
|
weight = 20
|
||||||
|
|
||||||
|
[[social]]
|
||||||
|
name = "Medium"
|
||||||
|
pre = "fab medium"
|
||||||
|
url = "https://medium.com/"
|
||||||
|
weight = 30
|
||||||
|
|
||||||
|
# toml-docs-start sample-navigation
|
||||||
|
[[sample]]
|
||||||
|
name = "Blog"
|
||||||
|
pageRef = "/blog/"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[sample]]
|
||||||
|
name = "Projects"
|
||||||
|
pageRef = "/projects/"
|
||||||
|
weight = 20
|
||||||
|
|
||||||
|
[[sample]]
|
||||||
|
name = "Sample project"
|
||||||
|
pageRef = "/projects/sample-project/"
|
||||||
|
parent = "Projects"
|
||||||
|
weight = 1
|
||||||
|
|
||||||
|
[[sample]]
|
||||||
|
name = "Another project"
|
||||||
|
pageRef = "/projects/another-project/"
|
||||||
|
parent = "Projects"
|
||||||
|
weight = 2
|
||||||
|
# toml-docs-end sample-navigation
|
73
exampleSite/config/_default/menus/menus.nl.toml
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
[[main]]
|
||||||
|
name = "Over mij"
|
||||||
|
pageRef = "/over-mij/"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[main]]
|
||||||
|
name = "Blog"
|
||||||
|
pageRef = "/blog/"
|
||||||
|
weight = 20
|
||||||
|
|
||||||
|
[[main]]
|
||||||
|
name = "Projecten"
|
||||||
|
pageRef = "/projecten/"
|
||||||
|
weight = 30
|
||||||
|
|
||||||
|
[[main]]
|
||||||
|
name = "Voorbeeldproject"
|
||||||
|
pageRef = "/projecten/voorbeeldproject/"
|
||||||
|
parent = "Projecten"
|
||||||
|
weight = 1
|
||||||
|
|
||||||
|
[[main]]
|
||||||
|
name = "Ander project"
|
||||||
|
pageRef = "/projecten/ander-project/"
|
||||||
|
parent = "Projecten"
|
||||||
|
weight = 2
|
||||||
|
|
||||||
|
[[main]]
|
||||||
|
name = "Tags"
|
||||||
|
pageRef = "/tags/"
|
||||||
|
weight = 40
|
||||||
|
|
||||||
|
[[social]]
|
||||||
|
name = "LinkedIn"
|
||||||
|
pre = "fab linkedin"
|
||||||
|
url = "https://linkedin.com/"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[social]]
|
||||||
|
name = "GitHub"
|
||||||
|
pre = "fab github"
|
||||||
|
url = "https://github.com/"
|
||||||
|
weight = 20
|
||||||
|
|
||||||
|
[[social]]
|
||||||
|
name = "Medium"
|
||||||
|
pre = "fab medium"
|
||||||
|
url = "https://medium.com/"
|
||||||
|
weight = 30
|
||||||
|
|
||||||
|
# toml-docs-start sample-navigation
|
||||||
|
[[sample]]
|
||||||
|
name = "Blog"
|
||||||
|
pageRef = "/blog/"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[sample]]
|
||||||
|
name = "Projecten"
|
||||||
|
pageRef = "/projecten/"
|
||||||
|
weight = 20
|
||||||
|
|
||||||
|
[[sample]]
|
||||||
|
name = "Voorbeeldproject"
|
||||||
|
pageRef = "/projecten/voorbeeldproject/"
|
||||||
|
parent = "Projecten"
|
||||||
|
weight = 1
|
||||||
|
|
||||||
|
[[sample]]
|
||||||
|
name = "Ander project"
|
||||||
|
pageRef = "/projecten/ander-project/"
|
||||||
|
parent = "Projecten"
|
||||||
|
weight = 2
|
||||||
|
# toml-docs-end sample-navigation
|
183
exampleSite/config/_default/params.toml
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
[main]
|
||||||
|
separator = "-"
|
||||||
|
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
|
||||||
|
enableDarkMode = true
|
||||||
|
modes = ["light", "dark"]
|
||||||
|
canonifyAssetsURLs = false
|
||||||
|
[main.externalLinks]
|
||||||
|
cue = true
|
||||||
|
tab = true
|
||||||
|
|
||||||
|
[modules]
|
||||||
|
core = ["bootstrap", "flexsearch", "fontawesome"]
|
||||||
|
optional = ["leaflet", "katex"]
|
||||||
|
excludeSCSS = ["bootstrap"]
|
||||||
|
disableTemplate = ["katex"]
|
||||||
|
[modules.fontawesome]
|
||||||
|
inline = true
|
||||||
|
debug = true
|
||||||
|
skipMissing = false
|
||||||
|
|
||||||
|
[debugging]
|
||||||
|
showJS = false
|
||||||
|
showSCSS = false
|
||||||
|
|
||||||
|
[docs]
|
||||||
|
basePath = "/" # TODO: replace
|
||||||
|
github = "https://github.com/gethinode/hinode"
|
||||||
|
release = "https://github.com/gethinode/hinode/releases/tag/"
|
||||||
|
checkVersion = false
|
||||||
|
|
||||||
|
[home]
|
||||||
|
sections = ["blog", "projects"]
|
||||||
|
fullCover = false
|
||||||
|
centerHeadline = false
|
||||||
|
style = ""
|
||||||
|
|
||||||
|
[navigation]
|
||||||
|
anchor = true
|
||||||
|
logo = "/img/logo_icon.svg"
|
||||||
|
color = "body"
|
||||||
|
fixed = true
|
||||||
|
offset = "3.8em"
|
||||||
|
search = true
|
||||||
|
breadcrumb = true
|
||||||
|
toc = true
|
||||||
|
sidebar = true
|
||||||
|
|
||||||
|
[messages]
|
||||||
|
placement = "bottom-right"
|
||||||
|
|
||||||
|
[sharing]
|
||||||
|
enabled = true
|
||||||
|
sort = "weight"
|
||||||
|
reverse = false
|
||||||
|
webshare = true
|
||||||
|
|
||||||
|
[[sharing.providers]]
|
||||||
|
name = "LinkedIn"
|
||||||
|
url = "https://www.linkedin.com/sharing/share-offsite/?url={url}"
|
||||||
|
icon = "fab linkedin"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[sharing.providers]]
|
||||||
|
name = "Twitter"
|
||||||
|
url = "https://twitter.com/home?status={url}"
|
||||||
|
icon = "fab x-twitter"
|
||||||
|
weight = 20
|
||||||
|
|
||||||
|
[[sharing.providers]]
|
||||||
|
name = "Facebook"
|
||||||
|
url = "https://www.facebook.com/sharer.php?u={url}"
|
||||||
|
icon = "fab facebook"
|
||||||
|
weight = 30
|
||||||
|
|
||||||
|
[[sharing.providers]]
|
||||||
|
name = "WhatsApp"
|
||||||
|
url = "whatsapp://send?text={title}%20{url}"
|
||||||
|
icon = "fab whatsapp"
|
||||||
|
weight = 40
|
||||||
|
|
||||||
|
[[sharing.providers]]
|
||||||
|
name = "email"
|
||||||
|
url = "{url}"
|
||||||
|
icon = "fas link"
|
||||||
|
weight = 50
|
||||||
|
clipboard = true
|
||||||
|
|
||||||
|
[sections]
|
||||||
|
[sections.blog]
|
||||||
|
title = "Blog"
|
||||||
|
sort = "date"
|
||||||
|
reverse = 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
|
||||||
|
|
||||||
|
[favicon]
|
||||||
|
logo = "img/favicon.png"
|
||||||
|
sizes = [16, 32, 48]
|
||||||
|
|
||||||
|
# toml-docs-start theme-colors
|
||||||
|
[style]
|
||||||
|
primary = "#d43900"
|
||||||
|
secondary = "#6c757d"
|
||||||
|
success = "#198754"
|
||||||
|
info = "#0dcaf0"
|
||||||
|
warning = "#ffc107"
|
||||||
|
danger = "#dc3545"
|
||||||
|
light = "#f8f9fa"
|
||||||
|
dark = "#212529"
|
||||||
|
themeOpacity = "10"
|
||||||
|
themeFont = "Inter"
|
||||||
|
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
|
||||||
|
themeFontPath = "/fonts" # local path
|
||||||
|
purge = true
|
||||||
|
# toml-docs-end theme-colors
|
||||||
|
|
||||||
|
[schema]
|
||||||
|
type = "Organization"
|
||||||
|
name = "Hinode"
|
||||||
|
locale = "en-US"
|
||||||
|
# twitter = "https://twitter.com/gethinode"
|
||||||
|
# linkedIn = ""
|
||||||
|
github = "https://github.com/gethinode/hinode"
|
||||||
|
section = "blog"
|
||||||
|
[author]
|
||||||
|
name = "Mark Dumay"
|
||||||
|
# twitter = "https://twitter.com/markdumay"
|
||||||
|
linkedin = "https://www.linkedin.com/in/markdumay/"
|
||||||
|
github = "https://github.com/markdumay"
|
||||||
|
[logo]
|
||||||
|
url = "img/logo512x512.png"
|
||||||
|
width = 512
|
||||||
|
height = 512
|
||||||
|
[image]
|
||||||
|
url = "img/logo1280x640.png"
|
||||||
|
width = 1280
|
||||||
|
height = 640
|
||||||
|
|
||||||
|
[opengraph]
|
||||||
|
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.3/components/badge/#headings"
|
||||||
|
hinode_docs = "https://gethinode.com"
|
||||||
|
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"
|
43
exampleSite/config/_default/server.toml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# toml-docs-start server-config
|
||||||
|
[[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'; \
|
||||||
|
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; \
|
||||||
|
manifest-src 'self'; \
|
||||||
|
media-src 'self' \
|
||||||
|
"""
|
||||||
|
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
|
14
exampleSite/content/en/_index.md
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
author: Mark Dumay
|
||||||
|
title: Welcome to Hinode!
|
||||||
|
thumbnail:
|
||||||
|
url: /img/sunrise.jpg
|
||||||
|
author: Harris Vo
|
||||||
|
authorURL: https://unsplash.com/@hoanvokim
|
||||||
|
origin: https://unsplash.com/photos/ZX6BPboJrYk
|
||||||
|
originName: Unsplash
|
||||||
|
---
|
||||||
|
|
||||||
|
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
||||||
|
|
||||||
|
{{< button href="about" >}}About{{< /button>}}
|