mirror of
https://github.com/RGBCube/Site
synced 2025-08-02 14:07:47 +00:00
Compare commits
No commits in common. "51fd319b05b658db748bea412fa24db9d4010b44" and "fae392d3af56c0d281fc9d631d572eeee9280745" have entirely different histories.
51fd319b05
...
fae392d3af
15 changed files with 67 additions and 275 deletions
115
deno.lock
generated
115
deno.lock
generated
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "5",
|
||||
"version": "4",
|
||||
"specifiers": {
|
||||
"jsr:@davidbonnet/astring@1.8.6": "1.8.6",
|
||||
"jsr:@luca/esbuild-deno-loader@0.11.1": "0.11.1",
|
||||
|
@ -223,49 +223,31 @@
|
|||
]
|
||||
},
|
||||
"@tailwindcss/oxide-android-arm64@4.1.7": {
|
||||
"integrity": "sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg=="
|
||||
},
|
||||
"@tailwindcss/oxide-darwin-arm64@4.1.7": {
|
||||
"integrity": "sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg=="
|
||||
},
|
||||
"@tailwindcss/oxide-darwin-x64@4.1.7": {
|
||||
"integrity": "sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw=="
|
||||
},
|
||||
"@tailwindcss/oxide-freebsd-x64@4.1.7": {
|
||||
"integrity": "sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw=="
|
||||
},
|
||||
"@tailwindcss/oxide-linux-arm-gnueabihf@4.1.7": {
|
||||
"integrity": "sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
"integrity": "sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g=="
|
||||
},
|
||||
"@tailwindcss/oxide-linux-arm64-gnu@4.1.7": {
|
||||
"integrity": "sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA=="
|
||||
},
|
||||
"@tailwindcss/oxide-linux-arm64-musl@4.1.7": {
|
||||
"integrity": "sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A=="
|
||||
},
|
||||
"@tailwindcss/oxide-linux-x64-gnu@4.1.7": {
|
||||
"integrity": "sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg=="
|
||||
},
|
||||
"@tailwindcss/oxide-linux-x64-musl@4.1.7": {
|
||||
"integrity": "sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA=="
|
||||
},
|
||||
"@tailwindcss/oxide-wasm32-wasi@4.1.7": {
|
||||
"integrity": "sha512-ANaSKt74ZRzE2TvJmUcbFQ8zS201cIPxUDm5qez5rLEwWkie2SkGtA4P+GPTj+u8N6JbPrC8MtY8RmJA35Oo+A==",
|
||||
|
@ -276,26 +258,17 @@
|
|||
"@napi-rs/wasm-runtime",
|
||||
"@tybys/wasm-util",
|
||||
"tslib"
|
||||
],
|
||||
"cpu": ["wasm32"]
|
||||
]
|
||||
},
|
||||
"@tailwindcss/oxide-win32-arm64-msvc@4.1.7": {
|
||||
"integrity": "sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw=="
|
||||
},
|
||||
"@tailwindcss/oxide-win32-x64-msvc@4.1.7": {
|
||||
"integrity": "sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ=="
|
||||
},
|
||||
"@tailwindcss/oxide@4.1.7": {
|
||||
"integrity": "sha512-5SF95Ctm9DFiUyjUPnDGkoKItPX/k+xifcQhcqX5RA85m50jw1pT/KzjdvlqxRja45Y52nR4MR9fD1JYd7f8NQ==",
|
||||
"dependencies": [
|
||||
"detect-libc",
|
||||
"tar"
|
||||
],
|
||||
"optionalDependencies": [
|
||||
"@tailwindcss/oxide-android-arm64",
|
||||
"@tailwindcss/oxide-darwin-arm64",
|
||||
"@tailwindcss/oxide-darwin-x64",
|
||||
|
@ -307,9 +280,10 @@
|
|||
"@tailwindcss/oxide-linux-x64-musl",
|
||||
"@tailwindcss/oxide-wasm32-wasi",
|
||||
"@tailwindcss/oxide-win32-arm64-msvc",
|
||||
"@tailwindcss/oxide-win32-x64-msvc"
|
||||
],
|
||||
"scripts": true
|
||||
"@tailwindcss/oxide-win32-x64-msvc",
|
||||
"detect-libc",
|
||||
"tar"
|
||||
]
|
||||
},
|
||||
"@tybys/wasm-util@0.9.0": {
|
||||
"integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
|
||||
|
@ -355,48 +329,31 @@
|
|||
"integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w=="
|
||||
},
|
||||
"jiti@2.4.2": {
|
||||
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
|
||||
"bin": true
|
||||
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="
|
||||
},
|
||||
"lightningcss-darwin-arm64@1.30.1": {
|
||||
"integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="
|
||||
},
|
||||
"lightningcss-darwin-x64@1.30.1": {
|
||||
"integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA=="
|
||||
},
|
||||
"lightningcss-freebsd-x64@1.30.1": {
|
||||
"integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig=="
|
||||
},
|
||||
"lightningcss-linux-arm-gnueabihf@1.30.1": {
|
||||
"integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
"integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q=="
|
||||
},
|
||||
"lightningcss-linux-arm64-gnu@1.30.1": {
|
||||
"integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw=="
|
||||
},
|
||||
"lightningcss-linux-arm64-musl@1.30.1": {
|
||||
"integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ=="
|
||||
},
|
||||
"lightningcss-linux-x64-gnu@1.30.1": {
|
||||
"integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw=="
|
||||
},
|
||||
"lightningcss-linux-x64-musl@1.30.1": {
|
||||
"integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ=="
|
||||
},
|
||||
"lightningcss-wasm@1.30.1": {
|
||||
"integrity": "sha512-KJTnKEn0REV6DoJzxG0m5EKVEFA1CVE1isDYpXjsuqWXwLKFPJtA9Z9BSzPZJwAZFN2KaUzy+IWGP59p5bm2sA==",
|
||||
|
@ -405,21 +362,15 @@
|
|||
]
|
||||
},
|
||||
"lightningcss-win32-arm64-msvc@1.30.1": {
|
||||
"integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["arm64"]
|
||||
"integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA=="
|
||||
},
|
||||
"lightningcss-win32-x64-msvc@1.30.1": {
|
||||
"integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
"integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="
|
||||
},
|
||||
"lightningcss@1.30.1": {
|
||||
"integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==",
|
||||
"dependencies": [
|
||||
"detect-libc"
|
||||
],
|
||||
"optionalDependencies": [
|
||||
"detect-libc",
|
||||
"lightningcss-darwin-arm64",
|
||||
"lightningcss-darwin-x64",
|
||||
"lightningcss-freebsd-x64",
|
||||
|
@ -462,8 +413,7 @@
|
|||
"mdurl",
|
||||
"punycode.js",
|
||||
"uc.micro"
|
||||
],
|
||||
"bin": true
|
||||
]
|
||||
},
|
||||
"mdurl@2.0.0": {
|
||||
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w=="
|
||||
|
@ -481,8 +431,7 @@
|
|||
]
|
||||
},
|
||||
"mkdirp@3.0.1": {
|
||||
"integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
|
||||
"bin": true
|
||||
"integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg=="
|
||||
},
|
||||
"napi-wasm@1.1.3": {
|
||||
"integrity": "sha512-h/4nMGsHjZDCYmQVNODIrYACVJ+I9KItbG+0si6W/jSjdA9JbWDoU4LLeMXVcEQGHjttI2tuXqDrbGF7qkUHHg=="
|
||||
|
@ -749,7 +698,6 @@
|
|||
"https://deno.land/x/lume@v3.0.2/plugins/minify_html.ts": "f8a817bc43107389d0ce4ce9a048ced06c001407da34e9e2b8ef7a19db90c933",
|
||||
"https://deno.land/x/lume@v3.0.2/plugins/modify_urls.ts": "9c1b7cc856038d46b64f395065d2852f9b4af94ef9a41c2e9e3021d448b1d3b6",
|
||||
"https://deno.land/x/lume@v3.0.2/plugins/modules.ts": "4e177c0ffe972b9deef10db2bf0ae52b405418af4dbac03db9e7ffbd6a3ec6ae",
|
||||
"https://deno.land/x/lume@v3.0.2/plugins/nav.ts": "505b2140d35c992e05b471f34e7b9f38ddd1cd13d588eb9fb3622ce59592ccac",
|
||||
"https://deno.land/x/lume@v3.0.2/plugins/paginate.ts": "6a1a9a24d0fabed2f722a6a6f29d98559219c69475685034181816e82d367f2e",
|
||||
"https://deno.land/x/lume@v3.0.2/plugins/redirects.ts": "5ae50e20bc32b0e8836920148b25ea3ae057a209b62691a67471fa4a52e6507a",
|
||||
"https://deno.land/x/lume@v3.0.2/plugins/resolve_urls.ts": "910dbccd25fcacacc72d577a3df37c5f3cc4adce0ec52b2fc8903863c2e2afae",
|
||||
|
@ -789,7 +737,6 @@
|
|||
"https://deno.land/x/vento@v1.13.0/src/loader.ts": "d6033a30c127fe942190c887c0b6673366e54887079f3f0f73d8ba0aeca9176c",
|
||||
"https://deno.land/x/vento@v1.13.0/src/tokenizer.ts": "127ddad02054f63b8b646e4dfbf555e1e34e9b8dcbd58d86b3729a4de95abd27",
|
||||
"https://deno.land/x/vento@v1.13.0/src/transformer.ts": "9ff70c554b3889151745b5f7117bc5c02b889e6e16ca53e5b8c1fa6b767fb451",
|
||||
"https://deno.land/x/xml@6.0.4/_types.ts": "a7435282a7a775d80f8528aeec49996192c47fef8a8f616a1b216792424dc125",
|
||||
"https://deno.land/x/xml@6.0.4/mod.ts": "b59e5c0dd9fe7ed597c21c39aacf089aa82fe5c5eaad3f411a43a9c104359f4e",
|
||||
"https://deno.land/x/xml@6.0.4/parse.ts": "1302c75d8fd40df39310bb8ae6716302f0b77c61c607437dc023d3d792a0df54",
|
||||
"https://deno.land/x/xml@6.0.4/stringify.ts": "0e2f79798d413c5386bf5de90bbe9901f99951ceae484050a8ef89e2b4da9dd0",
|
||||
|
|
23
site.ts
23
site.ts
|
@ -1,17 +1,16 @@
|
|||
import lume from "lume/mod.ts";
|
||||
import checkUrls from "lume/plugins/check_urls.ts";
|
||||
import codeHighlight from "lume/plugins/code_highlight.ts";
|
||||
import extractDate from "lume/plugins/extract_date.ts";
|
||||
import feed from "lume/plugins/feed.ts";
|
||||
import inline from "lume/plugins/inline.ts";
|
||||
import lightningcss from "lume/plugins/lightningcss.ts";
|
||||
// import minifyHtml from "lume/plugins/minify_html.ts";
|
||||
import nav from "lume/plugins/nav.ts";
|
||||
import codeHighlight from "lume/plugins/code_highlight.ts";
|
||||
import redirects from "lume/plugins/redirects.ts";
|
||||
import resolveUrls from "lume/plugins/resolve_urls.ts";
|
||||
import sitemap from "lume/plugins/sitemap.ts";
|
||||
import slugifyUrls from "lume/plugins/slugify_urls.ts";
|
||||
import tailwindcss from "lume/plugins/tailwindcss.ts";
|
||||
import lightningcss from "lume/plugins/lightningcss.ts";
|
||||
import resolveUrls from "lume/plugins/resolve_urls.ts";
|
||||
import slugifyUrls from "lume/plugins/slugify_urls.ts";
|
||||
import checkUrls from "lume/plugins/check_urls.ts";
|
||||
import inline from "lume/plugins/inline.ts";
|
||||
import feed from "lume/plugins/feed.ts";
|
||||
import sitemap from "lume/plugins/sitemap.ts";
|
||||
import minifyHtml from "lume/plugins/minify_html.ts";
|
||||
|
||||
const siteName = "RGBCube";
|
||||
const siteDescription =
|
||||
|
@ -174,12 +173,10 @@ site.use(checkUrls({
|
|||
throw: true,
|
||||
}));
|
||||
|
||||
site.use(nav());
|
||||
|
||||
site.use(feed({
|
||||
output: ["/blog.rss", "/blog.json"],
|
||||
|
||||
query: "url^=/blog/ url!=/blog/ unlisted!=true",
|
||||
query: "type=article unlisted!=true",
|
||||
sort: "date=asc",
|
||||
limit: Infinity,
|
||||
|
||||
|
|
19
site/404.vto
19
site/404.vto
|
@ -31,14 +31,13 @@ prevent_zoom: true
|
|||
<a class="size-[100%] bg-black hover:bg-[olive]" href={{ "/" |> url(true) }}></a>
|
||||
{{ /set }}
|
||||
|
||||
{{ include "cube.vto" {
|
||||
cube_face_front: cube_face,
|
||||
cube_face_back: cube_face,
|
||||
cube_face_left: cube_face,
|
||||
cube_face_right: cube_face,
|
||||
cube_face_top: cube_face,
|
||||
cube_face_bottom: cube_face,
|
||||
{{ set cube_face_front = cube_face }}
|
||||
{{ set cube_face_back = cube_face }}
|
||||
{{ set cube_face_left = cube_face }}
|
||||
{{ set cube_face_right = cube_face }}
|
||||
{{ set cube_face_top = cube_face }}
|
||||
{{ set cube_face_bottom = cube_face }}
|
||||
|
||||
cube_size: "5rem",
|
||||
cube_last: true,
|
||||
} }}
|
||||
{{ set cube_size = "5rem" }}
|
||||
{{ set cube_last = true }}
|
||||
{{ include "cube.vto" }}
|
||||
|
|
|
@ -60,7 +60,7 @@ layout: null
|
|||
<link href="/assets/css/default.css" rel="stylesheet" inline>
|
||||
</head>
|
||||
|
||||
<body class="bg-white text-black dark:bg-black dark:text-white overflow-x-hidden">
|
||||
<body class="bg-white text-black dark:bg-black dark:text-white">
|
||||
{{ content }}
|
||||
</body>
|
||||
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
layout: text.vto
|
||||
---
|
||||
|
||||
{{ content }}
|
||||
|
||||
{{ include "map.vto" { url } }}
|
|
@ -1,70 +0,0 @@
|
|||
{{ function process(entry, toplevel = false) }}
|
||||
<div class="relative p-4{{ if !toplevel }} my-4 md:mx-8{{ /if }} border-1 bg-white dark:bg-black">
|
||||
{{ if entry.data.title }}
|
||||
<a
|
||||
class="
|
||||
reset
|
||||
|
||||
absolute inset-0
|
||||
p-4
|
||||
|
||||
bg-white hover:bg-[pink]
|
||||
dark:bg-black dark:hover:bg-[olive]
|
||||
|
||||
{{ if entry.data.url == url }}
|
||||
border-2 border-dashed border-black dark:border-white
|
||||
{{ /if }}
|
||||
"
|
||||
style="margin:0" href="{{ entry.data.url }}"
|
||||
>{{ entry.data.mapTitle ?? entry.data.title |> md }}</a>
|
||||
<div class="invisible">{{ entry.data.mapTitle ?? entry.data.title |> md }}</div>
|
||||
{{ else }}
|
||||
{{> const content = entry.data.basename.replace(/-/g, " ").replace(/\b\w/g, (char) => char.toUpperCase()) }}
|
||||
<p
|
||||
class="
|
||||
absolute inset-0
|
||||
p-4
|
||||
|
||||
bg-[repeating-linear-gradient(-45deg,transparent_0rem,transparent_1rem,#ddd_1rem,#ddd_2rem)]
|
||||
dark:bg-[repeating-linear-gradient(-45deg,transparent_0rem,transparent_1rem,#222_1rem,#222_2rem)]
|
||||
"
|
||||
style="
|
||||
margin:0;
|
||||
"
|
||||
>{{ content }}</p>
|
||||
<div class="invisible">{{ content }}</div>
|
||||
{{ /if }}
|
||||
|
||||
{{ if entry.children && entry.children.length > 0 }}
|
||||
<ul>
|
||||
{{ for child of entry.children }}
|
||||
<li class="reset">
|
||||
{{ process(child) }}
|
||||
</li>
|
||||
{{ /for }}
|
||||
</ul>
|
||||
{{ /if }}
|
||||
</div>
|
||||
{{ /function }}
|
||||
|
||||
{{> const sharedPrefix = (x, y) => {
|
||||
const length = Math.min(x.length, y.length);
|
||||
|
||||
let prefix = "";
|
||||
|
||||
for (let index = 0; index < length; index++) {
|
||||
if (x[index] === y[index]) {
|
||||
prefix += x[index];
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return prefix;
|
||||
} }}
|
||||
|
||||
{{> const anchorUrls = search.pages("mapAnchor=true").map((page) => page.url) }}
|
||||
{{> const shared = anchorUrls.map((anchorUrl) => sharedPrefix(anchorUrl, url)) }}
|
||||
{{> const longest = shared.reduce((longest, current) => current.length > longest.length ? current : longest) }}
|
||||
|
||||
{{ process(nav.menu(longest), toplevel = true) }}
|
|
@ -9,7 +9,7 @@ layout: default.vto
|
|||
transform-[rotateX(180deg)]
|
||||
text-black text-2xl font-bold
|
||||
absolute w-[inherit] z-999
|
||||
not-md:overflow-x-auto
|
||||
overflow-x-auto
|
||||
">
|
||||
<div class="transform-[rotateX(180deg)] flex items-start justify-evenly mx-px">
|
||||
{{> const style = `
|
||||
|
@ -24,7 +24,6 @@ layout: default.vto
|
|||
<a class="{{ style }}" href="/">home</a>
|
||||
<a class="{{ style }}" href="/about/">about</a>
|
||||
<a class="{{ style }}" href="/blog/">blog</a>
|
||||
<a class="{{ style }}" href="/dump/">dump</a>
|
||||
<a class="{{ style }}" href="/contact/">contact</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
@ -36,15 +35,14 @@ layout: default.vto
|
|||
<ol id="footnotes"></ol>
|
||||
</div>
|
||||
|
||||
<footer class="flex justify-center text-sm wrap-anywhere mt-auto p-1.5 pb-2 border-t-4 border-x-4 border-black dark:border-white">
|
||||
<footer class="flex justify-center text-sm wrap-anywhere mt-auto p-1.5 pb-2 border-t-4 border-x-4">
|
||||
Copyright © {{ Temporal.Now.plainDateISO().year }}
|
||||
|
||||
<a draggable="false" class="flex items-center pl-2" href="/" alt="RGBCube">
|
||||
{{ include "rgbcube.vto" {
|
||||
cube_size: "0.75rem",
|
||||
cube_small: true,
|
||||
cube_last: true,
|
||||
} }}
|
||||
{{ set cube_size = "0.75rem" }}
|
||||
{{ set cube_small = true }}
|
||||
{{ set cube_last = true }}
|
||||
{{ include "rgbcube.vto" }}
|
||||
</a>
|
||||
</footer>
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
body {
|
||||
html, body {
|
||||
height: 100dvh;
|
||||
width: 100dvw;
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
a:not(.reset) {
|
||||
a {
|
||||
@apply m-0;
|
||||
|
||||
* {
|
||||
|
@ -256,7 +256,7 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
li:not(.reset) {
|
||||
li {
|
||||
@apply relative pl-4;
|
||||
|
||||
ul &::before {
|
||||
|
|
|
@ -18,13 +18,13 @@ Blog Articles
|
|||
|
||||
<style>ul * { overflow-wrap:anywhere !important; }</style>
|
||||
<ul>
|
||||
{{ for entry of search.pages("url^=/blog/ unlisted!=true", "order=asc date=desc")}}
|
||||
{{ for article of search.pages("type=article unlisted!=true", "order=asc date=desc")}}
|
||||
<li class="flex">
|
||||
<a id="matrix" class="text-right font-mono" style="margin-right:calc(var(--spacing)*2)" href="{{ entry.url }}">
|
||||
{{ entry.date.toISOString().slice(2, 10).replaceAll("-", " ") }}
|
||||
<a id="matrix" class="text-right font-mono" style="margin-right:calc(var(--spacing)*2)" href="{{ article.url }}">
|
||||
{{ article.date.toISOString().slice(2, 10).replaceAll("-", " ") }}
|
||||
</a>
|
||||
|
||||
{{ entry.title |> md }}
|
||||
{{ article.title |> md }}
|
||||
</li>
|
||||
{{ /for }}
|
||||
</ul>
|
||||
|
|
|
@ -2,6 +2,5 @@ export default {
|
|||
layout: "text.vto",
|
||||
type: "article",
|
||||
|
||||
title: null,
|
||||
description: null,
|
||||
};
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
layout: dump.vto
|
||||
title: D U M P
|
||||
description: RAMBLINGS OF A MADMAN
|
||||
mapTitle: RAMBLINGS OF A MADMAN
|
||||
mapAnchor: true
|
||||
---
|
||||
|
||||
<h1>Info and Thought Dumps</h1>
|
||||
|
||||
<p>Here is where I store all my random thoughts, grievences, random bits of information and perhaps the nice stuff I encounter.</p>
|
||||
|
||||
<p>Nothing here is blog-post tier good, so do not expect very high quality.</p>
|
|
@ -1,7 +0,0 @@
|
|||
export default {
|
||||
layout: "dump.vto",
|
||||
type: "article",
|
||||
|
||||
title: null,
|
||||
description: null,
|
||||
};
|
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
title: Go's iterators suit the moronic language
|
||||
date: 2025-06-07
|
||||
---
|
||||
|
||||
Just had to deal with Go iterators and I can say that they fit the language
|
||||
well.
|
||||
|
||||
They're push iterators. It's as if you're just appending items to an array.
|
||||
Actually much easier to explain when you are teaching the language to begginers
|
||||
while not expecting them to use it for much other than surface level utilities.
|
||||
|
||||
They compile down to nonlocal returns to try to keep it fast, but of course it's
|
||||
still slower than a state machine, in typical Go fashion
|
||||
|
||||
And when you know slightly more than a single lick of programming, the design
|
||||
and implementation of them looks very obviously moronic and catered to
|
||||
beginners.
|
||||
|
||||
Some people were arguing that this approach makes it more "functional" but
|
||||
that's very far from the truth. Push iterators are very imperative, pull
|
||||
iterators (`Iterator::next`, which returns `Option<T>`) are actual functional,
|
||||
correct and fast way to do it.
|
|
@ -1,19 +0,0 @@
|
|||
---
|
||||
title: Analytics
|
||||
---
|
||||
|
||||
This site and other websites under this domain run
|
||||
[Plausible](https://plausible.io/) analytics on a self-hosted instance at
|
||||
[shekels.rgbcu.be](https://shekels.rgbcu.be/).
|
||||
|
||||
None of your data is being sold, etc etc etc. I don't even collect much,
|
||||
currently only visitor data which includes your platform and geoghraphic
|
||||
location.
|
||||
|
||||
You can view it here for these domains:
|
||||
|
||||
- [rgbcu.be](https://shekels.rgbcu.be/rgbcu.be)
|
||||
- [shekels.rgbcu.be](https://shekels.rgbcu.be/shekels.rgbcu.be)
|
||||
- [git.rgbcu.be](https://shekels.rgbcu.be/git.rgbcu.be)
|
||||
|
||||
No other domain is marked public, so don't bother searching.
|
|
@ -29,10 +29,6 @@ prevent_zoom: true
|
|||
<a draggable="false" class="{{ style }}" href="/about/">about</a>
|
||||
{{ /set }}
|
||||
|
||||
{{ set cube_face_back }}
|
||||
<a draggable="false" class="{{ style }}" href="/dump/">dump</a>
|
||||
{{ /set }}
|
||||
|
||||
{{ set cube_face_top }}
|
||||
<a draggable="false" class="{{ style }}" href="https://github.com/RGBCube">github</a>
|
||||
{{ /set }}
|
||||
|
@ -45,11 +41,6 @@ prevent_zoom: true
|
|||
<a draggable="false" class="{{ style }}" href="/blog/">blog</a>
|
||||
{{ /set }}
|
||||
|
||||
{{ set cube_face_bottom }}
|
||||
<a draggable="false" class="{{ style }}" href="https://x.com/HSVSphere">xitter</a>
|
||||
{{ /set }}
|
||||
|
||||
{{ include "rgbcube.vto" {
|
||||
cube_size: "5rem",
|
||||
cube_last: true,
|
||||
} }}
|
||||
{{ set cube_size = "5rem" }}
|
||||
{{ set cube_last = true }}
|
||||
{{ include "rgbcube.vto" }}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue