diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fa16e27 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 - present, Project Segfault team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 6acea2a..381bbfc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Project Segfault Website +# Project Segfault website Live at [projectsegfau.lt](https://projectsegfau.lt). @@ -10,17 +10,10 @@ Live at [projectsegfau.lt](https://projectsegfau.lt). - Install [pnpm](https://pnpm.io/) (optional, although strongly recommended). - Learn [Svelte](https://svelte.dev). -### Universal +### Running a dev server. 1. Clone the repository using `git clone https://github.com/ProjectSegfault/website`. 2. Change directory into the clone using `cd ./website`. 3. Install dependencies using `pnpm i` (recommended) or `npm i`. 4. Run the dev server using `pnpm dev` (recommended) or `npm run dev`. 5. Open a browser on `http://localhost:5173/` and you should see the website running locally! - -### NixOS - -1. Clone the repository using `git clone https://github.com/ProjectSegfault/website`. -2. Change directory into the clone using `cd ./website`. -3. In the same terminal type `nix-shell`. -4. Open a browser on `http://localhost:5173/` and you should see the website running locally! diff --git a/package.json b/package.json index d52068f..961366c 100644 --- a/package.json +++ b/package.json @@ -17,17 +17,20 @@ "@iconify-json/simple-icons": "^1.1.20", "@sveltejs/adapter-static": "1.0.0-next.38", "@sveltejs/kit": "1.0.0-next.396", + "dayjs": "^1.11.4", "mdsvex": "^0.10.6", "prettier": "^2.7.1", "prettier-plugin-svelte": "^2.7.0", "svelte": "^3.49.0", "svelte-check": "^2.8.0", + "svelte-dark-mode": "^2.1.0", "svelte-hcaptcha": "^0.1.1", "svelte-preprocess": "^4.10.7", "svelte-seo": "^1.4.1", + "svelte-vertical-timeline": "^0.0.2", "tslib": "^2.4.0", "typescript": "^4.7.4", - "unplugin-icons": "^0.14.7", + "unocss": "^0.45.5", "vite": "^3.0.4" }, "type": "module" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eb3f4f3..0bdf98b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,17 +5,20 @@ specifiers: '@iconify-json/simple-icons': ^1.1.20 '@sveltejs/adapter-static': 1.0.0-next.38 '@sveltejs/kit': 1.0.0-next.396 + dayjs: ^1.11.4 mdsvex: ^0.10.6 prettier: ^2.7.1 prettier-plugin-svelte: ^2.7.0 svelte: ^3.49.0 svelte-check: ^2.8.0 + svelte-dark-mode: ^2.1.0 svelte-hcaptcha: ^0.1.1 svelte-preprocess: ^4.10.7 svelte-seo: ^1.4.1 + svelte-vertical-timeline: ^0.0.2 tslib: ^2.4.0 typescript: ^4.7.4 - unplugin-icons: ^0.14.7 + unocss: ^0.45.5 vite: ^3.0.4 devDependencies: @@ -23,21 +26,32 @@ devDependencies: '@iconify-json/simple-icons': 1.1.20 '@sveltejs/adapter-static': 1.0.0-next.38 '@sveltejs/kit': 1.0.0-next.396_svelte@3.49.0+vite@3.0.4 + dayjs: 1.11.4 mdsvex: 0.10.6_svelte@3.49.0 prettier: 2.7.1 prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi svelte: 3.49.0 svelte-check: 2.8.0_svelte@3.49.0 + svelte-dark-mode: 2.1.0 svelte-hcaptcha: 0.1.1 svelte-preprocess: 4.10.7_uslzfc62di2n2otc2tvfklnwji svelte-seo: 1.4.1_typescript@4.7.4 + svelte-vertical-timeline: 0.0.2 tslib: 2.4.0 typescript: 4.7.4 - unplugin-icons: 0.14.7_vite@3.0.4 + unocss: 0.45.5_vite@3.0.4 vite: 3.0.4 packages: + /@ampproject/remapping/2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.14 + dev: true + /@antfu/install-pkg/0.1.0: resolution: {integrity: sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==} dependencies: @@ -78,11 +92,24 @@ packages: - supports-color dev: true + /@jridgewell/gen-mapping/0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + /@jridgewell/resolve-uri/3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} dev: true + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true @@ -115,6 +142,10 @@ packages: fastq: 1.13.0 dev: true + /@polka/url/1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: true + /@rollup/pluginutils/4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -188,10 +219,145 @@ packages: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /acorn/8.8.0: - resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} - engines: {node: '>=0.4.0'} + /@unocss/cli/0.45.5: + resolution: {integrity: sha512-gB/XZ6ksS/le1r33JhLam7UtJhd2fvtbgYV2rU76DOoqIa+qCZFbrMDFyF+PJz6yCW0goYF9ybtZXND42aygZQ==} + engines: {node: '>=14'} hasBin: true + dependencies: + '@unocss/config': 0.45.5 + '@unocss/core': 0.45.5 + '@unocss/preset-uno': 0.45.5 + cac: 6.7.12 + chokidar: 3.5.3 + colorette: 2.0.19 + consola: 2.15.3 + fast-glob: 3.2.11 + pathe: 0.3.3 + perfect-debounce: 0.1.3 + dev: true + + /@unocss/config/0.45.5: + resolution: {integrity: sha512-wae2RmItmaSsXcMPb9dOzrfQlG6SDgbuUmyuXydJi7VZmj/5a/a1cRTny/J2/eP1kS5aUNgCm/FzpletH59mfw==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.45.5 + unconfig: 0.3.5 + dev: true + + /@unocss/core/0.45.5: + resolution: {integrity: sha512-6boP8sGTRb+nE87pdjii7otO/tguIlDkFh90E6mglA0XdjHWiLCCNlgJoxgjCGCPNYUm/Nojx0bUbcokuqBZDw==} + dev: true + + /@unocss/inspector/0.45.5: + resolution: {integrity: sha512-OM1bmmt8Qbsdt4AvokI/HAYVrHWOYwsNyisEhgGRQiOuc6JuFx1+B1T8hyELBRZfunvfm4J6qDJ3qGqPZWFU9g==} + dependencies: + gzip-size: 6.0.0 + sirv: 2.0.2 + dev: true + + /@unocss/preset-attributify/0.45.5: + resolution: {integrity: sha512-xgjsuYDB5EYqXaCa73B9Tk19y6U8482S/trf6kcbSSGLaEcXhOQMdo8xtUJPyacwoCG0ralCgWIgWeb/VQ0noQ==} + dependencies: + '@unocss/core': 0.45.5 + dev: true + + /@unocss/preset-icons/0.45.5: + resolution: {integrity: sha512-msrhKKEWh5HMyQXnseKjMTe8dZZZl/URaxCtDkIhzGJHzDvTAiU7kDr6pAr3Uxw2DgDEviq159W22679JyaBHg==} + dependencies: + '@iconify/utils': 1.0.33 + '@unocss/core': 0.45.5 + ohmyfetch: 0.4.18 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini/0.45.5: + resolution: {integrity: sha512-R8FDinKThZBTIqwuYokI8GHOTxt8x11W/dY4wyXOFXXiGW2kmL7fjhB3KNN3sfyhyp+k2g5CW40XJ13rOunODw==} + dependencies: + '@unocss/core': 0.45.5 + dev: true + + /@unocss/preset-tagify/0.45.5: + resolution: {integrity: sha512-fRUEh8EuJUjXHvJNzbPquC6Ih51mIygFmNaBXr9W9SNQYgYF9Z9Xy/2rFD3ADaI6L52JUIEV0OZgt1E/QJpAng==} + dependencies: + '@unocss/core': 0.45.5 + dev: true + + /@unocss/preset-typography/0.45.5: + resolution: {integrity: sha512-4F2hRDsuE8BCA0MZIaRjClXIVQkePQsQyz+s3qw89Fndeatj+Yd5VrKEPBBz3g9062A6dUGfgWUyy4o+SAOCvA==} + dependencies: + '@unocss/core': 0.45.5 + dev: true + + /@unocss/preset-uno/0.45.5: + resolution: {integrity: sha512-eo0do6sS1xMRaeOvxkxEjFXZoh0Pm5g1c8bb3WpNMogcp9l8t22JCkSLo5dq+dnC+nQduOzt/GJoA+XksQeEsw==} + dependencies: + '@unocss/core': 0.45.5 + '@unocss/preset-mini': 0.45.5 + '@unocss/preset-wind': 0.45.5 + dev: true + + /@unocss/preset-web-fonts/0.45.5: + resolution: {integrity: sha512-wusZRdGXpAVWbdyNP7Cd7D1hWuAEG1jch4kXzRNyjZ4Uo7ImGY42yEysjXpuNizA29i0Xe9FtT99kCqOcQwHRQ==} + dependencies: + '@unocss/core': 0.45.5 + ohmyfetch: 0.4.18 + dev: true + + /@unocss/preset-wind/0.45.5: + resolution: {integrity: sha512-N4kr5SG4WjqJ4hI+4Fp8QlB5u7pTtAGY1WDVPeKwh3lX2iE01BnQhL6W6ds7BjXSdGm/yUQwBCedpnAfzWqutQ==} + dependencies: + '@unocss/core': 0.45.5 + '@unocss/preset-mini': 0.45.5 + dev: true + + /@unocss/reset/0.45.5: + resolution: {integrity: sha512-JDFRoc1H0Tk1knRGI+LljOKrKkWrF1txJ50DG3oa+azTdQaX0wDQ4isyDM6PbodydhEqYCsZcJEL/2pEiPRg8A==} + dev: true + + /@unocss/scope/0.45.5: + resolution: {integrity: sha512-+7PPbxxVp/k27YyBVSM/euKnB65KtaXA4iYHiDWRja235RnnsZ7XcSZ78o5hDuOA3dnqZU+d4rV5rt1tGy6XJA==} + dev: true + + /@unocss/transformer-attributify-jsx/0.45.5: + resolution: {integrity: sha512-e4l5G7ZLhSeIkHM6mo6KfXZbQDi6XFcTNQRJStXF6t2UjqABAtR/jLCUzkyK7khaLE4QxduRhCHCfR/VyYvCyg==} + dependencies: + '@unocss/core': 0.45.5 + dev: true + + /@unocss/transformer-compile-class/0.45.5: + resolution: {integrity: sha512-R08rLO3XZyk5g1BQ01GT+0AuztVpj+g6e+B+4NeoMF3LhShA4Zg+yqn7awa2d5/1tXwpMYO4kwyBFZzQf0WzBw==} + dependencies: + '@unocss/core': 0.45.5 + dev: true + + /@unocss/transformer-directives/0.45.5: + resolution: {integrity: sha512-k+QZetHGcSmxXMlE2UfkfnzFJ865FBxnT5EZCU/dlL1B2momDi19n2q0Hc9DnX/GjbLtrzurQFrq+Xy4gQ7HcA==} + dependencies: + '@unocss/core': 0.45.5 + css-tree: 2.1.0 + dev: true + + /@unocss/transformer-variant-group/0.45.5: + resolution: {integrity: sha512-Qp0g+9U//cXV7u6dojXw3tafs1saRW+nViMdfCjEKWz3TStFssI9IAhwg5wIZoYYLSSCVMfBTc96OkDvO1m9rA==} + dependencies: + '@unocss/core': 0.45.5 + dev: true + + /@unocss/vite/0.45.5_vite@3.0.4: + resolution: {integrity: sha512-QVNj9xDBJ46RC1D+rSFiGWywazq6z7MVszrpifCACtA8qKdWbrWuI8beEpfo3pBpf7uYFIb+Df6CU9gCD809Og==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 + dependencies: + '@ampproject/remapping': 2.2.0 + '@rollup/pluginutils': 4.2.1 + '@unocss/config': 0.45.5 + '@unocss/core': 0.45.5 + '@unocss/inspector': 0.45.5 + '@unocss/scope': 0.45.5 + '@unocss/transformer-directives': 0.45.5 + magic-string: 0.26.2 + vite: 3.0.4 dev: true /anymatch/3.1.2: @@ -229,6 +395,11 @@ packages: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true + /cac/6.7.12: + resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==} + engines: {node: '>=8'} + dev: true + /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -249,10 +420,18 @@ packages: fsevents: 2.3.2 dev: true + /colorette/2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true + /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /consola/2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + dev: true + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -262,6 +441,18 @@ packages: which: 2.0.2 dev: true + /css-tree/2.1.0: + resolution: {integrity: sha512-PcysZRzToBbrpoUrZ9qfblRIRf8zbEAkU0AIpQFtgkFK0vSbzOmBCvdSAx2Zg7Xx5wiYJKUKk0NMP7kxevie/A==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + mdn-data: 2.0.27 + source-map-js: 1.0.2 + dev: true + + /dayjs/1.11.4: + resolution: {integrity: sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==} + dev: true + /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -279,11 +470,23 @@ packages: engines: {node: '>=0.10.0'} dev: true + /defu/6.0.0: + resolution: {integrity: sha512-t2MZGLf1V2rV4VBZbWIaXKdX/mUcYW0n2znQZoADBkGGxYL8EWqCuCZBmJPJ/Yy9fofJkyuuSuo5GSwo0XdEgw==} + dev: true + + /destr/1.1.1: + resolution: {integrity: sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==} + dev: true + /detect-indent/6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} dev: true + /duplexer/0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + /es6-promise/3.3.1: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true @@ -598,6 +801,13 @@ packages: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true + /gzip-size/6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + /has/1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -668,6 +878,11 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true + /jiti/1.14.0: + resolution: {integrity: sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A==} + hasBin: true + dev: true + /kleur/4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -702,6 +917,10 @@ packages: sourcemap-codec: 1.4.8 dev: true + /mdn-data/2.0.27: + resolution: {integrity: sha512-kwqO0I0jtWr25KcfLm9pia8vLZ8qoAKhWZuZMbneJq3jjBD3gl5nZs8l8Tu3ZBlBAHVQtDur9rdDGyvtfVraHQ==} + dev: true + /mdsvex/0.10.6_svelte@3.49.0: resolution: {integrity: sha512-aGRDY0r5jx9+OOgFdyB9Xm3EBr9OUmcrTDPWLB7a7g8VPRxzPy4MOBmcVYgz7ErhAJ7bZ/coUoj6aHio3x/2mA==} peerDependencies: @@ -763,6 +982,11 @@ packages: engines: {node: '>=4'} dev: true + /mrmime/1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true @@ -773,6 +997,10 @@ packages: hasBin: true dev: true + /node-fetch-native/0.1.4: + resolution: {integrity: sha512-10EKpOCQPXwZVFh3U1ptOMWBgKTbsN7Vvo6WVKt5pw4hp8zbv6ZVBZPlXw+5M6Tyi1oc1iD4/sNPd71KYA16tQ==} + dev: true + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -785,6 +1013,15 @@ packages: path-key: 3.1.1 dev: true + /ohmyfetch/0.4.18: + resolution: {integrity: sha512-MslzNrQzBLtZHmiZBI8QMOcMpdNFlK61OJ34nFNFynZ4v+4BonfCQ7VIN4EGXvGGq5zhDzgdJoY3o9S1l2T7KQ==} + dependencies: + destr: 1.1.1 + node-fetch-native: 0.1.4 + ufo: 0.8.5 + undici: 5.8.1 + dev: true + /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -838,6 +1075,14 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true + /pathe/0.3.3: + resolution: {integrity: sha512-x3nrPvG0HDSDzUiJ0WqtzhN4MD+h5B+dFJ3/qyxVuARlr4Y3aJv8gri2cZzp9Z8sGs2a+aG9gNbKngh3gme57A==} + dev: true + + /perfect-debounce/0.1.3: + resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==} + dev: true + /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -972,6 +1217,15 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /sirv/2.0.2: + resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.21 + mrmime: 1.0.1 + totalist: 3.0.0 + dev: true + /sorcery/0.10.0: resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} hasBin: true @@ -1036,6 +1290,10 @@ packages: - sugarss dev: true + /svelte-dark-mode/2.1.0: + resolution: {integrity: sha512-/QmIqWGwzcfE82FAMuHBlKFwudW7Vcos60Ii8j/mJZ0H6kGAXwL5EGlcc8voBJMJv/i0QZmhp5b1ZX/XKg9NJQ==} + dev: true + /svelte-hcaptcha/0.1.1: resolution: {integrity: sha512-iFF3HwfrCRciJnDs4Y9/rpP/BM2U/5zt+vh+9d4tALPAHVkcANiJIKqYuS835pIaTm6gt+xOzjfFI3cgiRI29A==} dev: true @@ -1108,6 +1366,10 @@ packages: - typescript dev: true + /svelte-vertical-timeline/0.0.2: + resolution: {integrity: sha512-tM+wghFsIW3Xb/KC+ImlTw1S1THTEhcVki8x4/u+XVLGAnRGiPbeiO/aRhVj0k8v7D8YZHwlRm0X295KyAKQdg==} + dev: true + /svelte/3.49.0: resolution: {integrity: sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==} engines: {node: '>= 8'} @@ -1127,6 +1389,11 @@ packages: is-number: 7.0.0 dev: true + /totalist/3.0.0: + resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} + engines: {node: '>=6'} + dev: true + /tslib/2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true @@ -1137,66 +1404,57 @@ packages: hasBin: true dev: true + /ufo/0.8.5: + resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==} + dev: true + + /unconfig/0.3.5: + resolution: {integrity: sha512-YMnPPUSfW0pT4Zzy4inM8tRHJZmhH+KcuFW/3qxkLKPhswEw18gQYe1jt57jY6ctFB0fnpiCpQ2Jtkbg4y/IPA==} + dependencies: + '@antfu/utils': 0.5.2 + defu: 6.0.0 + jiti: 1.14.0 + dev: true + + /undici/5.8.1: + resolution: {integrity: sha512-iDRmWX4Zar/4A/t+1LrKQRm102zw2l9Wgat3LtTlTn8ykvMZmAmpq9tjyHEigx18FsY7IfATvyN3xSw9BDz0eA==} + engines: {node: '>=12.18'} + dev: true + /unist-util-stringify-position/2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.6 dev: true - /unplugin-icons/0.14.7_vite@3.0.4: - resolution: {integrity: sha512-TrNnEdpaXMdiG5BsCgvU6cv/gSLYvIk1f8wGCGZmOo4wmi3nqYBuqIEuiXhmmyXdDZuRRpCaOzCnCYYZ5H7U8g==} + /unocss/0.45.5_vite@3.0.4: + resolution: {integrity: sha512-dHmyAnTnkoffgXHjWpJIK2iwCDK9HEWkdHrz+Wh114G/ZcX3vQWlpnvboo36oW0V37UaqbId5ajwHRHE6SNo4g==} + engines: {node: '>=14'} peerDependencies: - '@svgr/core': '>=5.5.0' - '@vue/compiler-sfc': ^3.0.2 - vue-template-compiler: ^2.6.12 - vue-template-es2015-compiler: ^1.9.0 + '@unocss/webpack': 0.45.5 peerDependenciesMeta: - '@svgr/core': - optional: true - '@vue/compiler-sfc': - optional: true - vue-template-compiler: - optional: true - vue-template-es2015-compiler: + '@unocss/webpack': optional: true dependencies: - '@antfu/install-pkg': 0.1.0 - '@antfu/utils': 0.5.2 - '@iconify/utils': 1.0.33 - debug: 4.3.4 - kolorist: 1.5.1 - local-pkg: 0.4.2 - unplugin: 0.7.2_vite@3.0.4 + '@unocss/cli': 0.45.5 + '@unocss/core': 0.45.5 + '@unocss/preset-attributify': 0.45.5 + '@unocss/preset-icons': 0.45.5 + '@unocss/preset-mini': 0.45.5 + '@unocss/preset-tagify': 0.45.5 + '@unocss/preset-typography': 0.45.5 + '@unocss/preset-uno': 0.45.5 + '@unocss/preset-web-fonts': 0.45.5 + '@unocss/preset-wind': 0.45.5 + '@unocss/reset': 0.45.5 + '@unocss/transformer-attributify-jsx': 0.45.5 + '@unocss/transformer-compile-class': 0.45.5 + '@unocss/transformer-directives': 0.45.5 + '@unocss/transformer-variant-group': 0.45.5 + '@unocss/vite': 0.45.5_vite@3.0.4 transitivePeerDependencies: - - esbuild - - rollup - supports-color - vite - - webpack - dev: true - - /unplugin/0.7.2_vite@3.0.4: - resolution: {integrity: sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==} - peerDependencies: - esbuild: '>=0.13' - rollup: ^2.50.0 - vite: ^2.3.0 || ^3.0.0-0 - webpack: 4 || 5 - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true - dependencies: - acorn: 8.8.0 - chokidar: 3.5.3 - vite: 3.0.4 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.4.4 dev: true /vfile-message/2.0.4: @@ -1233,15 +1491,6 @@ packages: fsevents: 2.3.2 dev: true - /webpack-sources/3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true - - /webpack-virtual-modules/0.4.4: - resolution: {integrity: sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==} - dev: true - /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} diff --git a/shell.nix b/shell.nix deleted file mode 100644 index f740852..0000000 --- a/shell.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs ? import {} -}: -pkgs.mkShell { - name="dev"; - buildInputs = [ - pkgs.nodejs-16_x - ]; - shellHook = '' - echo "Installing dependencies using npm, please wait." - npm i - echo "You can now "run npm run dev" to start a dev server." - ''; -} \ No newline at end of file diff --git a/src/app.html b/src/app.html index 83ad52e..c4092d6 100644 --- a/src/app.html +++ b/src/app.html @@ -4,7 +4,7 @@ + export let title: any; + export let position: any; + export let description: any; + export let icon: any; + + +
+
+ {#if icon} +
+ {title} icon +
+ {/if} +
+ + {title} + + {#if position} + - {position} + {/if} + + + {#if description} +

{description}

+ {/if} +
+
+ +
+ + diff --git a/src/lib/Card/CardOuter.svelte b/src/lib/Card/CardOuter.svelte new file mode 100644 index 0000000..7cf2938 --- /dev/null +++ b/src/lib/Card/CardOuter.svelte @@ -0,0 +1,12 @@ +
+ +
+ + diff --git a/src/lib/Card/Link.svelte b/src/lib/Card/Link.svelte new file mode 100644 index 0000000..1523589 --- /dev/null +++ b/src/lib/Card/Link.svelte @@ -0,0 +1,69 @@ + + + + + + + diff --git a/src/lib/Card/LinksOuter.svelte b/src/lib/Card/LinksOuter.svelte new file mode 100644 index 0000000..dcf2e95 --- /dev/null +++ b/src/lib/Card/LinksOuter.svelte @@ -0,0 +1,11 @@ +
+ +
+ + diff --git a/src/lib/Card/index.ts b/src/lib/Card/index.ts new file mode 100644 index 0000000..5ab1061 --- /dev/null +++ b/src/lib/Card/index.ts @@ -0,0 +1,4 @@ +export { default as CardOuter } from "./CardOuter.svelte"; +export { default as CardInner } from "./CardInner.svelte"; +export { default as LinksOuter } from "./LinksOuter.svelte"; +export { default as Link } from "./Link.svelte"; diff --git a/src/lib/ContactForm.svelte b/src/lib/ContactForm.svelte index 7cc424a..1d83a60 100644 --- a/src/lib/ContactForm.svelte +++ b/src/lib/ContactForm.svelte @@ -1,6 +1,4 @@ diff --git a/src/lib/Instances.json b/src/lib/Instances.json new file mode 100644 index 0000000..17982fa --- /dev/null +++ b/src/lib/Instances.json @@ -0,0 +1,114 @@ +[ + { + "name": "Invidious", + "description": "A frontend for YouTube.", + "website": "https://invidious.projectsegfau.lt/", + "icon": "https://github.com/iv-org/invidious/raw/master/assets/invidious-colored-vector.svg", + "category": "Instances" + }, + { + "name": "Libreddit", + "description": "A frontend for Reddit.", + "website": "https://libreddit.projectsegfau.lt/", + "icon": "https://github.com/spikecodes/libreddit/raw/master/static/logo.png", + "category": "Instances" + }, + { + "name": "Librarian (LBRY)", + "description": "A frontend for Odysee.", + "website": "https://lbry.projectsegfau.lt/", + "icon": "https://codeberg.org/librarian/librarian/raw/branch/main/static/img/librarian.svg", + "category": "Instances" + }, + { + "name": "Nitter", + "description": "A frontend for Twitter.", + "website": "https://nitter.projectsegfau.lt/", + "icon": "https://github.com/zedeus/nitter/raw/master/public/logo.png", + "category": "Instances" + }, + { + "name": "Quetre", + "description": "A frontend for Quora.", + "website": "https://quetre.projectsegfau.lt/", + "icon": "https://github.com/zyachel/quetre/raw/main/public/icon.svg", + "category": "Instances" + }, + { + "name": "Element", + "description": "An open source and decentralized chat application.", + "website": "https://chat.projectsegfau.lt/", + "icon": "https://element.io/images/logo-mark-primary.svg", + "category": "Instances" + }, + { + "name": "Piped", + "description": "Another alternative for YouTube.", + "website": "https://piped.projectsegfau.lt/", + "icon": "https://github.com/TeamPiped/Piped/raw/master/public/img/icons/logo.svg", + "category": "Instances" + }, + { + "name": "SearXNG", + "description": "A private meta-search engine.", + "website": "https://search.projectsegfau.lt/search", + "icon": "https://docs.searxng.org/_static/searxng-wordmark.svg", + "category": "Instances" + }, + { + "name": "Lingva Translate", + "description": "A frontend for Google Translate.", + "website": "https://translate.projectsegfau.lt", + "icon": "https://github.com/thedaviddelta/lingva-translate/raw/main/public/logo.svg", + "category": "Instances" + }, + { + "name": "Bibliogram", + "description": "A frontend for Instagram.", + "website": "https://bib.projectsegfau.lt", + "icon": "https://git.sr.ht/~cadence/bibliogram/blob/master/art/logo-circle.png", + "category": "Instances" + }, + { + "name": "Minecraft", + "description": "Our invite-only Minecraft SMP.", + "website": "https://projectsegfau.lt/minecraft", + "icon": "https://icon-library.com/images/flat-minecraft-icon/flat-minecraft-icon-7.jpg", + "category": "Gameservers" + }, + { + "name": "Minetest", + "description": "Minecraft \"alternative\".", + "website": "https://matrix.to/#/#minetest:projectsegfau.lt", + "icon": "https://instances.projectsegfau.lt/assets/icons/custom/1024px-Minetest_logo.svg.png", + "category": "Gameservers" + }, + { + "name": "Portainer (Soleil Levant)", + "description": "Portainer instance for Soleil Levant.", + "website": "https://portainer.soleil-levant.projectsegfau.lt/", + "icon": "https://www.docker.com/wp-content/uploads/2022/03/vertical-logo-monochromatic.png", + "category": "Internal" + }, + { + "name": "Portainer (Helios)", + "description": "Portainer instance for Helios.", + "website": "https://portainer.projectsegfau.lt/", + "icon": "https://www.docker.com/wp-content/uploads/2022/03/vertical-logo-monochromatic.png", + "category": "Internal" + }, + { + "name": "mailcow", + "description": "Our mail server and webmail.", + "website": "https://mail.projectsegfau.lt/", + "icon": "https://instances.projectsegfau.lt/assets/icons/custom/cow_mailcow.svg", + "category": "Internal" + }, + { + "name": "Plausible analytics", + "description": "Analytics for our website.", + "website": "https://analytics.projectsegfau.lt/projectsegfau.lt", + "icon": "https://avatars.githubusercontent.com/u/54802774?s=200&v=4", + "category": "Internal" + } +] diff --git a/src/lib/Nav.svelte b/src/lib/Nav.svelte index 3c7edb9..e75723f 100644 --- a/src/lib/Nav.svelte +++ b/src/lib/Nav.svelte @@ -1,44 +1,64 @@ - diff --git a/src/lib/app.css b/src/lib/app.css index 96c118b..eba57ba 100644 --- a/src/lib/app.css +++ b/src/lib/app.css @@ -1,18 +1,31 @@ @font-face { - font-family: Comfortaa; - src: url("/Comfortaa.ttf"); + font-family: Raleway; + src: url("/Raleway.ttf"); font-display: swap; } html { + --accent: #00a584; + --accent-translucent: #00a58498; + --font-primary: Raleway; + --font-header: Raleway; --primary: #151515; --secondary: #252525; --tertiary: #353535; - --accent-primary: #00d4aa; - --accent-secondary: #ce1717; - --text: #fff; - --font-primary: Comfortaa; - --accent-tertiary: #4beacb; + --text: #ffffffde; + --grey: #5454547a; + --alt: #333; + --alt-text: #ddd +} + +html.light { + --primary: #dddddd; + --secondary: #f9f3f3; + --tertiary: #939393; + --text: #444444; + --grey: #444444; + --alt: #ddd; + --alt-text: #333; } body { @@ -25,6 +38,11 @@ body { position: relative; min-height: 100vh; line-height: 1.625; + transition: all 0.25s; +} + +::selection { + background-color: var(--accent-translucent); } main { @@ -33,6 +51,11 @@ main { a { text-decoration: underline; - color: var(--accent-primary); + color: var(--accent); text-underline-offset: 5px; + transition: filter 0.25s; +} + +a:hover { + filter: brightness(125%); } diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte index e3cdfe7..2b9cbe1 100644 --- a/src/routes/__layout.svelte +++ b/src/routes/__layout.svelte @@ -3,18 +3,18 @@ import Nav from "$lib/Nav.svelte"; import Footer from "$lib/Footer.svelte"; import SvelteSeo from "svelte-seo"; + import "uno.css"; Monero +
- Monero: 47L7Qsto7XcifY3CdG18ySe5Tt83kpFLDLve9jQwbc9taPBLNGv6ZrJNUKpMG9Nj9zHgCZ4FQMSyt75e8Jvx12JFLtJyFdA - Monero Qr Code +
+ Address: 47L7Qsto7XcifY3CdG18ySe5Tt83kpFLDLve9jQwbc9taPBLNGv6ZrJNUKpMG9Nj9zHgCZ4FQMSyt75e8Jvx12JFLtJyFdA
+ Alias: projectsegfau.lt (Put this in an OpenAlias compatible wallet e.g. MyMonero) +
+
+ Monero QR code +
-

- You can find all of our financial reports on our transparency repository on GitHub. -

+_You can find all of our financial reports on [our transparency repository on GitHub](https://github.com/ProjectSegfault/transparency/)._ diff --git a/src/routes/faq.md b/src/routes/faq.md index 0d7c2ee..5438177 100644 --- a/src/routes/faq.md +++ b/src/routes/faq.md @@ -7,7 +7,11 @@ description: Frequently Asked Questions ## Who is the project owner? -The project doesn't have a single owner but is made up of a team of people. A list of the people involved and their positions can be found [on our members page](/members). +The project doesn't have a single owner but is made up of a team of people. A list of the people involved and their positions can be found [on our members page](/team). + +## What's the backstory to Project Segfault? + +We have a rather interesting backstory, if I do say so myself. [Click here to see a timeline of things that happened in Project Segfault's history](/timeline). ## One of your services contains toxic people! diff --git a/src/routes/index.md b/src/routes/index.md deleted file mode 100644 index 256d25a..0000000 --- a/src/routes/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Home -description: 7 idiots, 2 OVH vpses, a BuyVM 1024 Slice, a Sun server and a Hitachi Compute Rack. ---- - -# Project Segfault - -{ description } - -## What is this? - -We are 7 teenagers who have a decently powerful server. What do we do with this server? Host game servers and random assortment of privacy respecting tools like Invidious, Nextcloud, Matrix etc.... and maybe some original works. You'll see eventually! - -## Tell me more! What do you guys host? Where can I contact you? Can you fix my daughter's iPad? - -We can't fix your daughter's iPad, but there is a navigation bar at the top of the page with links to websites and pages that explain things about us, or contain useful information about our services. diff --git a/src/routes/index.svelte b/src/routes/index.svelte new file mode 100644 index 0000000..c2aff87 --- /dev/null +++ b/src/routes/index.svelte @@ -0,0 +1,147 @@ + + + + + + + + +
+ {#await promise} + + {:then} +
+
+
+ {#if announcements.severity === "info"} +
+ {:else} +
+ {/if} + + {dayjs + .unix(announcements.created) + .format("DD/MM/YYYY HH:mm")} + +
+
+

{announcements.title}

+
+ + +
+
+ {:catch} + + {/await} +
+ +{#if announcements.severity === "info"} + +{:else if announcements.severity === "low"} + +{:else if announcements.severity === "medium"} + +{:else if announcements.severity === "high"} + +{/if} + + diff --git a/src/routes/instances.svelte b/src/routes/instances.svelte new file mode 100644 index 0000000..eb850ad --- /dev/null +++ b/src/routes/instances.svelte @@ -0,0 +1,56 @@ + + +

Our instances

+ +
+ {#each groups as group} +
+

{group.category}

+
+ {#each group.values as item} + + + + {/each} +
+
+ {/each} +
+
+ + diff --git a/src/routes/legal/privacy-policy.md b/src/routes/legal/privacy-policy.md index 0ba370e..9bedc24 100644 --- a/src/routes/legal/privacy-policy.md +++ b/src/routes/legal/privacy-policy.md @@ -39,5 +39,4 @@ Often times you can clear your own data simply by deleting your account. As we said, you can request any GDPR/Privacy things in [this Matrix room](https://matrix.to/#/#gdpr:projectsegfau.lt). But, if there's any ongoing investigations and a law enforcement agency contacts us, we will comply. But, we will only do it if we can verify it's official and they have a warrant. - _Last updated 28.07.2022 22:00 UTC+1_ diff --git a/src/routes/members.svelte b/src/routes/members.svelte deleted file mode 100644 index e5a4923..0000000 --- a/src/routes/members.svelte +++ /dev/null @@ -1,147 +0,0 @@ - - - - Members | Project Segfault - - - -
-

Members

-

Our excellent members!

-
- {#each members as { name, discord, matrix, position, description, github, website, email, picture }} -
-
- {name} - {position} - - {#if description} -

{description}

- {/if} -
- -
- {#if matrix} - - {/if} - - {#if discord} - - {/if} - - {#if github} - - {/if} - - {#if website} - - {/if} - - {#if email} - - {/if} - - {#if picture} - - {/if} -
-
- {/each} -
-
- - diff --git a/src/routes/minecraft/index.md b/src/routes/minecraft/index.md index dd943ad..87baf9f 100644 --- a/src/routes/minecraft/index.md +++ b/src/routes/minecraft/index.md @@ -9,7 +9,7 @@ We have an invite-only SMP server running on our network on version 1.18\* (1.18 ## How do I join? -If you would like to join, please join our Matrix space or and ask a project member to whitelist your account. The link to the Matrix space can be found on the footer of the page. +If you would like to join, please join our Matrix space or and ask a project member to whitelist your account. The link to the Matrix space can be found on the navigation bar at the top of the page. ## Rules diff --git a/src/routes/projects.svelte b/src/routes/projects.svelte new file mode 100644 index 0000000..e34ff07 --- /dev/null +++ b/src/routes/projects.svelte @@ -0,0 +1,30 @@ + + + + Our projects | Project Segfault + + + +

Our projects

+ + {#each projects as { name, description, github, website }} + + + {#if website} + +
+ + {/if} + + {#if github} + +
+ + {/if} +
+
+ {/each} +
diff --git a/src/routes/team.svelte b/src/routes/team.svelte new file mode 100644 index 0000000..ba3c93f --- /dev/null +++ b/src/routes/team.svelte @@ -0,0 +1,60 @@ + + + + Our team | Project Segfault + + + +

Our team

+ + {#each members as { name, discord, matrix, position, description, github, pgp, website, email, picture }} + + + {#if matrix} + +
+ + {/if} + + {#if discord} + +
+ + {/if} + + {#if github} + +
+ + {/if} + + {#if website} + +
+ + {/if} + + {#if email} + +
+ + {/if} + + {#if pgp} + +
+ + {/if} + + {#if picture} + +
+ + {/if} +
+
+ {/each} +
diff --git a/src/routes/timeline.svelte b/src/routes/timeline.svelte new file mode 100644 index 0000000..eaf6378 --- /dev/null +++ b/src/routes/timeline.svelte @@ -0,0 +1,237 @@ + + + + Timeline | Project Segfault + + + + +

A timeline of Project Segfault's history

+
+ + + + +

2020

+
+ + + + + +

Terrific Tea Studios is formed

+

+ While not intended to be as the beginning of the founding of + Project Segfault, it grouped 3 core team members together: + Odyssey, Midou and Devnol, with some other people. This was all + of us' first attempt at making an organization that focuses on + computers. It primarily focused on development of products. This + organization was ultimately killed in February 2021 when Odyssey + brutally murdered it by abusing a backdoor in it's Discord bot, + Cytrus-RE. +

+
+
+ + + +

January 2021

+
+ + + + + +

Neutron Technologies is formed

+

+ This was our second attempt at an organization, attempting to + not follow our previous mistakes. While it went nicely at first, + it eventually got to the point where Devnol (the current + organizer) decided he had better things to do (not really) and + left. From there, things went south and eventually we just + deleted the entire organization's Discord (we werent convinced + of Matrix at this time.). Since we had access to some hardware, + this was supposed to be focused on making backend stuff rather + than desktop apps. +

+
+
+ + + +

Somewhere in July 2021?

+
+ + + + + +

MrLeRien opens a small homeserver with the help of Midou

+

+ This eventually formed a nice little (primarily focused on + hosting) project called mutahar.rocks. Here, the duo focused on + hosting anything they could on a Core 2 Duo HP machine with 8GB + of RAM running Arch Linux. This alongside a small VPS they + already had. +

+
+
+ + +

Probably October 2021

+
+ + + + + +

Mutahar.rocks obtained a powerful server

+

+ MrLeRien's dad's work had an unused Hitachi Compute Rack with + 320GB of ram and two decade-old Xeons. Once he got his hands on + the server, mutahar.rocks started hosting more stuff. +

+
+
+ + +

December 2021

+
+ + + + + +

Odyssey joins Mutahar.rocks

+

+ At this point, it wasn't "official", but he did some work for + them (like try to make a website, which eventually got lost and + never found), and that's about it. +

+
+
+ + +

February 2022

+
+ + + + + +

Mutahar.rocks started hosting gameservers.

+

+ Odyssey was in charge of most of them, which made him an + official member of Mutahar.rocks. We primarily focused on + hosting Source game servers, for example Garry's Mod. We also + hosted a Minecraft server to a couple of... annoying people. I'm + glad they're out of my life now. +

+
+
+ + +

April 2022

+
+ + + + + +

Mutahar.rocks' main server was forced to shut down.

+

+ Eventually, after many months and pointless arguments with his + dad, MrLeRien decided to give up on fighting with his dad to + keep the server online. I don't remember exactly when, but I had + to make an announcement in the middle of a class to tell people + what was going on. Not fun. +

+
+
+ + +

April 2022

+
+ + + + + +

+ Devnol comes in and joins Mutahar.rocks with his server, Helios. +

+

+ When he joined, we decided that this was huge for Mutahar.rocks + and we decided it was time to rebrand... This is when + Mutahar.rocks became Project Segfault. Same thing - just a bit + more professional. +

+
+
+ + +

Now

+
+ + + + + +

Months later, 3 new members, we're better than ever.

+

+ We decided to get some new members. First, we started by getting + someone who likes to do frontend development, Akis. Then, we got + an amazing sysadmin who goes by the alias "openssl_rand". He + does a lot of cool stuff for us, and he is very dedicated. Then + we also decided that we needed backups, and then one of our + friends told us he could help us with that. His name is + Stephenvk. We also decided to just get better. +

+
+
+ + +

Now-er

+
+ + + + + +

+ Project Segfault decides to expand and now develops software. +

+

+ This started after Odyssey decided to work on Segfautils, an API + for Project Segfault. Midou plans to start a huge project in the + near future together with the team that can help people with + multiple servers. +

+
+
+
+ + diff --git a/static/Comfortaa.ttf b/static/Comfortaa.ttf deleted file mode 100644 index 30134cb..0000000 Binary files a/static/Comfortaa.ttf and /dev/null differ diff --git a/static/Raleway.ttf b/static/Raleway.ttf new file mode 100644 index 0000000..424fb0e Binary files /dev/null and b/static/Raleway.ttf differ diff --git a/static/logo-outline.png b/static/logo-outline.png deleted file mode 100644 index 1ba8b1b..0000000 Binary files a/static/logo-outline.png and /dev/null differ diff --git a/static/logo.png b/static/logo.png index bd1fb98..173eb49 100644 Binary files a/static/logo.png and b/static/logo.png differ diff --git a/static/logo.svg b/static/logo.svg new file mode 100644 index 0000000..ce53ed8 --- /dev/null +++ b/static/logo.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/logo_transparent.svg b/static/logo_transparent.svg new file mode 100644 index 0000000..f9a25ce --- /dev/null +++ b/static/logo_transparent.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/uno.config.ts b/uno.config.ts new file mode 100644 index 0000000..dfecc53 --- /dev/null +++ b/uno.config.ts @@ -0,0 +1,14 @@ +import { + defineConfig, + presetIcons +} from "unocss"; + +import { extractorSvelte } from "unocss"; + +export default defineConfig({ + extractors: [extractorSvelte], + + presets: [ + presetIcons() + ] +}); \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 27f1475..dc355c8 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,14 +1,12 @@ import { sveltekit } from "@sveltejs/kit/vite"; -import icons from "unplugin-icons/vite"; +import unoCSS from "unocss/vite"; + /** @type {import('vite').UserConfig} */ const config = { plugins: [ sveltekit(), - - icons({ - compiler: "svelte" - }) + unoCSS() ] };