mirror of https://github.com/aldy505/code.git
feat: move to solid start (#2)
* feat: move to solid start * chore: downgrade to node 17
This commit is contained in:
parent
2040c1795b
commit
b14556d869
|
@ -92,3 +92,5 @@ sw.*
|
||||||
*.code-workspace
|
*.code-workspace
|
||||||
|
|
||||||
.routify
|
.routify
|
||||||
|
.solid
|
||||||
|
functions
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
. "$(dirname "$0")/_/husky.sh"
|
. "$(dirname "$0")/_/husky.sh"
|
||||||
|
|
||||||
npx eslint --ext .ts,.tsx,.js,.jsx --ignore-path .gitignore .
|
npx eslint --ext .ts,.tsx --ignore-path .gitignore .
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
50
package.json
50
package.json
|
@ -4,9 +4,9 @@
|
||||||
"description": "Website for code.reinaldyrafli.com",
|
"description": "Website for code.reinaldyrafli.com",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "solid-start dev",
|
||||||
"generate": "vite build",
|
"generate": "solid-start build",
|
||||||
"lint": "eslint --fix --ext .ts,.tsx,.js,.jsx --ignore-path .gitignore .",
|
"lint": "eslint --fix --ext .ts,.tsx --ignore-path .gitignore .",
|
||||||
"postinstall": "husky install"
|
"postinstall": "husky install"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -19,32 +19,36 @@
|
||||||
"url": "https://github.com/aldy505/code/issues"
|
"url": "https://github.com/aldy505/code/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/aldy505/code#readme",
|
"homepage": "https://github.com/aldy505/code#readme",
|
||||||
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource/ibm-plex-mono": "^4.5.10",
|
"@fontsource/ibm-plex-mono": "^4.5.13",
|
||||||
"@fontsource/poppins": "^4.5.8",
|
"@fontsource/poppins": "^4.5.10",
|
||||||
|
"@solidjs/meta": "^0.28.2",
|
||||||
|
"@solidjs/router": "^0.5.1",
|
||||||
"animejs": "^3.2.1",
|
"animejs": "^3.2.1",
|
||||||
"marked": "^4.0.18",
|
"marked": "^4.2.4",
|
||||||
"solid-app-router": "^0.4.2",
|
"solid-js": "^1.6.5",
|
||||||
"solid-js": "^1.4.8",
|
"solid-mdx": "^0.0.6",
|
||||||
"solid-meta": "^0.28.1",
|
"solid-start": "^0.2.7",
|
||||||
"solid-styled-jsx": "^0.27.1"
|
"solid-styled-jsx": "^0.27.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@commitlint/cli": "^17.0.3",
|
"@commitlint/cli": "^17.3.0",
|
||||||
"@commitlint/config-conventional": "^17.0.3",
|
"@commitlint/config-conventional": "^17.3.0",
|
||||||
"@types/marked": "^4.0.3",
|
"@mdx-js/rollup": "^2.2.1",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.32.0",
|
"@types/marked": "^4.0.8",
|
||||||
"@typescript-eslint/parser": "^5.32.0",
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
||||||
|
"@typescript-eslint/parser": "^5.46.1",
|
||||||
"@windicss/plugin-scrollbar": "^1.2.3",
|
"@windicss/plugin-scrollbar": "^1.2.3",
|
||||||
"eslint": "^8.21.0",
|
"eslint": "^8.30.0",
|
||||||
"eslint-config-xo-space": "^0.33.0",
|
"eslint-config-xo-space": "^0.34.0",
|
||||||
"eslint-plugin-solid": "^0.7.1",
|
"eslint-plugin-solid": "^0.9.1",
|
||||||
"husky": "^8.0.1",
|
"husky": "^8.0.2",
|
||||||
"sass": "^1.54.3",
|
"sass": "^1.57.0",
|
||||||
"typescript": "^4.7.4",
|
"solid-start-cloudflare-pages": "^0.2.7",
|
||||||
"vite": "^3.0.4",
|
"typescript": "^4.9.4",
|
||||||
"vite-plugin-solid": "^2.3.0",
|
"vite": "^3.1.8",
|
||||||
"vite-plugin-windicss": "^1.8.7",
|
"vite-plugin-windicss": "^1.8.10",
|
||||||
"windicss": "^3.5.6"
|
"windicss": "^3.5.6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
import { render } from 'solid-js/web';
|
|
||||||
import 'virtual:windi.css';
|
|
||||||
import { Router } from 'solid-app-router';
|
|
||||||
import Default from './layouts/default';
|
|
||||||
|
|
||||||
render(() => (
|
|
||||||
<Router>
|
|
||||||
<Default />
|
|
||||||
</Router>
|
|
||||||
), document.getElementById('root'));
|
|
||||||
|
|
|
@ -0,0 +1,141 @@
|
||||||
|
// Originally created by Konpa (under MIT License) and
|
||||||
|
// supported by various contributors.
|
||||||
|
// Copyright (C) 2015 Konpa
|
||||||
|
//
|
||||||
|
// All product names, logos, and brandsare property of their respective owners.
|
||||||
|
// All company, product and service names used in this website are for identification purposes only.
|
||||||
|
// Use of these names, logos, and brands does not imply endorsement.
|
||||||
|
|
||||||
|
import { Match, Switch } from 'solid-js';
|
||||||
|
import { Stack } from '../types/project';
|
||||||
|
import Bash from './Icons/Bash';
|
||||||
|
import Bootstrap from './Icons/Bootstrap';
|
||||||
|
import Bulma from './Icons/Bulma';
|
||||||
|
import C from './Icons/C';
|
||||||
|
import CPlusPlus from './Icons/CPlusPlus';
|
||||||
|
import Crystal from './Icons/Crystal';
|
||||||
|
import CSharp from './Icons/CSharp';
|
||||||
|
import Docker from './Icons/Docker';
|
||||||
|
import Go from './Icons/Go';
|
||||||
|
import Javascript from './Icons/Javascript';
|
||||||
|
import Julia from './Icons/Julia';
|
||||||
|
import Kafka from './Icons/Kafka';
|
||||||
|
import Lua from './Icons/Lua';
|
||||||
|
import MongoDB from './Icons/MongoDB';
|
||||||
|
import MySQL from './Icons/MySQL';
|
||||||
|
import Nextjs from './Icons/Nextjs';
|
||||||
|
import Nodejs from './Icons/Nodejs';
|
||||||
|
import Nuxtjs from './Icons/Nuxtjs';
|
||||||
|
import PostgreSQL from './Icons/PostgreSQL';
|
||||||
|
import Prometheus from './Icons/Prometheus';
|
||||||
|
import Redis from './Icons/Redis';
|
||||||
|
import Rust from './Icons/Rust';
|
||||||
|
import Sass from './Icons/Sass';
|
||||||
|
import Sentry from './Icons/Sentry';
|
||||||
|
import Solidjs from './Icons/Solidjs';
|
||||||
|
import Svelte from './Icons/Svelte';
|
||||||
|
import TailwindCSS from './Icons/TailwindCSS';
|
||||||
|
import Typescript from './Icons/Typescript';
|
||||||
|
import Vuejs from './Icons/Vuejs';
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
name: Stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Icons(props: Props) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Switch fallback={<p>{String(props.name).charAt(0).toUpperCase() + String(props.name).substring(1)}</p>}>
|
||||||
|
<Match when={props.name.toLowerCase() === 'bootstrap'}>
|
||||||
|
<Bootstrap />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'bulma'}>
|
||||||
|
<Bulma />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'docker'}>
|
||||||
|
<Docker />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'go'}>
|
||||||
|
<Go />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'javascript'}>
|
||||||
|
<Javascript />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'julia'}>
|
||||||
|
<Julia />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'lua'}>
|
||||||
|
<Lua />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'mongodb'}>
|
||||||
|
<MongoDB />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'mysql'}>
|
||||||
|
<MySQL />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'nextjs'}>
|
||||||
|
<Nextjs />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'nodejs'}>
|
||||||
|
<Nodejs />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'nuxtjs'}>
|
||||||
|
<Nuxtjs />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'postgresql'}>
|
||||||
|
<PostgreSQL />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'redis'}>
|
||||||
|
<Redis />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'rust'}>
|
||||||
|
<Rust />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'sass'}>
|
||||||
|
<Sass />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'sentry'}>
|
||||||
|
<Sentry />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'solidjs'}>
|
||||||
|
<Solidjs />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'tailwindcss'}>
|
||||||
|
<TailwindCSS />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'typescript'}>
|
||||||
|
<Typescript />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'vuejs'}>
|
||||||
|
<Vuejs />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'svelte'}>
|
||||||
|
<Svelte />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'c'}>
|
||||||
|
<C />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'c++'}>
|
||||||
|
<CPlusPlus />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'csharp'}>
|
||||||
|
<CSharp />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'crystal'}>
|
||||||
|
<Crystal />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'kafka'}>
|
||||||
|
<Kafka />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'prometheus'}>
|
||||||
|
<Prometheus />
|
||||||
|
</Match>
|
||||||
|
<Match when={props.name.toLowerCase() === 'bash'}>
|
||||||
|
<Bash />
|
||||||
|
</Match>
|
||||||
|
</Switch>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Icons;
|
|
@ -0,0 +1,11 @@
|
||||||
|
function ArrowRight() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>
|
||||||
|
<circle cx='12' cy='12' r='10' />
|
||||||
|
<polyline points='12 16 16 12 12 8' />
|
||||||
|
<line x1='8' y1='12' x2='16' y2='12' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ArrowRight;
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Bash() {
|
||||||
|
return (
|
||||||
|
<svg viewBox='0 0 128 128'>
|
||||||
|
<path fill='none' d='M4.24 4.24h119.53v119.53H4.24z' /><path fill='#293138' d='M109.01 28.64L71.28 6.24c-2.25-1.33-4.77-2-7.28-2s-5.03.67-7.28 2.01l-37.74 22.4c-4.5 2.67-7.28 7.61-7.28 12.96v44.8c0 5.35 2.77 10.29 7.28 12.96l37.73 22.4c2.25 1.34 4.76 2 7.28 2 2.51 0 5.03-.67 7.28-2l37.74-22.4c4.5-2.67 7.28-7.62 7.28-12.96V41.6c0-5.34-2.77-10.29-7.28-12.96zM79.79 98.59l.06 3.22c0 .39-.25.83-.55.99l-1.91 1.1c-.3.15-.56-.03-.56-.42l-.03-3.17c-1.63.68-3.29.84-4.34.42-.2-.08-.29-.37-.21-.71l.69-2.91c.06-.23.18-.46.34-.6.06-.06.12-.1.18-.13.11-.06.22-.07.31-.03 1.14.38 2.59.2 3.99-.5 1.78-.9 2.97-2.72 2.95-4.52-.02-1.64-.9-2.31-3.05-2.33-2.74.01-5.3-.53-5.34-4.57-.03-3.32 1.69-6.78 4.43-8.96l-.03-3.25c0-.4.24-.84.55-1l1.85-1.18c.3-.15.56.04.56.43l.03 3.25c1.36-.54 2.54-.69 3.61-.44.23.06.34.38.24.75l-.72 2.88c-.06.22-.18.44-.33.58a.77.77 0 01-.19.14c-.1.05-.19.06-.28.05-.49-.11-1.65-.36-3.48.56-1.92.97-2.59 2.64-2.58 3.88.02 1.48.77 1.93 3.39 1.97 3.49.06 4.99 1.58 5.03 5.09.05 3.44-1.79 7.15-4.61 9.41zm26.34-60.5l-35.7 22.05c-4.45 2.6-7.73 5.52-7.74 10.89v43.99c0 3.21 1.3 5.29 3.29 5.9-.65.11-1.32.19-1.98.19-2.09 0-4.15-.57-5.96-1.64l-37.73-22.4c-3.69-2.19-5.98-6.28-5.98-10.67V41.6c0-4.39 2.29-8.48 5.98-10.67l37.74-22.4c1.81-1.07 3.87-1.64 5.96-1.64s4.15.57 5.96 1.64l37.74 22.4c3.11 1.85 5.21 5.04 5.8 8.63-1.27-2.67-4.09-3.39-7.38-1.47z' /><path fill='#4FA847' d='M99.12 90.73l-9.4 5.62c-.25.15-.43.31-.43.61v2.46c0 .3.2.43.45.28l9.54-5.8c.25-.15.29-.42.29-.72v-2.17c0-.3-.2-.42-.45-.28z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Bootstrap() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path fill='#5B4282' d='M75.701 65.603c-2.334-.768-5.694-.603-10.08-.603H48v23h18.844c2.944 0 5.012-.315 6.203-.535 2.099-.376 3.854-1.104 5.264-1.982 1.409-.876 2.568-2.205 3.478-3.881.908-1.676 1.363-3.637 1.363-5.83 0-2.568-.658-4.54-1.975-6.436-1.316-1.896-3.141-2.965-5.476-3.733zm-2.419-10.516c2.317-.688 4.064-1.89 5.239-3.487 1.176-1.598 1.763-3.631 1.763-6.044 0-2.286-.549-4.314-1.646-6.054s-2.662-2.413-4.699-3.056c-2.037-.641-5.53-.446-10.48-.446H48v20h16.587c4.042 0 6.939-.38 8.695-.913zM126 18.625C126 9.443 118.557 2 109.375 2h-91.75C8.443 2 1 9.443 1 18.625v91.75C1 119.557 8.443 127 17.625 127h91.75c9.182 0 16.625-7.443 16.625-16.625v-91.75zm-35.447 66.12c-1.362 2.773-3.047 4.911-5.052 6.415-2.006 1.504-4.521 2.78-7.544 3.548C74.935 95.477 71.229 96 66.844 96H39V27h27.42c5.264 0 9.485.609 12.665 2.002 3.181 1.395 5.671 3.497 7.474 6.395 1.801 2.898 2.702 5.907 2.702 9.071 0 2.945-.8 5.708-2.397 8.308-1.598 2.602-4.011 4.694-7.237 6.292 4.166 1.222 7.37 3.304 9.61 6.248 2.24 2.945 3.36 6.422 3.36 10.432 0 3.227-.681 6.225-2.044 8.997z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Bootstrap;
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Bulma() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path fill='#00D1B2' d='M59.2 0l40 40-24 24 32 31.9L59.4 128l-40-39.9 7.7-56z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Bulma;
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function C() {
|
||||||
|
return (
|
||||||
|
<svg viewBox='0 0 128 128'>
|
||||||
|
<path fill='#659AD3' d='M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7-1.2 0-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7z' /><path fill='#03599C' d='M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7 1.2 0 2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8l-106.6 62z' /><path fill='#fff' d='M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8l-12.9-7.6z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function CPlusPlus() {
|
||||||
|
return (
|
||||||
|
<svg viewBox='0 0 128 128'>
|
||||||
|
<path fill='#D26383' d='M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7-1.2 0-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7z' /><path fill='#9C033A' d='M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7 1.2 0 2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8l-106.6 62z' /><path fill='#fff' d='M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8l-12.9-7.6z' /><path d='M82.1 61.8h5.2v-5.3h4.4v5.3H97v4.4h-5.3v5.2h-4.4v-5.2h-5.2v-4.4zm18.5 0h5.2v-5.3h4.4v5.3h5.3v4.4h-5.3v5.2h-4.4v-5.2h-5.2v-4.4z' fill='#fff' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function CSharp() {
|
||||||
|
return (
|
||||||
|
<svg viewBox='0 0 128 128'>
|
||||||
|
<path fill='#9B4F96' d='M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7-1.2 0-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7z' /><path fill='#68217A' d='M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7 1.2 0 2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8l-106.6 62z' /><path fill='#fff' d='M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8l-12.9-7.6zM97 66.2l.9-4.3h-4.2v-4.7h5.1L100 51h4.9l-1.2 6.1h3.8l1.2-6.1h4.8l-1.2 6.1h2.4v4.7h-3.3l-.9 4.3h4.2v4.7h-5.1l-1.2 6h-4.9l1.2-6h-3.8l-1.2 6h-4.8l1.2-6h-2.4v-4.7H97zm4.8 0h3.8l.9-4.3h-3.8l-.9 4.3z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Crystal() {
|
||||||
|
return (
|
||||||
|
<svg viewBox='0 0 128 128'>
|
||||||
|
<path d='M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0' fill-rule='evenodd' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Docker() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path d='M124.8 52.1c-4.3-2.5-10-2.8-14.8-1.4-.6-5.2-4-9.7-8-12.9l-1.6-1.3-1.4 1.6c-2.7 3.1-3.5 8.3-3.1 12.3.3 2.9 1.2 5.9 3 8.3-1.4.8-2.9 1.9-4.3 2.4-2.8 1-5.9 2-8.9 2H79V49H66V24H51v12H26v13H13v14H1.8l-.2 1.5c-.5 6.4.3 12.6 3 18.5l1.1 2.2.1.2c7.9 13.4 21.7 19 36.8 19 29.2 0 53.3-13.1 64.3-40.6 7.4.4 15-1.8 18.6-8.9l.9-1.8-1.6-1zM28 39h10v11H28V39zm13.1 44.2c0 1.7-1.4 3.1-3.1 3.1-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7.1 3.1 1.4 3.1 3.1zM28 52h10v11H28V52zm-13 0h11v11H15V52zm27.7 50.2c-15.8-.1-24.3-5.4-31.3-12.4 2.1.1 4.1.2 5.9.2 1.6 0 3.2 0 4.7-.1 3.9-.2 7.3-.7 10.1-1.5 2.3 5.3 6.5 10.2 14 13.8h-3.4zM51 63H40V52h11v11zm0-13H40V39h11v11zm13 13H53V52h11v11zm0-13H53V39h11v11zm0-13H53V26h11v11zm13 26H66V52h11v11zM38.8 81.2c-.2-.1-.5-.2-.8-.2-1.2 0-2.2 1-2.2 2.2 0 1.2 1 2.2 2.2 2.2s2.2-1 2.2-2.2c0-.3-.1-.6-.2-.8-.2.3-.4.5-.8.5-.5 0-.9-.4-.9-.9.1-.4.3-.7.5-.8z' fill='#019BC6' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Docker;
|
|
@ -0,0 +1,8 @@
|
||||||
|
export default function Github() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<defs><style type='text/css'>{'@media (prefers-color-scheme: dark) { g.outer { fill: #ffffff !important; }}'}</style></defs>
|
||||||
|
<g class='outer' fill='#000000'><path fill-rule='evenodd' clip-rule='evenodd' d='M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z' /><path d='M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0' /></g>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Go() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<g fill='#00acd7' fill-rule='evenodd'><path d='M11.156 54.829c-.243 0-.303-.122-.182-.303l1.273-1.637c.12-.182.424-.303.666-.303H34.55c.243 0 .303.182.182.364l-1.03 1.576c-.121.181-.424.363-.606.363zM2.004 60.404c-.242 0-.303-.12-.182-.303l1.273-1.636c.121-.182.424-.303.667-.303h27.636c.242 0 .364.182.303.364l-.485 1.454c-.06.243-.303.364-.545.364zM16.67 65.98c-.242 0-.302-.182-.181-.364l.848-1.515c.122-.182.364-.363.607-.363h12.12c.243 0 .364.181.364.424l-.12 1.454c0 .243-.243.425-.425.425zM79.58 53.738c-3.819.97-6.425 1.697-10.182 2.666-.91.243-.97.303-1.758-.606-.909-1.03-1.576-1.697-2.848-2.303-3.819-1.878-7.516-1.333-10.97.91-4.121 2.666-6.242 6.605-6.182 11.514.06 4.849 3.394 8.849 8.182 9.516 4.121.545 7.576-.91 10.303-4 .545-.667 1.03-1.394 1.636-2.243H56.064c-1.272 0-1.575-.788-1.151-1.818.788-1.879 2.242-5.03 3.09-6.606.183-.364.607-.97 1.516-.97h22.06c-.12 1.637-.12 3.273-.363 4.91-.667 4.363-2.303 8.363-4.97 11.878-4.364 5.758-10.06 9.333-17.273 10.303-5.939.788-11.454-.364-16.302-4-4.485-3.394-7.03-7.879-7.697-13.454-.788-6.606 1.151-12.546 5.151-17.758 4.303-5.636 10-9.212 16.97-10.485 5.697-1.03 11.151-.363 16.06 2.97 3.212 2.121 5.515 5.03 7.03 8.545.364.546.122.849-.606 1.03z' /><path d='M99.64 87.253c-5.515-.122-10.546-1.697-14.788-5.334-3.576-3.09-5.818-7.03-6.545-11.697-1.091-6.848.787-12.909 4.909-18.302 4.424-5.819 9.757-8.849 16.97-10.122 6.181-1.09 12-.484 17.272 3.091 4.788 3.273 7.757 7.697 8.545 13.515 1.03 8.182-1.333 14.849-6.97 20.546-4 4.06-8.909 6.606-14.545 7.757-1.636.303-3.273.364-4.848.546zm14.424-24.485c-.06-.788-.06-1.394-.182-2-1.09-6-6.606-9.394-12.363-8.06-5.637 1.272-9.273 4.848-10.606 10.545-1.091 4.727 1.212 9.515 5.575 11.454 3.334 1.455 6.667 1.273 9.879-.363 4.788-2.485 7.394-6.364 7.697-11.576z' fill-rule='nonzero' /></g>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Go;
|
|
@ -0,0 +1,8 @@
|
||||||
|
export default function Javascript() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path fill='#F0DB4F' d='M1.408 1.408h125.184v125.185H1.408z' /><path fill='#323330' d='M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Julia() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path d='M58.3 93.5c0 15.7-12.7 28.3-28.3 28.3-15.7 0-28.3-12.7-28.3-28.3 0-15.6 12.7-28.3 28.3-28.3 15.6-.1 28.3 12.6 28.3 28.3' fill='#cb3c33' /><path d='M30 123.4c-16.5 0-30-13.4-30-30s13.4-30 30-30 30 13.4 30 30-13.5 30-30 30zm0-56.6c-14.7 0-26.7 12-26.7 26.7s12 26.7 26.7 26.7 26.7-12 26.7-26.7-12-26.7-26.7-26.7z' fill='#eee' /><path d='M126.4 93.5c0 15.7-12.7 28.3-28.3 28.3s-28.3-12.7-28.3-28.3c0-15.6 12.7-28.3 28.3-28.3s28.3 12.6 28.3 28.3' fill='#9558b2' /><path d='M98 123.4c-16.5 0-30-13.4-30-30s13.4-30 30-30 30 13.4 30 30-13.4 30-30 30zm0-56.6c-14.7 0-26.7 12-26.7 26.7s12 26.7 26.7 26.7 26.7-12 26.7-26.7S112.8 66.8 98 66.8z' fill='#eee' /><path d='M92.4 34.5c0 15.6-12.7 28.3-28.3 28.3-15.7 0-28.3-12.7-28.3-28.3S48.4 6.2 64 6.2c15.7 0 28.4 12.7 28.4 28.3' fill='#389826' /><path d='M64 64.5c-16.5 0-30-13.4-30-30s13.4-30 30-30 30 13.4 30 30-13.5 30-30 30zm0-56.7c-14.7 0-26.7 12-26.7 26.7s12 26.7 26.7 26.7 26.7-12 26.7-26.7S78.7 7.8 64 7.8z' fill='#eee' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Kafka() {
|
||||||
|
return (
|
||||||
|
<svg viewBox='0 0 128 128'>
|
||||||
|
<path d='M15.885 41.203a3.29 3.29 0 00-2.371-.996 3.25 3.25 0 00-2.356.996h-.015a3.418 3.418 0 00-.973 2.406c0 .95.371 1.797.973 2.403l.015.015a3.256 3.256 0 002.356.989 3.3 3.3 0 002.37-.989l.009-.015a3.388 3.388 0 00.972-2.403c0-.941-.37-1.797-.972-2.406h-.008zm-2.371 46.59c.933 0 1.77-.387 2.37-.992l.009-.016a3.39 3.39 0 00.972-2.394c0-.95-.37-1.801-.972-2.414h-.008a3.275 3.275 0 00-2.371-.997 3.23 3.23 0 00-2.356.997h-.015a3.43 3.43 0 00-.973 2.414c0 .937.371 1.789.973 2.394l.015.016a3.29 3.29 0 002.356.992zM31.736 77.48a3.296 3.296 0 002.035-1.582l.063-.117a3.43 3.43 0 00.266-2.465 3.363 3.363 0 00-1.563-2.074l-.047-.031a3.281 3.281 0 00-2.488-.305 3.278 3.278 0 00-2.035 1.586 3.442 3.442 0 001.222 4.656h.004c.801.47 1.703.555 2.543.332zM16.943 60.512a4.808 4.808 0 00-3.43-1.45 4.8 4.8 0 00-3.425 1.45 4.958 4.958 0 00-1.41 3.484c0 1.363.539 2.594 1.41 3.496a4.805 4.805 0 006.855 0 5 5 0 001.414-3.496 4.943 4.943 0 00-1.414-3.484zm-1.93-5.801a9.162 9.162 0 015.032 2.644h.012c.21.215.418.454.609.692l3.34-1.965a7.366 7.366 0 01-.11-4.18 7.278 7.278 0 013.364-4.449l.054-.039a7.078 7.078 0 015.418-.707 7.235 7.235 0 014.383 3.426v.004a7.464 7.464 0 01.723 5.566 7.283 7.283 0 01-3.363 4.457l-.457.274h-.047a7.13 7.13 0 01-4.973.46 7.179 7.179 0 01-3.496-2.18l-3.332 1.962a9.615 9.615 0 010 6.652l3.332 1.957a7.102 7.102 0 013.496-2.183 7.006 7.006 0 015.477.738l.109.055v.003a7.314 7.314 0 013.254 4.403 7.454 7.454 0 01-.723 5.558l-.062.125-.004-.011a7.295 7.295 0 01-4.313 3.32 7.156 7.156 0 01-5.476-.734v-.016a7.307 7.307 0 01-3.364-4.453 7.34 7.34 0 01.11-4.172l-3.34-1.961a9.204 9.204 0 01-.61.68l-.011.011a9.103 9.103 0 01-5.031 2.63v3.925c1.386.297 2.629 1 3.601 1.992l.008.008a7.375 7.375 0 012.11 5.188 7.358 7.358 0 01-2.11 5.171l-.008.024c-1.312 1.324-3.113 2.148-5.101 2.148a7.16 7.16 0 01-5.094-2.148h-.008v-.024A7.361 7.361 0 016.3 84.391c0-2.024.808-3.864 2.113-5.188v-.008h.008a7.137 7.137 0 013.598-1.992v-3.926a9.092 9.092 0 01-5.028-2.629l-.011-.011a9.46 9.46 0 01-2.711-6.64 9.467 9.467 0 012.71-6.642h.012a9.164 9.164 0 015.028-2.644V50.8a7.261 7.261 0 01-3.598-1.996h-.008v-.012A7.383 7.383 0 016.3 43.609c0-2.011.808-3.855 2.113-5.183l.008-.004a7.136 7.136 0 015.094-2.156c1.988 0 3.789.824 5.101 2.156v.004h.008a7.393 7.393 0 012.11 5.183 7.38 7.38 0 01-2.11 5.184l-.008.012a7.256 7.256 0 01-3.601 1.996v3.91zm18.758-2.61l-.027-.039a3.366 3.366 0 00-2.008-1.546 3.301 3.301 0 00-2.547.34h.004a3.36 3.36 0 00-1.562 2.07 3.45 3.45 0 00.336 2.586l.015.02c.461.8 1.2 1.34 2.02 1.554a3.22 3.22 0 002.535-.332l.043-.02a3.403 3.403 0 001.52-2.043 3.471 3.471 0 00-.329-2.59m14.817 1.149h3.726v11.578l5.375-6.05h4.47l-6.49 7.007 6.517 8.883h-4.27l-5.602-7.934v7.934h-3.726V53.25m17.898 13.543c0 1.969 1.39 4.836 4.75 4.836 2.075 0 3.442-1.102 4.153-2.547.37-.7.539-1.45.597-2.227a5.015 5.015 0 00-.43-2.234c-.652-1.5-2.1-2.805-4.347-2.805-3.016 0-4.723 2.489-4.723 4.95v.027zm13.196 7.875h-3.727v-2.285c-.992 1.847-3.07 2.773-5.262 2.773-5.004 0-7.933-3.965-7.933-8.449 0-5.004 3.554-8.418 7.933-8.418 2.844 0 4.578 1.531 5.262 2.809v-2.32h3.727v15.89M83.9 61.703h-1.93v-2.926h1.93v-.894c0-4.723 3.532-5.004 6.204-5.035v2.918c-.938 0-2.473 0-2.473 2.234v.777h2.473v2.926H87.63v12.965H83.9V61.703m8.739-8.453h3.726v11.578l5.375-6.05h4.465l-6.484 7.007 6.511 8.883h-4.265l-5.602-7.934v7.934H92.64V53.25m17.893 13.543c0 1.969 1.395 4.836 4.75 4.836 2.074 0 3.442-1.102 4.153-2.547.37-.7.543-1.45.597-2.227a5.015 5.015 0 00-.43-2.234c-.652-1.5-2.101-2.805-4.347-2.805-3.012 0-4.723 2.489-4.723 4.95v.027zm13.2 7.875h-3.727v-2.285c-.996 1.847-3.07 2.773-5.262 2.773-5.008 0-7.933-3.965-7.933-8.449 0-5.004 3.554-8.418 7.933-8.418 2.844 0 4.578 1.531 5.262 2.809v-2.32h3.726v15.89' fill='#231F20' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Lua() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path fill='navy' d='M127.3 15.1c0-7.9-6.4-14.3-14.3-14.3S98.6 7.1 98.6 15.1 105 29.4 113 29.4s14.3-6.4 14.3-14.3' /><path fill='navy' d='M64 15.1c-27 0-49 21.9-49 49s21.9 49 49 49 49-21.9 49-49-22-49-49-49zm6 28.6c0-7.9 6.4-14.3 14.3-14.3s14.3 6.4 14.3 14.3S92.2 58 84.3 58 70 51.6 70 43.7zM66.3 128l-.1-1.5c1.8-.1 3.6-.2 5.4-.4l.2 1.5c-1.8.2-3.7.3-5.5.4zm-5.6 0c-1.9-.1-3.7-.3-5.6-.5l.2-1.5c1.8.2 3.6.4 5.4.5v1.5zm16.6-1.4l-.3-1.4c1.8-.4 3.5-.8 5.3-1.4l.4 1.4c-1.7.6-3.5 1.1-5.4 1.4zm-27.7-.2c-1.8-.4-3.6-.9-5.4-1.5l.5-1.4c1.7.6 3.5 1 5.3 1.5l-.4 1.4zm38.4-3l-.6-1.4c1.7-.7 3.3-1.4 5-2.3l.7 1.3c-1.7.9-3.4 1.7-5.1 2.4zm-49-.4c-1.7-.7-3.4-1.5-5-2.4l.7-1.3c1.6.9 3.3 1.6 4.9 2.4L39 123zm59-4.7l-.8-1.2c1.5-1 3-2 4.5-3.1l.9 1.2c-1.5 1.1-3.1 2.1-4.6 3.1zm-68.8-.6c-1.6-1-3.1-2.1-4.5-3.2l.9-1.2c1.4 1.1 2.9 2.2 4.4 3.2l-.8 1.2zm77.7-6.1l-1-1.1c1.3-1.2 2.7-2.5 3.9-3.8l1.1 1c-1.3 1.3-2.7 2.6-4 3.9zm-86.5-.7c-1.4-1.3-2.7-2.6-3.9-4l1.1-1c1.2 1.3 2.5 2.7 3.8 3.9l-1 1.1zm94.1-7.5l-1.2-.9c1.1-1.4 2.2-2.9 3.2-4.4l1.2.8c-1 1.5-2.1 3.1-3.2 4.5zm-101.6-.8c-1.1-1.5-2.2-3-3.2-4.6l1.2-.8c1 1.5 2 3 3.1 4.5l-1.1.9zm107.7-8.5l-1.3-.7c.9-1.6 1.6-3.3 2.4-4.9l1.3.5-2.4 5.1zM7 93.1c-.8-1.7-1.6-3.4-2.3-5.1l1.3-.5c.7 1.7 1.4 3.3 2.3 5l-1.3.6zm117.9-9.3l-1.4-.5c.6-1.7 1-3.5 1.5-5.3l1.4.3c-.4 1.9-.9 3.7-1.5 5.5zm-122.1-1c-.5-1.8-1-3.6-1.4-5.4l1.4-.3c.4 1.8.8 3.5 1.4 5.3l-1.4.4zm124.6-9.9l-1.5-.2c.2-1.8.4-3.6.5-5.4l1.5.1c0 1.8-.2 3.7-.5 5.5zM.5 71.9C.2 70 .1 68.2 0 66.3l1.5-.1c.1 1.8.2 3.6.4 5.4l-1.4.3zm126-10.1c-.1-1.8-.2-3.6-.4-5.4l1.5-.2c.2 1.8.4 3.7.4 5.6h-1.5zm-125-1L0 60.7c.1-1.9.3-3.7.5-5.6l1.5.3c-.2 1.8-.4 3.6-.5 5.4zM125.2 51c-.4-1.8-.8-3.6-1.4-5.3l1.4-.4c.5 1.8 1 3.6 1.4 5.4l-1.4.3zM3 50l-1.4-.3c.4-1.8.9-3.6 1.5-5.4l1.4.5C3.9 46.5 3.4 48.2 3 50zm119-9.4c-.7-1.7-1.4-3.4-2.3-5l1.3-.7c.8 1.7 1.6 3.4 2.3 5.1l-1.3.6zm-115.6-1L5 39.1c.7-1.7 1.5-3.4 2.4-5l1.3.7c-.8 1.5-1.6 3.2-2.3 4.8zm5.1-9.6l-1.2-.8c1-1.6 2.1-3.1 3.2-4.5l1.2.9c-1.2 1.4-2.2 2.9-3.2 4.4zm6.7-8.6l-1.1-1c1.3-1.4 2.6-2.7 4-3.9l1 1.1c-1.4 1.2-2.7 2.5-3.9 3.8zm8.1-7.3l-.9-1.2c1.5-1.1 3-2.2 4.6-3.2l.8 1.2c-1.6 1.1-3.1 2.1-4.5 3.2zm67-5.4c-1.6-.8-3.3-1.6-4.9-2.3l.5-1.4c1.7.7 3.4 1.5 5 2.4l-.6 1.3zm-57.8-.4L34.8 7c1.7-.8 3.4-1.6 5.1-2.3l.6 1.3c-1.7.7-3.4 1.5-5 2.3zm47.7-3.8c-1.7-.6-3.5-1-5.3-1.4l.3-1.4c1.8.4 3.6.9 5.4 1.5l-.4 1.3zm-37.6-.3l-.4-1.4c1.8-.5 3.6-1 5.4-1.4l.3 1.4c-1.8.4-3.6.9-5.3 1.4zm27-2.2c-1.8-.2-3.6-.4-5.4-.5l.1-1.5c1.9.1 3.7.3 5.6.5L72.6 2zm-16.3-.1L56.1.4c1.8-.2 3.7-.4 5.6-.4l.1 1.5c-1.9 0-3.7.2-5.5.4z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,7 @@
|
||||||
|
export default function MySQL() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path fill='#00618A' d='M116.948 97.807c-6.863-.187-12.104.452-16.585 2.341-1.273.537-3.305.552-3.513 2.147.7.733.809 1.829 1.365 2.731 1.07 1.73 2.876 4.052 4.488 5.268 1.762 1.33 3.577 2.751 5.465 3.902 3.358 2.047 7.107 3.217 10.34 5.268 1.906 1.21 3.799 2.733 5.658 4.097.92.675 1.537 1.724 2.732 2.147v-.194c-.628-.8-.79-1.898-1.366-2.733l-2.537-2.537c-2.48-3.292-5.629-6.184-8.976-8.585-2.669-1.916-8.642-4.504-9.755-7.609l-.195-.195c1.892-.214 4.107-.898 5.854-1.367 2.934-.786 5.556-.583 8.585-1.365l4.097-1.171v-.78c-1.531-1.571-2.623-3.651-4.292-5.073-4.37-3.72-9.138-7.437-14.048-10.537-2.724-1.718-6.089-2.835-8.976-4.292-.971-.491-2.677-.746-3.318-1.562-1.517-1.932-2.342-4.382-3.511-6.633-2.449-4.717-4.854-9.868-7.024-14.831-1.48-3.384-2.447-6.72-4.293-9.756-8.86-14.567-18.396-23.358-33.169-32-3.144-1.838-6.929-2.563-10.929-3.513-2.145-.129-4.292-.26-6.438-.391-1.311-.546-2.673-2.149-3.902-2.927C17.811 4.565 5.257-2.16 1.633 6.682c-2.289 5.581 3.421 11.025 5.462 13.854 1.434 1.982 3.269 4.207 4.293 6.438.674 1.467.79 2.938 1.367 4.489 1.417 3.822 2.652 7.98 4.487 11.511.927 1.788 1.949 3.67 3.122 5.268.718.981 1.951 1.413 2.145 2.927-1.204 1.686-1.273 4.304-1.95 6.44-3.05 9.615-1.899 21.567 2.537 28.683 1.36 2.186 4.567 6.871 8.975 5.073 3.856-1.57 2.995-6.438 4.098-10.732.249-.973.096-1.689.585-2.341v.195l3.513 7.024c2.6 4.187 7.212 8.562 11.122 11.514 2.027 1.531 3.623 4.177 6.244 5.073v-.196h-.195c-.508-.791-1.303-1.119-1.951-1.755-1.527-1.497-3.225-3.358-4.487-5.073-3.556-4.827-6.698-10.11-9.561-15.609-1.368-2.627-2.557-5.523-3.709-8.196-.444-1.03-.438-2.589-1.364-3.122-1.263 1.958-3.122 3.542-4.098 5.854-1.561 3.696-1.762 8.204-2.341 12.878-.342.122-.19.038-.391.194-2.718-.655-3.672-3.452-4.683-5.853-2.554-6.07-3.029-15.842-.781-22.829.582-1.809 3.21-7.501 2.146-9.172-.508-1.666-2.184-2.63-3.121-3.903-1.161-1.574-2.319-3.646-3.124-5.464-2.09-4.731-3.066-10.044-5.267-14.828-1.053-2.287-2.832-4.602-4.293-6.634-1.617-2.253-3.429-3.912-4.683-6.635-.446-.968-1.051-2.518-.391-3.513.21-.671.508-.951 1.171-1.17 1.132-.873 4.284.29 5.462.779 3.129 1.3 5.741 2.538 8.392 4.294 1.271.844 2.559 2.475 4.097 2.927h1.756c2.747.631 5.824.195 8.391.975 4.536 1.378 8.601 3.523 12.292 5.854 11.246 7.102 20.442 17.21 26.732 29.269 1.012 1.942 1.45 3.794 2.341 5.854 1.798 4.153 4.063 8.426 5.852 12.488 1.786 4.052 3.526 8.141 6.05 11.513 1.327 1.772 6.451 2.723 8.781 3.708 1.632.689 4.307 1.409 5.854 2.34 2.953 1.782 5.815 3.903 8.586 5.855 1.383.975 5.64 3.116 5.852 4.879zM29.729 23.466c-1.431-.027-2.443.156-3.513.389v.195h.195c.683 1.402 1.888 2.306 2.731 3.513.65 1.367 1.301 2.732 1.952 4.097l.194-.193c1.209-.853 1.762-2.214 1.755-4.294-.484-.509-.555-1.147-.975-1.755-.556-.811-1.635-1.272-2.339-1.952z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
export default function Nextjs() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<defs><style type='text/css'>{'@media (prefers-color-scheme: dark) {path.nextjs { fill: #ffffff !important; }}'}</style></defs>
|
||||||
|
<path class='nextjs' fill='#000000' d='M64 0C28.7 0 0 28.7 0 64s28.7 64 64 64c11.2 0 21.7-2.9 30.8-7.9L48.4 55.3v36.6h-6.8V41.8h6.8l50.5 75.8C116.4 106.2 128 86.5 128 64c0-35.3-28.7-64-64-64zm22.1 84.6l-7.5-11.3V41.8h7.5v42.8z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Nodejs() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path fill='#83CD29' d='M112.771 30.334L68.674 4.729c-2.781-1.584-6.402-1.584-9.205 0L14.901 30.334C12.031 31.985 10 35.088 10 38.407v51.142c0 3.319 2.084 6.423 4.954 8.083l11.775 6.688c5.628 2.772 7.617 2.772 10.178 2.772 8.333 0 13.093-5.039 13.093-13.828v-50.49c0-.713-.371-1.774-1.071-1.774h-5.623C42.594 41 41 42.061 41 42.773v50.49c0 3.896-3.524 7.773-10.11 4.48L18.723 90.73c-.424-.23-.723-.693-.723-1.181V38.407c0-.482.555-.966.982-1.213l44.424-25.561c.415-.235 1.025-.235 1.439 0l43.882 25.555c.42.253.272.722.272 1.219v51.142c0 .488.183.963-.232 1.198l-44.086 25.576c-.378.227-.847.227-1.261 0l-11.307-6.749c-.341-.198-.746-.269-1.073-.086-3.146 1.783-3.726 2.02-6.677 3.043-.726.253-1.797.692.41 1.929l14.798 8.754a9.294 9.294 0 004.647 1.246c1.642 0 3.25-.426 4.667-1.246l43.885-25.582c2.87-1.672 4.23-4.764 4.23-8.083V38.407c0-3.319-1.36-6.414-4.229-8.073zM77.91 81.445c-11.726 0-14.309-3.235-15.17-9.066-.1-.628-.633-1.379-1.272-1.379h-5.731c-.709 0-1.279.86-1.279 1.566 0 7.466 4.059 16.512 23.453 16.512 14.039 0 22.088-5.455 22.088-15.109 0-9.572-6.467-12.084-20.082-13.886-13.762-1.819-15.16-2.738-15.16-5.962 0-2.658 1.184-6.203 11.374-6.203 9.105 0 12.461 1.954 13.842 8.091.118.577.645.991 1.24.991h5.754c.354 0 .692-.143.94-.396.24-.272.367-.613.335-.979-.891-10.568-7.912-15.493-22.112-15.493-12.631 0-20.166 5.334-20.166 14.275 0 9.698 7.497 12.378 19.622 13.577 14.505 1.422 15.633 3.542 15.633 6.395 0 4.955-3.978 7.066-13.309 7.066z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Nuxtjs() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path d='M39.267 108.97l-.284-.567c-.567-1.135-.567-2.27-.283-3.689H8.059L53.454 24.14l19.009 34.33 6.241-4.54L59.695 19.6c-.283-.567-2.553-3.971-6.241-3.971-1.703 0-4.256.567-6.242 4.255L1.25 101.31c-.284.852-2.27 4.54-.568 7.66 1.135 1.703 2.838 3.405 6.81 3.405h38.585c-3.972 0-5.958-1.702-6.81-3.404z' fill='#00c58e' /><path d='M126.65 101.59L89.767 35.201c-.567-.567-2.553-4.256-6.242-4.256-1.702 0-4.255.851-6.241 4.256l-4.823 7.944v15.321l11.065-19.009 36.599 65.254h-13.902a6.525 6.525 0 01-.568 3.972l-.284.284c-1.702 3.12-5.958 3.404-6.525 3.404h21.562c.851 0 4.823-.283 6.809-3.404.851-1.419 1.419-3.972-.567-7.377z' fill='#108775' /><path d='M106.51 108.97v-.284l.284-.567c.283-1.135.567-2.27.283-3.405l-1.134-3.404-28.938-50.501-4.256-7.66h-.284l-4.256 7.66-28.938 50.5-1.134 3.405a6.81 6.81 0 00.567 4.256c1.135 1.702 2.837 3.405 6.809 3.405h53.906c.851 0 5.107-.284 7.093-3.405zM72.464 58.469l26.386 46.245H46.079z' fill='#2f495e' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Prometheus() {
|
||||||
|
return (
|
||||||
|
<svg viewBox='0 0 128 128'>
|
||||||
|
<path d='M63.66 2.477c33.477.007 60.957 27.296 60.914 60.5-.043 33.703-27.41 60.617-61.613 60.593-33.441-.023-60.477-27.343-60.453-61.086C2.53 29.488 30.066 2.47 63.66 2.477zm-18.504 21.25c.766 3.777.024 7.3-1.113 10.765-.785 2.399-1.871 4.711-2.52 7.145-1.07 4.008-2.28 8.039-2.726 12.136-.64 5.895 1.676 11.086 5.64 16.25l-18.222-3.835c.031.574 0 .792.062.976 1.727 5.074 4.766 9.348 8.172 13.379.36.426 1.18.644 1.79.644 18.167.036 36.335.032 54.503.008.563 0 1.317-.105 1.66-.468 3.895-4.094 6.871-8.758 8.735-14.63l-19.29 3.778c1.274-2.496 2.723-4.688 3.56-7.098 2.855-8.242 1.671-16.21-2.427-23.726-3.289-6.031-6.324-12.035-4.683-19.305-3.473 3.434-4.809 7.8-5.656 12.3-.832 4.434-1.325 8.93-1.97 13.43-.093-.136-.21-.238-.23-.355a13.317 13.317 0 01-.168-1.422c-.394-7.367-1.832-14.465-4.87-21.246-1.786-3.988-3.758-8.07-1.915-12.832-1.246.66-2.375 1.313-3.183 2.246-2.41 2.785-3.407 6.13-3.664 9.793-.22 3.13-.52 6.274-1.102 9.352-.61 3.234-1.574 6.402-3.75 9.375-.875-6.348-.973-12.63-6.633-16.66zM92 86.75H35.016v9.898H92zm-45.684 15.016c-.046 8.242 8.348 14.382 18.723 13.937 8.602-.371 16.211-7.137 15.559-13.937zm0 0' fill='#e75225' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Redis() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path fill='#A41E11' d='M121.8 93.1c-6.7 3.5-41.4 17.7-48.8 21.6-7.4 3.9-11.5 3.8-17.3 1S13 98.1 6.3 94.9c-3.3-1.6-5-2.9-5-4.2V78s48-10.5 55.8-13.2c7.8-2.8 10.4-2.9 17-.5s46.1 9.5 52.6 11.9v12.5c0 1.3-1.5 2.7-4.9 4.4z' /><path fill='#D82C20' d='M121.8 80.5C115.1 84 80.4 98.2 73 102.1c-7.4 3.9-11.5 3.8-17.3 1-5.8-2.8-42.7-17.7-49.4-20.9C-.3 79-.5 76.8 6 74.3c6.5-2.6 43.2-17 51-19.7 7.8-2.8 10.4-2.9 17-.5s41.1 16.1 47.6 18.5c6.7 2.4 6.9 4.4.2 7.9z' /><path fill='#A41E11' d='M121.8 72.5C115.1 76 80.4 90.2 73 94.1c-7.4 3.8-11.5 3.8-17.3 1C49.9 92.3 13 77.4 6.3 74.2c-3.3-1.6-5-2.9-5-4.2V57.3s48-10.5 55.8-13.2c7.8-2.8 10.4-2.9 17-.5s46.1 9.5 52.6 11.9V68c0 1.3-1.5 2.7-4.9 4.5z' /><path fill='#D82C20' d='M121.8 59.8c-6.7 3.5-41.4 17.7-48.8 21.6-7.4 3.8-11.5 3.8-17.3 1C49.9 79.6 13 64.7 6.3 61.5s-6.8-5.4-.3-7.9c6.5-2.6 43.2-17 51-19.7 7.8-2.8 10.4-2.9 17-.5s41.1 16.1 47.6 18.5c6.7 2.4 6.9 4.4.2 7.9z' /><path fill='#A41E11' d='M121.8 51c-6.7 3.5-41.4 17.7-48.8 21.6-7.4 3.8-11.5 3.8-17.3 1C49.9 70.9 13 56 6.3 52.8c-3.3-1.6-5.1-2.9-5.1-4.2V35.9s48-10.5 55.8-13.2c7.8-2.8 10.4-2.9 17-.5s46.1 9.5 52.6 11.9v12.5c.1 1.3-1.4 2.6-4.8 4.4z' /><path fill='#D82C20' d='M121.8 38.3C115.1 41.8 80.4 56 73 59.9c-7.4 3.8-11.5 3.8-17.3 1S13 43.3 6.3 40.1s-6.8-5.4-.3-7.9c6.5-2.6 43.2-17 51-19.7 7.8-2.8 10.4-2.9 17-.5s41.1 16.1 47.6 18.5c6.7 2.4 6.9 4.4.2 7.8z' /><path fill='#fff' d='M80.4 26.1l-10.8 1.2-2.5 5.8-3.9-6.5-12.5-1.1 9.3-3.4-2.8-5.2 8.8 3.4 8.2-2.7L72 23zM66.5 54.5l-20.3-8.4 29.1-4.4z' /><ellipse fill='#fff' cx='38.4' cy='35.4' rx='15.5' ry='6' /><path fill='#7A0C00' d='M93.3 27.7l17.2 6.8-17.2 6.8z' /><path fill='#AD2115' d='M74.3 35.3l19-7.6v13.6l-1.9.8z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,8 @@
|
||||||
|
export default function Sentry() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 44'>
|
||||||
|
<defs><style type='text/css'>{'@media (prefers-color-scheme: dark) {path.__sntry__ { fill: #ffffff !important; }}'}</style></defs>
|
||||||
|
<path d='M29,2.26a4.67,4.67,0,0,0-8,0L14.42,13.53A32.21,32.21,0,0,1,32.17,40.19H27.55A27.68,27.68,0,0,0,12.09,17.47L6,28a15.92,15.92,0,0,1,9.23,12.17H4.62A.76.76,0,0,1,4,39.06l2.94-5a10.74,10.74,0,0,0-3.36-1.9l-2.91,5a4.54,4.54,0,0,0,1.69,6.24A4.66,4.66,0,0,0,4.62,44H19.15a19.4,19.4,0,0,0-8-17.31l2.31-4A23.87,23.87,0,0,1,23.76,44H36.07a35.88,35.88,0,0,0-16.41-31.8l4.67-8a.77.77,0,0,1,1.05-.27c.53.29,20.29,34.77,20.66,35.17a.76.76,0,0,1-.68,1.13H40.6q.09,1.91,0,3.81h4.78A4.59,4.59,0,0,0,50,39.43a4.49,4.49,0,0,0-.62-2.28Z' fill='#362d59' class='__sntry__' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
export default function Solidjs() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 166 155.3'>
|
||||||
|
<defs><linearGradient id='a' gradientUnits='userSpaceOnUse' x1='27.5' y1='3' x2='152' y2='63.5'><stop offset='.1' stop-color='#76b3e1'/><stop offset='.3' stop-color='#dcf2fd'/><stop offset='1' stop-color='#76b3e1'/></linearGradient><linearGradient id='b' gradientUnits='userSpaceOnUse' x1='95.8' y1='32.6' x2='74' y2='105.2'><stop offset='0' stop-color='#76b3e1'/><stop offset='.5' stop-color='#4377bb'/><stop offset='1' stop-color='#1f3b77'/></linearGradient><linearGradient id='c' gradientUnits='userSpaceOnUse' x1='18.4' y1='64.2' x2='144.3' y2='149.8'><stop offset='0' stop-color='#315aa9'/><stop offset='.5' stop-color='#518ac8'/><stop offset='1' stop-color='#315aa9'/></linearGradient><linearGradient id='d' gradientUnits='userSpaceOnUse' x1='75.2' y1='74.5' x2='24.4' y2='260.8'><stop offset='0' stop-color='#4377bb'/><stop offset='.5' stop-color='#1a336b'/><stop offset='1' stop-color='#1a336b'/></linearGradient></defs>
|
||||||
|
<path d='M163 35S110-4 69 5l-3 1c-6 2-11 5-14 9l-2 3-15 26 26 5c11 7 25 10 38 7l46 9 18-30z' fill='#76b3e1'/><path d='M163 35S110-4 69 5l-3 1c-6 2-11 5-14 9l-2 3-15 26 26 5c11 7 25 10 38 7l46 9 18-30z' opacity='.3' fill='url(#a)'/><path d='M52 35l-4 1c-17 5-22 21-13 35 10 13 31 20 48 15l62-21S92 26 52 35z' fill='#518ac8'/><path d='M52 35l-4 1c-17 5-22 21-13 35 10 13 31 20 48 15l62-21S92 26 52 35z' opacity='.3' fill='url(#b)'/><path d='M134 80a45 45 0 00-48-15L24 85 4 120l112 19 20-36c4-7 3-15-2-23z' fill='url(#c)'/><path d='M114 115a45 45 0 00-48-15L4 120s53 40 94 30l3-1c17-5 23-21 13-34z' fill='url(#d)'/>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
export default function Svelte() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 98.1 118' style={{ 'enable-background': 'new 0 0 98.1 118' }}>
|
||||||
|
<path fill='#FF3E00' d='M91.8,15.6C80.9-0.1,59.2-4.7,43.6,5.2L16.1,22.8C8.6,27.5,3.4,35.2,1.9,43.9c-1.3,7.3-0.2,14.8,3.3,21.3c-2.4,3.6-4,7.6-4.7,11.8c-1.6,8.9,0.5,18.1,5.7,25.4c11,15.7,32.6,20.3,48.2,10.4l27.5-17.5c7.5-4.7,12.7-12.4,14.2-21.1c1.3-7.3,0.2-14.8-3.3-21.3c2.4-3.6,4-7.6,4.7-11.8C99.2,32.1,97.1,22.9,91.8,15.6' />
|
||||||
|
<path fill='#FFFFFF' d='M40.9,103.9c-8.9,2.3-18.2-1.2-23.4-8.7c-3.2-4.4-4.4-9.9-3.5-15.3c0.2-0.9,0.4-1.7,0.6-2.6l0.5-1.6l1.4,1c3.3,2.4,6.9,4.2,10.8,5.4l1,0.3l-0.1,1c-0.1,1.4,0.3,2.9,1.1,4.1c1.6,2.3,4.4,3.4,7.1,2.7c0.6-0.2,1.2-0.4,1.7-0.7L65.5,72c1.4-0.9,2.3-2.2,2.6-3.8c0.3-1.6-0.1-3.3-1-4.6c-1.6-2.3-4.4-3.3-7.1-2.6c-0.6,0.2-1.2,0.4-1.7,0.7l-10.5,6.7c-1.7,1.1-3.6,1.9-5.6,2.4c-8.9,2.3-18.2-1.2-23.4-8.7c-3.1-4.4-4.4-9.9-3.4-15.3c0.9-5.2,4.1-9.9,8.6-12.7l27.5-17.5c1.7-1.1,3.6-1.9,5.6-2.5c8.9-2.3,18.2,1.2,23.4,8.7c3.2,4.4,4.4,9.9,3.5,15.3c-0.2,0.9-0.4,1.7-0.7,2.6l-0.5,1.6l-1.4-1c-3.3-2.4-6.9-4.2-10.8-5.4l-1-0.3l0.1-1c0.1-1.4-0.3-2.9-1.1-4.1c-1.6-2.3-4.4-3.3-7.1-2.6c-0.6,0.2-1.2,0.4-1.7,0.7L32.4,46.1c-1.4,0.9-2.3,2.2-2.6,3.8s0.1,3.3,1,4.6c1.6,2.3,4.4,3.3,7.1,2.6c0.6-0.2,1.2-0.4,1.7-0.7l10.5-6.7c1.7-1.1,3.6-1.9,5.6-2.5c8.9-2.3,18.2,1.2,23.4,8.7c3.2,4.4,4.4,9.9,3.5,15.3c-0.9,5.2-4.1,9.9-8.6,12.7l-27.5,17.5C44.8,102.5,42.9,103.3,40.9,103.9' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function TailwindCSS() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path d='M64.004 25.602c-17.067 0-27.73 8.53-32 25.597 6.398-8.531 13.867-11.73 22.398-9.597 4.871 1.214 8.352 4.746 12.207 8.66C72.883 56.629 80.145 64 96.004 64c17.066 0 27.73-8.531 32-25.602-6.399 8.536-13.867 11.735-22.399 9.602-4.87-1.215-8.347-4.746-12.207-8.66-6.27-6.367-13.53-13.738-29.394-13.738zM32.004 64c-17.066 0-27.73 8.531-32 25.602C6.402 81.066 13.87 77.867 22.402 80c4.871 1.215 8.352 4.746 12.207 8.66 6.274 6.367 13.536 13.738 29.395 13.738 17.066 0 27.73-8.53 32-25.597-6.399 8.531-13.867 11.73-22.399 9.597-4.87-1.214-8.347-4.746-12.207-8.66C55.128 71.371 47.868 64 32.004 64zm0 0' fill='#38b2ac' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Typescript() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path fill='#fff' d='M22.67 47h99.67v73.67H22.67z' /><path data-name='original' fill='#007acc' d='M1.5 63.91v62.5h125v-125H1.5zm100.73-5a15.56 15.56 0 017.82 4.5 20.58 20.58 0 013 4c0 .16-5.4 3.81-8.69 5.85-.12.08-.6-.44-1.13-1.23a7.09 7.09 0 00-5.87-3.53c-3.79-.26-6.23 1.73-6.21 5a4.58 4.58 0 00.54 2.34c.83 1.73 2.38 2.76 7.24 4.86 8.95 3.85 12.78 6.39 15.16 10 2.66 4 3.25 10.46 1.45 15.24-2 5.2-6.9 8.73-13.83 9.9a38.32 38.32 0 01-9.52-.1 23 23 0 01-12.72-6.63c-1.15-1.27-3.39-4.58-3.25-4.82a9.34 9.34 0 011.15-.73L82 101l3.59-2.08.75 1.11a16.78 16.78 0 004.74 4.54c4 2.1 9.46 1.81 12.16-.62a5.43 5.43 0 00.69-6.92c-1-1.39-3-2.56-8.59-5-6.45-2.78-9.23-4.5-11.77-7.24a16.48 16.48 0 01-3.43-6.25 25 25 0 01-.22-8c1.33-6.23 6-10.58 12.82-11.87a31.66 31.66 0 019.49.26zm-29.34 5.24v5.12H56.66v46.23H45.15V69.26H28.88v-5a49.19 49.19 0 01.12-5.17C29.08 59 39 59 51 59h21.83z' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default function Vuejs() {
|
||||||
|
return (
|
||||||
|
<svg class='h-5' viewBox='0 0 128 128'>
|
||||||
|
<path d='M0 8.934l49.854.158 14.167 24.47 14.432-24.47L128 8.935l-63.834 110.14zm126.98.637l-24.36.02-38.476 66.053L25.691 9.592.942 9.572l63.211 107.89zm-25.149-.008l-22.745.168-15.053 24.647L49.216 9.73l-22.794-.168 37.731 64.476zm-75.834-.17l23.002.009m-23.002-.01l23.002.01' fill='none' /><path d='M25.997 9.393l23.002.009L64.035 34.36 79.018 9.404 102 9.398 64.15 75.053z' fill='#35495e' /><path d='M.91 9.569l25.067-.172 38.15 65.659L101.98 9.401l25.11.026-62.966 108.06z' fill='#41b883' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
link: string;
|
link: string;
|
||||||
text: string;
|
text: string;
|
|
@ -1,17 +1,17 @@
|
||||||
import { NavLink } from 'solid-app-router';
|
import { A } from 'solid-start';
|
||||||
|
|
||||||
function Navbar() {
|
function Navbar() {
|
||||||
return (
|
return (
|
||||||
<section class='w-full flex flex-col md:flex-row justify-between py-6 items-center'>
|
<section class='w-full flex flex-col md:flex-row justify-between py-6 items-center'>
|
||||||
<div class='flex-3'>
|
<div class='flex-3'>
|
||||||
<NavLink href='/'>
|
<A href='/'>
|
||||||
<h1 class='text-3xl font-bold inline-block'>Reinaldy Rafli </h1>
|
<h1 class='text-3xl font-bold inline-block'>Reinaldy Rafli </h1>
|
||||||
<img
|
<img
|
||||||
src='/me.png'
|
src='/me.png'
|
||||||
alt='My Memoji'
|
alt='My Memoji'
|
||||||
class='w-14 h-auto md:py-4 inline pl-4'
|
class='w-14 h-auto md:py-4 inline pl-4'
|
||||||
/>
|
/>
|
||||||
</NavLink>
|
</A>
|
||||||
</div>
|
</div>
|
||||||
<div class='flex-1 text-right py-2 text-2xl'>Projects</div>
|
<div class='flex-1 text-right py-2 text-2xl'>Projects</div>
|
||||||
</section>
|
</section>
|
|
@ -1,18 +1,20 @@
|
||||||
import { For, Show } from 'solid-js';
|
import { For, Show } from 'solid-js';
|
||||||
import Icons from './Icons';
|
import Icons from './Icons';
|
||||||
import { Project } from '../types/project';
|
import { Project } from '../types/project';
|
||||||
import { NavLink } from 'solid-app-router';
|
import { A } from 'solid-start';
|
||||||
import { convertCase } from '../config/case';
|
import { convertCase } from '../config/case';
|
||||||
|
import Github from './Icons/Github';
|
||||||
|
import ArrowRight from './Icons/ArrowRight';
|
||||||
|
|
||||||
function ProjectCard(project: Project) {
|
function ProjectCard(project: Project) {
|
||||||
return (
|
return (
|
||||||
<div class='rounded-lg bg-steel-100 hover:bg-wisteria-200 lg:(opacity-70 p-4) p-3 hover:opacity-100 dark:(bg-steel-900 hover:bg-wisteria-900) transition duration-500 ease-in-out'>
|
<div class='rounded-lg bg-steel-100 hover:bg-wisteria-200 lg:(opacity-70 p-4) p-3 hover:opacity-100 dark:(bg-steel-900 hover:bg-wisteria-900) transition duration-500 ease-in-out'>
|
||||||
<div class='flex flex-col'>
|
<div class='flex flex-col'>
|
||||||
<div class='flex-1 py-2'>
|
<div class='flex-1 py-2'>
|
||||||
<NavLink href={'/project/' + convertCase(project.title)}>
|
<A href={'/project/' + convertCase(project.title)}>
|
||||||
<h2 class='text-xl font-bold'>{project.title}</h2>
|
<h2 class='text-xl font-bold'>{project.title}</h2>
|
||||||
<p class='text-base'>{project.description}</p>
|
<p class='text-base'>{project.description}</p>
|
||||||
</NavLink>
|
</A>
|
||||||
</div>
|
</div>
|
||||||
<div class='flex-1 py-2'>
|
<div class='flex-1 py-2'>
|
||||||
<div class='flex-col md:flex-row items-center'>
|
<div class='flex-col md:flex-row items-center'>
|
||||||
|
@ -32,7 +34,7 @@ function ProjectCard(project: Project) {
|
||||||
<Show when={project.repository}>
|
<Show when={project.repository}>
|
||||||
<div class='flex-initial pr-2'>
|
<div class='flex-initial pr-2'>
|
||||||
<a href={project.repository}>
|
<a href={project.repository}>
|
||||||
<Icons name='github' />
|
<Github />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class='flex-initial pr-4 text-xs'>
|
<div class='flex-initial pr-4 text-xs'>
|
||||||
|
@ -42,7 +44,7 @@ function ProjectCard(project: Project) {
|
||||||
<Show when={project.website}>
|
<Show when={project.website}>
|
||||||
<div class='flex-initial pr-2'>
|
<div class='flex-initial pr-2'>
|
||||||
<a href={project.website}>
|
<a href={project.website}>
|
||||||
<Icons name='arrow-right' />
|
<ArrowRight />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class='flex-initial pr-2 text-xs'>
|
<div class='flex-initial pr-2 text-xs'>
|
|
@ -2,12 +2,12 @@ import { Project } from '../types/project';
|
||||||
|
|
||||||
const projects: Project[] = [
|
const projects: Project[] = [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 0,
|
||||||
type: 'library',
|
type: 'application',
|
||||||
stack: ['typescript'],
|
stack: ['typescript', 'nodejs', 'go', 'csharp', 'docker', 'sentry'],
|
||||||
title: 'Generate Passphrase',
|
title: 'Pesto',
|
||||||
description: 'Secure random passphrase for Node.js',
|
description: 'Remote Code Execution Engine that lets you execute any piece of code on a remote server via REST API',
|
||||||
repository: 'https://github.com/aldy505/generate-passphrase',
|
repository: 'https://github.com/teknologi-umum/pesto',
|
||||||
role: 'author',
|
role: 'author',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -19,6 +19,15 @@ const projects: Project[] = [
|
||||||
repository: 'https://github.com/aldy505/bob',
|
repository: 'https://github.com/aldy505/bob',
|
||||||
role: 'author',
|
role: 'author',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
type: 'library',
|
||||||
|
title: 'Nanoid.jl',
|
||||||
|
stack: ['julia'],
|
||||||
|
description: 'Nanoid implementation in Julia',
|
||||||
|
repository: 'https://github.com/aldy505/Nanoid.jl',
|
||||||
|
role: 'author',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
type: 'library',
|
type: 'library',
|
||||||
|
@ -38,7 +47,7 @@ const projects: Project[] = [
|
||||||
role: 'author',
|
role: 'author',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 5,
|
id: 6,
|
||||||
type: 'application',
|
type: 'application',
|
||||||
stack: ['go', 'typescript', 'svelte', 'tailwindcss', 'postgresql', 'redis', 'sentry', 'docker'],
|
stack: ['go', 'typescript', 'svelte', 'tailwindcss', 'postgresql', 'redis', 'sentry', 'docker'],
|
||||||
title: 'Jokes Bapak2',
|
title: 'Jokes Bapak2',
|
||||||
|
@ -48,7 +57,7 @@ const projects: Project[] = [
|
||||||
role: 'author',
|
role: 'author',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 6,
|
id: 13,
|
||||||
type: 'library',
|
type: 'library',
|
||||||
stack: ['typescript'],
|
stack: ['typescript'],
|
||||||
title: 'Tinyhttp',
|
title: 'Tinyhttp',
|
||||||
|
@ -68,24 +77,6 @@ const projects: Project[] = [
|
||||||
{
|
{
|
||||||
id: 8,
|
id: 8,
|
||||||
type: 'application',
|
type: 'application',
|
||||||
stack: ['vuejs', 'nuxtjs', 'bootstrap'],
|
|
||||||
title: 'Pesanyuk',
|
|
||||||
description: 'Store-management application for Indonesian small to medium businesses',
|
|
||||||
website: 'https://pesanyuk.id',
|
|
||||||
role: 'contributor',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 9,
|
|
||||||
type: 'application',
|
|
||||||
stack: ['javascript', 'redis', 'mongodb', 'sentry', 'docker'],
|
|
||||||
title: 'Teknologi Umum Bot',
|
|
||||||
description: 'A simple telegram bot for managing daily poll & programming-related quizes',
|
|
||||||
repository: 'https://github.com/teknologi-umum/bot',
|
|
||||||
role: 'author',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 10,
|
|
||||||
type: 'application',
|
|
||||||
stack: ['typescript', 'nodejs', 'solidjs', 'sentry', 'docker'],
|
stack: ['typescript', 'nodejs', 'solidjs', 'sentry', 'docker'],
|
||||||
title: 'Graphene',
|
title: 'Graphene',
|
||||||
description: 'Code screenshot API as an alternative to Carbon.now.sh or Ray.so',
|
description: 'Code screenshot API as an alternative to Carbon.now.sh or Ray.so',
|
||||||
|
@ -113,7 +104,7 @@ const projects: Project[] = [
|
||||||
role: 'author',
|
role: 'author',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 15,
|
id: 5,
|
||||||
type: 'application',
|
type: 'application',
|
||||||
stack: ['vuejs', 'nuxtjs', 'tailwindcss'],
|
stack: ['vuejs', 'nuxtjs', 'tailwindcss'],
|
||||||
title: 'Cbusters',
|
title: 'Cbusters',
|
||||||
|
@ -121,6 +112,24 @@ const projects: Project[] = [
|
||||||
website: 'https://www.cbusters.com',
|
website: 'https://www.cbusters.com',
|
||||||
role: 'author',
|
role: 'author',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 10,
|
||||||
|
type: 'application',
|
||||||
|
stack: ['vuejs', 'nuxtjs', 'bootstrap'],
|
||||||
|
title: 'Pesanyuk',
|
||||||
|
description: 'Store-management application for Indonesian small to medium businesses',
|
||||||
|
website: 'https://pesanyuk.id',
|
||||||
|
role: 'contributor',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 9,
|
||||||
|
type: 'application',
|
||||||
|
stack: ['javascript', 'redis', 'mongodb', 'sentry', 'docker'],
|
||||||
|
title: 'Teknologi Umum Bot',
|
||||||
|
description: 'A simple telegram bot for managing daily poll & programming-related quizes',
|
||||||
|
repository: 'https://github.com/teknologi-umum/bot',
|
||||||
|
role: 'author',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 16,
|
id: 16,
|
||||||
type: 'application',
|
type: 'application',
|
||||||
|
@ -194,6 +203,15 @@ const projects: Project[] = [
|
||||||
repository: 'https://github.com/aldy505/decrr',
|
repository: 'https://github.com/aldy505/decrr',
|
||||||
role: 'author',
|
role: 'author',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 12,
|
||||||
|
type: 'library',
|
||||||
|
stack: ['typescript'],
|
||||||
|
title: 'Generate Passphrase',
|
||||||
|
description: 'Secure random passphrase for Node.js',
|
||||||
|
repository: 'https://github.com/aldy505/generate-passphrase',
|
||||||
|
role: 'author',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 23,
|
id: 23,
|
||||||
type: 'application',
|
type: 'application',
|
||||||
|
@ -212,15 +230,7 @@ const projects: Project[] = [
|
||||||
repository: 'https://github.com/teknologi-umum/gitgram',
|
repository: 'https://github.com/teknologi-umum/gitgram',
|
||||||
role: 'contributor',
|
role: 'contributor',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
id: 25,
|
|
||||||
type: 'library',
|
|
||||||
title: 'Nanoid.jl',
|
|
||||||
stack: ['julia'],
|
|
||||||
description: 'Nanoid implementation in Julia',
|
|
||||||
repository: 'https://github.com/aldy505/Nanoid.jl',
|
|
||||||
role: 'author',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: 26,
|
id: 26,
|
||||||
type: 'library',
|
type: 'library',
|
|
@ -0,0 +1,3 @@
|
||||||
|
import { mount, StartClient } from 'solid-start/entry-client';
|
||||||
|
|
||||||
|
mount(() => <StartClient />, document);
|
|
@ -0,0 +1,9 @@
|
||||||
|
import {
|
||||||
|
StartServer,
|
||||||
|
createHandler,
|
||||||
|
renderAsync,
|
||||||
|
} from 'solid-start/entry-server';
|
||||||
|
|
||||||
|
export default createHandler(
|
||||||
|
renderAsync(event => <StartServer event={event} />),
|
||||||
|
);
|
|
@ -1,11 +1,6 @@
|
||||||
import { RouteDefinition, useRoutes } from 'solid-app-router';
|
import { RouteDefinition, useRoutes } from 'solid-app-router';
|
||||||
import { For, lazy } from 'solid-js';
|
import { For, lazy } from 'solid-js';
|
||||||
import { MetaProvider, Title, Link, Meta } from 'solid-meta';
|
import { MetaProvider, Title, Link, Meta } from 'solid-meta';
|
||||||
import head from '../config/head';
|
|
||||||
import '@fontsource/poppins/400.css';
|
|
||||||
import '@fontsource/poppins/700.css';
|
|
||||||
import '@fontsource/ibm-plex-mono/400.css';
|
|
||||||
import '../styles/default.sass';
|
|
||||||
|
|
||||||
const route: RouteDefinition[] = [
|
const route: RouteDefinition[] = [
|
||||||
{
|
{
|
||||||
|
@ -36,11 +31,9 @@ function Default() {
|
||||||
<Meta name={meta?.name ?? ''} property={meta?.property ?? ''} content={meta.content} />
|
<Meta name={meta?.name ?? ''} property={meta?.property ?? ''} content={meta.content} />
|
||||||
}</For>
|
}</For>
|
||||||
</MetaProvider>
|
</MetaProvider>
|
||||||
<div class='bg-cool-gray-100 text-black dark:(bg-cool-gray-900 text-white) min-h-screen min-w-full h-full w-full font-body'>
|
|
||||||
<div class='container mx-auto px-10 md:px-20 lg:px-32'>
|
|
||||||
<Routes />
|
<Routes />
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
import { useParams } from 'solid-app-router';
|
import { useParams } from 'solid-start';
|
||||||
import { createSignal, For, onMount, Show } from 'solid-js';
|
import { createSignal, For, onMount, Show } from 'solid-js';
|
||||||
import { marked } from 'marked';
|
import { marked } from 'marked';
|
||||||
import Navbar from '../../components/Navbar';
|
import Navbar from '../../components/Navbar';
|
||||||
|
@ -6,14 +6,13 @@ import { convertCase } from '../../config/case';
|
||||||
import projects from '../../config/projects';
|
import projects from '../../config/projects';
|
||||||
import { GithubRepository } from '../../types/github';
|
import { GithubRepository } from '../../types/github';
|
||||||
import { Project } from '../../types/project';
|
import { Project } from '../../types/project';
|
||||||
import 'solid-styled-jsx';
|
import '../../styles/repo.sass';
|
||||||
import css from '../../styles/repo.sass';
|
|
||||||
import Icons from '../../components/Icons';
|
import Icons from '../../components/Icons';
|
||||||
|
|
||||||
async function fetchData(repo: string): Promise<Project> {
|
async function fetchData(repo: string): Promise<Project> {
|
||||||
const findData = projects.find(i => convertCase(i.title) === repo);
|
const findData = projects.find(i => convertCase(i.title) === repo);
|
||||||
|
|
||||||
if (!findData.repository) {
|
if (findData?.repository === undefined) {
|
||||||
return { ...findData, details: 'Oops, sorry. Nothing to see here yet.' };
|
return { ...findData, details: 'Oops, sorry. Nothing to see here yet.' };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,9 +40,6 @@ function ProjectRepo() {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Navbar />
|
<Navbar />
|
||||||
<style jsx dynamic={false} global={false}>
|
|
||||||
{`${css}`}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<Show when={requestOk()} fallback={<div>Please wait...</div>}>
|
<Show when={requestOk()} fallback={<div>Please wait...</div>}>
|
||||||
<h1 class='text-3xl font-bold text-left py-2'>
|
<h1 class='text-3xl font-bold text-left py-2'>
|
||||||
|
@ -55,7 +51,7 @@ function ProjectRepo() {
|
||||||
{item => <div class='flex-initial pr-2'><Icons name={item} /></div>}
|
{item => <div class='flex-initial pr-2'><Icons name={item} /></div>}
|
||||||
</For>
|
</For>
|
||||||
</div>
|
</div>
|
||||||
<div innerHTML={marked.parse(data().details)} class='repoContent pb-6 pt-4' />
|
<div innerHTML={marked.parse(data().details ?? '')} class='repoContent pb-6 pt-4' />
|
||||||
</Show>
|
</Show>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
|
@ -0,0 +1,52 @@
|
||||||
|
// @refresh reload
|
||||||
|
import { For, Suspense } from 'solid-js';
|
||||||
|
import {
|
||||||
|
Body,
|
||||||
|
ErrorBoundary,
|
||||||
|
FileRoutes,
|
||||||
|
Head,
|
||||||
|
Html,
|
||||||
|
Link,
|
||||||
|
Meta,
|
||||||
|
Routes,
|
||||||
|
Scripts,
|
||||||
|
Title,
|
||||||
|
} from 'solid-start';
|
||||||
|
import 'virtual:windi.css';
|
||||||
|
import '@fontsource/poppins/400.css';
|
||||||
|
import '@fontsource/poppins/700.css';
|
||||||
|
import '@fontsource/ibm-plex-mono/400.css';
|
||||||
|
import head from './config/head';
|
||||||
|
import './styles/default.sass';
|
||||||
|
|
||||||
|
export default function Root() {
|
||||||
|
return (
|
||||||
|
<Html lang='en'>
|
||||||
|
<Head>
|
||||||
|
<Title>{head.title}</Title>
|
||||||
|
<Meta charset='utf-8' />
|
||||||
|
<For each={head.link}>{link =>
|
||||||
|
<Link rel={link.rel} href={link.href} type={link?.type ?? ''} />
|
||||||
|
}</For>
|
||||||
|
<For each={head.meta}>{meta =>
|
||||||
|
<Meta name={meta?.name ?? ''} property={meta?.property ?? ''} content={meta.content} />
|
||||||
|
}</For>
|
||||||
|
<Meta name='viewport' content='width=device-width, initial-scale=1' />
|
||||||
|
</Head>
|
||||||
|
<Body>
|
||||||
|
<ErrorBoundary>
|
||||||
|
<Suspense>
|
||||||
|
<div class='bg-cool-gray-100 text-black dark:(bg-cool-gray-900 text-white) min-h-screen min-w-full h-full w-full font-body'>
|
||||||
|
<div class='container mx-auto px-10 md:px-20 lg:px-32'>
|
||||||
|
<Routes>
|
||||||
|
<FileRoutes />
|
||||||
|
</Routes>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Suspense>
|
||||||
|
</ErrorBoundary>
|
||||||
|
<Scripts />
|
||||||
|
</Body>
|
||||||
|
</Html>
|
||||||
|
);
|
||||||
|
}
|
|
@ -22,7 +22,14 @@ export type Stack =
|
||||||
'tailwindcss' |
|
'tailwindcss' |
|
||||||
'typescript' |
|
'typescript' |
|
||||||
'vuejs' |
|
'vuejs' |
|
||||||
'svelte'
|
'svelte' |
|
||||||
|
'c' |
|
||||||
|
'c++' |
|
||||||
|
'csharp' |
|
||||||
|
'crystal' |
|
||||||
|
'kafka' |
|
||||||
|
'prometheus' |
|
||||||
|
'bash'
|
||||||
|
|
||||||
export interface Project {
|
export interface Project {
|
||||||
id: number;
|
id: number;
|
|
@ -1,12 +1,17 @@
|
||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
"target": "ESNext",
|
"target": "ESNext",
|
||||||
"module": "ESNext",
|
"module": "ESNext",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"allowSyntheticDefaultImports": true,
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"jsx": "preserve",
|
|
||||||
"jsxImportSource": "solid-js",
|
"jsxImportSource": "solid-js",
|
||||||
"types": ["vite/client"]
|
"jsx": "preserve",
|
||||||
|
"strict": true,
|
||||||
|
"types": ["vite/client"],
|
||||||
|
"baseUrl": "./",
|
||||||
|
"paths": {
|
||||||
|
"~/*": ["./src/*"]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,23 @@
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
import solidPlugin from 'vite-plugin-solid';
|
import solid from 'solid-start/vite';
|
||||||
|
import cloudflare from 'solid-start-cloudflare-pages';
|
||||||
import windiCSS from 'vite-plugin-windicss';
|
import windiCSS from 'vite-plugin-windicss';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
publicDir: 'static',
|
publicDir: 'static',
|
||||||
plugins: [
|
plugins: [
|
||||||
solidPlugin(),
|
solid({
|
||||||
|
adapter: cloudflare({ sourceMap: false }),
|
||||||
|
routesDir: './pages',
|
||||||
|
}),
|
||||||
windiCSS({
|
windiCSS({
|
||||||
scan: {
|
scan: {
|
||||||
dirs: ['./components', './layouts', './pages'],
|
dirs: ['./src'],
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
build: {
|
build: {
|
||||||
target: 'esnext',
|
target: 'modules',
|
||||||
polyfillDynamicImport: false,
|
|
||||||
emptyOutDir: true,
|
emptyOutDir: true,
|
||||||
outDir: 'dist',
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue