Compare commits

...

7 Commits

Author SHA1 Message Date
M3DZIK ae3c0c2ba2
New librepass domain
LibrePass is now at librepass.org
2023-12-13 19:29:17 +01:00
M3DZIK 31628cc5e0
Update website 2023-12-13 18:37:52 +01:00
M3DZIK 2f828934b9
Update formatter 2023-12-13 18:16:45 +01:00
M3DZIK 01ab9d1e23
Update README 2023-12-13 18:15:05 +01:00
M3DZIK dc91f8abe3
Some changes 2023-10-22 17:22:52 +02:00
M3DZIK 7aec943dc8
Update avatar 2023-07-23 22:23:14 +02:00
M3DZIK a228be69d5
Fix 1 moderate severity vulnerability using npm audit 2023-07-23 21:51:08 +02:00
21 changed files with 3867 additions and 3877 deletions

View File

@ -1,30 +1,25 @@
module.exports = {
root: true,
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:svelte/recommended',
'prettier'
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
parserOptions: {
sourceType: 'module',
ecmaVersion: 2020,
extraFileExtensions: ['.svelte']
},
env: {
browser: true,
es2017: true,
node: true
},
overrides: [
{
files: ['*.svelte'],
parser: 'svelte-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser'
}
}
]
root: true,
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:svelte/recommended', 'prettier'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
parserOptions: {
sourceType: 'module',
ecmaVersion: 2020,
extraFileExtensions: ['.svelte']
},
env: {
browser: true,
es2017: true,
node: true
},
overrides: [
{
files: ['*.svelte'],
parser: 'svelte-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser'
}
}
]
};

View File

@ -1,9 +1,15 @@
{
"useTabs": true,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte"],
"pluginSearchDirs": ["."],
"overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
"tabWidth": 4,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 120,
"plugins": ["prettier-plugin-svelte"],
"overrides": [
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
}

View File

@ -1,5 +1,5 @@
# [Portfolio](https://medzik.dev)
![image](https://github.com/M3DZIK/portfolio/assets/87065584/160a190c-e39a-4801-8ee6-d5a89104e6b1)
![website screenshot](https://github.com/M3DZIK/portfolio/assets/87065584/f283d0fd-1e4b-4aed-a057-bee4a21e03d0)
License: MIT
Licensed under MIT

7234
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,37 +1,37 @@
{
"name": "portfolio",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"lint": "prettier --plugin-search-dir . --check . && eslint .",
"format": "prettier --plugin-search-dir . --write ."
},
"devDependencies": {
"@floating-ui/dom": "^1.4.0",
"@skeletonlabs/skeleton": "^1.7.1",
"@sveltejs/adapter-auto": "^2.0.0",
"@sveltejs/kit": "^1.5.0",
"@typescript-eslint/eslint-plugin": "^5.45.0",
"@typescript-eslint/parser": "^5.45.0",
"autoprefixer": "^10.4.14",
"eslint": "^8.28.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-svelte": "^2.26.0",
"postcss": "^8.4.24",
"prettier": "^2.8.0",
"prettier-plugin-svelte": "^2.8.1",
"svelte": "^3.54.0",
"svelte-check": "^3.0.1",
"svelte-icons": "^2.1.0",
"tailwindcss": "^3.3.2",
"tslib": "^2.4.1",
"typescript": "^5.0.0",
"vite": "^4.3.0"
},
"type": "module"
"name": "portfolio",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"lint": "prettier --plugin-search-dir . --check . && eslint .",
"format": "prettier --plugin-search-dir . --write ."
},
"devDependencies": {
"@floating-ui/dom": "^1.4.0",
"@skeletonlabs/skeleton": "^1.7.1",
"@sveltejs/adapter-auto": "^2.0.0",
"@sveltejs/kit": "^1.5.0",
"@typescript-eslint/eslint-plugin": "^5.45.0",
"@typescript-eslint/parser": "^5.45.0",
"autoprefixer": "^10.4.14",
"eslint": "^8.28.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-svelte": "^2.26.0",
"postcss": "^8.4.24",
"prettier": "^2.8.0",
"prettier-plugin-svelte": "^2.8.1",
"svelte": "^3.54.0",
"svelte-check": "^3.0.1",
"svelte-icons": "^2.1.0",
"tailwindcss": "^3.3.2",
"tslib": "^2.4.1",
"typescript": "^5.0.0",
"vite": "^4.3.0"
},
"type": "module"
}

View File

@ -1,6 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
plugins: {
tailwindcss: {},
autoprefixer: {}
}
};

8
src/app.d.ts vendored
View File

@ -2,8 +2,8 @@
// for information about these interfaces
// and what to do when importing types
declare namespace App {
// interface Locals {}
// interface PageData {}
// interface Error {}
// interface Platform {}
// interface Locals {}
// interface PageData {}
// interface Error {}
// interface Platform {}
}

View File

@ -1,11 +1,12 @@
<!DOCTYPE html>
<html lang="en" class="light">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
%sveltekit.head%
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">%sveltekit.body%</div>
</body>
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.svg" />
<meta name="viewport" content="width=device-width" />
%sveltekit.head%
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">%sveltekit.body%</div>
</body>
</html>

View File

@ -1,5 +1,5 @@
/*place global styles here */
html,
body {
@apply h-full;
@apply h-full;
}

Binary file not shown.

17
src/assets/avatar.svg Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="144.49777mm" height="144.49777mm" viewBox="0 0 511.99998 511.99998" id="svg2" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="layer1" transform="matrix(1, 0, 0, 1, -132.389832, -111.211441)">
<rect style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(132, 126, 237);" id="rect4405" width="512" height="512" x="132.38983" y="111.21142"/>
<path style="opacity:1;fill:#212121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" d="M 146.53197,522.09515 389.7767,118.33718 634.43565,611.89771 Z" id="path4222"/>
<circle r="56.154" cy="274.796" cx="433.733" id="circle-1" style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; stroke-width: 5px; fill: rgb(255, 255, 255);"/>
<path style="opacity:1;fill:#212121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" d="M 435.169 239.865 L 400.52 295.373 L 415.085 295.373 L 435.169 263.199 L 454.022 295.373 L 467.694 295.373 L 435.169 239.865 Z" id="path4249"/>
<circle r="56.154327" cy="285.96564" cx="291.86502" id="circle4582" style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; stroke-width: 5px; fill: rgb(255, 255, 255);"/>
<path style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(255, 255, 255);" d="M 105.58594 320.02148 L 87.222656 424.33398 L 394.07617 480.8125 L 412.85938 374.11328 L 105.58594 320.02148 z " id="rect4224" transform="translate(132.38983,111.21144)"/>
<path style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(255, 255, 255);" d="M 223.44531 235.52148 L 223.44531 340.76953 L 267.28711 348.48633 L 267.28711 235.52148 L 223.44531 235.52148 z " transform="translate(132.38983,111.21144)" id="rect4264"/>
<path style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(33, 33, 33);" d="M 370.60352 235.52148 L 392.33398 279.36133 L 418.25391 279.36133 L 418.25391 235.52148 L 370.60352 235.52148 z " id="rect4266" transform="translate(132.38983,111.21144)"/>
<rect transform="matrix(0,1,-1,0,0,0)" style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(132, 126, 237);" id="rect4268" width="43.13353" height="47.376015" x="400.82635" y="-457.30527"/>
<path style="opacity:1;fill:#212121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" d="M 223.44531 340.76953 L 223.44531 376.23633 L 267.28711 376.23633 L 267.28711 348.48633 L 223.44531 340.76953 z " transform="translate(132.38983,111.21144)" id="path4277"/>
<path style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(255, 255, 255);" d="M 277.53906 235.52148 L 277.53906 279.36133 L 392.33398 279.36133 L 370.60352 235.52148 L 277.53906 235.52148 z " transform="translate(132.38983,111.21144)" id="rect4285"/>
<circle r="15" cy="286.465" cx="292.846" id="circle-2" style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(33, 33, 33);"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -5,10 +5,7 @@
</script>
<div class="card variant-glass md:p-10 shadow-lg space-y-4 text-center btn whitespace-normal grid">
<div
class="mx-auto variant-glass rounded-2xl p-2"
style="width: 50px; height: 50px;"
>
<div class="mx-auto variant-glass rounded-2xl p-2" style="width: 50px; height: 50px;">
<svelte:component this={icon} />
</div>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,7 +1,7 @@
<script>
import '@skeletonlabs/skeleton/themes/theme-skeleton.css';
import '@skeletonlabs/skeleton/styles/skeleton.css';
import '../app.postcss';
import '@skeletonlabs/skeleton/themes/theme-skeleton.css';
import '@skeletonlabs/skeleton/styles/skeleton.css';
import '../app.postcss';
</script>
<slot />

View File

@ -1,147 +1,102 @@
<script>
import { ProgressBar } from "@skeletonlabs/skeleton";
import { ProgressBar } from '@skeletonlabs/skeleton';
import DiJava from 'svelte-icons/di/DiJava.svelte'
import DiGo from 'svelte-icons/di/DiGo.svelte'
import DiJavascript from 'svelte-icons/di/DiJavascript1.svelte'
import FaGithub from "svelte-icons/fa/FaGithub.svelte";
import FaGitlab from "svelte-icons/fa/FaGitlab.svelte";
import FaCreditCard from "svelte-icons/fa/FaCreditCard.svelte";
import FaYoutube from "svelte-icons/fa/FaYoutube.svelte";
import FaTelegram from "svelte-icons/fa/FaTelegram.svelte";
import MdEmail from "svelte-icons/md/MdEmail.svelte";
import MdSecurity from "svelte-icons/md/MdSecurity.svelte";
import FaGithub from 'svelte-icons/fa/FaGithub.svelte';
import FaGitlab from 'svelte-icons/fa/FaGitlab.svelte';
import FaCreditCard from 'svelte-icons/fa/FaCreditCard.svelte';
import MdEmail from 'svelte-icons/md/MdEmail.svelte';
import MdSecurity from 'svelte-icons/md/MdSecurity.svelte';
import SkillCard from "$lib/SkillCard.svelte";
import Svelte from "$lib/icons/Svelte.svelte";
import Card from '$lib/Card.svelte';
import avatar from '../assets/avatar.avif'
import avatar from '../assets/avatar.svg';
</script>
<svelte:head>
<title>Medzik</title>
<meta name="description" content="I'm a self-taught programmer with a passion for open-source software. Currently working on LibrePass, a password manager, and using Fedora with KDE. Explore my portfolio for more projects and achievements.">
<meta name="keywords" content="self-taught programmer, open-source software, LibrePass, password manager, Fedora, KDE, portfolio, projects, achievements">
<title>Medzik</title>
<meta
name="description"
content="I'm a self-taught programmer with a passion for open-source software. Currently working on LibrePass, a password manager, and using Fedora with KDE. Explore my portfolio for more projects and achievements."
/>
<meta
name="keywords"
content="self-taught programmer, open-source software, LibrePass, password manager, Fedora, KDE, portfolio, projects, achievements"
/>
</svelte:head>
<div class="first-gradient h-full mx-auto flex justify-center items-center">
<div class="max-w-[640px] variant-glass rounded-container-token shadow-xl">
<div class="grid grid-cols-3 gap-8 items-center p-6">
<img src={avatar} class="w-full aspect-square rounded-full" alt="Avatar" />
<div class="card-gradient min-h-[100vh] mx-auto flex justify-center items-center">
<div class="max-w-[640px] variant-glass rounded-container-token shadow-xl">
<div class="grid grid-cols-3 gap-8 items-center p-6">
<img src={avatar} class="w-full aspect-square rounded-full" alt="Avatar" />
<div class="col-span-2 space-y-2">
<div class="text-on-primary-token text-lg opacity-75">Self-Taught Programmer</div>
<div class="col-span-2 space-y-2">
<div class="text-on-primary-token text-lg opacity-75">Self-Taught Programmer</div>
<div class="text-on-primary-token font-bold text-xl sm:text-3xl">Oskar</div>
<div class="text-on-primary-token font-bold text-xl sm:text-3xl">Oskar</div>
<div class="text-on-primary-token text-lg sm:text-2xl">Creating the Future</div>
</div>
</div>
<div class="text-on-primary-token text-lg sm:text-2xl">Creating the Future</div>
</div>
</div>
<ProgressBar rounded="rounded-none" />
<ProgressBar rounded="rounded-none" value={100} />
<footer class="grid grid-cols-4 place-items-center p-6 gap-10">
<a class="btn-icon bg-surface-200 p-2" href="https://github.com/M3DZIK">
<FaGithub />
</a>
<footer class="grid grid-cols-4 place-items-center p-6 gap-10">
<a class="btn-icon bg-surface-200 p-2" href="https://github.com/M3DZIK">
<FaGithub />
</a>
<a class="btn-icon bg-surface-200 p-2" href="https://gitlab.com/Medzik">
<FaGitlab />
</a>
<a class="btn-icon bg-surface-200 p-2" href="https://gitlab.com/Medzik">
<FaGitlab />
</a>
<a class="btn-icon bg-surface-200 p-2" href="mailto:me@medzik.dev">
<MdEmail />
</a>
<a class="btn-icon bg-surface-200 p-2" href="mailto:me@medzik.dev">
<MdEmail />
</a>
<a class="btn-icon bg-surface-200 p-2" href="https://liberapay.com/Medzik/">
<FaCreditCard />
</a>
</footer>
</div>
<a class="btn-icon bg-surface-200 p-2" href="https://liberapay.com/Medzik/">
<FaCreditCard />
</a>
</footer>
</div>
<div class="absolute bottom-4">
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
class="h-8 w-8 text-on-primary-token animate-bounce"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3" />
</svg>
</div>
</div>
<div class="mx-auto flex justify-center items-center bg-primary-100 p-16">
<div class="container space-y-10">
<h2 class="h2 text-center card-header">Languages</h2>
<div class="project-gradient mx-auto flex justify-center items-center p-16">
<div class="container space-y-10">
<h2 class="h2 text-center card-header">My Project</h2>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
<SkillCard
icon={DiJava}
title="Java/Kotlin"
description="After several years of writing code, Java and Kotlin seem to work best for me."
/>
<SkillCard
icon={DiGo}
title="Go"
description="Golang is my second favorite language because it is fast and easy to use."
/>
<SkillCard
icon={DiJavascript}
title="JavaScript"
description="Unfortunately, the use of JavaScript is a must in web development."
/>
<SkillCard
icon={Svelte}
title="Svelte"
description="However, sometimes when I need to write a website, I use Svelte."
/>
</div>
</div>
<div class="flex justify-center">
<a href="https://librepass.org" target="_blank" class="max-w-xl">
<Card
icon={MdSecurity}
title="LibrePass"
description="Currently, I'm developing LibrePass, a password manager, driven by the belief in online privacy and security. My goal is to create a secure and convenient tool for managing passwords."
/>
</a>
</div>
</div>
</div>
<div class="mx-auto flex justify-center items-center bg-secondary-100 p-16">
<div class="container space-y-10">
<h2 class="h2 text-center card-header">My Project</h2>
<div class="grid grid-cols-1 gap-4">
<a href="https://librepass.medzik.dev" target="_blank">
<SkillCard
icon={MdSecurity}
title="LibrePass"
description="Currently, I'm developing LibrePass, a password manager, driven by the belief in online privacy and security. My goal is to create a secure and convenient tool for managing passwords."
/>
</a>
</div>
</div>
</div>
<div class="mx-auto flex justify-center items-center bg-tertiary-100 p-16">
<div class="container space-y-10">
<h2 class="h2 text-center card-header">Instances</h2>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
<a href="https://piped.medzik.dev" target="_blank">
<SkillCard
icon={FaYoutube}
title="Piped"
description="An alternative privacy-friendly YouTube frontend."
/>
</a>
<a href="https://teledrive.medzik.dev" target="_blank">
<SkillCard
icon={FaTelegram}
title="TeleDrive"
description="Your free unlimited cloud storage service using the Telegram API."
/>
</a>
</div>
</div>
</div>
<footer class="container mx-auto flex justify-center items-center p-6">
<div class="text-on-primary-token opacity-75">
&copy; 2023 Medzik
</div>
</footer>
<style lang="postcss">
.first-gradient {
background-image:
radial-gradient(at 0% 0%, rgba(var(--color-secondary-500) / 0.33) 0px, transparent 50%),
radial-gradient(at 98% 1%, rgba(var(--color-error-500) / 0.33) 0px, transparent 50%);
}
.card-gradient {
background-image: radial-gradient(at 0% 0%, rgba(var(--color-secondary-500) / 0.33) 0px, transparent 50%),
radial-gradient(at 98% 1%, rgba(var(--color-error-500) / 0.33) 0px, transparent 50%),
radial-gradient(at 0% 100%, rgba(var(--color-secondary-500) / 0.5) 0px, transparent 50%);
}
.project-gradient {
background-image: radial-gradient(at 0% 0%, rgba(var(--color-secondary-500) / 0.5) 0px, transparent 50%),
radial-gradient(at 100% 100%, rgba(var(--color-primary-500) / 0.24) 0px, transparent 50%);
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

17
static/favicon.svg Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="144.49777mm" height="144.49777mm" viewBox="0 0 511.99998 511.99998" id="svg2" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="layer1" transform="matrix(1, 0, 0, 1, -132.389832, -111.211441)">
<rect style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(132, 126, 237);" id="rect4405" width="512" height="512" x="132.38983" y="111.21142"/>
<path style="opacity:1;fill:#212121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" d="M 146.53197,522.09515 389.7767,118.33718 634.43565,611.89771 Z" id="path4222"/>
<circle r="56.154" cy="274.796" cx="433.733" id="circle-1" style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; stroke-width: 5px; fill: rgb(255, 255, 255);"/>
<path style="opacity:1;fill:#212121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" d="M 435.169 239.865 L 400.52 295.373 L 415.085 295.373 L 435.169 263.199 L 454.022 295.373 L 467.694 295.373 L 435.169 239.865 Z" id="path4249"/>
<circle r="56.154327" cy="285.96564" cx="291.86502" id="circle4582" style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; stroke-width: 5px; fill: rgb(255, 255, 255);"/>
<path style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(255, 255, 255);" d="M 105.58594 320.02148 L 87.222656 424.33398 L 394.07617 480.8125 L 412.85938 374.11328 L 105.58594 320.02148 z " id="rect4224" transform="translate(132.38983,111.21144)"/>
<path style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(255, 255, 255);" d="M 223.44531 235.52148 L 223.44531 340.76953 L 267.28711 348.48633 L 267.28711 235.52148 L 223.44531 235.52148 z " transform="translate(132.38983,111.21144)" id="rect4264"/>
<path style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(33, 33, 33);" d="M 370.60352 235.52148 L 392.33398 279.36133 L 418.25391 279.36133 L 418.25391 235.52148 L 370.60352 235.52148 z " id="rect4266" transform="translate(132.38983,111.21144)"/>
<rect transform="matrix(0,1,-1,0,0,0)" style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(132, 126, 237);" id="rect4268" width="43.13353" height="47.376015" x="400.82635" y="-457.30527"/>
<path style="opacity:1;fill:#212121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" d="M 223.44531 340.76953 L 223.44531 376.23633 L 267.28711 376.23633 L 267.28711 348.48633 L 223.44531 340.76953 z " transform="translate(132.38983,111.21144)" id="path4277"/>
<path style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(255, 255, 255);" d="M 277.53906 235.52148 L 277.53906 279.36133 L 392.33398 279.36133 L 370.60352 235.52148 L 277.53906 235.52148 z " transform="translate(132.38983,111.21144)" id="rect4285"/>
<circle r="15" cy="286.465" cx="292.846" id="circle-2" style="opacity: 1; fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; fill: rgb(33, 33, 33);"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -2,18 +2,18 @@ import adapter from '@sveltejs/adapter-auto';
import { vitePreprocess } from '@sveltejs/kit/vite';
/** @type {import('@sveltejs/kit').Config} */
const config = {
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
preprocess: vitePreprocess(),
vitePlugin: {
inspector: true,
},
kit: {
// adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
// If your environment is not supported or you settled on a specific environment, switch out the adapter.
// See https://kit.svelte.dev/docs/adapters for more information about adapters.
adapter: adapter()
}
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
preprocess: vitePreprocess(),
vitePlugin: {
inspector: true
},
kit: {
// adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
// If your environment is not supported or you settled on a specific environment, switch out the adapter.
// See https://kit.svelte.dev/docs/adapters for more information about adapters.
adapter: adapter()
}
};
export default config;
export default config;

View File

@ -1,12 +1,15 @@
import { join } from 'path'
import skeleton from '@skeletonlabs/skeleton/tailwind/skeleton.cjs'
import { join } from 'path';
import skeleton from '@skeletonlabs/skeleton/tailwind/skeleton.cjs';
/** @type {import('tailwindcss').Config} */
module.exports = {
darkMode: 'class',
content: ['./src/**/*.{html,js,svelte,ts}', join(require.resolve('@skeletonlabs/skeleton'), '../**/*.{html,js,svelte,ts}')],
theme: {
extend: {},
},
plugins: [...skeleton()],
}
darkMode: 'class',
content: [
'./src/**/*.{html,js,svelte,ts}',
join(require.resolve('@skeletonlabs/skeleton'), '../**/*.{html,js,svelte,ts}')
],
theme: {
extend: {}
},
plugins: [...skeleton()]
};

View File

@ -1,17 +1,17 @@
{
"extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true
}
// Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
//
// If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
// from the referenced tsconfig.json - TypeScript does not merge them in
"extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true
}
// Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
//
// If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
// from the referenced tsconfig.json - TypeScript does not merge them in
}

View File

@ -2,5 +2,5 @@ import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [sveltekit()]
plugins: [sveltekit()]
});