mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
1174 Commits
v0.18.2
...
v0.23.0-be
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e1011919a5 | ||
![]() |
7c3aed4822 | ||
![]() |
dbe2c6bb59 | ||
![]() |
9e644185f2 | ||
![]() |
9a12ce32d3 | ||
![]() |
66d6a89431 | ||
![]() |
b7a605ea9c | ||
![]() |
a2b1cca1ab | ||
![]() |
b8cd3dbee6 | ||
![]() |
fe46126e19 | ||
![]() |
a439623119 | ||
![]() |
86713488b4 | ||
![]() |
fbaa5bcfa7 | ||
![]() |
23deaf6df3 | ||
![]() |
4db9c6fde8 | ||
![]() |
67ad2fe076 | ||
![]() |
00e169512c | ||
![]() |
3171f065eb | ||
![]() |
5dcb44b2d0 | ||
![]() |
b54c415f39 | ||
![]() |
7ecc818ca1 | ||
![]() |
85fdf28bdc | ||
![]() |
1c1f4be1f9 | ||
![]() |
e4f949f67b | ||
![]() |
2fe3c69a2d | ||
![]() |
08b3725307 | ||
![]() |
664fb87e4e | ||
![]() |
9bf90dfa98 | ||
![]() |
867f684b6a | ||
![]() |
3bcb2138c1 | ||
![]() |
693c2be098 | ||
![]() |
da63bcb4eb | ||
![]() |
564a62e780 | ||
![]() |
01e4837669 | ||
![]() |
0a2a1a8b1a | ||
![]() |
154ddfe1cc | ||
![]() |
14786383ec | ||
![]() |
e5aae017a6 | ||
![]() |
68ceb8c71e | ||
![]() |
dcd94a7137 | ||
![]() |
1e75a3675e | ||
![]() |
6c301e2512 | ||
![]() |
59c06c7f02 | ||
![]() |
85aad4c431 | ||
![]() |
ade4df79ed | ||
![]() |
ec12b41293 | ||
![]() |
7216c88e0b | ||
![]() |
fac87c69e2 | ||
![]() |
62d4fdeb32 | ||
![]() |
91da0c7d0d | ||
![]() |
b116c2582f | ||
![]() |
276307fb5c | ||
![]() |
54ae613298 | ||
![]() |
a22040f4e3 | ||
![]() |
630cc55361 | ||
![]() |
2aacace6ad | ||
![]() |
91714727c3 | ||
![]() |
8e21f36619 | ||
![]() |
baa88ca957 | ||
![]() |
1874fc9b47 | ||
![]() |
6c9543d05a | ||
![]() |
a614c35f05 | ||
![]() |
0d7bc8e7d8 | ||
![]() |
39b3d500d0 | ||
![]() |
03200f3828 | ||
![]() |
044a5eadcd | ||
![]() |
e924bd96ec | ||
![]() |
e234240e74 | ||
![]() |
33473b0db1 | ||
![]() |
cfad29f9d4 | ||
![]() |
7ffdbea3ec | ||
![]() |
2c2fb4d305 | ||
![]() |
709172c506 | ||
![]() |
8727ee50ee | ||
![]() |
04d4d20ba6 | ||
![]() |
e77ea9358e | ||
![]() |
6263dc0649 | ||
![]() |
52eccfc384 | ||
![]() |
13085416e2 | ||
![]() |
f7efa99fc3 | ||
![]() |
32d6b8844a | ||
![]() |
1c4287a3ed | ||
![]() |
354fa85f38 | ||
![]() |
78fb0760f3 | ||
![]() |
dfdda4d27f | ||
![]() |
6d8f90bdce | ||
![]() |
3e531da29c | ||
![]() |
6065ebb6b4 | ||
![]() |
75373935f1 | ||
![]() |
1d5784a4d1 | ||
![]() |
5df94ffe33 | ||
![]() |
6aeaa8812a | ||
![]() |
b1f8044e02 | ||
![]() |
09fc0991bd | ||
![]() |
a7b70efef0 | ||
![]() |
4c3df8e769 | ||
![]() |
15418f7bdc | ||
![]() |
0a2bc468e5 | ||
![]() |
df8bcff315 | ||
![]() |
56e992ba7a | ||
![]() |
e7a6582229 | ||
![]() |
02946a9c9b | ||
![]() |
a5ca5fcff1 | ||
![]() |
b412c03b72 | ||
![]() |
22678d4ecc | ||
![]() |
d84099e41f | ||
![]() |
853aac57a6 | ||
![]() |
a5bddcb033 | ||
![]() |
3a7178166f | ||
![]() |
3f89bfb444 | ||
![]() |
e5ba3a94a4 | ||
![]() |
dc7af61a3a | ||
![]() |
da560a0275 | ||
![]() |
41cf694792 | ||
![]() |
59f42c0dbd | ||
![]() |
b2302e2e9f | ||
![]() |
8e6c0f8ade | ||
![]() |
ba92505daa | ||
![]() |
e6e93888f6 | ||
![]() |
e92598dc5b | ||
![]() |
697c6a1aae | ||
![]() |
2487001b0d | ||
![]() |
7cd722bcc2 | ||
![]() |
e0b7d7c3bb | ||
![]() |
23470b705d | ||
![]() |
70a624a9f3 | ||
![]() |
bce38385ab | ||
![]() |
8848b126ca | ||
![]() |
45a90fbe9d | ||
![]() |
d2929bf776 | ||
![]() |
3bab1c1250 | ||
![]() |
e59d4696da | ||
![]() |
f44f74f34c | ||
![]() |
22474722ad | ||
![]() |
99df503a90 | ||
![]() |
0df055db8c | ||
![]() |
f73936d056 | ||
![]() |
e1c976e09a | ||
![]() |
21579f7a40 | ||
![]() |
693882aff1 | ||
![]() |
6b42ed0845 | ||
![]() |
ed9373bc7e | ||
![]() |
0d2f5cc553 | ||
![]() |
12f6e9e552 | ||
![]() |
999c7a8fff | ||
![]() |
a5494f4681 | ||
![]() |
404a5500df | ||
![]() |
4442833c1b | ||
![]() |
4cb800d485 | ||
![]() |
f1598c3c4b | ||
![]() |
6b9915a425 | ||
![]() |
59befa908f | ||
![]() |
af68fb24b5 | ||
![]() |
73870663f6 | ||
![]() |
ac48cf6b57 | ||
![]() |
6a5d4a1363 | ||
![]() |
8be3996fb2 | ||
![]() |
bd7d2ffb09 | ||
![]() |
9375248a09 | ||
![]() |
713d1920a3 | ||
![]() |
adc1212cd7 | ||
![]() |
b8803d75fe | ||
![]() |
8006acb8c9 | ||
![]() |
7be7e3b7f0 | ||
![]() |
a6c18c91e5 | ||
![]() |
81c531e2b5 | ||
![]() |
d66910740f | ||
![]() |
3323bf500d | ||
![]() |
3cc34d18e0 | ||
![]() |
aeb050440f | ||
![]() |
a9a6bd0d31 | ||
![]() |
2b921def52 | ||
![]() |
f5a1a97383 | ||
![]() |
c87b96f8f0 | ||
![]() |
1def105bda | ||
![]() |
1d67a30ece | ||
![]() |
1a3d50ca17 | ||
![]() |
ce26722c96 | ||
![]() |
f2aab26b6e | ||
![]() |
10e086594b | ||
![]() |
30ea77182d | ||
![]() |
e899d7d39a | ||
![]() |
3b2e780a20 | ||
![]() |
d443d89616 | ||
![]() |
c981ac45d3 | ||
![]() |
ceabca3a43 | ||
![]() |
99b6fcbc42 | ||
![]() |
dde79bf5d0 | ||
![]() |
ff3e957558 | ||
![]() |
1466c7a927 | ||
![]() |
1a7c18d209 | ||
![]() |
2c8ed7c494 | ||
![]() |
0526b4c5e0 | ||
![]() |
c2f4e6bc48 | ||
![]() |
0cc5fcb33a | ||
![]() |
e461a9564f | ||
![]() |
183879d51c | ||
![]() |
cddae05b53 | ||
![]() |
67d831d898 | ||
![]() |
d726323220 | ||
![]() |
f76fea84cc | ||
![]() |
6ec24e12f7 | ||
![]() |
cf27cce44d | ||
![]() |
6ea22d121f | ||
![]() |
2d7bfaa9dc | ||
![]() |
0e62cc4fec | ||
![]() |
ae0307092f | ||
![]() |
2ebf6fe7fa | ||
![]() |
f9805de74c | ||
![]() |
20b7b6b95c | ||
![]() |
c2beca3504 | ||
![]() |
7414a1badf | ||
![]() |
cd5f7e08c4 | ||
![]() |
fd804fa29a | ||
![]() |
08c310c59e | ||
![]() |
46bde0918f | ||
![]() |
a77c3aa347 | ||
![]() |
d27c04dc64 | ||
![]() |
b0c8326255 | ||
![]() |
99a35a3ffd | ||
![]() |
c5673efea2 | ||
![]() |
c3b48e0033 | ||
![]() |
5aa57dd402 | ||
![]() |
d919d3f068 | ||
![]() |
38ad418005 | ||
![]() |
ba50786118 | ||
![]() |
aee3cb3e03 | ||
![]() |
61430b07e2 | ||
![]() |
5d393598c5 | ||
![]() |
4b0c075b53 | ||
![]() |
2b5b6434da | ||
![]() |
ae0877037a | ||
![]() |
64a12da2e6 | ||
![]() |
6865fa40f7 | ||
![]() |
79632aeed0 | ||
![]() |
6f03f3e5fd | ||
![]() |
df53150972 | ||
![]() |
9282cd630d | ||
![]() |
a3eb2fc7cc | ||
![]() |
4e39d03240 | ||
![]() |
8cadb30179 | ||
![]() |
d2c02ca016 | ||
![]() |
1bbfba32a5 | ||
![]() |
cf59cc3a49 | ||
![]() |
897db61ee2 | ||
![]() |
ac14ac23fb | ||
![]() |
0f1bc34d37 | ||
![]() |
26d318356f | ||
![]() |
9f4a0d35b6 | ||
![]() |
a201be6487 | ||
![]() |
380ebcd1d8 | ||
![]() |
c06499033d | ||
![]() |
0874957993 | ||
![]() |
6019c7412f | ||
![]() |
30c300cabf | ||
![]() |
46f11f02ab | ||
![]() |
71e6029117 | ||
![]() |
5c67da7882 | ||
![]() |
af4f6de4b9 | ||
![]() |
9b173d6c68 | ||
![]() |
2f4fb5230d | ||
![]() |
9144a1fec3 | ||
![]() |
4192af1d46 | ||
![]() |
0e72124cdc | ||
![]() |
8300b9afee | ||
![]() |
5f61e74dfb | ||
![]() |
44b3ccd21e | ||
![]() |
29e54ce7ec | ||
![]() |
f2835209c6 | ||
![]() |
a0a1b8a9c0 | ||
![]() |
83f6ec1cb9 | ||
![]() |
af5b07202e | ||
![]() |
0bcfa59a12 | ||
![]() |
e00095f68d | ||
![]() |
5cbd2a1a82 | ||
![]() |
9b5a45a3f6 | ||
![]() |
325500620a | ||
![]() |
134bfa1a0b | ||
![]() |
df593859fa | ||
![]() |
4204fae5a0 | ||
![]() |
cc12c49143 | ||
![]() |
f09694da70 | ||
![]() |
d923df2156 | ||
![]() |
71d1db456a | ||
![]() |
ec0eaa2faa | ||
![]() |
836cd21df2 | ||
![]() |
7a4c364b49 | ||
![]() |
79f10ba724 | ||
![]() |
d0ea4ecd1b | ||
![]() |
867e448e21 | ||
![]() |
50a07d368f | ||
![]() |
21e2435350 | ||
![]() |
0dab66f24c | ||
![]() |
827595ded2 | ||
![]() |
fda99f18e8 | ||
![]() |
c9b76c9bc4 | ||
![]() |
3e2e2de482 | ||
![]() |
d648873e21 | ||
![]() |
2490b26277 | ||
![]() |
66ccd7a71d | ||
![]() |
4ef440d499 | ||
![]() |
e334dd1d10 | ||
![]() |
c7e62acf9d | ||
![]() |
f44adf92b4 | ||
![]() |
87cd07801d | ||
![]() |
24e96e2724 | ||
![]() |
a5f5a9ff24 | ||
![]() |
dd19b8a236 | ||
![]() |
0a80f40c07 | ||
![]() |
772cc97a8b | ||
![]() |
ce7f1d6c26 | ||
![]() |
a41994fc0f | ||
![]() |
6e42a729e7 | ||
![]() |
33a634e4fc | ||
![]() |
fc61c52939 | ||
![]() |
5e4ff5b780 | ||
![]() |
2e5903abed | ||
![]() |
62db8f574f | ||
![]() |
d44ee41268 | ||
![]() |
6baadfef75 | ||
![]() |
fbec6a9b35 | ||
![]() |
197d9359dd | ||
![]() |
fa083e0bde | ||
![]() |
1cf427fddd | ||
![]() |
819e9e89dc | ||
![]() |
900632c5f5 | ||
![]() |
dc66a4334f | ||
![]() |
badbe334df | ||
![]() |
fa334d6e84 | ||
![]() |
9580d4e72e | ||
![]() |
252257be8b | ||
![]() |
04c253995f | ||
![]() |
8c007fd627 | ||
![]() |
afcd59e1a4 | ||
![]() |
bba0ecad63 | ||
![]() |
c1058ac665 | ||
![]() |
b891fcdc4f | ||
![]() |
3bea9dfc8f | ||
![]() |
4d99d7dfc4 | ||
![]() |
373b8eddeb | ||
![]() |
d463d1feb3 | ||
![]() |
48a96a8d79 | ||
![]() |
0e1128aba3 | ||
![]() |
c3be4957ba | ||
![]() |
3618aadf74 | ||
![]() |
74a8c36c74 | ||
![]() |
49aa52b36f | ||
![]() |
ee95a05b48 | ||
![]() |
134e544718 | ||
![]() |
306a767686 | ||
![]() |
47ca9d303a | ||
![]() |
6fc68fe540 | ||
![]() |
9195bd7f4e | ||
![]() |
4ef503e07f | ||
![]() |
4711139513 | ||
![]() |
fc56508b91 | ||
![]() |
232c78364f | ||
![]() |
d85e16f1fa | ||
![]() |
562b386cb5 | ||
![]() |
daab751299 | ||
![]() |
9e82ff8de5 | ||
![]() |
52b2c23565 | ||
![]() |
617fd688db | ||
![]() |
2cf7fff3ba | ||
![]() |
a34d3fde1f | ||
![]() |
be054a723e | ||
![]() |
fc43f6a52e | ||
![]() |
195d3cb69b | ||
![]() |
92c69b6011 | ||
![]() |
ea78805587 | ||
![]() |
76e90ea321 | ||
![]() |
b300758aa5 | ||
![]() |
68c44c55d4 | ||
![]() |
228a89f61d | ||
![]() |
2645453de2 | ||
![]() |
5ce069a4c0 | ||
![]() |
6661434c35 | ||
![]() |
aee6b3a32d | ||
![]() |
4b0cc260cb | ||
![]() |
7611315941 | ||
![]() |
3b1f71a601 | ||
![]() |
fead3555fc | ||
![]() |
cd3f99fc90 | ||
![]() |
a2e6855117 | ||
![]() |
1e4cd3a5da | ||
![]() |
865898ac4f | ||
![]() |
44ace26cde | ||
![]() |
d0350c7672 | ||
![]() |
943a115ef0 | ||
![]() |
745322b3fe | ||
![]() |
90ea2cb760 | ||
![]() |
2d6c3c7d64 | ||
![]() |
4401c49c54 | ||
![]() |
fa3bfa7008 | ||
![]() |
14c2ddc725 | ||
![]() |
1e55dc8f65 | ||
![]() |
78980dde3f | ||
![]() |
3a770b6f40 | ||
![]() |
b271adef3f | ||
![]() |
639c9770b8 | ||
![]() |
e6b29666ad | ||
![]() |
dd052250f6 | ||
![]() |
1223a22d7e | ||
![]() |
b6f034f8e3 | ||
![]() |
ca01b67396 | ||
![]() |
eb3a2b0bb1 | ||
![]() |
41711fb527 | ||
![]() |
6e7a9a8796 | ||
![]() |
92838c0572 | ||
![]() |
3f71da19ee | ||
![]() |
43a6dd2b79 | ||
![]() |
806fac97db | ||
![]() |
9fd07827db | ||
![]() |
28cdcec7ee | ||
![]() |
cb2e946435 | ||
![]() |
2e7bb50d43 | ||
![]() |
3d7875ba18 | ||
![]() |
29ab88d581 | ||
![]() |
d93bbe4fe3 | ||
![]() |
3a2d062e22 | ||
![]() |
c3ef897a71 | ||
![]() |
73964e6be4 | ||
![]() |
520c000d3b | ||
![]() |
e3c1db7b88 | ||
![]() |
9ba3218f61 | ||
![]() |
a912d65608 | ||
![]() |
ffd6bb9c46 | ||
![]() |
6a238c3a11 | ||
![]() |
3210d72068 | ||
![]() |
add57592cd | ||
![]() |
584131c8c4 | ||
![]() |
9e8a1b4e3d | ||
![]() |
61efc2de16 | ||
![]() |
ce1f688b38 | ||
![]() |
088464bf13 | ||
![]() |
936ca3ffc2 | ||
![]() |
4f6320f7cf | ||
![]() |
ccf3169381 | ||
![]() |
54d66d2b02 | ||
![]() |
25aeb94364 | ||
![]() |
5657ef5b40 | ||
![]() |
c8818d104f | ||
![]() |
ed239034bf | ||
![]() |
774f936d3b | ||
![]() |
905c28886a | ||
![]() |
ad430074f7 | ||
![]() |
6449f01185 | ||
![]() |
0c3488472c | ||
![]() |
ee7990ec1e | ||
![]() |
b892b48388 | ||
![]() |
340213e4ff | ||
![]() |
989f2eed4c | ||
![]() |
4fadb7a6ab | ||
![]() |
8f1fd120eb | ||
![]() |
f2fc3b60a4 | ||
![]() |
c0735f71ef | ||
![]() |
858f9b3430 | ||
![]() |
402a7a85b8 | ||
![]() |
97fbc6087c | ||
![]() |
cc4a4766a9 | ||
![]() |
6821ac2b60 | ||
![]() |
06e10655ec | ||
![]() |
d32fdfa987 | ||
![]() |
9e97f063e5 | ||
![]() |
627f174ae4 | ||
![]() |
c349c28f08 | ||
![]() |
e73f96ffe9 | ||
![]() |
bd4ab51aff | ||
![]() |
81823c35ec | ||
![]() |
c567949205 | ||
![]() |
def136cb1b | ||
![]() |
889dc2e5ef | ||
![]() |
371323f929 | ||
![]() |
1694702d11 | ||
![]() |
048f50ddc4 | ||
![]() |
488cfc576b | ||
![]() |
1d8e564acf | ||
![]() |
6e94bc279b | ||
![]() |
90ee15cccf | ||
![]() |
751ff334ac | ||
![]() |
c200af1ad2 | ||
![]() |
5232afa812 | ||
![]() |
ad8e2f51d7 | ||
![]() |
ff708cf580 | ||
![]() |
f93ee9f01b | ||
![]() |
611320e661 | ||
![]() |
8a56d82cb9 | ||
![]() |
c052086388 | ||
![]() |
d4bfbf925a | ||
![]() |
b6b7e7be4f | ||
![]() |
61ef48798b | ||
![]() |
d65382e80d | ||
![]() |
e97d3e6fe9 | ||
![]() |
5cb189d545 | ||
![]() |
7897fe5f00 | ||
![]() |
6c4e0e8992 | ||
![]() |
3c6a533236 | ||
![]() |
69a9108655 | ||
![]() |
4fdc7bb7d3 | ||
![]() |
170bd7034a | ||
![]() |
2bc99753d6 | ||
![]() |
3ae1671b46 | ||
![]() |
4b9f137d41 | ||
![]() |
651f733622 | ||
![]() |
a2b0c2c05f | ||
![]() |
21476927ef | ||
![]() |
8c86081271 | ||
![]() |
fe5e94d277 | ||
![]() |
585db8094e | ||
![]() |
4bcc536d42 | ||
![]() |
b22c2e5ca5 | ||
![]() |
715b714781 | ||
![]() |
1d4b95a827 | ||
![]() |
0530a01445 | ||
![]() |
2a29eba66e | ||
![]() |
e93b66f4b8 | ||
![]() |
44bb9d7f12 | ||
![]() |
4f58f20b94 | ||
![]() |
cd047ea6fe | ||
![]() |
7d6526f291 | ||
![]() |
ede17bdae8 | ||
![]() |
876315613e | ||
![]() |
b2c5efb4bd | ||
![]() |
74047866e5 | ||
![]() |
6fb25c2111 | ||
![]() |
db3fc0014e | ||
![]() |
7105f8e719 | ||
![]() |
96ab7df306 | ||
![]() |
1a964adabb | ||
![]() |
9f4adc0777 | ||
![]() |
da1edce3aa | ||
![]() |
863012256f | ||
![]() |
faecbf7f45 | ||
![]() |
49581b6749 | ||
![]() |
d795d506dd | ||
![]() |
6348b8ed3f | ||
![]() |
aa2ec54189 | ||
![]() |
a8fdd78b21 | ||
![]() |
e1170b8a95 | ||
![]() |
400ef7d2c5 | ||
![]() |
02fec2c512 | ||
![]() |
8f4ec5e8d6 | ||
![]() |
e16e10a8e8 | ||
![]() |
15764b7642 | ||
![]() |
a4247c6c6a | ||
![]() |
1fcfc7c874 | ||
![]() |
0a885188a8 | ||
![]() |
213a78c864 | ||
![]() |
767d0d0efe | ||
![]() |
51ac0e4c33 | ||
![]() |
f3d1f2a84b | ||
![]() |
856fcdd9f2 | ||
![]() |
3aaef99bb3 | ||
![]() |
fed96e723f | ||
![]() |
58ba3c1838 | ||
![]() |
d6b233da3e | ||
![]() |
8bf7668cc5 | ||
![]() |
632badddb5 | ||
![]() |
c2e1cd370a | ||
![]() |
4ac787bef0 | ||
![]() |
678b9502ff | ||
![]() |
e2222be7b8 | ||
![]() |
4c5c2eef73 | ||
![]() |
064baae07d | ||
![]() |
a3a0f0fe6c | ||
![]() |
c5dd3c39d9 | ||
![]() |
7bb0853525 | ||
![]() |
25928bf38a | ||
![]() |
09e516db93 | ||
![]() |
0bf26224df | ||
![]() |
347704fc8e | ||
![]() |
829795f3fe | ||
![]() |
5f25b5458e | ||
![]() |
d3e80198a8 | ||
![]() |
5afb2936b8 | ||
![]() |
2da3f2a2b8 | ||
![]() |
acebdc610f | ||
![]() |
490df18d60 | ||
![]() |
9f963bdd2d | ||
![]() |
104d19e203 | ||
![]() |
261981ca23 | ||
![]() |
1acc469ba2 | ||
![]() |
64287d42b8 | ||
![]() |
bcf22f193c | ||
![]() |
6272f08d3a | ||
![]() |
14cf7a3f6f | ||
![]() |
51a92ecbe7 | ||
![]() |
567235ff3c | ||
![]() |
3a7f30474d | ||
![]() |
2f8a7c412e | ||
![]() |
f338da681b | ||
![]() |
80a2a2da3b | ||
![]() |
1b660ebd80 | ||
![]() |
43b9854190 | ||
![]() |
3779237f6a | ||
![]() |
e94d9b3b1a | ||
![]() |
8ec4bcfa5e | ||
![]() |
962835fc80 | ||
![]() |
cdd7e63e46 | ||
![]() |
1ae4678cdb | ||
![]() |
ec6dcbe049 | ||
![]() |
58e609c6f3 | ||
![]() |
128e52266f | ||
![]() |
576e50822f | ||
![]() |
5ff61d44d7 | ||
![]() |
7b1b2ecb42 | ||
![]() |
70b09a5265 | ||
![]() |
54ec23c85a | ||
![]() |
d97b88bcdd | ||
![]() |
6f5c7626c8 | ||
![]() |
0e1525ca7f | ||
![]() |
f6b520fb30 | ||
![]() |
a1849663cf | ||
![]() |
d4d0b075ed | ||
![]() |
e90bb990e8 | ||
![]() |
a9808cab34 | ||
![]() |
a40bb78a07 | ||
![]() |
8111ee0c76 | ||
![]() |
7191b57318 | ||
![]() |
f44670d2ca | ||
![]() |
9671f0c2eb | ||
![]() |
6ad6eef347 | ||
![]() |
43ed4d411e | ||
![]() |
7c8d5453cc | ||
![]() |
f4a40367f6 | ||
![]() |
e786ef279a | ||
![]() |
a6684e1bb5 | ||
![]() |
4fbe389245 | ||
![]() |
04b0af5d58 | ||
![]() |
7f797af3eb | ||
![]() |
4a3a0fb0bb | ||
![]() |
f9e9eec611 | ||
![]() |
cb71742a91 | ||
![]() |
638c7054d0 | ||
![]() |
fb21633f8c | ||
![]() |
9bb7cf1825 | ||
![]() |
e00ad4498b | ||
![]() |
a0f7e62616 | ||
![]() |
11653015ab | ||
![]() |
e6a37cab0f | ||
![]() |
7fcc6713a4 | ||
![]() |
5694938b81 | ||
![]() |
b6d3c17a87 | ||
![]() |
40ba175409 | ||
![]() |
bcc98d507b | ||
![]() |
ce1c32c930 | ||
![]() |
08d462f698 | ||
![]() |
d32e615837 | ||
![]() |
83368cdf3a | ||
![]() |
45525a6e3c | ||
![]() |
75a082c8df | ||
![]() |
d3d4d99fe4 | ||
![]() |
f05764d4a8 | ||
![]() |
a7822fcd55 | ||
![]() |
f0a0d2022a | ||
![]() |
2ccc85926e | ||
![]() |
b9699ab8bc | ||
![]() |
02ca7271fc | ||
![]() |
9dbe4bc8a1 | ||
![]() |
2ca20096a0 | ||
![]() |
1d7e8e3adb | ||
![]() |
88c897e09c | ||
![]() |
f1a1ec128f | ||
![]() |
b0bc03f251 | ||
![]() |
0f57e9ad1d | ||
![]() |
8b27c8986b | ||
![]() |
1210117922 | ||
![]() |
3a1e310e22 | ||
![]() |
918c043f10 | ||
![]() |
fbfb02d7ca | ||
![]() |
3026837946 | ||
![]() |
f7ccdad1df | ||
![]() |
4b4f70e6e0 | ||
![]() |
c28e9861ba | ||
![]() |
15c2b5466e | ||
![]() |
58bcdff782 | ||
![]() |
a08cdeeeb6 | ||
![]() |
9be2f7712d | ||
![]() |
f59e34758c | ||
![]() |
fc3846424d | ||
![]() |
11a0e4943a | ||
![]() |
5d95eb0420 | ||
![]() |
ef0b797e60 | ||
![]() |
dfa34a1838 | ||
![]() |
d58a32e283 | ||
![]() |
5fa1abe7bc | ||
![]() |
251dec084c | ||
![]() |
52ef24a5f6 | ||
![]() |
0a7fc04fa5 | ||
![]() |
612dbcc868 | ||
![]() |
850a92bee9 | ||
![]() |
5664e98d89 | ||
![]() |
1bd6f0f04e | ||
![]() |
58e3e0f53e | ||
![]() |
a3d8585276 | ||
![]() |
882269bf72 | ||
![]() |
c71e21ca0b | ||
![]() |
890ab25210 | ||
![]() |
81687c19ef | ||
![]() |
c98165c61e | ||
![]() |
0ee3ddef1d | ||
![]() |
06af1481e6 | ||
![]() |
740108432b | ||
![]() |
331959e3da | ||
![]() |
679e49e55f | ||
![]() |
5ae69f2466 | ||
![]() |
15c7d53acc | ||
![]() |
a1d93fca52 | ||
![]() |
56af6dda1d | ||
![]() |
7c62e115c3 | ||
![]() |
5f13e2d7ab | ||
![]() |
0186b3db8b | ||
![]() |
db4e353d8a | ||
![]() |
30468c2dab | ||
![]() |
3afe0a8a99 | ||
![]() |
fc626dc4c0 | ||
![]() |
7e4f582445 | ||
![]() |
f740443f73 | ||
![]() |
d43da60e8e | ||
![]() |
d29759da9b | ||
![]() |
4b3a2e441b | ||
![]() |
a8b8d07bf4 | ||
![]() |
34410446f3 | ||
![]() |
13098a351d | ||
![]() |
d071fa03a6 | ||
![]() |
6ff65c37ac | ||
![]() |
e03396490e | ||
![]() |
ad453b6400 | ||
![]() |
500a572a9c | ||
![]() |
f3bffcb5fb | ||
![]() |
30305ffd1c | ||
![]() |
62f2e33b64 | ||
![]() |
24d655ec76 | ||
![]() |
7668f795da | ||
![]() |
96a5853333 | ||
![]() |
6b767410dc | ||
![]() |
3f8dd1d457 | ||
![]() |
8cb501186a | ||
![]() |
bdfe42b22f | ||
![]() |
37c4fbdec0 | ||
![]() |
9af109d23d | ||
![]() |
3322e3337a | ||
![]() |
6ede71d164 | ||
![]() |
da2e41d59d | ||
![]() |
c08af69752 | ||
![]() |
1a3b438bfb | ||
![]() |
f15ee8cc5b | ||
![]() |
d65897ad09 | ||
![]() |
607f9690cc | ||
![]() |
3cbdc511c8 | ||
![]() |
e21ab89f89 | ||
![]() |
c50e0153f6 | ||
![]() |
bd3c2f9d78 | ||
![]() |
57bcc6d1ac | ||
![]() |
8331cb9f38 | ||
![]() |
1ef0f32ad9 | ||
![]() |
c9cab7f43d | ||
![]() |
73d8efcea7 | ||
![]() |
e9c45a45d7 | ||
![]() |
5b94307559 | ||
![]() |
ee03b65f2d | ||
![]() |
7920512f2b | ||
![]() |
928e355618 | ||
![]() |
efac0a7026 | ||
![]() |
42d10ed012 | ||
![]() |
b0655adff4 | ||
![]() |
c1b025d04b | ||
![]() |
3cf5884e10 | ||
![]() |
ce0acb9547 | ||
![]() |
777c54f6a1 | ||
![]() |
8e17d093c7 | ||
![]() |
33ba9d6e59 | ||
![]() |
f6a1751efe | ||
![]() |
00372947fa | ||
![]() |
c86167851f | ||
![]() |
6a90952319 | ||
![]() |
02f135eec3 | ||
![]() |
daa9bcc471 | ||
![]() |
5072fd6a07 | ||
![]() |
20f5868759 | ||
![]() |
db0297e898 | ||
![]() |
1efb03f3be | ||
![]() |
4e00d967a6 | ||
![]() |
266ca8db68 | ||
![]() |
2b976a3eec | ||
![]() |
962429ad33 | ||
![]() |
5d5c645308 | ||
![]() |
f1c7792f87 | ||
![]() |
fe86a21303 | ||
![]() |
33cccd76b3 | ||
![]() |
1f90c552a7 | ||
![]() |
614e789ce4 | ||
![]() |
07f2f82675 | ||
![]() |
d28d2be7c5 | ||
![]() |
a3250b31c2 | ||
![]() |
eae97e2017 | ||
![]() |
7983a52de9 | ||
![]() |
92b1b81b25 | ||
![]() |
f91fe303fb | ||
![]() |
529b0db71d | ||
![]() |
bd142ac66d | ||
![]() |
3749937799 | ||
![]() |
16d309cc34 | ||
![]() |
5315bc950a | ||
![]() |
2dbf6a9faf | ||
![]() |
a67e38bd1b | ||
![]() |
4688176216 | ||
![]() |
dbee9aafd7 | ||
![]() |
8c20617b1a | ||
![]() |
9e2ed6480d | ||
![]() |
7ef1b1aba9 | ||
![]() |
b74071d4cf | ||
![]() |
dc7578a5c3 | ||
![]() |
2227cf5fe2 | ||
![]() |
1296595ff7 | ||
![]() |
94f0b7599d | ||
![]() |
481d3099eb | ||
![]() |
d9a718d934 | ||
![]() |
e396bcce82 | ||
![]() |
b80b45f126 | ||
![]() |
b9a9a84982 | ||
![]() |
32a582dc66 | ||
![]() |
ce7362a6f5 | ||
![]() |
c3541f0368 | ||
![]() |
fa9da5147d | ||
![]() |
9905581b63 | ||
![]() |
4fe871d5c1 | ||
![]() |
4e5e39624b | ||
![]() |
7174c8ac39 | ||
![]() |
37c26de1ce | ||
![]() |
a56030eb53 | ||
![]() |
686a54b666 | ||
![]() |
3f3c19aeaa | ||
![]() |
0ff114b51d | ||
![]() |
f8deb13215 | ||
![]() |
b4669878a6 | ||
![]() |
68210961be | ||
![]() |
6af0d9b062 | ||
![]() |
ad401a8747 | ||
![]() |
e0ca123aa2 | ||
![]() |
ef3636befe | ||
![]() |
5635f895df | ||
![]() |
779f9b11a7 | ||
![]() |
b0b8e9d684 | ||
![]() |
b4f7163913 | ||
![]() |
6ef4738619 | ||
![]() |
333e4c3e07 | ||
![]() |
705900dd27 | ||
![]() |
363b6293af | ||
![]() |
97ef22d3fb | ||
![]() |
f7fa573347 | ||
![]() |
971b61fe8a | ||
![]() |
303a611913 | ||
![]() |
066a9f1722 | ||
![]() |
ac5cddf448 | ||
![]() |
d6bea30b24 | ||
![]() |
ac05154eec | ||
![]() |
ff579b0cfc | ||
![]() |
13ede1b2a4 | ||
![]() |
51c7706af2 | ||
![]() |
5a3c2c298b | ||
![]() |
608e8609c6 | ||
![]() |
60edf6d444 | ||
![]() |
28c79f30a2 | ||
![]() |
89fcd7413f | ||
![]() |
5741027a54 | ||
![]() |
6598ca5335 | ||
![]() |
5024bac01e | ||
![]() |
499a481baa | ||
![]() |
7d4ab6ff58 | ||
![]() |
9c93d5e336 | ||
![]() |
19af20457e | ||
![]() |
1cdc165b1c | ||
![]() |
ede8fe8066 | ||
![]() |
51046d9646 | ||
![]() |
f2fd933f50 | ||
![]() |
8d16d50171 | ||
![]() |
3e3e2486ee | ||
![]() |
780707d821 | ||
![]() |
8ac0f752ba | ||
![]() |
180641a72b | ||
![]() |
75126f27ed | ||
![]() |
df683a3022 | ||
![]() |
61373259e9 | ||
![]() |
481dffd8b6 | ||
![]() |
80a957d261 | ||
![]() |
9df3b0f163 | ||
![]() |
284cc53308 | ||
![]() |
4c7075fdb8 | ||
![]() |
5d5a21ca4e | ||
![]() |
9e6f14ed47 | ||
![]() |
c61c770c3e | ||
![]() |
9595892444 | ||
![]() |
8c7867e14a | ||
![]() |
a58b0dae6b | ||
![]() |
4385ef9f87 | ||
![]() |
8f9ed014f2 | ||
![]() |
2f0ce05789 | ||
![]() |
6d700e6819 | ||
![]() |
46c5ec3b44 | ||
![]() |
de8d450a05 | ||
![]() |
56f74e03ba | ||
![]() |
0ce037675b | ||
![]() |
aa472e6ffa | ||
![]() |
f05b45af02 | ||
![]() |
69b4f6a4ca | ||
![]() |
484d540ecb | ||
![]() |
bb542efaa8 | ||
![]() |
49ac691b3e | ||
![]() |
95d757f826 | ||
![]() |
c1fc156d75 | ||
![]() |
35a5a25150 | ||
![]() |
9547ba316e | ||
![]() |
0d48dec518 | ||
![]() |
f4852a4bdb | ||
![]() |
a7d515e76a | ||
![]() |
37f6acc984 | ||
![]() |
c87bd75334 | ||
![]() |
77ffbb49a7 | ||
![]() |
64533e5dbc | ||
![]() |
d42b980496 | ||
![]() |
2b84def4d8 | ||
![]() |
7ba75a04ad | ||
![]() |
98b88a74ae | ||
![]() |
31d98ef263 | ||
![]() |
3f34ae2ab0 | ||
![]() |
d8b52d8772 | ||
![]() |
103fa52511 | ||
![]() |
cdb0a8e685 | ||
![]() |
6b217d6c02 | ||
![]() |
490b0a32b2 | ||
![]() |
c0684f4486 | ||
![]() |
988c8dcb08 | ||
![]() |
a1251de4e8 | ||
![]() |
a64e4f1d0d | ||
![]() |
72f13a2b66 | ||
![]() |
a587119310 | ||
![]() |
12e29f944a | ||
![]() |
19861ce3d4 | ||
![]() |
d8647e4f16 | ||
![]() |
60e9abecfe | ||
![]() |
1b45d2b564 | ||
![]() |
25d62a4755 | ||
![]() |
c0a8fbe86b | ||
![]() |
8a9e7b2d57 | ||
![]() |
dc85034aed | ||
![]() |
6b029098d9 | ||
![]() |
9f754f93a0 | ||
![]() |
910240df67 | ||
![]() |
4f93a96e7e | ||
![]() |
f93977ba24 | ||
![]() |
9a260950ef | ||
![]() |
66df7986e7 | ||
![]() |
487da42baa | ||
![]() |
64150de775 | ||
![]() |
2ded5a6fe5 | ||
![]() |
feae17bffe | ||
![]() |
0949023b81 | ||
![]() |
aa096ed497 | ||
![]() |
af08703c50 | ||
![]() |
5c0939160a | ||
![]() |
1a2497f745 | ||
![]() |
ec1fb97c93 | ||
![]() |
c83c3b7fd8 | ||
![]() |
158fd884ad | ||
![]() |
a872cb977b | ||
![]() |
48d6ab035a | ||
![]() |
27ed169c26 | ||
![]() |
b3118bab80 | ||
![]() |
73edc42408 | ||
![]() |
a2a466cf2b | ||
![]() |
c426340ed2 | ||
![]() |
ae14943882 | ||
![]() |
c4b43fd2ac | ||
![]() |
df017d9d5d | ||
![]() |
9c0ea3e564 | ||
![]() |
eb5d4b3dec | ||
![]() |
8de7ad2d82 | ||
![]() |
96fb918b7a | ||
![]() |
d2e81917d3 | ||
![]() |
020e11a06c | ||
![]() |
8470b4f809 | ||
![]() |
12f29b765d | ||
![]() |
4bf56b9c99 | ||
![]() |
584a51a5bf | ||
![]() |
e36858d1e1 | ||
![]() |
860b12a63a | ||
![]() |
50708e2f89 | ||
![]() |
ad24e44041 | ||
![]() |
ad143b87c9 | ||
![]() |
f17914a3ef | ||
![]() |
3feeff793e | ||
![]() |
d9152fa8ea | ||
![]() |
77e3698b04 | ||
![]() |
d6366618fd | ||
![]() |
fe603eca70 | ||
![]() |
7904caa902 | ||
![]() |
f4dcb16d24 | ||
![]() |
cce017c646 | ||
![]() |
148615d4b6 | ||
![]() |
6db24d27c8 | ||
![]() |
f5ada35478 | ||
![]() |
d229c84c91 | ||
![]() |
7de46e9d46 | ||
![]() |
76b32c9138 | ||
![]() |
24148c053d | ||
![]() |
23cb30b31c | ||
![]() |
6c9e2dd0ab | ||
![]() |
a9db8747c1 | ||
![]() |
492d3f1a2a | ||
![]() |
fb6ce16433 | ||
![]() |
046a1acfb3 | ||
![]() |
f2ae017562 | ||
![]() |
0de916f4b7 | ||
![]() |
ddc19e40ef | ||
![]() |
9f437c0576 | ||
![]() |
f27773c9cb | ||
![]() |
d1690611d9 | ||
![]() |
6ba7c07a2c | ||
![]() |
259c502bfc | ||
![]() |
f81762bcdc | ||
![]() |
b27264b381 | ||
![]() |
a1c7f32dc5 | ||
![]() |
9454c07019 | ||
![]() |
6e66a147e7 | ||
![]() |
099c985617 | ||
![]() |
a79a12131b | ||
![]() |
0f82471dab | ||
![]() |
9dd947bbe5 | ||
![]() |
6982e05fac | ||
![]() |
edc30ad0cd | ||
![]() |
b9780c5515 | ||
![]() |
9bb6578c61 | ||
![]() |
f360bbf3c6 | ||
![]() |
b749367999 | ||
![]() |
4bcb83a1a4 | ||
![]() |
97e6ec8f99 | ||
![]() |
023e552157 | ||
![]() |
17973c1090 | ||
![]() |
28b5bd8c58 | ||
![]() |
62f94369c9 | ||
![]() |
c9fc53a546 | ||
![]() |
946f8ca938 | ||
![]() |
ffbeb3ede7 | ||
![]() |
6dd4678339 | ||
![]() |
82090571d6 | ||
![]() |
63bfe64e71 | ||
![]() |
5121f92870 | ||
![]() |
1b95b3a265 | ||
![]() |
e8d926eca8 | ||
![]() |
2076081405 | ||
![]() |
da5b898250 | ||
![]() |
cf2f806820 | ||
![]() |
3ebbea542b | ||
![]() |
cce963aaba | ||
![]() |
4e6156cae0 | ||
![]() |
457f122861 | ||
![]() |
d94b54b90f | ||
![]() |
834ac4744b | ||
![]() |
2716af78be | ||
![]() |
3d37a93336 | ||
![]() |
1d976cb7df | ||
![]() |
4e2a5a39e9 | ||
![]() |
63ef832ab4 | ||
![]() |
f480dfa6b4 | ||
![]() |
bd85cabce9 | ||
![]() |
76a5408bda | ||
![]() |
61537afb93 | ||
![]() |
12417340f2 | ||
![]() |
b7533957b2 | ||
![]() |
15512c9448 | ||
![]() |
f69efa7ec8 | ||
![]() |
f3c392760a | ||
![]() |
d59e6ea87b | ||
![]() |
476d36d41c | ||
![]() |
0ccc0c64f4 | ||
![]() |
c5b4db6141 | ||
![]() |
6d0f917a0e | ||
![]() |
497dbe6bce | ||
![]() |
1da8133e09 | ||
![]() |
b3354a35ad | ||
![]() |
827fe5b5e1 | ||
![]() |
fc98b2d768 | ||
![]() |
dd5c6886cd | ||
![]() |
72f6f5d260 | ||
![]() |
d54fd6abf8 | ||
![]() |
5c75a78a3d | ||
![]() |
653c2b9d4b | ||
![]() |
dba91ad560 | ||
![]() |
108672e9a1 | ||
![]() |
18499d12c5 | ||
![]() |
79e97f0b5b | ||
![]() |
dba7ad3e09 | ||
![]() |
d260ada9ec | ||
![]() |
1503937c48 | ||
![]() |
585f4d7c5c | ||
![]() |
b125085315 | ||
![]() |
ee605fb4eb | ||
![]() |
2e14d200ed | ||
![]() |
de28b1b2e3 | ||
![]() |
467815e8d5 | ||
![]() |
98687a0ec1 | ||
![]() |
bc92818c53 | ||
![]() |
3fd6806549 | ||
![]() |
3f76ed2f59 | ||
![]() |
c4b9f91376 | ||
![]() |
c797a2f7a8 | ||
![]() |
c23ceafddd | ||
![]() |
e0b1b0250c | ||
![]() |
ce54758f36 | ||
![]() |
a80efa9578 | ||
![]() |
04bad29146 | ||
![]() |
8816c0c40e | ||
![]() |
b6c9ce4a9f | ||
![]() |
c8d16104d5 | ||
![]() |
215d125032 | ||
![]() |
ccdf4ab391 | ||
![]() |
8bd7d68d2e | ||
![]() |
03f1df615e | ||
![]() |
86ee2d3d2f | ||
![]() |
9c608b0583 | ||
![]() |
bdc84fb36d | ||
![]() |
4dda37ad3d | ||
![]() |
7559010b83 | ||
![]() |
75644ae046 | ||
![]() |
994ffe5ab5 | ||
![]() |
1dc016a6f8 | ||
![]() |
44e3b31c67 | ||
![]() |
3cbfd60098 | ||
![]() |
fc0715aa97 | ||
![]() |
84fff0fe8b | ||
![]() |
153ef9bf1f | ||
![]() |
bbe8f3a32c | ||
![]() |
eb7c9b5c3c | ||
![]() |
90e73ed010 | ||
![]() |
e613017c13 | ||
![]() |
6404bb84ed | ||
![]() |
55ec9acccf | ||
![]() |
0197b79427 | ||
![]() |
828e531b52 | ||
![]() |
23279d9710 | ||
![]() |
0caf473897 | ||
![]() |
8e68534b28 | ||
![]() |
0f07ccfd3f | ||
![]() |
77fad02da7 | ||
![]() |
7a9cb1b2ca | ||
![]() |
d82ed79989 | ||
![]() |
ff82ded064 | ||
![]() |
78167f2d03 | ||
![]() |
80f2084822 | ||
![]() |
a7d67e993f | ||
![]() |
317eab54f8 | ||
![]() |
cb90ef363b | ||
![]() |
f31309f863 | ||
![]() |
a76a692075 | ||
![]() |
f52f758962 | ||
![]() |
bcc3a7877e | ||
![]() |
7b52da5ce0 | ||
![]() |
e7403bd1a4 | ||
![]() |
2881eb4546 | ||
![]() |
c7cc2269ba | ||
![]() |
014158bc63 | ||
![]() |
8dcccb17ad | ||
![]() |
325a222386 | ||
![]() |
9b4f4229f7 | ||
![]() |
3b719bf145 | ||
![]() |
136d5d2e15 | ||
![]() |
1c10a00089 | ||
![]() |
a8d9401de3 | ||
![]() |
e77fa7dfbc | ||
![]() |
8d3c0cc4ce | ||
![]() |
87e04c8c4b | ||
![]() |
e1f4228c31 | ||
![]() |
4cb4bef579 |
2
.github/release.yml
vendored
2
.github/release.yml
vendored
@@ -14,7 +14,7 @@ changelog:
|
|||||||
labels:
|
labels:
|
||||||
- Semver-Minor
|
- Semver-Minor
|
||||||
- enhancement
|
- enhancement
|
||||||
- title: 🐛 Bug fixes
|
- title: 🐛 Bug Fixes
|
||||||
labels:
|
labels:
|
||||||
- fix
|
- fix
|
||||||
- bugfix
|
- bugfix
|
||||||
|
15
.github/workflows/auto-merge.yml
vendored
15
.github/workflows/auto-merge.yml
vendored
@@ -16,27 +16,24 @@ jobs:
|
|||||||
uses: dependabot/fetch-metadata@v1
|
uses: dependabot/fetch-metadata@v1
|
||||||
with:
|
with:
|
||||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
|
||||||
- name: Enable auto-merge for Dependabot PRs
|
- name: Enable auto-merge for Dependabot PRs
|
||||||
run: gh pr merge --auto --merge "$PR_URL"
|
run: gh pr merge --auto --merge "$PR_URL"
|
||||||
env:
|
env:
|
||||||
PR_URL: ${{github.event.pull_request.html_url}}
|
PR_URL: ${{github.event.pull_request.html_url}}
|
||||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||||
|
|
||||||
- name: Approve patch and minor updates
|
- 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'}}
|
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**"
|
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a patch or minor update**"
|
||||||
env:
|
env:
|
||||||
PR_URL: ${{github.event.pull_request.html_url}}
|
PR_URL: ${{github.event.pull_request.html_url}}
|
||||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
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'}}
|
- name: Comment on major updates of any dependencies
|
||||||
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**"
|
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major'}}
|
||||||
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: |
|
run: |
|
||||||
gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency used in production**"
|
gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency**"
|
||||||
gh pr edit $PR_URL --add-label "requires-manual-qa"
|
gh pr edit $PR_URL --add-label "requires-manual-qa"
|
||||||
env:
|
env:
|
||||||
PR_URL: ${{github.event.pull_request.html_url}}
|
PR_URL: ${{github.event.pull_request.html_url}}
|
||||||
|
30
.github/workflows/build.yml
vendored
30
.github/workflows/build.yml
vendored
@@ -1,30 +0,0 @@
|
|||||||
name: build
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- v*
|
|
||||||
branches: [ main ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ main ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
|
||||||
node-version: [16.x, 18.x, 20.x]
|
|
||||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
cache: 'npm'
|
|
||||||
cache-dependency-path: '**/package-lock.json'
|
|
||||||
- run: npm ci
|
|
||||||
- run: npm run build
|
|
||||||
- run: npm run build:example
|
|
97
.github/workflows/lint-build.yml
vendored
Normal file
97
.github/workflows/lint-build.yml
vendored
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
name: Lint & build
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- v*
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
env:
|
||||||
|
CACHE_KEY: 'hugo-hinode'
|
||||||
|
CACHE_PATH_DEBIAN: '/tmp/hugo_cache_runner'
|
||||||
|
CACHE_PATH_WIN: '~\AppData\Local\hugo_cache'
|
||||||
|
CACHE_PATH_MAC: '/Users/runner/Library/Caches/hugo_cache'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
cache: 'npm'
|
||||||
|
cache-dependency-path: '**/package-lock.json'
|
||||||
|
|
||||||
|
# [24/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
|
||||||
|
- name: Install npm
|
||||||
|
run: npm i
|
||||||
|
|
||||||
|
- name: Lint the source files
|
||||||
|
run: npm run lint
|
||||||
|
|
||||||
|
build:
|
||||||
|
needs: lint
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||||
|
node-version: [18.x, 20.x]
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
cache: 'npm'
|
||||||
|
cache-dependency-path: '**/package-lock.json'
|
||||||
|
|
||||||
|
- name: Install Dart Sass
|
||||||
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||||
|
sudo snap install dart-sass
|
||||||
|
elif [ "$RUNNER_OS" == "macOS" ]; then
|
||||||
|
brew install sass/sass/sass
|
||||||
|
elif [ "$RUNNER_OS" == "Windows" ]; then
|
||||||
|
choco install sass
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# [24/AUG/23] Adjusted from npm ci for non-macOS to prevent EBADPLATFORM error due to fsevents
|
||||||
|
- name: Perform clean install of npm
|
||||||
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "macOS" ]; then
|
||||||
|
npm ci
|
||||||
|
else
|
||||||
|
npm i
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# Cache Hugo cachedir and resourcedir (configured in config/ci/hugo.toml) for each OS
|
||||||
|
# No additional cache invalidation is needed, Hugo uses checksums itself
|
||||||
|
- name: Use Hugo cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ${{ runner.os == 'Windows' && env.CACHE_PATH_WIN || runner.os == 'macOS' && env.CACHE_PATH_MAC || env.CACHE_PATH_DEBIAN }}
|
||||||
|
key: ${{ runner.os }}-${{ env.CACHE_KEY }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-${{ env.CACHE_KEY }}
|
||||||
|
|
||||||
|
- name: Build main site
|
||||||
|
run: npm run build:cache
|
||||||
|
|
||||||
|
# The example site is to be published to demo.gethinode.com
|
||||||
|
- name: Build example site
|
||||||
|
run: npm run build:example:ci
|
31
.github/workflows/lint.yml
vendored
31
.github/workflows/lint.yml
vendored
@@ -1,31 +0,0 @@
|
|||||||
name: lint
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- v*
|
|
||||||
branches: [ main ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ main ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [16.x, 18.x, 20.x]
|
|
||||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
cache: 'npm'
|
|
||||||
cache-dependency-path: '**/package-lock.json'
|
|
||||||
|
|
||||||
- run: npm ci --ignore-scripts
|
|
||||||
- run: npm run lint
|
|
62
.github/workflows/mod-update.yml
vendored
Normal file
62
.github/workflows/mod-update.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
name: Update Hugo dependencies
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 3 * * *' # run daily at 03:00 AM
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-mod:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
cache: 'npm'
|
||||||
|
cache-dependency-path: '**/package-lock.json'
|
||||||
|
|
||||||
|
# [26/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
|
||||||
|
- name: Install npm
|
||||||
|
run: npm i
|
||||||
|
|
||||||
|
- name: Update Hugo module dependencies
|
||||||
|
id: mod-updates
|
||||||
|
run: |
|
||||||
|
MOD_OUTPUT=$(npm run mod:update 2>&1)
|
||||||
|
echo "$MOD_OUTPUT"
|
||||||
|
MOD_UPDATES=$(echo "$MOD_OUTPUT" | grep '^go: upgraded' | sed 's/go: / - /' | sort -u)
|
||||||
|
echo 'MOD_UPDATES<<EOF' >> $GITHUB_OUTPUT
|
||||||
|
echo "$MOD_UPDATES" >> "$GITHUB_OUTPUT"
|
||||||
|
echo 'EOF' >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: gethinode-actions/create-pull-request@v5
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.HUGO_MOD_PR }}
|
||||||
|
commit-message: 'fix: update Hugo module dependencies'
|
||||||
|
committer: GitHub <noreply@github.com>
|
||||||
|
branch: hugo-mod-dependencies
|
||||||
|
delete-branch: true
|
||||||
|
title: 'Update Hugo module dependencies'
|
||||||
|
body: |
|
||||||
|
This PR is auto-generated by [create-pull-request][1].
|
||||||
|
|
||||||
|
Changes to go.mod:
|
||||||
|
|
||||||
|
${{ steps.mod-updates.outputs.MOD_UPDATES }}
|
||||||
|
|
||||||
|
[1]: https://github.com/peter-evans/create-pull-request
|
||||||
|
labels: dependencies
|
||||||
|
add-paths: |
|
||||||
|
go.mod
|
||||||
|
go.sum
|
||||||
|
**/go.mod
|
||||||
|
**/go.sum
|
54
.github/workflows/npm-publish.yml
vendored
54
.github/workflows/npm-publish.yml
vendored
@@ -1,35 +1,41 @@
|
|||||||
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
# This workflow will run tests using node and then publish a package to npmjs.org when a release is created
|
||||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
|
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
||||||
|
name: Publish package to npmjs
|
||||||
name: Node.js Package
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
branches: [ main ]
|
|
||||||
release:
|
release:
|
||||||
types: [created]
|
types: [published]
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY_URL: 'https://registry.npmjs.org/'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
strategy:
|
||||||
steps:
|
matrix:
|
||||||
- uses: actions/checkout@v3
|
os: [ubuntu-latest]
|
||||||
- uses: actions/setup-node@v3
|
node-version: [20.x]
|
||||||
with:
|
|
||||||
node-version: 16
|
runs-on: ${{ matrix.os }}
|
||||||
- run: npm ci
|
|
||||||
- run: npm test
|
|
||||||
|
|
||||||
publish-npm:
|
|
||||||
needs: build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- name: Checkout repository
|
||||||
- uses: actions/setup-node@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup .npmrc file to publish to npm
|
||||||
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: ${{ matrix.node-version }}
|
||||||
registry-url: https://registry.npmjs.org/
|
registry-url: ${{ env.REGISTRY_URL }}
|
||||||
- run: npm ci
|
cache: 'npm'
|
||||||
- run: npm publish
|
cache-dependency-path: '**/package-lock.json'
|
||||||
|
|
||||||
|
# [27/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
|
||||||
|
- name: Install npm
|
||||||
|
run: npm i
|
||||||
|
|
||||||
|
- name: Publish package to npm
|
||||||
|
run: npm publish
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
37
.github/workflows/update.yml
vendored
37
.github/workflows/update.yml
vendored
@@ -1,37 +0,0 @@
|
|||||||
name: Update Hugo Dependencies
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
- cron: '0 3 * * *' # run daily at 03:00 AM
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
update-dep:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: "lts/*"
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Update Hugo module dependencies
|
|
||||||
run: npm run mod:update
|
|
||||||
- name: Create Pull Request
|
|
||||||
uses: peter-evans/create-pull-request@v5
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.HUGO_MOD_PR }}
|
|
||||||
commit-message: 'fix: update Hugo module dependencies'
|
|
||||||
branch: hugo-mod-dependencies
|
|
||||||
delete-branch: true
|
|
||||||
title: 'Update Hugo module dependencies'
|
|
||||||
body: >
|
|
||||||
This PR is auto-generated by
|
|
||||||
[create-pull-request](https://github.com/peter-evans/create-pull-request).
|
|
||||||
labels: dependencies
|
|
@@ -4,10 +4,11 @@
|
|||||||
"MD013": false,
|
"MD013": false,
|
||||||
"MD024": false,
|
"MD024": false,
|
||||||
"MD026": false,
|
"MD026": false,
|
||||||
"MD033": false,
|
|
||||||
"MD034": false,
|
"MD034": false,
|
||||||
"MD051": false,
|
"MD051": false,
|
||||||
"MD053": false
|
"MD053": false,
|
||||||
|
"MD055": false,
|
||||||
|
"MD056": false
|
||||||
},
|
},
|
||||||
"ignores": ["node_modules", "CHANGELOG.md"]
|
"ignores": ["node_modules", "CHANGELOG.md"]
|
||||||
}
|
}
|
||||||
|
@@ -3,5 +3,6 @@ assets/scss/components/_syntax-dark.scss
|
|||||||
assets/scss/components/_syntax-light.scss
|
assets/scss/components/_syntax-light.scss
|
||||||
assets/scss/vendor
|
assets/scss/vendor
|
||||||
assets/scss/theme/fonts.scss
|
assets/scss/theme/fonts.scss
|
||||||
|
assets/scss/app-dart.scss
|
||||||
assets/scss/app.scss
|
assets/scss/app.scss
|
||||||
node_modules
|
node_modules
|
||||||
|
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2023 Mark Dumay
|
Copyright (c) 2024 Mark Dumay
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
56
README.md
56
README.md
@@ -1,5 +1,6 @@
|
|||||||
# Hugo Theme Hinode
|
# Hugo Theme Hinode
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD033 -->
|
||||||
<!-- Tagline -->
|
<!-- Tagline -->
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<b>A clean documentation and blog theme for your Hugo site based on Bootstrap 5</b>
|
<b>A clean documentation and blog theme for your Hugo site based on Bootstrap 5</b>
|
||||||
@@ -8,32 +9,32 @@
|
|||||||
|
|
||||||
<!-- Badges -->
|
<!-- Badges -->
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://gohugo.io" alt="Hugo website">
|
<a href="https://gohugo.io">
|
||||||
<img src="https://img.shields.io/badge/generator-hugo-brightgreen">
|
<img src="https://img.shields.io/badge/generator-hugo-brightgreen" alt="Hugo website">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://gethinode.com" alt="Hinode theme">
|
<a href="https://gethinode.com">
|
||||||
<img src="https://img.shields.io/badge/theme-hinode-blue">
|
<img src="https://img.shields.io/badge/theme-hinode-blue" alt="Hinode theme">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://www.npmjs.com/package/%40gethinode/hinode" alt="npm package">
|
<a href="https://www.npmjs.com/package/%40gethinode/hinode">
|
||||||
<img src="https://img.shields.io/npm/v/%40gethinode/hinode">
|
<img src="https://img.shields.io/npm/v/%40gethinode/hinode" alt="npm package">
|
||||||
</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">
|
||||||
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67">
|
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67" alt="Netlify Status">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://stats.uptimerobot.com/xyGVYhLJmV" alt="UptimeRobot Status">
|
<a href="https://stats.uptimerobot.com/xyGVYhLJmV">
|
||||||
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb">
|
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb" alt="UptimeRobot Status">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/gethinode/hinode/commits/main" alt="Last commit">
|
<a href="https://github.com/gethinode/hinode/commits/main">
|
||||||
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg">
|
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg" alt="Last commit">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/gethinode/hinode/issues" alt="Issues">
|
<a href="https://github.com/gethinode/hinode/issues">
|
||||||
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg">
|
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg" alt="Issues">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/gethinode/hinode/pulls" alt="Pulls">
|
<a href="https://github.com/gethinode/hinode/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" alt="Pulls">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE" alt="License">
|
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE">
|
||||||
<img src="https://img.shields.io/github/license/gethinode/hinode">
|
<img src="https://img.shields.io/github/license/gethinode/hinode" alt="License">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -47,6 +48,7 @@
|
|||||||
<a href="#donate">Donate</a> •
|
<a href="#donate">Donate</a> •
|
||||||
<a href="#license">License</a>
|
<a href="#license">License</a>
|
||||||
</p>
|
</p>
|
||||||
|
<!-- markdownlint-enable MD033 -->
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
@@ -73,6 +75,14 @@ The installation instructions in this readme install Hinode as a regular Hugo th
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD033 -->
|
||||||
|
<details>
|
||||||
|
<summary>Installation notes for Windows</summary>
|
||||||
|
|
||||||
|
The installation for Windows requires PowerShell v7. Download it from the Microsoft Store as needed. Check your current version with the command `$PSVersionTable`.
|
||||||
|
</details>
|
||||||
|
<!-- markdownlint-enable MD033 -->
|
||||||
|
|
||||||
Start a new Hinode project in three steps:
|
Start a new Hinode project in three steps:
|
||||||
|
|
||||||
1. **Create a new site**
|
1. **Create a new site**
|
||||||
@@ -81,14 +91,15 @@ Start a new Hinode project in three steps:
|
|||||||
hugo new site my-hinode-site && cd my-hinode-site
|
hugo new site my-hinode-site && cd my-hinode-site
|
||||||
```
|
```
|
||||||
|
|
||||||
1. **Initialize the module system**
|
2. **Initialize the module system**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
hugo mod init example.com/my-hinode-site
|
hugo mod init example.com/my-hinode-site
|
||||||
echo "[[module.imports]]\npath = 'github.com/gethinode/hinode'" >> hugo.toml
|
echo "[[module.imports]]" >> hugo.toml
|
||||||
|
echo "path = 'github.com/gethinode/hinode'" >> hugo.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
1. **Start a development server**
|
3. **Start a development server**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
hugo server
|
hugo server
|
||||||
@@ -111,7 +122,9 @@ Hinode is inspired by the following themes:
|
|||||||
|
|
||||||
## Donate
|
## Donate
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD033 -->
|
||||||
<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>
|
<a href="https://www.buymeacoffee.com/markdumay" target="_blank" rel="noopener noreferrer"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
|
||||||
|
<!-- markdownlint-enable MD033 -->
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
@@ -132,7 +145,6 @@ The `hinode`, `docs`, and `template` codebase is released under the [MIT license
|
|||||||
[npm]: https://www.npmjs.com
|
[npm]: https://www.npmjs.com
|
||||||
[observatory]: https://observatory.mozilla.org/analyze/demo.gethinode.com
|
[observatory]: https://observatory.mozilla.org/analyze/demo.gethinode.com
|
||||||
[pagespeed]: https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F
|
[pagespeed]: https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F
|
||||||
[utterances]: https://utteranc.es
|
|
||||||
|
|
||||||
<!-- MARKDOWN MAINTAINED LINKS -->
|
<!-- MARKDOWN MAINTAINED LINKS -->
|
||||||
[contribute]: https://gethinode.com/contribute
|
[contribute]: https://gethinode.com/contribute
|
||||||
|
BIN
assets/img/creator-1x1.jpg
Normal file
BIN
assets/img/creator-1x1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.5 MiB |
@@ -11,8 +11,8 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
|
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
|
||||||
{{- if (and (not .Site.IsServer) (not $pc.Disable)) -}}
|
{{- if (and (not hugo.IsServer) (not $pc.Disable)) -}}
|
||||||
{{ with .Site.GoogleAnalytics -}}
|
{{ with .Site.Config.Services.GoogleAnalytics.ID -}}
|
||||||
{{ if hasPrefix . "G-"}}
|
{{ if hasPrefix . "G-"}}
|
||||||
{{ template "__ga_js_set_doNotTrack" $ }}
|
{{ template "__ga_js_set_doNotTrack" $ }}
|
||||||
|
|
||||||
|
@@ -1,14 +1,24 @@
|
|||||||
const navbar = document.querySelector('.navbar')
|
const navbar = document.querySelector('.navbar')
|
||||||
const togglers = document.querySelectorAll('.main-nav-toggler')
|
const togglers = document.querySelectorAll('.main-nav-toggler')
|
||||||
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
|
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
|
||||||
|
const colorsBG = ['body', 'secondary', 'tertiary']
|
||||||
|
|
||||||
if (navbar !== null && togglers !== null) {
|
if (navbar !== null && togglers !== null) {
|
||||||
|
// initialize background color
|
||||||
|
const color = (navbar.getAttribute('data-navbar-color') || 'body')
|
||||||
|
const bg = colorsBG.includes(color) ? `var(--bs-${color}-bg)` : `var(--bs-navbar-color-${color})`
|
||||||
|
navbar.style.setProperty('--bs-navbar-expanded-color', bg)
|
||||||
|
|
||||||
// set the navbar background color to opaque when scrolling past a breakpoint
|
// set the navbar background color to opaque when scrolling past a breakpoint
|
||||||
window.onscroll = () => {
|
window.onscroll = () => {
|
||||||
if (window.scrollY > 75) {
|
if (window.scrollY > 75) {
|
||||||
navbar.classList.add('nav-active')
|
navbar.classList.add('nav-active')
|
||||||
|
const storedTheme = localStorage.getItem('theme')
|
||||||
|
navbar.setAttribute('data-bs-theme', storedTheme)
|
||||||
} else {
|
} else {
|
||||||
navbar.classList.remove('nav-active')
|
navbar.classList.remove('nav-active')
|
||||||
|
const defaultTheme = navbar.getAttribute('data-bs-overlay')
|
||||||
|
navbar.setAttribute('data-bs-theme', defaultTheme)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
58
assets/scss/app-dart.scss
Normal file
58
assets/scss/app-dart.scss
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
@use "sass:meta";
|
||||||
|
|
||||||
|
// Define template variables
|
||||||
|
@use "hugo:vars" as h; // note: modified for dart-sass
|
||||||
|
|
||||||
|
// Include default variable overrides
|
||||||
|
@import "common/variables-dart.scss"; // note: modified for dart-sass
|
||||||
|
@import "theme/variables.scss";
|
||||||
|
@import "common/icons.scss";
|
||||||
|
|
||||||
|
// Import Bootstrap configuration (mounted by core Bootstrap module)
|
||||||
|
@import "bootstrap-dart.scss"; // note: modified for dart-sass
|
||||||
|
|
||||||
|
// Include dark mode overrides
|
||||||
|
@import "common/variables-dark.scss";
|
||||||
|
|
||||||
|
// Import Hinode theme styles
|
||||||
|
@import "components/abbr.scss";
|
||||||
|
@import "components/alert.scss";
|
||||||
|
@import "components/blockquote.scss";
|
||||||
|
@import "components/breadcrumb.scss";
|
||||||
|
@import "components/button.scss";
|
||||||
|
@import "components/card.scss";
|
||||||
|
@import "components/carousel.scss";
|
||||||
|
@import "components/clipboard.scss";
|
||||||
|
@import "components/command.scss";
|
||||||
|
@import "components/feature.scss";
|
||||||
|
@import "components/footer.scss";
|
||||||
|
@import "components/nav.scss";
|
||||||
|
@import "components/navbar.scss";
|
||||||
|
@import "components/img.scss";
|
||||||
|
@import "components/pagination.scss";
|
||||||
|
@import "components/persona.scss";
|
||||||
|
@import "components/popover.scss";
|
||||||
|
@import "components/sidebar.scss";
|
||||||
|
@import "components/syntax-dart.scss"; // note: modified for dart-sass
|
||||||
|
@import "components/table.scss";
|
||||||
|
@import "components/timeline.scss";
|
||||||
|
@import "components/toc.scss";
|
||||||
|
@import "components/video.scss";
|
||||||
|
@import "common/animation.scss";
|
||||||
|
@import "common/styles.scss";
|
||||||
|
@import "layouts/reboot.scss";
|
||||||
|
@import "layouts/type.scss";
|
||||||
|
@import "common/export.scss";
|
||||||
|
@import "helpers/colored-links.scss";
|
||||||
|
@import "helpers/display.scss";
|
||||||
|
|
||||||
|
// note: modified for dart-sass
|
||||||
|
@if h.$import-fonts {
|
||||||
|
@include meta.load-css(theme/fonts);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Import theme placeholder
|
||||||
|
@import "theme/theme.scss";
|
||||||
|
|
||||||
|
// Import Bootstrap utilities API (mounted by core Bootstrap module)
|
||||||
|
@import "modules/bootstrap/utilities/api";
|
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
// Include default variable overrides
|
// Include default variable overrides
|
||||||
@import "common/variables.scss";
|
@import "common/variables.scss";
|
||||||
|
@import "theme/variables.scss";
|
||||||
@import "common/icons.scss";
|
@import "common/icons.scss";
|
||||||
|
|
||||||
// Import Bootstrap configuration (mounted by core Bootstrap module)
|
// Import Bootstrap configuration (mounted by core Bootstrap module)
|
||||||
@@ -12,17 +13,18 @@
|
|||||||
@import "common/variables-dark.scss";
|
@import "common/variables-dark.scss";
|
||||||
|
|
||||||
// Import Hinode theme styles
|
// Import Hinode theme styles
|
||||||
|
@import "components/abbr.scss";
|
||||||
@import "components/alert.scss";
|
@import "components/alert.scss";
|
||||||
@import "components/blockquote.scss";
|
@import "components/blockquote.scss";
|
||||||
@import "components/breadcrumb.scss";
|
@import "components/breadcrumb.scss";
|
||||||
@import "components/buttons.scss";
|
@import "components/button.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/feature.scss";
|
@import "components/feature.scss";
|
||||||
@import "components/footer.scss";
|
@import "components/footer.scss";
|
||||||
|
@import "components/nav.scss";
|
||||||
@import "components/navbar.scss";
|
@import "components/navbar.scss";
|
||||||
@import "components/img.scss";
|
@import "components/img.scss";
|
||||||
@import "components/pagination.scss";
|
@import "components/pagination.scss";
|
||||||
@@ -30,9 +32,10 @@
|
|||||||
@import "components/popover.scss";
|
@import "components/popover.scss";
|
||||||
@import "components/sidebar.scss";
|
@import "components/sidebar.scss";
|
||||||
@import "components/syntax.scss";
|
@import "components/syntax.scss";
|
||||||
|
@import "components/table.scss";
|
||||||
@import "components/timeline.scss";
|
@import "components/timeline.scss";
|
||||||
@import "components/toc.scss";
|
@import "components/toc.scss";
|
||||||
@import "components/vimeo.scss";
|
@import "components/video.scss";
|
||||||
@import "common/animation.scss";
|
@import "common/animation.scss";
|
||||||
@import "common/styles.scss";
|
@import "common/styles.scss";
|
||||||
@import "layouts/reboot.scss";
|
@import "layouts/reboot.scss";
|
||||||
|
@@ -15,6 +15,34 @@ a:active {
|
|||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fullcover {
|
||||||
|
--navbar-height: #{$navbar-height};
|
||||||
|
|
||||||
|
min-height: calc(100vh - var(--navbar-height));
|
||||||
|
}
|
||||||
|
|
||||||
|
.fullscreen {
|
||||||
|
--overlay-offset: #{$overlay-offset};
|
||||||
|
|
||||||
|
min-height: calc(100vh - var(--overlay-offset));
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-content {
|
||||||
|
margin-top: $overlay-offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
$utilities: map-merge(
|
||||||
|
$utilities,
|
||||||
|
(
|
||||||
|
"cursor": (
|
||||||
|
property: margin-left margin-right,
|
||||||
|
class: mx,
|
||||||
|
responsive: true,
|
||||||
|
values: auto 0,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
.tickmark li::marker {
|
.tickmark li::marker {
|
||||||
content: "✓ ";
|
content: "✓ ";
|
||||||
}
|
}
|
||||||
|
48
assets/scss/common/_variables-dart.scss
Normal file
48
assets/scss/common/_variables-dart.scss
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
// Bootstrap variables overrides for theme
|
||||||
|
$enable-negative-margins: true;
|
||||||
|
$enable-important-utilities: true !default;
|
||||||
|
|
||||||
|
// Remove the border from the focused navigation toggler
|
||||||
|
$navbar-toggler-focus-width: 0 !default;
|
||||||
|
|
||||||
|
$font-family-sans-serif: h.$theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
||||||
|
$font-size-base: h.$font-size-base !default;
|
||||||
|
$headings-font-weight: 600 !default;
|
||||||
|
$font-weight-lighter: lighter !default;
|
||||||
|
$font-weight-light: 200 !default;
|
||||||
|
$font-weight-normal: 300 !default;
|
||||||
|
$font-weight-bold: 600 !default;
|
||||||
|
$font-weight-bolder: bolder !default;
|
||||||
|
|
||||||
|
strong {
|
||||||
|
font-weight: 600 if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
$navbar-height: h.$navbar-height;
|
||||||
|
$navbar-offset: h.$navbar-offset;
|
||||||
|
$overlay-offset: h.$overlay-offset;
|
||||||
|
$primary: h.$primary;
|
||||||
|
$secondary: h.$secondary;
|
||||||
|
$success: h.$success;
|
||||||
|
$info: h.$info;
|
||||||
|
$warning: h.$warning;
|
||||||
|
$danger: h.$danger;
|
||||||
|
$light: h.$light;
|
||||||
|
$dark: h.$dark;
|
||||||
|
|
||||||
|
$black: #000 !default;
|
||||||
|
$btn-toggle-color: $black !default;
|
||||||
|
|
||||||
|
$carousel-dark-indicator-active-bg: #fff !default;
|
||||||
|
$carousel-dark-caption-color: #fff !default;
|
||||||
|
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
|
||||||
|
|
||||||
|
$primary-text-emphasis-dark: mix(white, h.$primary, h.$dark-mode-tint) !default;
|
||||||
|
$secondary-text-emphasis-dark: mix(white, h.$secondary, h.$dark-mode-tint) !default;
|
||||||
|
$link-color-dark: mix(white, h.$primary, h.$dark-mode-tint) !default;
|
||||||
|
$primary-bg-subtle-dark: mix(black, h.$primary, h.$dark-mode-shade) !default;
|
||||||
|
$primary-border-subtle-dark: mix(black, h.$primary, calc(h.$dark-mode-shade / 2)) !default;
|
||||||
|
|
||||||
|
$dropdown-transition: opacity .15s ease-in-out !default;
|
||||||
|
$dropdown-horizontal-margin-top: calc((-1.5 * 1rem) - 2px);
|
||||||
|
$dropdown-horizontal-padding-y: calc(1rem + 2px);
|
@@ -7,6 +7,7 @@ $navbar-toggler-focus-width: 0 !default;
|
|||||||
|
|
||||||
// scss-docs-start font
|
// scss-docs-start font
|
||||||
$font-family-sans-serif: $theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
$font-family-sans-serif: $theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
||||||
|
$font-size-base: $font-size-base !default;;
|
||||||
$headings-font-weight: 600 !default;
|
$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;
|
||||||
@@ -22,8 +23,8 @@ strong {
|
|||||||
$black: #000 !default;
|
$black: #000 !default;
|
||||||
$btn-toggle-color: $black !default;
|
$btn-toggle-color: $black !default;
|
||||||
|
|
||||||
$carousel-dark-indicator-active-bg: #ffffff !default;
|
$carousel-dark-indicator-active-bg: #fff !default;
|
||||||
$carousel-dark-caption-color: #ffffff !default;
|
$carousel-dark-caption-color: #fff !default;
|
||||||
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
|
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
|
||||||
|
|
||||||
// scss-docs-start color-mode
|
// scss-docs-start color-mode
|
||||||
@@ -32,4 +33,10 @@ $secondary-text-emphasis-dark: mix(white, $secondary, $dark-mode-tint) !def
|
|||||||
$link-color-dark: mix(white, $primary, $dark-mode-tint) !default;
|
$link-color-dark: mix(white, $primary, $dark-mode-tint) !default;
|
||||||
$primary-bg-subtle-dark: mix(black, $primary, $dark-mode-shade) !default;
|
$primary-bg-subtle-dark: mix(black, $primary, $dark-mode-shade) !default;
|
||||||
$primary-border-subtle-dark: mix(black, $primary, $dark-mode-shade / 2) !default;
|
$primary-border-subtle-dark: mix(black, $primary, $dark-mode-shade / 2) !default;
|
||||||
// scss-docs-end color-mode
|
// scss-docs-end color-mode
|
||||||
|
|
||||||
|
// scss-docs-start horizontal-nav
|
||||||
|
$dropdown-transition: opacity .15s ease-in-out !default;
|
||||||
|
$dropdown-horizontal-margin-top: calc((-1.5 * 1rem) - 2px);
|
||||||
|
$dropdown-horizontal-padding-y: calc(1rem + 2px);
|
||||||
|
// scss-docs-end horizontal-nav
|
||||||
|
22
assets/scss/components/_abbr.scss
Normal file
22
assets/scss/components/_abbr.scss
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
@media (hover: none) {
|
||||||
|
abbr[title] {
|
||||||
|
position: relative;
|
||||||
|
text-decoration: underline dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
abbr[title]:hover::after,
|
||||||
|
abbr[title]:focus::after {
|
||||||
|
content: attr(title);
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: -30px;
|
||||||
|
width: auto;
|
||||||
|
white-space: nowrap;
|
||||||
|
background-color: var(--bs-body-bg);
|
||||||
|
color: var(--bs-tooltip-color);
|
||||||
|
border-radius: 3px;
|
||||||
|
box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.4);
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 3px 5px;
|
||||||
|
}
|
||||||
|
}
|
@@ -28,3 +28,16 @@
|
|||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: var(--bs-primary) if($enable-important-utilities, !important, null);
|
color: var(--bs-primary) if($enable-important-utilities, !important, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a.btn {
|
||||||
|
margin-top: $spacer * .25;
|
||||||
|
margin-bottom: $spacer * .25;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-close {
|
||||||
|
background-color: transparent if($enable-important-utilities, !important, null);
|
||||||
|
background-image: var(--#{$prefix}btn-close-bg) if($enable-important-utilities, !important, null);
|
||||||
|
background-position: center if($enable-important-utilities, !important, null);
|
||||||
|
background-repeat: no-repeat if($enable-important-utilities, !important, null);
|
||||||
|
background-size: $btn-close-width if($enable-important-utilities, !important, null);
|
||||||
|
}
|
@@ -15,6 +15,10 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card-icon {
|
||||||
|
color: $secondary;
|
||||||
|
}
|
||||||
|
|
||||||
.card-zoom::after .card-img-wrap img {
|
.card-zoom::after .card-img-wrap img {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -48,6 +52,10 @@
|
|||||||
color: $body-color if($enable-important-utilities, !important, null);
|
color: $body-color if($enable-important-utilities, !important, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card-body-margin {
|
||||||
|
margin-bottom: $spacer * 1.5; // equals mb-4
|
||||||
|
}
|
||||||
|
|
||||||
@if $enable-dark-mode {
|
@if $enable-dark-mode {
|
||||||
@include color-mode(dark) {
|
@include color-mode(dark) {
|
||||||
.card-body-link {
|
.card-body-link {
|
||||||
@@ -78,8 +86,8 @@
|
|||||||
|
|
||||||
// stylelint-enable annotation-no-unknown
|
// stylelint-enable annotation-no-unknown
|
||||||
|
|
||||||
// make tag-link clickable on top of the stretched-link.
|
// make tag-link and card-button clickable on top of the stretched-link.
|
||||||
.card .tag-link {
|
.card .tag-link, .card .card-button {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
@@ -1,20 +0,0 @@
|
|||||||
.utterances {
|
|
||||||
position: relative;
|
|
||||||
box-sizing: border-box;
|
|
||||||
width: 100%;
|
|
||||||
max-width: 760px;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.utterances-frame {
|
|
||||||
color-scheme: light;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 1px;
|
|
||||||
min-width: 100%;
|
|
||||||
max-width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
@@ -14,3 +14,16 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mirrorred {
|
||||||
|
-webkit-transform: scaleX(-1);
|
||||||
|
transform: scaleX(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.background-img {
|
||||||
|
--overlay-offset: #{$overlay-offset};
|
||||||
|
|
||||||
|
height: calc(100vh - var(--overlay-offset));
|
||||||
|
width: 100vw;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
103
assets/scss/components/_nav.scss
Normal file
103
assets/scss/components/_nav.scss
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
.nav-tabs > .nav-link.active {
|
||||||
|
border-bottom-color: var(--bs-body-bg) !important;
|
||||||
|
border-bottom-style: solid !important;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout {
|
||||||
|
--#{$prefix}nav-callout-bg: var(--#{$prefix}light);
|
||||||
|
--#{$prefix}nav-callout-active-bg: var(--bs-primary-bg-subtle);
|
||||||
|
--#{$prefix}nav-callout-gap: #{$nav-underline-gap};
|
||||||
|
|
||||||
|
column-gap: var(--#{$prefix}nav-callout-gap) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout > .tab-content {
|
||||||
|
background-color: var(--#{$prefix}nav-callout-bg);
|
||||||
|
padding: 2 * $spacer;
|
||||||
|
margin-top: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout > .nav-link {
|
||||||
|
display: flex;
|
||||||
|
text-align: start;
|
||||||
|
vertical-align: text-top;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 0 0 (4 * $spacer) 0;
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout > .nav-link.active {
|
||||||
|
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-bg) 50%, transparent 0);
|
||||||
|
background-size: 50% (3 * $spacer);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 50% bottom;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--bs-nav-underline-link-active-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout .accordion-button {
|
||||||
|
background-color: var(--#{$prefix}nav-callout-bg) !important;
|
||||||
|
border: solid;
|
||||||
|
border-color: var(--#{$prefix}border-color);
|
||||||
|
border-radius: var(--#{$prefix}accordion-inner-border-radius) !important;
|
||||||
|
margin-bottom: 0;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
border-bottom: none !important;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(.collapsed) {
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout > .accordion-item {
|
||||||
|
margin-top: 2 * $spacer;
|
||||||
|
margin-bottom: 2 * $spacer;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout .accordion-button[aria-expanded="false"] {
|
||||||
|
border-bottom: solid !important;
|
||||||
|
border-color: var(--#{$prefix}border-color) !important;
|
||||||
|
border-radius: var(--#{$prefix}accordion-inner-border-radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout .accordion-button[aria-expanded="true"] {
|
||||||
|
border-color: var(--#{$prefix}border-color) !important;
|
||||||
|
border-bottom: none !important;
|
||||||
|
border-radius: var(--#{$prefix}accordion-inner-border-radius) var(--#{$prefix}accordion-inner-border-radius) 0 0 !important;
|
||||||
|
padding-bottom: 3 * $spacer;
|
||||||
|
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-active-bg) 50%, transparent 0);
|
||||||
|
background-size: 10% (2.5 * $spacer);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 10% bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout .accordion-collapse {
|
||||||
|
background-color: var(--#{$prefix}nav-callout-active-bg) !important;
|
||||||
|
border-radius: 0 0 var(--#{$prefix}accordion-inner-border-radius) var(--#{$prefix}accordion-inner-border-radius);
|
||||||
|
border-top: none !important;
|
||||||
|
border-left: solid;
|
||||||
|
border-right: solid;
|
||||||
|
border-bottom: solid;
|
||||||
|
border-color: var(--#{$prefix}border-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
@if $enable-dark-mode {
|
||||||
|
@include color-mode(dark) {
|
||||||
|
.nav-callout {
|
||||||
|
--#{$prefix}nav-callout-bg: var(--#{$prefix}tertiary-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout .accordion-button[aria-expanded="true"] {
|
||||||
|
background-image: linear-gradient(to top right, shade-color($primary, 70%) 50%, transparent 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-callout .accordion-collapse {
|
||||||
|
background-color: shade-color($primary, 70%) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -2,13 +2,22 @@
|
|||||||
|
|
||||||
// Source: https://jsfiddle.net/njhgr40m/
|
// Source: https://jsfiddle.net/njhgr40m/
|
||||||
|
|
||||||
|
|
||||||
.navbar {
|
.navbar {
|
||||||
|
--bs-navbar-expanded-color: var(--bs-body-bg);
|
||||||
|
--bs-navbar-toggler-color: var(--bs-navbar-hover-color);
|
||||||
|
|
||||||
transition: 0.5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
|
||||||
|
@each $state, $val in $theme-colors {
|
||||||
|
--bs-navbar-color-#{$state}: #{$val};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-active, .navbar-expanded {
|
.nav-active, .navbar-expanded {
|
||||||
background-color: var(--bs-body-bg);
|
background-color: var(--bs-navbar-expanded-color);
|
||||||
|
border-bottom: 1px solid var(--bs-secondary-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-link {
|
.nav-link {
|
||||||
@@ -25,12 +34,17 @@
|
|||||||
--bs-navbar-hover-color: white !important;
|
--bs-navbar-hover-color: white !important;
|
||||||
--bs-navbar-disabled-color: white !important;
|
--bs-navbar-disabled-color: white !important;
|
||||||
--bs-navbar-active-color: white !important;
|
--bs-navbar-active-color: white !important;
|
||||||
|
--bs-navbar-toggler-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-expanded {
|
.navbar-expanded {
|
||||||
box-shadow: $box-shadow-sm;
|
box-shadow: $box-shadow-sm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-item .vr {
|
||||||
|
color: var(--bs-navbar-color);
|
||||||
|
}
|
||||||
|
|
||||||
/* Remove border from toggler */
|
/* Remove border from toggler */
|
||||||
.navbar-toggler {
|
.navbar-toggler {
|
||||||
border: 0 if($enable-important-utilities, !important, null);
|
border: 0 if($enable-important-utilities, !important, null);
|
||||||
@@ -97,19 +111,11 @@
|
|||||||
|
|
||||||
/* Color of Toggler when collapsed */
|
/* Color of Toggler when collapsed */
|
||||||
.navbar-toggler.collapsed .toggler-icon {
|
.navbar-toggler.collapsed .toggler-icon {
|
||||||
background-color: #777;
|
background-color: var(--bs-navbar-toggler-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.emphasis-light {
|
.emphasis, .emphasis-dark, .emphasis-light {
|
||||||
background-color: $black if($enable-important-utilities, !important, null);
|
background-color: var(--bs-navbar-toggler-color);
|
||||||
}
|
|
||||||
|
|
||||||
.emphasis-dark {
|
|
||||||
background-color: $white if($enable-important-utilities, !important, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
.emphasis, {
|
|
||||||
background-color: $black if($enable-important-utilities, !important, null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@include color-mode(dark) {
|
@include color-mode(dark) {
|
||||||
@@ -119,3 +125,73 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// stylelint-enable annotation-no-unknown
|
// stylelint-enable annotation-no-unknown
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--dropdown-horizontal-bg: var(--#{$prefix}light);
|
||||||
|
}
|
||||||
|
|
||||||
|
@if $enable-dark-mode {
|
||||||
|
@include color-mode(dark) {
|
||||||
|
--dropdown-horizontal-bg: var(--#{$prefix}tertiary-bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-horizontal {
|
||||||
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
|
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
||||||
|
$infix: breakpoint-infix($next, $grid-breakpoints);
|
||||||
|
|
||||||
|
@include media-breakpoint-up($next) {
|
||||||
|
&#{$infix} {
|
||||||
|
position: static !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
&#{$infix} > .dropdown-menu {
|
||||||
|
opacity: 0;
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
background-color: var(--dropdown-horizontal-bg) if($enable-important-utilities, !important, null);
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 0;
|
||||||
|
border: 0;
|
||||||
|
margin-top: $dropdown-horizontal-margin-top;
|
||||||
|
padding-top: $dropdown-horizontal-padding-y;
|
||||||
|
padding-bottom: $dropdown-horizontal-padding-y;
|
||||||
|
box-shadow: 0.125rem 0.25rem rgba(0, 0, 0, .075);
|
||||||
|
|
||||||
|
@include transition($dropdown-transition);
|
||||||
|
}
|
||||||
|
|
||||||
|
&#{$infix} > .dropdown-menu.show {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
&#{$infix} > .dropdown-menu > li {
|
||||||
|
display: inline-block;
|
||||||
|
padding-left: $spacer;
|
||||||
|
padding-right: $spacer;
|
||||||
|
}
|
||||||
|
|
||||||
|
&#{$infix} > .dropdown-menu > li > a {
|
||||||
|
padding-left: .25 * $spacer;
|
||||||
|
padding-right: .25 * $spacer;
|
||||||
|
|
||||||
|
&.active,
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
color: var(--bs-body-color);
|
||||||
|
border-bottom: solid 1px var(--bs-navbar-hover-color);
|
||||||
|
margin-bottom: -1px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&#{$infix} > .nav-link.show {
|
||||||
|
background-color: var(--dropdown-horizontal-bg) if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
49
assets/scss/components/_syntax-dart.scss
Normal file
49
assets/scss/components/_syntax-dart.scss
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
// stylelint-disable annotation-no-unknown
|
||||||
|
@import "syntax-light";
|
||||||
|
|
||||||
|
.bg,
|
||||||
|
.chroma,
|
||||||
|
.chroma .err {
|
||||||
|
// set to transparent background to avoid rendering issues with example shortcode
|
||||||
|
background-color: transparent if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma code {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.syntax-highlight {
|
||||||
|
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@if $enable-dark-mode {
|
||||||
|
[data-bs-theme="dark"] {
|
||||||
|
@include meta.load-css(syntax-dark);
|
||||||
|
|
||||||
|
.bg,
|
||||||
|
.chroma,
|
||||||
|
.chroma .err {
|
||||||
|
// set to transparent background to avoid rendering issues with example shortcode
|
||||||
|
background-color: transparent if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
.syntax-highlight {
|
||||||
|
background-color: var(--bs-tertiary-bg) if($enable-important-utilities, !important, null);
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg,
|
||||||
|
.chroma,
|
||||||
|
.chroma .ge,
|
||||||
|
.chroma .gl,
|
||||||
|
.chroma .gs {
|
||||||
|
color: #c9d1d9 if($enable-important-utilities, !important, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// stylelint-enable annotation-no-unknown
|
@@ -38,7 +38,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bg,
|
.bg,
|
||||||
.chroma {
|
.chroma,
|
||||||
|
.chroma .ge,
|
||||||
|
.chroma .gl,
|
||||||
|
.chroma .gs {
|
||||||
color: #c9d1d9 if($enable-important-utilities, !important, null);
|
color: #c9d1d9 if($enable-important-utilities, !important, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
13
assets/scss/components/_table.scss
Normal file
13
assets/scss/components/_table.scss
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
@if $enable-dark-mode {
|
||||||
|
@include color-mode(dark) {
|
||||||
|
.table-striped, .table-striped-columns {
|
||||||
|
--bs-table-striped-bg: var(--bs-tertiary-bg);
|
||||||
|
--bs-table-striped-color: var(--bs-body-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-hover {
|
||||||
|
--bs-table-hover-bg: var(--bs-tertiary-bg);
|
||||||
|
--bs-table-striped-color: var(--bs-body-color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -75,6 +75,10 @@
|
|||||||
.toc-button {
|
.toc-button {
|
||||||
--bs-btn-color: var(--bs-body-color);
|
--bs-btn-color: var(--bs-body-color);
|
||||||
--bs-btn-border-color: var(--bs-body-color);
|
--bs-btn-border-color: var(--bs-body-color);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#toc-collapse {
|
#toc-collapse {
|
||||||
@@ -89,4 +93,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.section-menu > .nav-link.active, .section-menu > .nav-link:hover {
|
||||||
|
color: var(--bs-primary);
|
||||||
|
}
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
.youtube-embedded {
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 56.25%;
|
||||||
|
height: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.youtube-embedded > iframe {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border:0;
|
||||||
|
}
|
||||||
|
|
||||||
// Adapted from https://github.com/gohugoio/hugo/tpl/tplimpl/embedded/templates/shortcodes/vimeo_simple.html
|
// Adapted from https://github.com/gohugoio/hugo/tpl/tplimpl/embedded/templates/shortcodes/vimeo_simple.html
|
||||||
.__h_video {
|
.__h_video {
|
||||||
position: relative;
|
position: relative;
|
@@ -30,3 +30,7 @@ h6 {
|
|||||||
margin-top: $spacer;
|
margin-top: $spacer;
|
||||||
scroll-margin-top: $navbar-offset;
|
scroll-margin-top: $navbar-offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
|
||||||
|
scroll-margin-top: $navbar-offset;
|
||||||
|
}
|
||||||
|
2
assets/scss/theme/_variables.scss
Normal file
2
assets/scss/theme/_variables.scss
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Placeholder to quickly add your own theme variable overrides
|
||||||
|
// The file is included at the beginning of the build pipeline
|
@@ -1,12 +1,11 @@
|
|||||||
# toml-docs-start main
|
# toml-docs-start main
|
||||||
title = "Hinode"
|
title = "Hinode"
|
||||||
copyright = "Copyright © 2023 Mark Dumay."
|
copyright = "Copyright © 2024 Mark Dumay."
|
||||||
paginate = 9
|
paginate = 9
|
||||||
enableGitInfo = true
|
enableGitInfo = true
|
||||||
# toml-docs-end main
|
# toml-docs-end main
|
||||||
|
|
||||||
# additional settings
|
# additional settings
|
||||||
# googleAnalytics = "G-xxxxxxxxxx"
|
|
||||||
baseURL = "https://example.com/"
|
baseURL = "https://example.com/"
|
||||||
canonifyURLs = false
|
canonifyURLs = false
|
||||||
enableEmoji = true
|
enableEmoji = true
|
||||||
@@ -73,6 +72,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
disableInlineCSS = true
|
disableInlineCSS = true
|
||||||
[services.twitter]
|
[services.twitter]
|
||||||
disableInlineCSS = true
|
disableInlineCSS = true
|
||||||
|
[services.googleAnalytics]
|
||||||
|
# ID = "G-xxxxxxxxxx"
|
||||||
|
|
||||||
[outputFormats]
|
[outputFormats]
|
||||||
[outputFormats.XML]
|
[outputFormats.XML]
|
||||||
@@ -83,10 +84,18 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
permalinkable = false
|
permalinkable = false
|
||||||
name = "xml"
|
name = "xml"
|
||||||
|
|
||||||
|
[minify]
|
||||||
|
[minify.tdewolff.js]
|
||||||
|
keepVarNames = true
|
||||||
|
precision = 0
|
||||||
|
version = 2022
|
||||||
|
[minify.tdewolff.html]
|
||||||
|
keepWhitespace = true
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
[module.hugoVersion]
|
[module.hugoVersion]
|
||||||
extended = true
|
extended = true
|
||||||
min = "0.110.0"
|
min = "0.120.0"
|
||||||
max = ""
|
max = ""
|
||||||
[[module.mounts]]
|
[[module.mounts]]
|
||||||
source = "archetypes"
|
source = "archetypes"
|
||||||
@@ -97,6 +106,9 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
[[module.mounts]]
|
[[module.mounts]]
|
||||||
source = "content"
|
source = "content"
|
||||||
target = "content"
|
target = "content"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "data"
|
||||||
|
target = "data"
|
||||||
[[module.mounts]]
|
[[module.mounts]]
|
||||||
source = "i18n"
|
source = "i18n"
|
||||||
target = "i18n"
|
target = "i18n"
|
||||||
@@ -120,4 +132,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
path = "github.com/gethinode/mod-katex"
|
path = "github.com/gethinode/mod-katex"
|
||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
path = "github.com/gethinode/mod-leaflet"
|
path = "github.com/gethinode/mod-leaflet"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-lottie"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-utils/v2"
|
||||||
# toml-docs-end modules
|
# toml-docs-end modules
|
||||||
|
@@ -31,5 +31,5 @@ defaultMarkdownHandler = "goldmark"
|
|||||||
block = true
|
block = true
|
||||||
[goldmark.renderer]
|
[goldmark.renderer]
|
||||||
hardWraps = false
|
hardWraps = false
|
||||||
unsafe = true
|
unsafe = false
|
||||||
xhtml = false
|
xhtml = false
|
@@ -6,17 +6,27 @@
|
|||||||
modes = ["light", "dark"]
|
modes = ["light", "dark"]
|
||||||
canonifyAssetsURLs = false
|
canonifyAssetsURLs = false
|
||||||
endorse = true
|
endorse = true
|
||||||
|
footerBelowFold = false
|
||||||
|
loading = "lazy"
|
||||||
|
breakpoint = "md"
|
||||||
[main.externalLinks]
|
[main.externalLinks]
|
||||||
cue = false
|
cue = false
|
||||||
tab = false
|
tab = false
|
||||||
|
[main.build]
|
||||||
|
transpiler = "libsass"
|
||||||
# toml-docs-end main
|
# toml-docs-end main
|
||||||
|
|
||||||
# toml-docs-start modules
|
# toml-docs-start modules
|
||||||
[modules]
|
[modules]
|
||||||
core = ["bootstrap", "flexsearch", "fontawesome"]
|
core = ["bootstrap", "flexsearch", "fontawesome"]
|
||||||
optional = ["leaflet", "katex"]
|
optional = ["leaflet", "katex", "lottie"]
|
||||||
excludeSCSS = ["bootstrap"]
|
excludeSCSS = ["bootstrap"]
|
||||||
disableTemplate = ["katex"]
|
disableTemplate = ["katex"]
|
||||||
|
[modules.katex]
|
||||||
|
state = "defer"
|
||||||
|
[modules.flexsearch]
|
||||||
|
frontmatter = false
|
||||||
|
filter = ""
|
||||||
[modules.fontawesome]
|
[modules.fontawesome]
|
||||||
inline = true
|
inline = true
|
||||||
debug = true
|
debug = true
|
||||||
@@ -27,6 +37,7 @@
|
|||||||
[debugging]
|
[debugging]
|
||||||
showJS = false
|
showJS = false
|
||||||
showSCSS = false
|
showSCSS = false
|
||||||
|
purgeHTMLComments = false
|
||||||
# toml-docs-end debugging
|
# toml-docs-end debugging
|
||||||
|
|
||||||
# toml-docs-start docs
|
# toml-docs-start docs
|
||||||
@@ -42,6 +53,11 @@
|
|||||||
fullCover = false
|
fullCover = false
|
||||||
centerHeadline = false
|
centerHeadline = false
|
||||||
style = ""
|
style = ""
|
||||||
|
[home.feature]
|
||||||
|
orientation = "horizontal"
|
||||||
|
color = "primary"
|
||||||
|
width = 4
|
||||||
|
align = "start"
|
||||||
# toml-docs-end home
|
# toml-docs-end home
|
||||||
|
|
||||||
# toml-docs-start navigation
|
# toml-docs-start navigation
|
||||||
@@ -50,11 +66,16 @@
|
|||||||
logo = "/img/logo_icon.svg"
|
logo = "/img/logo_icon.svg"
|
||||||
color = "body"
|
color = "body"
|
||||||
fixed = true
|
fixed = true
|
||||||
offset = "3.8em"
|
overlay = false
|
||||||
|
overlayMode = "dark"
|
||||||
|
horizontal = false
|
||||||
|
offset = "5.5rem"
|
||||||
search = true
|
search = true
|
||||||
|
searchModal = false
|
||||||
breadcrumb = true
|
breadcrumb = true
|
||||||
toc = true
|
toc = true
|
||||||
sidebar = true
|
sidebar = true
|
||||||
|
size = "md"
|
||||||
# toml-docs-end navigation
|
# toml-docs-end navigation
|
||||||
|
|
||||||
# toml-docs-start messages
|
# toml-docs-start messages
|
||||||
@@ -114,7 +135,7 @@
|
|||||||
# header = "full"
|
# header = "full"
|
||||||
# footer = "none"
|
# footer = "none"
|
||||||
# orientation = "stacked"
|
# orientation = "stacked"
|
||||||
# style = "border-0 card-zoom"
|
# style = "border-0 card-zoom card-body-margin"
|
||||||
# homepage = 3
|
# homepage = 3
|
||||||
# separator = true
|
# separator = true
|
||||||
# toml-docs-end sections
|
# toml-docs-end sections
|
||||||
@@ -141,6 +162,7 @@
|
|||||||
themeFont = "Inter"
|
themeFont = "Inter"
|
||||||
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
|
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
|
||||||
themeFontPath = "/fonts" # local path
|
themeFontPath = "/fonts" # local path
|
||||||
|
fontSizeBase = "1rem" # assumes the browser default, typically '16px'
|
||||||
# toml-docs-end font
|
# toml-docs-end font
|
||||||
# toml-docs-start build
|
# toml-docs-start build
|
||||||
purge = false
|
purge = false
|
||||||
@@ -172,14 +194,5 @@
|
|||||||
images = ["logo.png"]
|
images = ["logo.png"]
|
||||||
locale = "en_US"
|
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]
|
[links]
|
||||||
hinode = "https://gethinode.com"
|
hinode = "https://gethinode.com"
|
||||||
|
@@ -7,15 +7,14 @@ for = '/**'
|
|||||||
X-XSS-Protection = "1; mode=block"
|
X-XSS-Protection = "1; mode=block"
|
||||||
Content-Security-Policy = """\
|
Content-Security-Policy = """\
|
||||||
default-src 'self'; \
|
default-src 'self'; \
|
||||||
script-src 'self' \
|
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
|
||||||
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
|
style-src 'self' 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; \
|
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://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; \
|
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' \
|
||||||
|
23
config/ci/hugo.toml
Normal file
23
config/ci/hugo.toml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# cachedir default on POSIX: '/tmp/hugo_cache_runner'
|
||||||
|
# cachedir default on Windows: '~\AppData\Local\hugo_cache'
|
||||||
|
# cachedir default on macOS: '/Users/runner/Library/Caches/hugo_cache'
|
||||||
|
|
||||||
|
[caches]
|
||||||
|
[caches.assets]
|
||||||
|
dir = ':cacheDir/resources/_gen' # map to cacheDir instead of resourceDir to utilize GitHub action/cache
|
||||||
|
maxAge = -1
|
||||||
|
[caches.getcsv]
|
||||||
|
dir = ':cacheDir/:project'
|
||||||
|
maxAge = -1
|
||||||
|
[caches.getjson]
|
||||||
|
dir = ':cacheDir/:project'
|
||||||
|
maxAge = -1
|
||||||
|
[caches.getresource]
|
||||||
|
dir = ':cacheDir/:project'
|
||||||
|
maxAge = -1
|
||||||
|
[caches.images]
|
||||||
|
dir = ':cacheDir/resources/_gen' # map to cacheDir instead of resourceDir to utilize GitHub action/cache
|
||||||
|
maxAge = -1
|
||||||
|
[caches.modules]
|
||||||
|
dir = ':cacheDir/modules'
|
||||||
|
maxAge = -1
|
@@ -14,11 +14,14 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
|
|||||||
...whitelister([
|
...whitelister([
|
||||||
'./assets/scss/components/_clipboard.scss',
|
'./assets/scss/components/_clipboard.scss',
|
||||||
'./assets/scss/components/_command.scss',
|
'./assets/scss/components/_command.scss',
|
||||||
|
'./assets/scss/components/_nav.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/components/_syntax-dark.scss',
|
'./assets/scss/components/_syntax-dark.scss',
|
||||||
'./assets/scss/components/_syntax-light.scss',
|
'./assets/scss/components/_syntax-light.scss',
|
||||||
|
'./assets/scss/components/_table.scss',
|
||||||
|
'./assets/scss/components/_video.scss',
|
||||||
'./assets/scss/theme/fonts.scss',
|
'./assets/scss/theme/fonts.scss',
|
||||||
'./assets/scss/theme/theme.scss',
|
'./assets/scss/theme/theme.scss',
|
||||||
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss',
|
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss',
|
||||||
@@ -26,6 +29,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
|
|||||||
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
|
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
|
||||||
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
|
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
|
||||||
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
|
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
|
||||||
|
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss',
|
||||||
'./_vendor/github.com/twbs/bootstrap/scss/_reboot.scss',
|
'./_vendor/github.com/twbs/bootstrap/scss/_reboot.scss',
|
||||||
'./_vendor/github.com/twbs/bootstrap/scss/_tooltip.scss',
|
'./_vendor/github.com/twbs/bootstrap/scss/_tooltip.scss',
|
||||||
'./_vendor/github.com/twbs/bootstrap/scss/_transitions.scss',
|
'./_vendor/github.com/twbs/bootstrap/scss/_transitions.scss',
|
||||||
|
@@ -1,13 +1,15 @@
|
|||||||
---
|
---
|
||||||
title: Welcome to Hinode!
|
title: Welcome to Hinode!
|
||||||
|
description: A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
||||||
thumbnail:
|
thumbnail:
|
||||||
url: /img/sunrise.jpg
|
url: /img/sunrise.jpg
|
||||||
author: Harris Vo
|
author: Harris Vo
|
||||||
authorURL: https://unsplash.com/@hoanvokim
|
authorURL: https://unsplash.com/@hoanvokim
|
||||||
origin: https://unsplash.com/photos/ZX6BPboJrYk
|
origin: https://unsplash.com/photos/ZX6BPboJrYk
|
||||||
originName: Unsplash
|
originName: Unsplash
|
||||||
|
actions:
|
||||||
|
get-started:
|
||||||
|
url: "https://gethinode.com/docs"
|
||||||
|
title: "Get started"
|
||||||
|
icon: "fas book-open"
|
||||||
---
|
---
|
||||||
|
|
||||||
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>}}
|
|
||||||
|
35
data/structures/abbr.yml
Normal file
35
data/structures/abbr.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
comment: >-
|
||||||
|
Creates an HTML element that shows the long form of an abbrevitation. The
|
||||||
|
abbreviation data is centrally stored in a data file. By default, the
|
||||||
|
shortcode uses `abbr.yaml` with translation support.
|
||||||
|
|
||||||
|
The data file is expected to store key-value pairs, where `id` is the
|
||||||
|
lower-case abbrevation and `long` its long form. The following example
|
||||||
|
illustrates this using YML:
|
||||||
|
|
||||||
|
- id: css
|
||||||
|
long: `Cascading Style Sheets`
|
||||||
|
arguments:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
position: 0
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
Case-insensitive key of the abbreviation. In shorthand notation, this is
|
||||||
|
the first (and only) matched argument. Non-alphanumeric keys must be quoted.
|
||||||
|
data:
|
||||||
|
type: string
|
||||||
|
default: abbr.yaml
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Filename of the abbrevation input. You can omit the file extension. The
|
||||||
|
file should reside in the `data` folder. The data supports language
|
||||||
|
extensions. For example, `abbr.en.yaml` refers to the English translation
|
||||||
|
of the abbrevation data. The filename `abbr.yaml` is used when no suitable
|
||||||
|
translation is found.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Class attribute of the abbr element. For example, specify `initialism` for
|
||||||
|
a slightly smaller font size.
|
19
data/structures/accordion-item.yml
Normal file
19
data/structures/accordion-item.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
comment: >-
|
||||||
|
Defines an individual accordion item.
|
||||||
|
arguments:
|
||||||
|
header:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Header of the accordion item.
|
||||||
|
show:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: Flag to indicate an item should be shown as collapsed.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the accordion item.
|
||||||
|
body:
|
||||||
|
optional: false
|
||||||
|
comment: Content of the accordion item.
|
||||||
|
group: shortcode
|
18
data/structures/accordion.yml
Normal file
18
data/structures/accordion.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
comment: >-
|
||||||
|
Use the accordion to show a group of vertically collapsing and expanding
|
||||||
|
items. Add accordion-item inner elements for each accordion item.
|
||||||
|
arguments:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
ID of the accordion, defaults to `accordion-n` with a sequential number n.
|
||||||
|
always-open:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to make accordion items stay open when another item is opened.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the accordion, e.g. `w-50`.
|
46
data/structures/alert.yml
Normal file
46
data/structures/alert.yml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
comment: >-
|
||||||
|
Use the alert shortcode to display a contextual feedback message. The inner
|
||||||
|
content is used as alert text.
|
||||||
|
arguments:
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the alert element.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: danger
|
||||||
|
comment: Theme color of the alert.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
||||||
|
dismissible:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: Flag to indicate the alert is dismissible.
|
||||||
|
icon:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Font Awesome icon to include.
|
||||||
|
type:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: Type of the alert, generates an alert with related color and icon.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- danger
|
||||||
|
- info
|
||||||
|
body:
|
||||||
|
optional: false
|
||||||
|
comment: Alert text.
|
||||||
|
group: shortcode
|
27
data/structures/args.yml
Normal file
27
data/structures/args.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
comment: >-
|
||||||
|
Generates a markdown table of structured arguments. The argument definitions are
|
||||||
|
expected to be defined in a data file identified by a provided structure name.
|
||||||
|
arguments:
|
||||||
|
structure:
|
||||||
|
type: string
|
||||||
|
position: 0
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
Name of the data file that contains argument definitions. Supported data
|
||||||
|
formats include JSON, TOML, YAML, and XML. You can omit the file
|
||||||
|
extension. The file should reside in the `data/structures` folder.
|
||||||
|
group:
|
||||||
|
type: string
|
||||||
|
position: 1
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Name of the group filter. This is typically used when a shortcode and
|
||||||
|
partial have common arguments. The group filter binds a specific argument
|
||||||
|
to a particular group. By default, an argument belongs to all groups.
|
||||||
|
parent:
|
||||||
|
type: bool
|
||||||
|
position: 2
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to filter only arguments that have a parent attribute (either
|
||||||
|
`cascade` or `merge`).
|
27
data/structures/badge.yml
Normal file
27
data/structures/badge.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
comment: Use the badge shortcode to enrich headings.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Title of the badge.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the badge element.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: secondary
|
||||||
|
comment: Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
16
data/structures/breadcrumb.yml
Normal file
16
data/structures/breadcrumb.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
comment: Displays a breadcrumb for a specific page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Page to display the breadcrumb for.
|
||||||
|
group: partial
|
||||||
|
path:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Path of the page to display the breadcrumb for.
|
||||||
|
group: shortcode
|
||||||
|
|
||||||
|
|
15
data/structures/button-group.yml
Normal file
15
data/structures/button-group.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a group of buttons. Add inner <button> elements for each button.
|
||||||
|
arguments:
|
||||||
|
label:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Assistive label for the button group.
|
||||||
|
aria-label:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Alias for label.
|
||||||
|
body:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Inner <button> elements for each button.
|
190
data/structures/button.yml
Normal file
190
data/structures/button.yml
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
comment: >-
|
||||||
|
Display a button with a hyperlink.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
comment: Title of the button, required unless icon is set.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the button element, e.g. `p-5`.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: primary
|
||||||
|
comment: Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
||||||
|
href:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.URL
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Address for the button or hyperlink. Automatically assigned when using
|
||||||
|
collapse.
|
||||||
|
relref:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Name of the page to link to. Replaces `href` with a relative link if set.
|
||||||
|
group: shortcode
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Identifier of the button, to be used in the DOM.
|
||||||
|
state:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: enabled
|
||||||
|
comment: State of the button.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- enabled
|
||||||
|
- disabled
|
||||||
|
- active
|
||||||
|
- inactive
|
||||||
|
size:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: md
|
||||||
|
comment: Size of the button.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- sm
|
||||||
|
- md
|
||||||
|
- lg
|
||||||
|
outline:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: Flag indicating the button should be outlined.
|
||||||
|
badge:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Positioned badge to display on top of the button.
|
||||||
|
label:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Assistive label for the button or badge. The label is applied
|
||||||
|
to the badge instead of the button when a badge has been defined.
|
||||||
|
The default value of the button's assistive label is its title.
|
||||||
|
aria-label:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Alias for label.
|
||||||
|
group: shortcode
|
||||||
|
tooltip:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Text to display in a tooltip. Cannot be used together with
|
||||||
|
collapse. Ignored for active/inactive buttons.
|
||||||
|
collapse:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Panel to collapse. Cannot be used together with tooltip. Ignored for
|
||||||
|
active/inactive buttons.
|
||||||
|
type:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: button
|
||||||
|
comment: Type of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- link
|
||||||
|
- button
|
||||||
|
placement:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: top
|
||||||
|
comment: Position of the tooltip.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- top
|
||||||
|
- bottom
|
||||||
|
- left
|
||||||
|
- right
|
||||||
|
icon:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Font Awesome icon class attribute, required unless title is set. An
|
||||||
|
example value is `fas sort`.
|
||||||
|
order:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: last
|
||||||
|
comment: Order of the icon
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- first
|
||||||
|
- last
|
||||||
|
justify:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: center
|
||||||
|
comment: Justification of the button title and icon.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- start
|
||||||
|
- end
|
||||||
|
- center
|
||||||
|
- between
|
||||||
|
- around
|
||||||
|
- evenly
|
||||||
|
toast:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Identifier (ID) of the toast to display when the button is clicked.
|
||||||
|
clipboard:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.URL
|
||||||
|
optional: true
|
||||||
|
comment: Text to be copied to the clipboard when the button is clicked.
|
||||||
|
cue:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should show a visual cue, defaults
|
||||||
|
to the setting `main.externalLinks.cue` in the site's parameters.
|
||||||
|
tab:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should open in a new tab, defaults
|
||||||
|
to setting `main.externalLinks.tab` in the site's parameters.
|
||||||
|
attributes:
|
||||||
|
type: map[string]interface {}
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Dictionary of key-value pairs added as custom attributes to the button
|
||||||
|
element ('<a>').
|
||||||
|
group: partial
|
||||||
|
spacing:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: >-
|
||||||
|
Flag to add spacing to the inline button.
|
||||||
|
wrapper:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Element class of the button wrapper.
|
||||||
|
group: shortcode
|
96
data/structures/card-group.yml
Normal file
96
data/structures/card-group.yml
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a grid of Bootstrap cards with 1 to 5 columns. The cards are rendered
|
||||||
|
using a provided list of pages. Cards on the same row are aligned to each
|
||||||
|
other. The grid renders pages up to a provided maximum amount. The remaining
|
||||||
|
items are accessible via either a paginator or button to a list page (default
|
||||||
|
behavior). Be aware a page can only contain one paginator at a time.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: true
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Title of the card group.
|
||||||
|
gutter:
|
||||||
|
type: int
|
||||||
|
optional: true
|
||||||
|
default: 4
|
||||||
|
comment: Gutter between columns in a group.
|
||||||
|
options:
|
||||||
|
min: 0
|
||||||
|
max: 5
|
||||||
|
release: v0.19.0
|
||||||
|
list:
|
||||||
|
type:
|
||||||
|
- 'page.Pages'
|
||||||
|
- 'resource.Resources'
|
||||||
|
- '[]map[string]interface {}'
|
||||||
|
optional: true
|
||||||
|
comment: Array of pages or structured content to be rendered as cards.
|
||||||
|
group: partial
|
||||||
|
cards:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: String of rendered cards.
|
||||||
|
group: partial
|
||||||
|
max:
|
||||||
|
type: int
|
||||||
|
optional: true
|
||||||
|
comment: Maximum number of cards to display.
|
||||||
|
group: partial
|
||||||
|
options:
|
||||||
|
min: 1
|
||||||
|
cols:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: "3"
|
||||||
|
comment: Number of grid columns.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- "1"
|
||||||
|
- "2"
|
||||||
|
- "3"
|
||||||
|
- "4"
|
||||||
|
- "5"
|
||||||
|
- "auto"
|
||||||
|
release: v0.19.0
|
||||||
|
paginate:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag indicating if pagination should be added to the card group, if the
|
||||||
|
list exceeds the maximum number of cards to display.
|
||||||
|
group: partial
|
||||||
|
href:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Address for the button or hyperlink. If set, a button is added if the
|
||||||
|
list exceeds the maximum number of cards to display.
|
||||||
|
group: partial
|
||||||
|
hrefTitle:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Title of the button or hyperlink as companion to href.
|
||||||
|
group: partial
|
||||||
|
separator:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate a horizontal line should be added between items on small screens.
|
||||||
|
wrapper:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Class attributes of the wrapper element, e.g. `p-4 px-xxl-0`.
|
||||||
|
responsive:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag indicating if the number of columns should be responsive, defaults to `true`.
|
207
data/structures/card.yml
Normal file
207
data/structures/card.yml
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a Bootstrap card. Either specify a valid path, or set the arguments
|
||||||
|
title, href, header, description, and thumbnail individually. The latter
|
||||||
|
arguments override any page attributes.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Title of the card, replaces the title of the referenced page (if any).
|
||||||
|
path:
|
||||||
|
type: path
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Path of the page that the card reference to. If omitted, specify the
|
||||||
|
title, icon, thumbnail, and description (inner content) as needed.
|
||||||
|
href:
|
||||||
|
type: url
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Address for the button or hyperlink.
|
||||||
|
group: partial
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
parent: merge
|
||||||
|
comment: >-
|
||||||
|
Class attribute of the card element, e.g. “w-50”.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
parent: cascade
|
||||||
|
comment: >-
|
||||||
|
Theme color of the card. By default, no color is specified.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
||||||
|
- body
|
||||||
|
- body-tertiary
|
||||||
|
padding:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: auto
|
||||||
|
parent: cascade
|
||||||
|
comment: >-
|
||||||
|
Padding of the content.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- "0"
|
||||||
|
- "1"
|
||||||
|
- "2"
|
||||||
|
- "3"
|
||||||
|
- "4"
|
||||||
|
- "5"
|
||||||
|
- "auto"
|
||||||
|
gutter:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: "0"
|
||||||
|
parent: cascade
|
||||||
|
comment: >-
|
||||||
|
Gutter between columns in a group.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- "0"
|
||||||
|
- "1"
|
||||||
|
- "2"
|
||||||
|
- "3"
|
||||||
|
- "4"
|
||||||
|
- "5"
|
||||||
|
header:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: full
|
||||||
|
parent: cascade
|
||||||
|
comment: >-
|
||||||
|
Header components of the card, displayed in small caps.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- full
|
||||||
|
- publication
|
||||||
|
- tags
|
||||||
|
- none
|
||||||
|
footer:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: none
|
||||||
|
parent: cascade
|
||||||
|
comment: >-
|
||||||
|
Footer components of the card, displayed in small caps.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- full
|
||||||
|
- publication
|
||||||
|
- tags
|
||||||
|
- none
|
||||||
|
description:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Description of the card.
|
||||||
|
group: partial
|
||||||
|
loading:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
parent: cascade
|
||||||
|
default: eager
|
||||||
|
comment: >-
|
||||||
|
Loading behavior of the image. The loading of lazily loaded images is
|
||||||
|
deferred until the image is within scrolling range of the viewport. This
|
||||||
|
should reduce the initial loading time of the website. It is recommended
|
||||||
|
to lazily load only those images that are below the page fold.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- lazy
|
||||||
|
- eager
|
||||||
|
group: partial
|
||||||
|
thumbnail:
|
||||||
|
type: path
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Thumbnail image url, displayed on top or the left of the card.
|
||||||
|
ratio:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
parent: cascade
|
||||||
|
comment: >-
|
||||||
|
Ratio of the thumbnail image, defaults to `16x9` (stacked orientation)
|
||||||
|
or `1x1` (horizontal orientation).
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- 1x1
|
||||||
|
- 3x2
|
||||||
|
- 4x3
|
||||||
|
- 16x9
|
||||||
|
- 21x9
|
||||||
|
group: partial
|
||||||
|
alt:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
release: v0.19.0
|
||||||
|
comment: >-
|
||||||
|
Alternate text for the thumbnail, uses `title` by default.
|
||||||
|
icon:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Font Awesome icon, displayed on top or the left of the card.
|
||||||
|
align:
|
||||||
|
type: select
|
||||||
|
parent: cascade
|
||||||
|
optional: true
|
||||||
|
default: start
|
||||||
|
release: v0.23.0-alpha2
|
||||||
|
comment: Icon alignment.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- start
|
||||||
|
- end
|
||||||
|
- center
|
||||||
|
style:
|
||||||
|
type: string
|
||||||
|
parent: cascade
|
||||||
|
optional: true
|
||||||
|
release: v0.23.0-alpha2
|
||||||
|
comment: Icon style.
|
||||||
|
orientation:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: stacked
|
||||||
|
parent: cascade
|
||||||
|
comment: Placement of the thumbnail or icon.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- stacked
|
||||||
|
- horizontal
|
||||||
|
- horizontal-sm
|
||||||
|
- none
|
||||||
|
subtle:
|
||||||
|
type: bool
|
||||||
|
parent: cascade
|
||||||
|
optional: true
|
||||||
|
release: v0.23.0-alpha2
|
||||||
|
comment: Apply subtle background colors.
|
||||||
|
button:
|
||||||
|
type: bool
|
||||||
|
parent: cascade
|
||||||
|
optional: true
|
||||||
|
release: v0.23.0-beta
|
||||||
|
comment: >-
|
||||||
|
Flag indicating the cards should include a button that links to the provided address.
|
||||||
|
body:
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Description of the card.
|
||||||
|
group: shortcode
|
59
data/structures/carousel-item.yml
Normal file
59
data/structures/carousel-item.yml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
comment: Renders a carousel item with a responsive image.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
src:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Path or url of the image, e.g. `img/example.jpg`.
|
||||||
|
ratio:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Ratio of the image. If set, the image is resized and cropped to match the
|
||||||
|
ratio. Else the original aspect ratio of the image is kept.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- 1x1
|
||||||
|
- 3x2
|
||||||
|
- 4x3
|
||||||
|
- 16x9
|
||||||
|
- 21x9
|
||||||
|
group: partial
|
||||||
|
portrait:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: >-
|
||||||
|
Flag to adjust the ratio from landscape to portrait. The image itself
|
||||||
|
is not rotated, only the crop area is adjusted. Not applicable to vector
|
||||||
|
graphics.
|
||||||
|
group: partial
|
||||||
|
loading:
|
||||||
|
type: select
|
||||||
|
default: eager
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Loading behavior of the image. The loading of lazily loaded images is
|
||||||
|
deferred until the image is within scrolling range of the viewport. This
|
||||||
|
should reduce the initial loading time of the website. It is recommended
|
||||||
|
to lazily load only those images that are below the pagefold.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- eager
|
||||||
|
- lazy
|
||||||
|
caption:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Carousel slide caption.
|
||||||
|
active:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Sets the current carousel item as active (only one item at a time). By
|
||||||
|
default, the first slide is made active.
|
39
data/structures/carousel.yml
Normal file
39
data/structures/carousel.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a carousel of several responsive images (see the image shortcode for
|
||||||
|
more details). Add inner `img` elements to define individual image slides.
|
||||||
|
arguments:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
ID of the carousel, defaults to `carousel-n` with a sequential number `n`.
|
||||||
|
ratio:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Ratio of the images. If set, the images are resized and cropped to match the
|
||||||
|
ratio. Else the original aspect ratio of the image is kept.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- 1x1
|
||||||
|
- 3x2
|
||||||
|
- 4x3
|
||||||
|
- 16x9
|
||||||
|
- 21x9
|
||||||
|
portrait:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: >-
|
||||||
|
Flag to adjust the ratio from landscape to portrait. The images themselves
|
||||||
|
are not rotated, only the crop area is adjusted. Not applicable to vector
|
||||||
|
graphics.
|
||||||
|
release: v0.18.3
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the carousel element, e.g. `w-75`.
|
||||||
|
body:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Inner `img` elements that define the individual image slides.
|
15
data/structures/collapse.yml
Normal file
15
data/structures/collapse.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
comment: Defines a hidden panel that can be reveiled by a trigger.
|
||||||
|
arguments:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
ID of the collapse element, e.g. `collapse-1`.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the inner panel element, e.g. `p-3`.
|
||||||
|
body:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Inner <img> elements that define the individual image slides.
|
40
data/structures/command.yml
Normal file
40
data/structures/command.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
comment: >-
|
||||||
|
Generates terminal output for either `bash`, `powershell`, or `sql` shell
|
||||||
|
languages.
|
||||||
|
arguments:
|
||||||
|
user:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: User to add to the prompt, e.g. `user`.
|
||||||
|
host:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Host to add to the prompt, e.g. `localhost`.
|
||||||
|
prompt:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Prompt override, e.g. `PS C:\Users\User>`.
|
||||||
|
shell:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: bash
|
||||||
|
comment: Type of shell.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- bash
|
||||||
|
- powershell
|
||||||
|
- sql
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the command element.
|
||||||
|
body:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
The shell commands and their output. Start a line with `(out)` to specify
|
||||||
|
an output line. Use the following line continuation characters for each
|
||||||
|
supported language:
|
||||||
|
- bash: backslash symbol
|
||||||
|
- PowerShell: backtick symbol
|
||||||
|
- sql: `(con)` line suffix
|
44
data/structures/docs.yml
Normal file
44
data/structures/docs.yml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
comment: >-
|
||||||
|
Capture a code snippet from a `toml` or `scss` input file. The shortcode scans for named markers in a local file:
|
||||||
|
- For `.toml` files, use `# toml-docs-start` and `# toml-docs-end` followed by the snippet name
|
||||||
|
- For `.scss` files, use `// scss-docs-start` and `// scss-docs-end` followed by the snippet name
|
||||||
|
|
||||||
|
The snippet between the two markers is then rendered using syntax highlighting.
|
||||||
|
arguments:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
Name of the code snippet, used to identify the relevant section of the
|
||||||
|
input file.
|
||||||
|
file:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
Path of the input file. The path is relative to the `basePath` defined in
|
||||||
|
the `docs` section of the site's parameters. If the file starts with `./`,
|
||||||
|
the path of the repository is used as base path instead.
|
||||||
|
show:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: >-
|
||||||
|
If unset, shows the panel with the code snippet in collapsed state. By
|
||||||
|
default, the panel is expanded.
|
||||||
|
full:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: >-
|
||||||
|
If unset, shows the filename only. By default, the entire path (relative
|
||||||
|
to the base path) is shown.
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
ID of the collapse panel holding the code snippet, defaults to
|
||||||
|
`docs-collapse-n` with a sequential number `n` starting at `1`.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the tab control that wraps the docs element.
|
33
data/structures/example.yml
Normal file
33
data/structures/example.yml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
comment: >-
|
||||||
|
Display a code example and render a preview of the same input. The shortcode
|
||||||
|
accepts the languages supported by Hugo's highlight function.
|
||||||
|
arguments:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Identifier of the element’s container.
|
||||||
|
lang:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
default: markdown
|
||||||
|
comment: >-
|
||||||
|
Language used to display the code. Use `hugo` to process Hugo (escaped)
|
||||||
|
shortcodes.
|
||||||
|
show_markup:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: Indicates if the markup should be output in the HTML.
|
||||||
|
show_preview:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: Indicates if the preview should be output in the HTML.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attributes of the element's container.
|
||||||
|
body:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: The example input.
|
40
data/structures/file.yml
Normal file
40
data/structures/file.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
comment: >-
|
||||||
|
Print the full content of any given file supported by the Chroma syntax
|
||||||
|
highlighter.
|
||||||
|
arguments:
|
||||||
|
path:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
Path of the input file. The path is relative to the `basePath` defined in
|
||||||
|
the `docs` section of the site's parameters. If the file starts with `./`,
|
||||||
|
the path of the repository is used as base path instead.
|
||||||
|
lang:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Language to be used by the syntax highlighter. If not set, the
|
||||||
|
language is derived from the file extension.
|
||||||
|
show:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
If unset, shows the panel with the code in collapsed state. By default,
|
||||||
|
the panel is expanded.
|
||||||
|
full:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: >-
|
||||||
|
If unset, shows the filename only. By default, the entire path (relative
|
||||||
|
to the base path) is shown.
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Identifier of the collapse panel, defaults to `file-collapse-n` with a
|
||||||
|
sequential number `n` starting at 1.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the tab control that wraps the file element.
|
117
data/structures/image.yml
Normal file
117
data/structures/image.yml
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
comment: >-
|
||||||
|
Render a local or remote image with responsive image sizing. Images are
|
||||||
|
resized using default media breakpoints and are converted to webp format. The
|
||||||
|
image is processed using the quality setting specified in the [imaging]
|
||||||
|
section of the main config file (defaults to 75). A fallback image is provided
|
||||||
|
for older browsers. The image is wrapped in a figure if a caption is provided,
|
||||||
|
else the image is wrapped in a div with a ratio constraint.
|
||||||
|
|
||||||
|
If the url starts with `http`, the image is retrieved from an external
|
||||||
|
location. Else, the url is matched with a page resource and site asset (in
|
||||||
|
that order). The path of a remote image is rewritten to ensure processed files
|
||||||
|
are stored in the final '/img' folder.
|
||||||
|
|
||||||
|
The partial supports the following bitmap image formats: `png`, `jpeg`, `gif`,
|
||||||
|
`tiff`, `bmp`, and `webp`. Vector graphics of type `svg` are supported too,
|
||||||
|
although these images do no support additional processing. This means the
|
||||||
|
arguments `ratio` and `portrait` have no effect for vector images. Vector
|
||||||
|
graphics support an optional anchor `#` in their url to denote a symbol
|
||||||
|
reference.
|
||||||
|
arguments:
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Path or url of the image, e.g. `img/example.jpg`. Images with multiple
|
||||||
|
color modes are expected to have a basename that ends with either `-dark`
|
||||||
|
or `-light`.
|
||||||
|
src:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
position: 0
|
||||||
|
comment: Alias for url.
|
||||||
|
group: shortcode
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: true
|
||||||
|
comment: Page context, used to match page resources.
|
||||||
|
group: partial
|
||||||
|
mode:
|
||||||
|
type: bool
|
||||||
|
default: false
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag indicating if the image should support color modes. If set, the
|
||||||
|
shortcode searches for images that having a matching color-mode suffix
|
||||||
|
such as `-light` or `-dark`.
|
||||||
|
ratio:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Ratio of the image. If set, the image is resized and cropped to match the
|
||||||
|
ratio. Else the original aspect ratio of the image is kept. Not applicable
|
||||||
|
to vector graphics.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- 1x1
|
||||||
|
- 3x2
|
||||||
|
- 4x3
|
||||||
|
- 16x9
|
||||||
|
- 21x9
|
||||||
|
portrait:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: >-
|
||||||
|
Flag to adjust the ratio from landscape to portrait. The image itself is
|
||||||
|
not rotated, only the crop area is adjusted. Not applicable to vector
|
||||||
|
graphics.
|
||||||
|
release: v0.18.3
|
||||||
|
loading:
|
||||||
|
type: select
|
||||||
|
default: eager
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Loading behavior of the image. The loading of lazily loaded images is
|
||||||
|
deferred until the image is within scrolling range of the viewport. This
|
||||||
|
should reduce the initial loading time of the website. It is recommended
|
||||||
|
to lazily load only those images that are below the pagefold.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- eager
|
||||||
|
- lazy
|
||||||
|
release: v0.21.0
|
||||||
|
priority:
|
||||||
|
type: select
|
||||||
|
default: auto
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Fetch priority of the image. The priority provides a hint to the browser
|
||||||
|
on how it should prioritize the fetching of the image relative to other
|
||||||
|
images. The implementation is experimental and currently only supported by
|
||||||
|
Chrome, Edge, and Opera.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- high
|
||||||
|
- low
|
||||||
|
- auto
|
||||||
|
group: partial
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Alternate text of the image.
|
||||||
|
caption:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Figure caption.
|
||||||
|
wrapper:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attributes of the wrapper element, e.g. `mx-auto`.
|
||||||
|
release: v0.18.3
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the inner img element, e.g. `rounded`.
|
30
data/structures/kbd.yml
Normal file
30
data/structures/kbd.yml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
comment: Adds a keyboard input element.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
position: 0
|
||||||
|
comment: >-
|
||||||
|
Title of the keyboard input. In shorthand notation, this is the first (and
|
||||||
|
only) matched argument.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the keyboard input element.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
default: secondary
|
||||||
|
optional: true
|
||||||
|
comment: Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
74
data/structures/link.yml
Normal file
74
data/structures/link.yml
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
comment: >-
|
||||||
|
Generates a link for a given named link or url. The shortcode supports a
|
||||||
|
single unnamed parameter, or various named parameters. The unnamed parameter
|
||||||
|
is recognized as a url if it starts with `http`, else it is treated as either
|
||||||
|
a named link or internal reference (in that order). Any inner text is rendered
|
||||||
|
as the link title, otherwise it uses the host name (for external links), link
|
||||||
|
title (for internal links), or anchor name (for any local references
|
||||||
|
containing a `#`).
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
group: partial
|
||||||
|
comment: Context of the current page.
|
||||||
|
destination:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
group: partial
|
||||||
|
comment: >-
|
||||||
|
Target destination.
|
||||||
|
href:
|
||||||
|
type: string
|
||||||
|
position: 0
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Reference to either an external link (if it starts with `http`), a named
|
||||||
|
link (if it can be found in `params.links`), or internal reference.
|
||||||
|
Both external and internal references may include an anchor `#`.
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Alias of href.
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Alias of href.
|
||||||
|
cue:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should show a visual cue, defaults to
|
||||||
|
setting `main.externalLinks.cue` in the site's parameters.
|
||||||
|
tab:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should open in a new tab, defaults to
|
||||||
|
setting `main.externalLinks.tab` in the site's parameters.
|
||||||
|
case:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if the retrieved title (e.g. no inner text is provided)
|
||||||
|
of an internal link should use its original case. If false, the title is
|
||||||
|
set to lower case.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the anchor element.
|
||||||
|
text:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
group: partial
|
||||||
|
comment: Link title.
|
||||||
|
body:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
group: shortcode
|
||||||
|
comment: Link title.
|
55
data/structures/list.yml
Normal file
55
data/structures/list.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a list of items with a thumbnail alternating between left and right
|
||||||
|
alignment.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Required context of the current page.
|
||||||
|
group: partial
|
||||||
|
list:
|
||||||
|
type:
|
||||||
|
- 'page.Pages'
|
||||||
|
- 'resource.Resources'
|
||||||
|
optional: false
|
||||||
|
comment: Required array of pages.
|
||||||
|
group: partial
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Optional title of the card group.
|
||||||
|
loading:
|
||||||
|
type: select
|
||||||
|
default: eager
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Loading behavior of the image. The loading of lazily loaded images is
|
||||||
|
deferred until the image is within scrolling range of the viewport. This
|
||||||
|
should reduce the initial loading time of the website. It is recommended
|
||||||
|
to lazily load only those images that are below the pagefold.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- eager
|
||||||
|
- lazy
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the tab element, e.g. “w-50”.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- body
|
27
data/structures/mark.yml
Normal file
27
data/structures/mark.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
comment: Highlights text by applying a background color.
|
||||||
|
arguments:
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the highlight element.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Theme color of the highlight. By default, the highlight uses the color of
|
||||||
|
the HTML mark function (usually yellow).
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
||||||
|
body:
|
||||||
|
optional: false
|
||||||
|
comment: Text to be marked.
|
62
data/structures/nav-item.yml
Normal file
62
data/structures/nav-item.yml
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
comment: >-
|
||||||
|
Defines an individual item.
|
||||||
|
arguments:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Identification of the item.
|
||||||
|
group: partial
|
||||||
|
parentID:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Identification of the parent (e.g. nav control).
|
||||||
|
group: partial
|
||||||
|
header:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Header of the item.
|
||||||
|
show:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if the item should be shown. Only one can be shown at a
|
||||||
|
time.
|
||||||
|
disabled:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: Flag to indicate the item should be in a disabled state.
|
||||||
|
fade:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: Flag to make the tab pane fade in.
|
||||||
|
parent: cascade
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the item.
|
||||||
|
body:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
comment: The body content of the item, supports Markdown and HTML (if enabled).
|
||||||
|
group: partial
|
||||||
|
item_type:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: Type of the item to render.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- accordion
|
||||||
|
- tab-pane
|
||||||
|
group: partial
|
||||||
|
illustration:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
group: partial
|
||||||
|
body:
|
||||||
|
optional: false
|
||||||
|
comment: Content of the item.
|
||||||
|
group: shortcode
|
82
data/structures/nav.yml
Normal file
82
data/structures/nav.yml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a tab group of multiple items. Add nav-item inner elements for each
|
||||||
|
tab pane.
|
||||||
|
arguments:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Identifier of the tab group, uses a generated sequence if not specified.
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
list:
|
||||||
|
type:
|
||||||
|
- page.Pages
|
||||||
|
- resource.Resources
|
||||||
|
optional: true
|
||||||
|
comment: Array of pages to be rendered as nav items.
|
||||||
|
group: partial
|
||||||
|
type:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: Type of the tab group.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- tabs
|
||||||
|
- pills
|
||||||
|
- underline
|
||||||
|
- callout
|
||||||
|
vertical:
|
||||||
|
type: bool
|
||||||
|
default: false
|
||||||
|
optional: true
|
||||||
|
comment: Flag to show vertical tabs instead of horizontal tabs.
|
||||||
|
wrap:
|
||||||
|
type: bool
|
||||||
|
default: false
|
||||||
|
optional: true
|
||||||
|
comment: Flag to enable word wrapping of tab titles.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the tab group, e.g. `nav-fill`.
|
||||||
|
pane:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: none
|
||||||
|
comment: Style of the panes.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- none
|
||||||
|
- persona
|
||||||
|
group: partial
|
||||||
|
width:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: "100"
|
||||||
|
comment: Responsive width of the tab group.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- "50"
|
||||||
|
- "100"
|
||||||
|
group: partial
|
||||||
|
loading:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: eager
|
||||||
|
parent: cascade
|
||||||
|
comment: >-
|
||||||
|
Loading behavior of the image. The loading of lazily loaded images is
|
||||||
|
deferred until the image is within scrolling range of the viewport. This
|
||||||
|
should reduce the initial loading time of the website. It is recommended
|
||||||
|
to lazily load only those images that are below the page fold.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- lazy
|
||||||
|
- eager
|
||||||
|
group: partial
|
34
data/structures/navbar-item.yml
Normal file
34
data/structures/navbar-item.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
comment: >-
|
||||||
|
Defines an individual item of the navigation bar.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
menu:
|
||||||
|
type: '*navigation.MenuEntry'
|
||||||
|
optional: false
|
||||||
|
comment: Menu data to use for the navbar item.
|
||||||
|
parent:
|
||||||
|
type: '*navigation.MenuEntry'
|
||||||
|
optional: true
|
||||||
|
comment: Parent of the current navbar item.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the item.
|
||||||
|
cue:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should show a visual cue, defaults
|
||||||
|
to the setting `main.externalLinks.cue` in the site's parameters.
|
||||||
|
tab:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should open in a new tab, defaults
|
||||||
|
to setting `main.externalLinks.tab` in the site's parameters.
|
128
data/structures/navbar.yml
Normal file
128
data/structures/navbar.yml
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a navigation header with a toggler. The menu items are derived from
|
||||||
|
the site's configuration. Nested items are supported at one-level depth. The
|
||||||
|
navigation bar includes a search area and a language switcher if applicable.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
path:
|
||||||
|
type: path
|
||||||
|
optional: false
|
||||||
|
comment: Path of the active page.
|
||||||
|
group: shortcode
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Brand title, displayed when the logo is not set. Defaults to the site's
|
||||||
|
title.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the navbar container.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Background theme color of the navbar. Set the color to `body` or
|
||||||
|
`body-tertiary` for the navbar to respond to color mode changes (e.g.
|
||||||
|
switching between dark and light). The navigation bar is transparent when
|
||||||
|
no color is set, but is set to the body color when scrolling to enhance
|
||||||
|
the contrast.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
||||||
|
- body
|
||||||
|
- body-tertiary
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Identification of the navbar, defaults to `navbar-0`. The id is used by
|
||||||
|
several child elements, including a color mode switcher, version switcher,
|
||||||
|
and collapse panel.
|
||||||
|
menus:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
default: main
|
||||||
|
comment: Name of the menu configuration.
|
||||||
|
size:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: Breakpoint of the navbar toggler.
|
||||||
|
default: md
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- xs
|
||||||
|
- sm
|
||||||
|
- md
|
||||||
|
- lg
|
||||||
|
- xl
|
||||||
|
style:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: light
|
||||||
|
comment: Style of the navbar.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
group: partial
|
||||||
|
mode:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: >-
|
||||||
|
Flag to include a color mode switcher, defaults to `true` when dark mode
|
||||||
|
is enabled.
|
||||||
|
search:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: Flag to include a search input.
|
||||||
|
fixed:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: Flag to indicate the navbar should stick to the top.
|
||||||
|
group: partial
|
||||||
|
overlay:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if the navbar should render as an overlay on the current
|
||||||
|
page.
|
||||||
|
group: partial
|
||||||
|
release: v0.22.6
|
||||||
|
overlayMode:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: dark
|
||||||
|
comment: Color mode of the overlay.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
group: partial
|
||||||
|
release: v0.23.0
|
||||||
|
logo:
|
||||||
|
type: path
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Address of the logo image, defaults to the parameter `logo` set in the
|
||||||
|
`main` section of the site's parameter configuration.
|
14
data/structures/page-alert.yml
Normal file
14
data/structures/page-alert.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
comment: >-
|
||||||
|
Adds a dismissible alert message to the top of the page, above the main menu.
|
||||||
|
The alert uses the following scratch variables:
|
||||||
|
- pageAlertMsg
|
||||||
|
- pageAlertURL
|
||||||
|
- version
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
21
data/structures/pagination.yml
Normal file
21
data/structures/pagination.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
comment: >-
|
||||||
|
Adds a pagination element to a page. This allows to split long lists across
|
||||||
|
multiple pages to ease navigation. Set 'paginate' in the site configuration to
|
||||||
|
define the maximum amount of items to display on a list page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
format:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: default
|
||||||
|
comment:
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- default
|
||||||
|
- terse
|
60
data/structures/persona.yml
Normal file
60
data/structures/persona.yml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
comment: >-
|
||||||
|
Display a custom persona card.
|
||||||
|
arguments:
|
||||||
|
path:
|
||||||
|
type: path
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Path of the page that defines the card content. You can set `title`,
|
||||||
|
`href`, `thumbnail` and the inner content individually too.
|
||||||
|
title:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
comment: Title of the card.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the card element, e.g. `w-50`.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: primary
|
||||||
|
comment: Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
||||||
|
- body
|
||||||
|
- body-tertiary
|
||||||
|
href:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.URL
|
||||||
|
optional: true
|
||||||
|
comment: Address for the button or hyperlink.
|
||||||
|
content:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
comment: Content of the card.
|
||||||
|
group: partial
|
||||||
|
thumbnail:
|
||||||
|
type: url
|
||||||
|
optional: true
|
||||||
|
comment: Thumbnail image url, displayed on top or the left of the card.
|
||||||
|
body:
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Description of the card.
|
||||||
|
group: shortcode
|
40
data/structures/release.yml
Normal file
40
data/structures/release.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a release button that links to a specific release. Use the state to
|
||||||
|
indicate if it is a new or deprecated feature.
|
||||||
|
arguments:
|
||||||
|
version:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Version string, expects semver notation with a `v` prefix.
|
||||||
|
state:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: new
|
||||||
|
comment: State of the feature.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- new
|
||||||
|
- deprecated
|
||||||
|
short:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: Flag to indicate the release button should use short notation.
|
||||||
|
size:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: md
|
||||||
|
comment: Size of the button.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- sm
|
||||||
|
- md
|
||||||
|
- lg
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the button element.
|
||||||
|
inline:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: Flag to render the release button inline.
|
16
data/structures/section-header.yml
Normal file
16
data/structures/section-header.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
comment: Renders the header of a page section.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Title of the section.
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Section description.
|
||||||
|
content:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
comment: Section content.
|
9
data/structures/section-menu.yml
Normal file
9
data/structures/section-menu.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the section menu of a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
9
data/structures/sharing.yml
Normal file
9
data/structures/sharing.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the social sharing buttons for a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
24
data/structures/sidebar.yml
Normal file
24
data/structures/sidebar.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
comment: >-
|
||||||
|
Renders the sidebar navigation of a single page. It is intended to be used as
|
||||||
|
companion to the main navigation and is typically used in content-heavy
|
||||||
|
sections, such as documentation pages. On smaller screens, the sidebar is
|
||||||
|
replaced with an offcanvas element. In this case, the main navigation receives
|
||||||
|
an additional toggler on the left of the screen.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
menu:
|
||||||
|
type: '[]interface {}'
|
||||||
|
optional: true
|
||||||
|
comment: Path of the sidebar navigation menu.
|
||||||
|
version:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Version of the sidebar navigation, used to define the base URL of
|
||||||
|
generated links, together with the page's section.
|
36
data/structures/spinner.yml
Normal file
36
data/structures/spinner.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
comment: >-
|
||||||
|
Use the spinner shortcode to indicate the loading state of a component or
|
||||||
|
page. The inner content is used as alternative description.
|
||||||
|
arguments:
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Class attribute of the wrapping element, e.g. `text-center`.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: primary
|
||||||
|
comment: >-
|
||||||
|
Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- white
|
||||||
|
- black
|
||||||
|
grow:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: Flag to indicate the spinner is growing instead of rotating.
|
||||||
|
body:
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
Alternative description.
|
8
data/structures/sub.yml
Normal file
8
data/structures/sub.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays text in subscript.
|
||||||
|
arguments:
|
||||||
|
text:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
position: 0
|
||||||
|
comment: Text to display in subscript. You can omit the argument name.
|
8
data/structures/sup.yml
Normal file
8
data/structures/sup.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays text in superscript.
|
||||||
|
arguments:
|
||||||
|
text:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
position: 0
|
||||||
|
comment: Text to display in superscript. You can omit the argument name.
|
30
data/structures/table.yml
Normal file
30
data/structures/table.yml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
comment: >-
|
||||||
|
Makes a markdown table responsive. Responsive tables scroll horizontally to
|
||||||
|
improve their layout on smaller screens.
|
||||||
|
arguments:
|
||||||
|
breakpoint:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
position: 0
|
||||||
|
comment: >-
|
||||||
|
By default, the table shortcode is responsive for all viewports. When a
|
||||||
|
breakpoint is set, the table will behave normally and not scroll
|
||||||
|
horizontally from the provided breakpoint and up. Use `none` to disable
|
||||||
|
this behavior. You can specify multiple breakpoints when using positional
|
||||||
|
arguments.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- none
|
||||||
|
- sm
|
||||||
|
- md
|
||||||
|
- lg
|
||||||
|
- xl
|
||||||
|
- xxl
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the table element, e.g. `table-striped-columns w-auto`.
|
||||||
|
body:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Table input in markdown format.
|
31
data/structures/timeline.yml
Normal file
31
data/structures/timeline.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
comment: >-
|
||||||
|
Shows items ordered on a vertical timelime.
|
||||||
|
arguments:
|
||||||
|
data:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: >-
|
||||||
|
Filename of the timeline input data. You can omit the file extension. The
|
||||||
|
file should reside in the data folder.
|
||||||
|
background:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Border color of the connector dots, defaults to the body background color.
|
||||||
|
If set, uses a subtle background color that is adaptive to the current
|
||||||
|
color mode.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Class attribute of the timeline's container.
|
29
data/structures/toast.yml
Normal file
29
data/structures/toast.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
comment: >-
|
||||||
|
Prepares a toast message. Use a trigger to display the message.
|
||||||
|
arguments:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Unique identifier of the toast message, defaults to `toast-message-n`
|
||||||
|
with sequence n.
|
||||||
|
header:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Header of the toast message. Uses the site title by default.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the toast element.
|
||||||
|
message:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: false
|
||||||
|
comment: Toast message.
|
||||||
|
group: partial
|
||||||
|
body:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
comment: Toast mesage.
|
||||||
|
group: shortcode
|
9
data/structures/toc.yml
Normal file
9
data/structures/toc.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the table of contents of a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
50
data/structures/tooltip.yml
Normal file
50
data/structures/tooltip.yml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a tooltip for a link. The inner content is used as hyperlink text.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Plain text to display in the tooltip.
|
||||||
|
href:
|
||||||
|
type: url
|
||||||
|
optional: true
|
||||||
|
comment: Address for the button or hyperlink.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
parent: merge
|
||||||
|
comment: Class attribute of the tooltip's button element.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: dark
|
||||||
|
comment: Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
placement:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: top
|
||||||
|
comment: Position of the tooltip.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- top
|
||||||
|
- bottom
|
||||||
|
- left
|
||||||
|
- right
|
||||||
|
spacing:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: true
|
||||||
|
comment: Flag to add spacing to the inline tooltip.
|
||||||
|
body:
|
||||||
|
optional: false
|
||||||
|
comment: Hyperlink text.
|
5
data/structures/version.yml
Normal file
5
data/structures/version.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
comment: >-
|
||||||
|
Returns the current version defined in 'package.json` in the repository root,
|
||||||
|
or in the documentation base path ('params.docs.basePath') if specified. The
|
||||||
|
returned version includes a 'v' prefix. The partial returns nothing when no
|
||||||
|
match is found. The partial does not require any arguments.
|
26
data/structures/youtube.yml
Normal file
26
data/structures/youtube.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
comment: >-
|
||||||
|
Embeds a responsive video player for YouTube videos. Only the ID of the video
|
||||||
|
is required. In privacy-enhanced mode, YouTube will not store information
|
||||||
|
about visitors on your website unless the user plays the embedded video.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Title of the video.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
position: 1
|
||||||
|
comment: >-
|
||||||
|
Class attribute of the video wrapper element.
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: false
|
||||||
|
position: 0
|
||||||
|
comment: Identifier of the video to be embedded.
|
||||||
|
autoplay:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: Flag indicating the video should start playing immediately when loaded.
|
3
exampleSite/assets/svgs/custom/activity.svg
Normal file
3
exampleSite/assets/svgs/custom/activity.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-activity" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2Z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 367 B |
@@ -1,10 +1,10 @@
|
|||||||
|
resourcedir = '../resources/'
|
||||||
title = "Hinode"
|
title = "Hinode"
|
||||||
copyright = "Copyright © 2023 Mark Dumay."
|
copyright = "Copyright © 2024 Mark Dumay."
|
||||||
paginate = 9
|
paginate = 9
|
||||||
enableGitInfo = true
|
enableGitInfo = true
|
||||||
|
|
||||||
# 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
|
||||||
@@ -62,6 +62,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
disableInlineCSS = true
|
disableInlineCSS = true
|
||||||
[services.twitter]
|
[services.twitter]
|
||||||
disableInlineCSS = true
|
disableInlineCSS = true
|
||||||
|
[services.googleAnalytics]
|
||||||
|
ID = "G-T85PPZ36GN"
|
||||||
|
|
||||||
[outputFormats]
|
[outputFormats]
|
||||||
[outputFormats.XML]
|
[outputFormats.XML]
|
||||||
@@ -72,6 +74,14 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
permalinkable = false
|
permalinkable = false
|
||||||
name = "xml"
|
name = "xml"
|
||||||
|
|
||||||
|
[minify]
|
||||||
|
[minify.tdewolff.js]
|
||||||
|
keepVarNames = true
|
||||||
|
precision = 0
|
||||||
|
version = 2022
|
||||||
|
[minify.tdewolff.html]
|
||||||
|
keepWhitespace = true
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
replacements = 'github.com/gethinode/hinode -> ../..'
|
replacements = 'github.com/gethinode/hinode -> ../..'
|
||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
|
@@ -31,5 +31,5 @@ defaultMarkdownHandler = "goldmark"
|
|||||||
block = true
|
block = true
|
||||||
[goldmark.renderer]
|
[goldmark.renderer]
|
||||||
hardWraps = false
|
hardWraps = false
|
||||||
unsafe = true
|
unsafe = false
|
||||||
xhtml = false
|
xhtml = false
|
@@ -4,15 +4,25 @@
|
|||||||
enableDarkMode = true
|
enableDarkMode = true
|
||||||
modes = ["light", "dark"]
|
modes = ["light", "dark"]
|
||||||
canonifyAssetsURLs = false
|
canonifyAssetsURLs = false
|
||||||
|
footerBelowFold = false
|
||||||
|
loading = "lazy"
|
||||||
|
breakpoint = "md"
|
||||||
[main.externalLinks]
|
[main.externalLinks]
|
||||||
cue = true
|
cue = true
|
||||||
tab = true
|
tab = true
|
||||||
|
[main.build]
|
||||||
|
transpiler = "dartsass"
|
||||||
|
|
||||||
[modules]
|
[modules]
|
||||||
core = ["bootstrap", "flexsearch", "fontawesome"]
|
core = ["bootstrap", "flexsearch", "fontawesome"]
|
||||||
optional = ["leaflet", "katex"]
|
optional = ["leaflet", "katex", "lottie"]
|
||||||
excludeSCSS = ["bootstrap"]
|
excludeSCSS = ["bootstrap"]
|
||||||
disableTemplate = ["katex"]
|
disableTemplate = ["katex"]
|
||||||
|
[modules.katex]
|
||||||
|
state = "defer"
|
||||||
|
[modules.flexsearch]
|
||||||
|
frontmatter = false
|
||||||
|
filter = ""
|
||||||
[modules.fontawesome]
|
[modules.fontawesome]
|
||||||
inline = true
|
inline = true
|
||||||
debug = true
|
debug = true
|
||||||
@@ -21,6 +31,7 @@
|
|||||||
[debugging]
|
[debugging]
|
||||||
showJS = false
|
showJS = false
|
||||||
showSCSS = false
|
showSCSS = false
|
||||||
|
purgeHTMLComments = true # prevents a Goldmark warning when processing HTML comments (as used by markdownlint)
|
||||||
|
|
||||||
[docs]
|
[docs]
|
||||||
basePath = "/" # TODO: replace
|
basePath = "/" # TODO: replace
|
||||||
@@ -33,17 +44,27 @@
|
|||||||
fullCover = false
|
fullCover = false
|
||||||
centerHeadline = false
|
centerHeadline = false
|
||||||
style = ""
|
style = ""
|
||||||
|
[home.feature]
|
||||||
|
orientation = "horizontal"
|
||||||
|
color = "primary"
|
||||||
|
width = 4
|
||||||
|
align = "start"
|
||||||
|
|
||||||
[navigation]
|
[navigation]
|
||||||
anchor = true
|
anchor = true
|
||||||
logo = "/img/logo_icon.svg"
|
logo = "/img/logo_icon.svg"
|
||||||
color = "body"
|
color = "body"
|
||||||
fixed = true
|
fixed = true
|
||||||
offset = "3.8em"
|
overlay = false
|
||||||
|
overlayMode = "dark"
|
||||||
|
horizontal = false
|
||||||
|
offset = "5.5rem"
|
||||||
search = true
|
search = true
|
||||||
|
searchModal = false
|
||||||
breadcrumb = true
|
breadcrumb = true
|
||||||
toc = true
|
toc = true
|
||||||
sidebar = true
|
sidebar = true
|
||||||
|
size = "md"
|
||||||
|
|
||||||
[messages]
|
[messages]
|
||||||
placement = "bottom-right"
|
placement = "bottom-right"
|
||||||
@@ -96,7 +117,7 @@
|
|||||||
header = "full"
|
header = "full"
|
||||||
footer = "none"
|
footer = "none"
|
||||||
orientation = "stacked"
|
orientation = "stacked"
|
||||||
style = "border-0 card-zoom"
|
style = "border-0 card-zoom card-body-margin"
|
||||||
homepage = 3
|
homepage = 3
|
||||||
separator = true
|
separator = true
|
||||||
[sections.projects]
|
[sections.projects]
|
||||||
@@ -165,15 +186,6 @@
|
|||||||
images = ["logo.png"]
|
images = ["logo.png"]
|
||||||
locale = "en_US"
|
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]
|
[links]
|
||||||
bs_badge_heading = "https://getbootstrap.com/docs/5.3/components/badge/#headings"
|
bs_badge_heading = "https://getbootstrap.com/docs/5.3/components/badge/#headings"
|
||||||
hinode_docs = "https://gethinode.com"
|
hinode_docs = "https://gethinode.com"
|
||||||
@@ -181,5 +193,4 @@
|
|||||||
mozilla_image = "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"
|
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"
|
observatory = "https://observatory.mozilla.org/analyze/demo.gethinode.com"
|
||||||
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
|
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
|
||||||
utterances = "https://utteranc.es"
|
|
||||||
hinode = "https://gethinode.com"
|
hinode = "https://gethinode.com"
|
||||||
|
@@ -7,15 +7,14 @@ for = '/**'
|
|||||||
X-XSS-Protection = "1; mode=block"
|
X-XSS-Protection = "1; mode=block"
|
||||||
Content-Security-Policy = """\
|
Content-Security-Policy = """\
|
||||||
default-src 'self'; \
|
default-src 'self'; \
|
||||||
script-src 'self' \
|
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
|
||||||
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
|
style-src 'self' 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; \
|
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://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; \
|
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' \
|
||||||
|
22
exampleSite/config/ci/hugo.toml
Normal file
22
exampleSite/config/ci/hugo.toml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# cachedir default on POSIX: '/tmp/hugo_cache_runner'
|
||||||
|
# cachedir default on Windows: '~\AppData\Local\hugo_cache'
|
||||||
|
|
||||||
|
[caches]
|
||||||
|
[caches.assets]
|
||||||
|
dir = ':cacheDir/resources/_gen' # map to cacheDir instead of resourceDir to utilize GitHub action/cache
|
||||||
|
maxAge = -1
|
||||||
|
[caches.getcsv]
|
||||||
|
dir = ':cacheDir/:project'
|
||||||
|
maxAge = -1
|
||||||
|
[caches.getjson]
|
||||||
|
dir = ':cacheDir/:project'
|
||||||
|
maxAge = -1
|
||||||
|
[caches.getresource]
|
||||||
|
dir = ':cacheDir/:project'
|
||||||
|
maxAge = -1
|
||||||
|
[caches.images]
|
||||||
|
dir = ':cacheDir/resources/_gen' # map to cacheDir instead of resourceDir to utilize GitHub action/cache
|
||||||
|
maxAge = -1
|
||||||
|
[caches.modules]
|
||||||
|
dir = ':cacheDir/modules'
|
||||||
|
maxAge = -1
|
47
exampleSite/config/postcss.config.js
Normal file
47
exampleSite/config/postcss.config.js
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
const autoprefixer = require('autoprefixer')({})
|
||||||
|
const cssnano = require('cssnano')({
|
||||||
|
preset: 'advanced'
|
||||||
|
})
|
||||||
|
const whitelister = require('purgecss-whitelister')
|
||||||
|
const purgecss = require('@fullhuman/postcss-purgecss')({
|
||||||
|
content: ['./exampleSite/hugo_stats.json'],
|
||||||
|
defaultExtractor: (content) => {
|
||||||
|
const els = JSON.parse(content).htmlElements
|
||||||
|
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
||||||
|
},
|
||||||
|
dynamicAttributes: ['data-bs-theme'],
|
||||||
|
safelist: [
|
||||||
|
...whitelister([
|
||||||
|
'./assets/scss/components/_clipboard.scss',
|
||||||
|
'./assets/scss/components/_command.scss',
|
||||||
|
'./assets/scss/components/_nav.scss',
|
||||||
|
'./assets/scss/components/_navbar.scss',
|
||||||
|
'./assets/scss/components/_search.scss',
|
||||||
|
'./assets/scss/components/_syntax.scss',
|
||||||
|
'./assets/scss/components/_syntax-dark.scss',
|
||||||
|
'./assets/scss/components/_syntax-light.scss',
|
||||||
|
'./assets/scss/components/_table.scss',
|
||||||
|
'./assets/scss/components/_video.scss',
|
||||||
|
'./assets/scss/theme/fonts.scss',
|
||||||
|
'./assets/scss/theme/theme.scss',
|
||||||
|
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss',
|
||||||
|
'./_vendor/github.com/gethinode/mod-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/_modal.scss',
|
||||||
|
'./_vendor/github.com/twbs/bootstrap/scss/_reboot.scss',
|
||||||
|
'./_vendor/github.com/twbs/bootstrap/scss/_tooltip.scss',
|
||||||
|
'./_vendor/github.com/twbs/bootstrap/scss/_transitions.scss',
|
||||||
|
'./_vendor/github.com/twbs/bootstrap/scss/_utilities.scss'
|
||||||
|
])
|
||||||
|
]
|
||||||
|
})
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
plugins: [
|
||||||
|
autoprefixer,
|
||||||
|
cssnano,
|
||||||
|
purgecss
|
||||||
|
]
|
||||||
|
}
|
@@ -1,14 +1,15 @@
|
|||||||
---
|
---
|
||||||
author: Mark Dumay
|
author: Mark Dumay
|
||||||
title: Welcome to Hinode!
|
title: Welcome to Hinode!
|
||||||
|
description: A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
||||||
thumbnail:
|
thumbnail:
|
||||||
url: /img/sunrise.jpg
|
url: /img/sunrise.jpg
|
||||||
author: Harris Vo
|
author: Harris Vo
|
||||||
authorURL: https://unsplash.com/@hoanvokim
|
authorURL: https://unsplash.com/@hoanvokim
|
||||||
origin: https://unsplash.com/photos/ZX6BPboJrYk
|
origin: https://unsplash.com/photos/ZX6BPboJrYk
|
||||||
originName: Unsplash
|
originName: Unsplash
|
||||||
|
actions:
|
||||||
|
about:
|
||||||
|
url: "about"
|
||||||
|
title: "About"
|
||||||
---
|
---
|
||||||
|
|
||||||
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
|
||||||
|
|
||||||
{{< button href="about" >}}About{{< /button>}}
|
|
||||||
|
@@ -6,29 +6,19 @@ updated: 2023-08-02
|
|||||||
showComments: false
|
showComments: false
|
||||||
---
|
---
|
||||||
|
|
||||||
<p class="text-center"><svg class="img-fluid w-50"><use href="/img/logo_var.svg#logo"></use></svg></p>
|
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
|
||||||
|
|
||||||
<section class="section section-sm mt-5 mb-5">
|
{{< card-group align="center" class="border-0" padding="3" >}}
|
||||||
<div class="container-fluid">
|
{{< card title="Bootstrap framework" icon="fab bootstrap" >}}
|
||||||
<div class="row justify-content-center text-center">
|
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source Sass files.
|
||||||
<div class="col-lg-4">
|
{{< /card >}}
|
||||||
{{< icon fab bootstrap fa-2xl >}}
|
{{< card title="Full text search" icon="fas magnifying-glass" >}}
|
||||||
<h2 class="h4">Bootstrap framework</h2>
|
Search your site with FlexSearch, a full-text search library with zero dependencies.
|
||||||
<p>Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source Sass files.</p>
|
{{< /card >}}
|
||||||
</div>
|
{{< card title="Development tools" icon="fas code" >}}
|
||||||
<div class="col-lg-4">
|
Use Node Package Manager to automate the build process and to keep track of dependencies.
|
||||||
{{< icon fas magnifying-glass fa-2xl >}}
|
{{< /card >}}
|
||||||
<h2 class="h4">Full text search</h2>
|
{{< /card-group >}}
|
||||||
<p>Search your site with FlexSearch, a full-text search library with zero dependencies.</p>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-4">
|
|
||||||
{{< icon fas code fa-2xl >}}
|
|
||||||
<h2 class="h4">Development tools</h2>
|
|
||||||
<p>Use Node Package Manager to automate the build process and to keep track of dependencies.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
Additional features include:
|
Additional features include:
|
||||||
|
|
||||||
@@ -36,7 +26,6 @@ Additional features include:
|
|||||||
* Support for multiple languages
|
* Support for multiple languages
|
||||||
* Reusable Bootstrap components through configurable shortcodes and partials
|
* Reusable Bootstrap components through configurable shortcodes and partials
|
||||||
* Versioned documentation, including sidebar navigation and version switcher
|
* Versioned documentation, including sidebar navigation and version switcher
|
||||||
* Embedded comments through light-weight integration with GitHub via [utteranc.es]({{< param "links.utterances" >}})
|
|
||||||
* Reponsive image handling for multiple screen sizes and resolutions
|
* Reponsive image handling for multiple screen sizes and resolutions
|
||||||
* Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
* Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
||||||
* Secure by default, scoring A+ on [Mozilla Observatory test]({{< param "links.observatory" >}})
|
* Secure by default, scoring A+ on [Mozilla Observatory test]({{< param "links.observatory" >}})
|
||||||
|
@@ -14,6 +14,16 @@ thumbnail:
|
|||||||
|
|
||||||
Hinode provides several shortcodes that wrap common Bootstrap components. Refer to the [official documentation]({{< param "links.hinode_docs" >}}) for more details.
|
Hinode provides several shortcodes that wrap common Bootstrap components. Refer to the [official documentation]({{< param "links.hinode_docs" >}}) for more details.
|
||||||
|
|
||||||
|
## Abbr
|
||||||
|
|
||||||
|
As an example, the following shortcode displays the full text of an abbreviation on hover.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="hugo" >}}
|
||||||
|
{{</* abbr "CI/CD" */>}}
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
## Accordion
|
## Accordion
|
||||||
|
|
||||||
As an example, the following shortcode displays an accordion with three elements, of which the first element is expanded.
|
As an example, the following shortcode displays an accordion with three elements, of which the first element is expanded.
|
||||||
@@ -22,11 +32,11 @@ As an example, the following shortcode displays an accordion with three elements
|
|||||||
{{< example lang="hugo" >}}
|
{{< example lang="hugo" >}}
|
||||||
{{</* accordion */>}}
|
{{</* accordion */>}}
|
||||||
{{</* accordion-item header="Accordion Item #1" show="true" */>}}
|
{{</* accordion-item header="Accordion Item #1" show="true" */>}}
|
||||||
This is the first item's accordion body. It supports HTML content. The item is shown by adding the value
|
This is the first item's accordion body. It supports HTML content, if enabled in the goldmark
|
||||||
<code>show</code> to the <code>class</code> argument.
|
renderer. The item is shown by adding the value `show` to the `class` argument.
|
||||||
{{</* /accordion-item */>}}
|
{{</* /accordion-item */>}}
|
||||||
{{</* accordion-item header="Accordion Item #2" */>}}
|
{{</* accordion-item header="Accordion Item #2" */>}}
|
||||||
This is the second item's accordion body. It supports HTML content too.
|
This is the second item's accordion body.
|
||||||
{{</* /accordion-item */>}}
|
{{</* /accordion-item */>}}
|
||||||
{{</* accordion-item header="Accordion Item #3" */>}}
|
{{</* accordion-item header="Accordion Item #3" */>}}
|
||||||
This is the third item's accordion body.
|
This is the third item's accordion body.
|
||||||
@@ -49,16 +59,29 @@ As an example, the following shortcode displays a simple alert.
|
|||||||
|
|
||||||
## Badge
|
## Badge
|
||||||
|
|
||||||
Use HTML code to display a badge for a heading. See the Bootstrap [documentation]({{< param "links.bs_badge_heading" >}}) for more options.
|
Use the badge shortcode to display a badge for a heading.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
{{< example >}}
|
{{< example >}}
|
||||||
<h1>Example heading of size one <span class="badge bg-secondary">New</span></h1>
|
Heading 1 {{</* badge title="New" */>}}
|
||||||
<h2>Example heading of size two <span class="badge bg-secondary">New</span></h2>
|
{.h1}
|
||||||
<h3>Example heading of size three <span class="badge bg-secondary">New</span></h3>
|
|
||||||
<h4>Example heading of size four <span class="badge bg-secondary">New</span></h4>
|
Heading 2 {{</* badge title="New" */>}}
|
||||||
<h5>Example heading of size five <span class="badge bg-secondary">New</span></h5>
|
{.h2}
|
||||||
<h6>Example heading of size six <span class="badge bg-secondary">New</span></h6>
|
|
||||||
|
Heading 3 {{</* badge title="New" */>}}
|
||||||
|
{.h3}
|
||||||
|
|
||||||
|
Heading 4 {{</* badge title="New" */>}}
|
||||||
|
{.h4}
|
||||||
|
|
||||||
|
Heading 5 {{</* badge title="New" */>}}
|
||||||
|
{.h5}
|
||||||
|
|
||||||
|
Heading 6 {{</* badge title="New" */>}}
|
||||||
|
{.h6}
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
## Breadcrumb
|
## Breadcrumb
|
||||||
|
|
||||||
@@ -102,7 +125,29 @@ As an example, the following shortcode displays a stacked card that links to the
|
|||||||
|
|
||||||
<!-- markdownlint-disable MD037 -->
|
<!-- markdownlint-disable MD037 -->
|
||||||
{{< example lang="hugo" >}}
|
{{< example lang="hugo" >}}
|
||||||
{{</* card path="about" padding="3" class="w-50" color="body-tertiary" header="publication" footer="none" */>}}
|
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary"
|
||||||
|
header="publication" footer="none" button=true /*/>}}
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
## Card group
|
||||||
|
|
||||||
|
As an example, the following shortcode displays a card group of three elements.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="hugo" >}}
|
||||||
|
{{</* card-group padding="3" gutter="3" */>}}
|
||||||
|
{{</* card title="Bootstrap framework" icon="fab bootstrap" */>}}
|
||||||
|
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source
|
||||||
|
Sass files.
|
||||||
|
{{</* /card */>}}
|
||||||
|
{{</* card title="Full text search" icon="fas magnifying-glass" */>}}
|
||||||
|
Search your site with FlexSearch, a full-text search library with zero dependencies.
|
||||||
|
{{</* /card */>}}
|
||||||
|
{{</* card title="Development tools" icon="fas code" */>}}
|
||||||
|
Use Node Package Manager to automate the build process and to keep track of dependencies.
|
||||||
|
{{</* /card */>}}
|
||||||
|
{{</* /card-group */>}}
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
@@ -131,7 +176,7 @@ As an example, the following shortcode displays a button that, when clicked, tri
|
|||||||
{{</* /button */>}}
|
{{</* /button */>}}
|
||||||
|
|
||||||
{{</* collapse id="collapse-1" class="p-3 border rounded bg-primary-subtle" */>}}
|
{{</* collapse id="collapse-1" class="p-3 border rounded bg-primary-subtle" */>}}
|
||||||
Some placeholder content for the collapse component. This panel is <i>hidden by default</i> but
|
Some placeholder content for the collapse component. This panel is *hidden by default* but
|
||||||
revealed when the user activates the relevant trigger.
|
revealed when the user activates the relevant trigger.
|
||||||
{{</* /collapse */>}}
|
{{</* /collapse */>}}
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
@@ -197,13 +242,14 @@ Use the `file` shortcode to print and highlight the full content of a given inpu
|
|||||||
|
|
||||||
## Icon
|
## Icon
|
||||||
|
|
||||||
As an example, the following shortcodes show a square check, a brand logo, and a circle check.
|
As an example, the following shortcodes show a square check, a brand logo, a circle check, and a custom icon.
|
||||||
|
|
||||||
<!-- markdownlint-disable MD037 -->
|
<!-- markdownlint-disable MD037 -->
|
||||||
{{< example lang="hugo" >}}
|
{{< example lang="hugo" >}}
|
||||||
{{</* fa square-check */>}}
|
{{</* fa square-check */>}}
|
||||||
{{</* fab linkedin */>}}
|
{{</* fab linkedin */>}}
|
||||||
{{</* fas circle-check */>}}
|
{{</* fas circle-check */>}}
|
||||||
|
{{</* icon custom activity */>}}
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
@@ -217,6 +263,57 @@ As an example, the following shortcode displays an image with rounded corners an
|
|||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
As an example, the following shortcode displays a regular vector image.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="hugo" >}}
|
||||||
|
{{</* image src="/img/logo_icon.svg" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
As an example, the following shortcode displays a vector image with a symbol reference.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="hugo" >}}
|
||||||
|
{{</* image src="/img/logo_var.svg#logo" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
## Link
|
||||||
|
|
||||||
|
As an example, the following shortcodes render links in different formats.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="hugo" >}}
|
||||||
|
|
||||||
|
- {{</* link hinode >}}Named link with default settings{{< /link */>}}
|
||||||
|
- {{</* link name=hinode cue=false tab=false >}}Named link opening in current tab w/o icon{{< /link */>}}
|
||||||
|
- {{</* link name=hinode cue=true tab=true >}}Named link opening in new tab with icon{{< /link */>}}
|
||||||
|
- {{</* link hinode /*/>}}
|
||||||
|
- {{</* link href="https://developer.mozilla.org" >}}External link{{< /link */>}}
|
||||||
|
- {{</* link "./projects/another-project" >}}Internal link with title{{< /link */>}}
|
||||||
|
- {{</* link url="projects/another-project" /*/>}}
|
||||||
|
- {{</* link url="/projects/another-project" /*/>}}
|
||||||
|
- {{</* link url="../projects/another-project" case=false /*/>}}
|
||||||
|
- {{</* link "about" /*/>}}
|
||||||
|
- {{</* link "/fr/a-propos/" /*/>}}
|
||||||
|
- {{</* link "/fr/a-propos" >}}About (French){{< /link */>}}
|
||||||
|
- {{</* link "#image" /*/>}}
|
||||||
|
- {{</* link "components/#map" /*/>}}
|
||||||
|
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
## Mark
|
||||||
|
|
||||||
|
Use the `mark` shortcode to highlight text. The inner content is used as input.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="hugo" >}}
|
||||||
|
Use the mark shortcode to {{</* mark >}}highlight{{< /mark */>}} specific text.
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
## Nav
|
## Nav
|
||||||
|
|
||||||
As an example, the following shortcode displays a tab group with vertically aligned pills.
|
As an example, the following shortcode displays a tab group with vertically aligned pills.
|
||||||
@@ -225,11 +322,11 @@ As an example, the following shortcode displays a tab group with vertically alig
|
|||||||
{{< example lang="hugo" >}}
|
{{< example lang="hugo" >}}
|
||||||
{{</* nav type="pills" vertical="true" */>}}
|
{{</* nav type="pills" vertical="true" */>}}
|
||||||
{{</* nav-item header="Nav Item #1" show="true" */>}}
|
{{</* nav-item header="Nav Item #1" show="true" */>}}
|
||||||
This is the first item's nav body. It supports HTML content. The item is shown by adding the value
|
This is the first item's nav body. It supports HTML content, if enabled in the goldmark
|
||||||
<code>show</code> to the <code>class</code> argument.
|
renderer. The item is shown by adding the value `show` to the `class` argument.
|
||||||
{{</* /nav-item */>}}
|
{{</* /nav-item */>}}
|
||||||
{{</* nav-item header="Nav Item #2" */>}}
|
{{</* nav-item header="Nav Item #2" */>}}
|
||||||
This is the second item's nav body. It too supports HTML content.
|
This is the second item's nav body.
|
||||||
{{</* /nav-item */>}}
|
{{</* /nav-item */>}}
|
||||||
{{</* nav-item header="Nav Item #3" */>}}
|
{{</* nav-item header="Nav Item #3" */>}}
|
||||||
This is the third item's nav body.
|
This is the third item's nav body.
|
||||||
@@ -248,6 +345,24 @@ As an example, the following shortcode displays a light navigation header.
|
|||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
## Persona
|
||||||
|
|
||||||
|
As an example, the following shortcode displays a persona card with a primary color.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="hugo" >}}
|
||||||
|
{{</* persona thumbnail="/img/creator-1x1.jpg" title="Creators" color="primary" */>}}
|
||||||
|
As a content creator you value your independence. You like to take control of your
|
||||||
|
online and offline presence. You want to focus on growing your audience, without
|
||||||
|
limitations.
|
||||||
|
|
||||||
|
Hinode gives you the tools to publish your blog in the way that you want. You have
|
||||||
|
full ownership and control of your content. That is why content creators choose
|
||||||
|
Hinode.
|
||||||
|
{{</* /persona */>}}
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
## Release
|
## Release
|
||||||
|
|
||||||
As an example, the following shortcode displays a default release button.
|
As an example, the following shortcode displays a default release button.
|
||||||
@@ -270,13 +385,49 @@ Loading...
|
|||||||
{{< /example>}}
|
{{< /example>}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
## Sub
|
||||||
|
|
||||||
|
As an example, the following shortcode displays subscript text.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example >}}
|
||||||
|
H{{</* sub 2 */>}}O is a liquid.
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
## Sup
|
||||||
|
|
||||||
|
As an example, the following shortcode displays superscript text.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example >}}
|
||||||
|
2{{</* sup 10 */>}} is 1024.
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
## Table
|
||||||
|
|
||||||
|
As an example, the following shortcode displays a responsive table.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="markdown" >}}
|
||||||
|
{{</* table */>}}
|
||||||
|
| # | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading |
|
||||||
|
|----|---------|---------|---------|---------|---------|---------|---------|---------|---------|
|
||||||
|
| 1. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
|
||||||
|
| 2. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
|
||||||
|
| 3. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
|
||||||
|
{{</* /table */>}}
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
## Timeline
|
## Timeline
|
||||||
|
|
||||||
As an example, the following shortcode displays a timeline with the file `data/timeline-en.yml` as data.
|
As an example, the following shortcode displays a timeline with the file `data/timeline.en.yml` as data.
|
||||||
|
|
||||||
<!-- markdownlint-disable MD037 -->
|
<!-- markdownlint-disable MD037 -->
|
||||||
{{< example lang="hugo" >}}
|
{{< example lang="hugo" >}}
|
||||||
{{</* timeline data="timeline-en" background="dark" */>}}
|
{{</* timeline data="timeline" background="dark" */>}}
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
@@ -295,11 +446,11 @@ As an example, the following shortcode displays a button that, when clicked, tri
|
|||||||
{{</* /button */>}}
|
{{</* /button */>}}
|
||||||
|
|
||||||
{{</* toast id="toast-example-1" header="First title" */>}}
|
{{</* toast id="toast-example-1" header="First title" */>}}
|
||||||
This is the first toast message.
|
This is the first toast message. It supports `markdown.`
|
||||||
{{</* /toast */>}}
|
{{</* /toast */>}}
|
||||||
|
|
||||||
{{</* toast id="toast-example-2" header="Second title" */>}}
|
{{</* toast id="toast-example-2" header="Second title" */>}}
|
||||||
This is the second toast message.
|
This is the second toast message. It supports `markdown.`
|
||||||
{{</* /toast */>}}
|
{{</* /toast */>}}
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
@@ -310,6 +461,6 @@ As an example, the following shortcode displays a tooltip for a colored hyperlin
|
|||||||
|
|
||||||
<!-- markdownlint-disable MD037 -->
|
<!-- markdownlint-disable MD037 -->
|
||||||
{{< example lang="hugo" >}}
|
{{< example lang="hugo" >}}
|
||||||
{{</* tooltip color="primary" title="Tooltip" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration
|
{{</* tooltip color="primary" title="Tooltip caption" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
author: Mark Dumay
|
author: Mark Dumay
|
||||||
title: Components
|
title: Components
|
||||||
date: 2023-07-21
|
date: 2023-09-23
|
||||||
description: Use shortcodes to add predefined components powered by external libraries.
|
description: Use shortcodes to add predefined components powered by external libraries.
|
||||||
tags: ["bootstrap", "shortcode"]
|
tags: ["bootstrap", "shortcode"]
|
||||||
thumbnail:
|
thumbnail:
|
||||||
@@ -10,11 +10,21 @@ thumbnail:
|
|||||||
authorURL: https://unsplash.com/@ryoji__iwata
|
authorURL: https://unsplash.com/@ryoji__iwata
|
||||||
origin: Unsplash
|
origin: Unsplash
|
||||||
originURL: https://unsplash.com/photos/5siQcvSxCP8
|
originURL: https://unsplash.com/photos/5siQcvSxCP8
|
||||||
modules: ["katex", "leaflet"]
|
modules: ["katex", "leaflet", "lottie"]
|
||||||
---
|
---
|
||||||
|
|
||||||
Hinode provides several shortcodes on top of the common [Bootstrap elements]({{< relref "bootstrap-elements" >}}). Refer to the [official documentation]({{< param "links.hinode_docs" >}}) for more details.
|
Hinode provides several shortcodes on top of the common [Bootstrap elements]({{< relref "bootstrap-elements" >}}). Refer to the [official documentation]({{< param "links.hinode_docs" >}}) for more details.
|
||||||
|
|
||||||
|
## Animation
|
||||||
|
|
||||||
|
As an example, the following shortcode shows an animation that plays on hover.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="hugo" >}}
|
||||||
|
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
## Formula (KaTeX)
|
## Formula (KaTeX)
|
||||||
|
|
||||||
As an example, the following markdown renders two formulas using the KaTeX typesetting library.
|
As an example, the following markdown renders two formulas using the KaTeX typesetting library.
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
---
|
---
|
||||||
author: Mark Dumay
|
author: Mark Dumay
|
||||||
title: Fourth post
|
title: Fourth post (excluded from search)
|
||||||
date: 2023-01-01
|
date: 2023-01-01
|
||||||
description: This is my fourth blog post.
|
description: This is my fourth blog post. It is excluded from the search index.
|
||||||
tags: ["blog"]
|
tags: ["blog"]
|
||||||
|
searchExclude: true
|
||||||
thumbnail:
|
thumbnail:
|
||||||
url: img/flowers.jpg
|
url: img/flowers.jpg
|
||||||
author: Arvee Marie
|
author: Arvee Marie
|
||||||
|
@@ -1,14 +1,15 @@
|
|||||||
---
|
---
|
||||||
author: Mark Dumay
|
author: Mark Dumay
|
||||||
title: Bienvenue sur Hinode!
|
title: Bienvenue sur Hinode!
|
||||||
|
description: Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
|
||||||
thumbnail:
|
thumbnail:
|
||||||
url: /img/sunrise.jpg
|
url: /img/sunrise.jpg
|
||||||
author: Harris Vo
|
author: Harris Vo
|
||||||
authorURL: https://unsplash.com/@hoanvokim
|
authorURL: https://unsplash.com/@hoanvokim
|
||||||
origin: https://unsplash.com/photos/ZX6BPboJrYk
|
origin: https://unsplash.com/photos/ZX6BPboJrYk
|
||||||
originName: Unsplash
|
originName: Unsplash
|
||||||
|
actions:
|
||||||
|
about:
|
||||||
|
url: "a-propos"
|
||||||
|
title: "À propos"
|
||||||
---
|
---
|
||||||
|
|
||||||
Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
|
|
||||||
|
|
||||||
{{< button href="a-propos" >}}À propos{{< /button>}}
|
|
||||||
|
@@ -7,30 +7,19 @@ updated: 2023-08-02
|
|||||||
showComments: false
|
showComments: false
|
||||||
---
|
---
|
||||||
|
|
||||||
<p class="text-center"><svg class="img-fluid w-50"><use href="/img/logo_var.svg#logo"></use></svg></p>
|
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
|
||||||
|
|
||||||
<section class="section section-sm mt-5">
|
{{< card-group align="center" class="border-0" padding="3" >}}
|
||||||
<div class="container-fluid">
|
{{< card title="Framework Bootstrap" icon="fab bootstrap" >}}
|
||||||
<div class="row justify-content-center text-center">
|
Créez des sites rapides et réactifs avec Bootstrap 5. Personnalisez facilement votre site avec les fichiers source Sass.
|
||||||
<div class="row justify-content-center text-center">
|
{{< /card >}}
|
||||||
<div class="col-lg-4">
|
{{< card title="Recherche en texte intégral" icon="fas magnifying-glass" >}}
|
||||||
{{< icon fab bootstrap fa-2xl >}}
|
Recherchez votre site avec FlexSearch, une bibliothèque de recherche en texte intégral avec zéro dépendances.
|
||||||
<h2 class="h4">Framework Bootstrap</h2>
|
{{< /card >}}
|
||||||
<p>Créez des sites rapides et réactifs avec Bootstrap 5. Personnalisez facilement votre site avec les fichiers source Sass.</p>
|
{{< card title="Outils de développement" icon="fas code" >}}
|
||||||
</div>
|
Utilisez Node Package Manager pour automatiser le processus de construction et suivre les dépendances.
|
||||||
<div class="col-lg-4">
|
{{< /card >}}
|
||||||
{{< icon fas magnifying-glass fa-2xl >}}
|
{{< /card-group >}}
|
||||||
<h2 class="h4">Recherche en texte intégral</h2>
|
|
||||||
<p>Recherchez votre site avec FlexSearch, une bibliothèque de recherche en texte intégral avec zéro dépendances.</p>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-4">
|
|
||||||
{{< icon fas code fa-2xl >}}
|
|
||||||
<h2 class="h4">Outils de développement</h2>
|
|
||||||
<p>Utilisez Node Package Manager pour automatiser le processus de construction et suivre les dépendances.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
Les fonctionnalités supplémentaires incluent:
|
Les fonctionnalités supplémentaires incluent:
|
||||||
|
|
||||||
@@ -38,13 +27,7 @@ Les fonctionnalités supplémentaires incluent:
|
|||||||
- Prise en charge de plusieurs langues
|
- Prise en charge de plusieurs langues
|
||||||
- Composants bootstrap réutilisables à travers des codes et partiels configurables
|
- Composants bootstrap réutilisables à travers des codes et partiels configurables
|
||||||
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
|
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
|
||||||
- Commentaires intégrés via une intégration légère avec GitHub via [utteranc.es]({{< param "links.utterances" >}})
|
|
||||||
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
|
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
|
||||||
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}).
|
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}).
|
||||||
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}})
|
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}})
|
||||||
{.tickmark}
|
{.tickmark}
|
||||||
|
|
||||||
Hinode est inspiré par les thèmes suivants:
|
|
||||||
|
|
||||||
- [Blist](https://github.com/apvarun/blist-hugo-theme) - Un thème de blog pour Hugo basé sur Tailwind CSS.
|
|
||||||
- [Doks](https://github.com/h-enk/doks) - Un thème Hugo pour la création de sites de documentation sécurisés, rapides et optimisés pour le référencement (SEO), que vous pouvez facilement mettre à jour et personnaliser.
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user