Added boilerplate

This commit is contained in:
Xeovalyte 2023-11-21 21:23:16 +01:00
parent f1a011e2ed
commit 8dd3994ed4
12 changed files with 188 additions and 161 deletions

View File

@ -1,5 +1,33 @@
<template> <template>
<div> <div class="min-h-screen bg-dark-900 grid grid-cols-12">
Xeovalyte Portfolio <Sidebar class="col-span-2" />
<Content id="content" class="col-span-8 col-start-4" />
</div> </div>
</template> </template>
<script setup>
const router = useRouter()
useSeoMeta({
title: 'Timo Boomers / Xeovalyte',
description: 'This is the portfolio of Timo Boomers, also known as Xeovalyte',
})
const callback = (entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
router.replace({ hash: '#' + entry.target.id})
}
})
}
onMounted(() => {
const content = document.getElementById('content')
const observer = new IntersectionObserver(callback, { root: document.querySelector('#observe'),threshold: 0.6 })
Object.values(content.children).forEach(child => {
observer.observe(child);
})
})
</script>

View File

@ -0,0 +1,7 @@
<template>
<div>
<SectionsHeading id="about" class="min-h-screen" />
<SectionsSkills id="skills" class="min-h-screen" />
<SectionsProjects id="projects" class="min-h-screen" />
</div>
</template>

View File

@ -0,0 +1,15 @@
<template>
<div class="bg-dark-800 h-screen w-full sticky top-0">
<div class="flex flex-col gap-y-3 text-center">
<NuxtLink :to="{ hash: '#about'}" :external="true" class="text-primary-600 font-bold">
About
</NuxtLink>
<a href="#skills" to="#skills" class="text-primary-600 font-bold">
Skills
</a>
<a href="#projects" class="text-primary-600 font-bold">
Projects
</a>
</div>
</div>
</template>

View File

@ -0,0 +1,10 @@
<template>
<div class="py-40">
<h1 class="text-primary-500 text-6xl font-bold">Timo Boomers</h1>
<h3 class="text-primary-700 font-bold text-xl">aka Xeovalyte</h3>
<p class="text-bright mt-10">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Ipsam, in architecto et fugiat aperiam ipsum vitae accusantium quasi doloremque quidem aspernatur adipisci voluptatum ut est nobis voluptates doloribus quas obcaecati sequi? Quis neque ab ipsa quo maiores veniam officiis dignissimos soluta illo laborum, non odit incidunt id officia corporis doloribus saepe labore ducimus qui libero nostrum nemo. Molestiae iste quam quaerat sequi debitis, in eos dolore dolorum illo voluptates laudantium at tempora perspiciatis qui, error expedita, animi cupiditate nesciunt aut fuga corrupti! Incidunt possimus magnam natus laborum laboriosam veniam sequi repudiandae, doloribus esse, nesciunt sapiente in aperiam? Voluptatibus, dolorem reiciendis!
</p>
</div>
</template>

View File

@ -0,0 +1,15 @@
<template>
<div class="py-40">
<h1 class="text-primary-500 font-bold text-6xl">Projects</h1>
<h2 class="text-primary-600 font-bold text-2xl mt-10">LED hologram</h2>
<p class="text-bright mt-2">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Distinctio commodi, atque dolorem beatae recusandae ipsum culpa vel accusantium. Autem at nostrum est libero excepturi numquam iste recusandae expedita ab laborum, fugit architecto soluta dolores non itaque aliquid reprehenderit alias eum cupiditate esse doloribus minus praesentium? Architecto totam sunt libero minus?
</p>
<h2 class="text-primary-600 font-bold text-2xl mt-10">WRB App</h2>
<p class="text-bright mt-2">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Distinctio commodi, atque dolorem beatae recusandae ipsum culpa vel accusantium. Autem at nostrum est libero excepturi numquam iste recusandae expedita ab laborum, fugit architecto soluta dolores non itaque aliquid reprehenderit alias eum cupiditate esse doloribus minus praesentium? Architecto totam sunt libero minus?
</p>
</div>
</template>

View File

@ -0,0 +1,12 @@
<template>
<div class="py-40">
<h1 class="text-6xl font-bold text-primary-500">Skills</h1>
<ul class="text-bright mt-10">
<li>Linux</li>
<li>Docker</li>
<li>Javascript, HTML & CSS</li>
<li>Rust</li>
<li>Arduino</li>
</ul>
</div>
</template>

View File

@ -3,6 +3,10 @@ export default defineNuxtConfig({
devtools: { enabled: true }, devtools: { enabled: true },
modules: [ modules: [
'@nuxtjs/tailwindcss', '@nuxtjs/tailwindcss',
'@nuxtjs/i18n',
], ],
router: {
options: {
scrollBehaviorType: 'smooth',
},
},
}) })

View File

@ -11,7 +11,6 @@
}, },
"devDependencies": { "devDependencies": {
"@nuxt/devtools": "latest", "@nuxt/devtools": "latest",
"@nuxtjs/i18n": "^7.3.1",
"@nuxtjs/tailwindcss": "^6.9.5", "@nuxtjs/tailwindcss": "^6.9.5",
"nuxt": "^3.8.1", "nuxt": "^3.8.1",
"vue": "^3.3.8", "vue": "^3.3.8",

View File

@ -3,10 +3,7 @@ lockfileVersion: '6.0'
devDependencies: devDependencies:
'@nuxt/devtools': '@nuxt/devtools':
specifier: latest specifier: latest
version: 1.0.2(nuxt@3.8.1)(vite@4.5.0) version: 1.0.3(nuxt@3.8.1)(vite@4.5.0)
'@nuxtjs/i18n':
specifier: ^7.3.1
version: 7.3.1(vue@3.3.8)
'@nuxtjs/tailwindcss': '@nuxtjs/tailwindcss':
specifier: ^6.9.5 specifier: ^6.9.5
version: 6.9.5(webpack@5.89.0) version: 6.9.5(webpack@5.89.0)
@ -815,27 +812,6 @@ packages:
engines: {node: '>=14'} engines: {node: '>=14'}
dev: true dev: true
/@intlify/shared@9.7.0:
resolution: {integrity: sha512-PUkEuk//YKu4CHS5ah3mNa3XL/+TZj6rAY/6yYN+GCNFd2u+uWUkeuwE4Q6t8dydRWlErOePHHS0KyNoof/oBw==}
engines: {node: '>= 16'}
dev: true
/@intlify/vue-i18n-extensions@1.0.2:
resolution: {integrity: sha512-rnfA0ScyBXyp9xsSD4EAMGeOh1yv/AE7fhqdAdSOr5X8N39azz257umfRtzNT9sHXAKSSzpCVhIbMAkp5c/gjQ==}
engines: {node: '>= 10.0'}
dependencies:
'@babel/parser': 7.23.3
dev: true
/@intlify/vue-i18n-loader@1.1.0:
resolution: {integrity: sha512-9LXiztMtYKTE8t/hRwwGUp+ofrwU0sxLQLzFEOZ38zvn0DonUIQmZUj1cfz5p1Lu8BllxKbCrn6HnsRJ+LYA6g==}
engines: {node: '>= 10'}
dependencies:
'@intlify/shared': 9.7.0
js-yaml: 3.14.1
json5: 2.2.3
dev: true
/@ioredis/commands@1.2.0: /@ioredis/commands@1.2.0:
resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
dev: true dev: true
@ -1048,8 +1024,8 @@ packages:
resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==}
dev: true dev: true
/@nuxt/devtools-kit@1.0.2(nuxt@3.8.1)(vite@4.5.0): /@nuxt/devtools-kit@1.0.3(nuxt@3.8.1)(vite@4.5.0):
resolution: {integrity: sha512-iFi54NNCcPsF/jW14HbRlq3aOClOWdfiein0CvKoQ5shobHgn1s3xULh8o9QPKI2oTarcuJL+EFIK43CwfoXyw==} resolution: {integrity: sha512-a/ZAVmrD5yOfUYhRVfC9afMkczzL8J8zdf0h6QHbTd33rJW/jmjwTn++RTdnbSD2gg2fSBRi/h8y17RmqIdb9g==}
peerDependencies: peerDependencies:
nuxt: ^3.8.1 nuxt: ^3.8.1
vite: '*' vite: '*'
@ -1064,8 +1040,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@nuxt/devtools-wizard@1.0.2: /@nuxt/devtools-wizard@1.0.3:
resolution: {integrity: sha512-fY9Y0eCJG7eSuUgnjImWVfLZPZymoHxjrVsdhfKs3yRJvB2siaabluxvdy2OTYc+WpIxuey0hjqpv+dVtnYw1A==} resolution: {integrity: sha512-iningPOhBVMYov+7hDX5yr1tAVVA6AmJ7EgRkNfmHqPX2rerhD4eIN7Ao4KwkjGmQJ7qdM7k8w+NiL8OQOpdFQ==}
hasBin: true hasBin: true
dependencies: dependencies:
consola: 3.2.3 consola: 3.2.3
@ -1080,16 +1056,16 @@ packages:
semver: 7.5.4 semver: 7.5.4
dev: true dev: true
/@nuxt/devtools@1.0.2(nuxt@3.8.1)(vite@4.5.0): /@nuxt/devtools@1.0.3(nuxt@3.8.1)(vite@4.5.0):
resolution: {integrity: sha512-nfqvRc36Sh20gDVs3pViHvcyyz3NmaNqgJnWUXgfjSCsT7G/p2wHsoNUXYYTF7kpk3kbNusftaWrIzAiTiXC9A==} resolution: {integrity: sha512-2mXvQiS3KTMF0fO80Y9WLx95yubRoIp2wSCarmhhqInPe8/0K9VZ4TUiTGF20ti45h0ky3OAxiVSmLfViwDWjg==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
nuxt: ^3.8.1 nuxt: ^3.8.1
vite: '*' vite: '*'
dependencies: dependencies:
'@antfu/utils': 0.7.6 '@antfu/utils': 0.7.6
'@nuxt/devtools-kit': 1.0.2(nuxt@3.8.1)(vite@4.5.0) '@nuxt/devtools-kit': 1.0.3(nuxt@3.8.1)(vite@4.5.0)
'@nuxt/devtools-wizard': 1.0.2 '@nuxt/devtools-wizard': 1.0.3
'@nuxt/kit': 3.8.1 '@nuxt/kit': 3.8.1
birpc: 0.2.14 birpc: 0.2.14
consola: 3.2.3 consola: 3.2.3
@ -1099,7 +1075,7 @@ packages:
fast-glob: 3.3.2 fast-glob: 3.3.2
flatted: 3.2.9 flatted: 3.2.9
get-port-please: 3.1.1 get-port-please: 3.1.1
h3: 1.8.2 h3: 1.9.0
hookable: 5.5.3 hookable: 5.5.3
image-meta: 0.2.0 image-meta: 0.2.0
is-installed-globally: 1.0.0 is-installed-globally: 1.0.0
@ -1118,7 +1094,7 @@ packages:
rc9: 2.1.1 rc9: 2.1.1
scule: 1.1.0 scule: 1.1.0
semver: 7.5.4 semver: 7.5.4
simple-git: 3.20.0 simple-git: 3.21.0
sirv: 2.0.3 sirv: 2.0.3
unimport: 3.5.0(rollup@3.29.4) unimport: 3.5.0(rollup@3.29.4)
vite: 4.5.0 vite: 4.5.0
@ -1239,24 +1215,6 @@ packages:
resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==}
dev: true dev: true
/@nuxt/utils@2.17.2:
resolution: {integrity: sha512-vb0U/+I5omMQK6Nb3QlWYeStRhWeGJeR3tEGxc+OZw41T1OgqfRlg32tNBkMDqlNpSRjTKyWjIYGHBoNNrB2SA==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
consola: 3.2.3
create-require: 1.1.1
fs-extra: 10.1.0
hash-sum: 2.0.0
jiti: 1.21.0
lodash: 4.17.21
proper-lockfile: 4.1.2
semver: 7.5.4
serialize-javascript: 6.0.1
signal-exit: 4.1.0
ua-parser-js: 1.0.37
ufo: 1.3.2
dev: true
/@nuxt/vite-builder@3.8.1(vue@3.3.8): /@nuxt/vite-builder@3.8.1(vue@3.3.8):
resolution: {integrity: sha512-Ot/twGONxj22T9U4bxp771ibKVFlZxIiYDHY/e6mZsE4Blc0efKo6MzPPPo0W4/tXQbtKKEq41uINN3dMI3mag==} resolution: {integrity: sha512-Ot/twGONxj22T9U4bxp771ibKVFlZxIiYDHY/e6mZsE4Blc0efKo6MzPPPo0W4/tXQbtKKEq41uINN3dMI3mag==}
engines: {node: ^14.18.0 || >=16.10.0} engines: {node: ^14.18.0 || >=16.10.0}
@ -1317,28 +1275,6 @@ packages:
- vue-tsc - vue-tsc
dev: true dev: true
/@nuxtjs/i18n@7.3.1(vue@3.3.8):
resolution: {integrity: sha512-DZP6xR8zZA1ApcNjLnukH3BhMRCfi3r236epuXVuPWWOObPf5vkp+VamewnPiSU+zs0Age+PbaaIUryFv/6pDA==}
engines: {node: '>=14.16'}
dependencies:
'@babel/parser': 7.23.3
'@babel/traverse': 7.23.3
'@intlify/vue-i18n-extensions': 1.0.2
'@intlify/vue-i18n-loader': 1.1.0
'@nuxt/utils': 2.17.2
cookie: 0.5.0
devalue: 2.0.1
is-https: 4.0.0
js-cookie: 3.0.5
klona: 2.0.6
lodash.merge: 4.6.2
ufo: 0.8.6
vue-i18n: 8.28.2(vue@3.3.8)
transitivePeerDependencies:
- supports-color
- vue
dev: true
/@nuxtjs/tailwindcss@6.9.5(webpack@5.89.0): /@nuxtjs/tailwindcss@6.9.5(webpack@5.89.0):
resolution: {integrity: sha512-Q1jMY06KdK7f6IAL25HFWK0ZhTNaxyl/J0fhX3k0kjKojeflU6AbJTTKeVn9Dhqqt71y1thZqemuZNeJha+RBA==} resolution: {integrity: sha512-Q1jMY06KdK7f6IAL25HFWK0ZhTNaxyl/J0fhX3k0kjKojeflU6AbJTTKeVn9Dhqqt71y1thZqemuZNeJha+RBA==}
dependencies: dependencies:
@ -2261,12 +2197,6 @@ packages:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
dev: true dev: true
/argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
dependencies:
sprintf-js: 1.0.3
dev: true
/argparse@2.0.1: /argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true dev: true
@ -2723,11 +2653,6 @@ packages:
resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==}
dev: true dev: true
/cookie@0.5.0:
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
engines: {node: '>= 0.6'}
dev: true
/cookies@0.8.0: /cookies@0.8.0:
resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==} resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
@ -3034,10 +2959,6 @@ packages:
engines: {node: '>=8'} engines: {node: '>=8'}
dev: true dev: true
/devalue@2.0.1:
resolution: {integrity: sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q==}
dev: true
/devalue@4.3.2: /devalue@4.3.2:
resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
dev: true dev: true
@ -3266,12 +3187,6 @@ packages:
estraverse: 4.3.0 estraverse: 4.3.0
dev: true dev: true
/esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
dev: true
/esrecurse@4.3.0: /esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'} engines: {node: '>=4.0'}
@ -3433,15 +3348,6 @@ packages:
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
dev: true dev: true
/fs-extra@10.1.0:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
dependencies:
graceful-fs: 4.2.11
jsonfile: 6.1.0
universalify: 2.0.1
dev: true
/fs-extra@11.1.1: /fs-extra@11.1.1:
resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
engines: {node: '>=14.14'} engines: {node: '>=14.14'}
@ -3673,6 +3579,19 @@ packages:
unenv: 1.7.4 unenv: 1.7.4
dev: true dev: true
/h3@1.9.0:
resolution: {integrity: sha512-+F3ZqrNV/CFXXfZ2lXBINHi+rM4Xw3CDC5z2CDK3NMPocjonKipGLLDSkrqY9DOrioZNPTIdDMWfQKm//3X2DA==}
dependencies:
cookie-es: 1.0.0
defu: 6.1.3
destr: 2.0.2
iron-webcrypto: 1.0.0
radix3: 1.1.0
ufo: 1.3.2
uncrypto: 0.1.3
unenv: 1.7.4
dev: true
/has-flag@3.0.0: /has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -3989,10 +3908,6 @@ packages:
is-extglob: 2.1.1 is-extglob: 2.1.1
dev: true dev: true
/is-https@4.0.0:
resolution: {integrity: sha512-FeMLiqf8E5g6SdiVJsPcNZX8k4h2fBs1wp5Bb6uaNxn58ufK1axBqQZdmAQsqh0t9BuwFObybrdVJh6MKyPlyg==}
dev: true
/is-inside-container@1.0.0: /is-inside-container@1.0.0:
resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
@ -4101,23 +4016,10 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/js-cookie@3.0.5:
resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
engines: {node: '>=14'}
dev: true
/js-tokens@4.0.0: /js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
dev: true dev: true
/js-yaml@3.14.1:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
hasBin: true
dependencies:
argparse: 1.0.10
esprima: 4.0.1
dev: true
/js-yaml@4.1.0: /js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true hasBin: true
@ -4345,10 +4247,6 @@ packages:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
dev: true dev: true
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
/lodash.pick@4.4.0: /lodash.pick@4.4.0:
resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==}
dev: true dev: true
@ -4973,7 +4871,7 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@nuxt/devalue': 2.0.2 '@nuxt/devalue': 2.0.2
'@nuxt/devtools': 1.0.2(nuxt@3.8.1)(vite@4.5.0) '@nuxt/devtools': 1.0.3(nuxt@3.8.1)(vite@4.5.0)
'@nuxt/kit': 3.8.1 '@nuxt/kit': 3.8.1
'@nuxt/schema': 3.8.1 '@nuxt/schema': 3.8.1
'@nuxt/telemetry': 2.5.2 '@nuxt/telemetry': 2.5.2
@ -5830,14 +5728,6 @@ packages:
sisteransi: 1.0.5 sisteransi: 1.0.5
dev: true dev: true
/proper-lockfile@4.1.2:
resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==}
dependencies:
graceful-fs: 4.2.11
retry: 0.12.0
signal-exit: 3.0.7
dev: true
/protocols@2.0.1: /protocols@2.0.1:
resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
dev: true dev: true
@ -6179,8 +6069,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/simple-git@3.20.0: /simple-git@3.21.0:
resolution: {integrity: sha512-ozK8tl2hvLts8ijTs18iFruE+RoqmC/mqZhjs/+V7gS5W68JpJ3+FCTmLVqmR59MaUQ52MfGQuWsIqfsTbbJ0Q==} resolution: {integrity: sha512-oTzw9248AF5bDTMk9MrxsRzEzivMlY+DWH0yWS4VYpMhNLhDWnN06pCtaUyPnqv/FpsdeNmRqmZugMABHRPdDA==}
dependencies: dependencies:
'@kwsites/file-exists': 1.1.1 '@kwsites/file-exists': 1.1.1
'@kwsites/promise-deferred': 1.1.1 '@kwsites/promise-deferred': 1.1.1
@ -6279,10 +6169,6 @@ packages:
resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
dev: true dev: true
/sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
dev: true
/ssri@10.0.5: /ssri@10.0.5:
resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@ -6645,14 +6531,6 @@ packages:
mime-types: 2.1.35 mime-types: 2.1.35
dev: true dev: true
/ua-parser-js@1.0.37:
resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==}
dev: true
/ufo@0.8.6:
resolution: {integrity: sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==}
dev: true
/ufo@1.3.2: /ufo@1.3.2:
resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==}
dev: true dev: true
@ -7112,14 +6990,6 @@ packages:
resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==}
dev: true dev: true
/vue-i18n@8.28.2(vue@3.3.8):
resolution: {integrity: sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA==}
peerDependencies:
vue: ^2
dependencies:
vue: 3.3.8
dev: true
/vue-router@4.2.5(vue@3.3.8): /vue-router@4.2.5(vue@3.3.8):
resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==}
peerDependencies: peerDependencies:

22
website/public/logo.svg Normal file
View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="40.1875"
height="30.464842"
viewBox="0 0 10.632943 8.0604894"
version="1.1"
id="svg5"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs2" />
<g
id="layer1"
transform="translate(-1.0335286,-2.7486694)">
<path
id="rect753"
style="fill:#00bfff;fill-opacity:1;stroke-width:0.307565"
d="M 1.7197917,2.7486694 5.3211222,6.35 4.635376,7.036263 1.0335286,3.4344157 V 5.492688 L 3.6059814,8.0651408 1.7197917,9.9513306 H 3.7775472 L 4.6348592,9.0940186 5.3211222,9.7797648 6.35,10.809159 7.3788778,9.7797648 8.0651408,9.0940186 8.9224528,9.9513306 H 10.980208 L 9.0940186,8.0651408 11.666471,5.492688 V 3.4344157 L 8.064624,7.036263 7.3788778,6.35 10.980208,2.7486694 H 8.9224528 L 6.35,5.3211222 3.7775472,2.7486694 Z M 6.35,7.3788778 7.036263,8.064624 6.35,8.750887 5.663737,8.064624 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

10
website/shell.nix Normal file
View File

@ -0,0 +1,10 @@
let
pkgs = import <nixpkgs> { };
in
pkgs.mkShell {
buildInputs = with pkgs; [
nodejs_18
nodePackages.pnpm
nodePackages.typescript-language-server
];
}

View File

@ -0,0 +1,35 @@
export default {
theme: {
extend: {
colors: {
bright: '#f6fbfe',
dark: {
50: '#19688f',
100: '#175e82',
200: '#155575',
300: '#124b68',
400: '#10425b',
500: '#0e394e',
600: '#0b2f41',
700: '#092634',
800: '#071c27',
900: '#05131a',
950: '#02090d',
},
primary: {
50: '#4dc3ff',
100: '#3dbeff',
200: '#2eb9ff',
300: '#1fb4ff',
400: '#0fafff',
500: '#0af',
600: '#00a0f0',
700: '#0096e0',
800: '#008bd1',
900: '#0081c2',
950: '#0077b3',
},
},
}
}
}