Initial commit

main
Midnight 2 years ago
commit cf9d49be70

@ -0,0 +1,20 @@
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
plugins: ['svelte3', '@typescript-eslint'],
ignorePatterns: ['*.cjs'],
overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
settings: {
'svelte3/typescript': () => require('typescript')
},
parserOptions: {
sourceType: 'module',
ecmaVersion: 2020
},
env: {
browser: true,
es2017: true,
node: true
}
};

10
.gitignore vendored

@ -0,0 +1,10 @@
.DS_Store
node_modules
/build
/.svelte-kit
/package
.env
.env.*
!.env.example
.vercel

@ -0,0 +1 @@
engine-strict=true

@ -0,0 +1,6 @@
{
"useTabs": true,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 100
}

@ -0,0 +1,40 @@
# create-svelte
Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
## Creating a project
If you're seeing this, you've probably already done this step. Congrats!
```bash
# create a new project in the current directory
npm init svelte@next
# create a new project in my-app
npm init svelte@next my-app
```
> Note: the `@next` is temporary
## Developing
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
```bash
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
```
## Building
To create a production version of your app:
```bash
npm run build
```
You can preview the production build with `npm run preview`.
> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs#adapters) for your target environment.

5423
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,34 @@
{
"name": "sivkyne",
"version": "0.0.1",
"scripts": {
"dev": "svelte-kit dev",
"build": "svelte-kit build",
"package": "svelte-kit package",
"preview": "svelte-kit preview",
"check": "svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
"lint": "prettier --ignore-path .gitignore --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ."
},
"devDependencies": {
"@sveltejs/adapter-auto": "next",
"@sveltejs/kit": "next",
"@typescript-eslint/eslint-plugin": "^5.10.1",
"@typescript-eslint/parser": "^5.10.1",
"autoprefixer": "^10.4.2",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-svelte3": "^3.2.1",
"postcss": "^8.4.6",
"prettier": "^2.4.1",
"prettier-plugin-svelte": "^2.4.0",
"svelte": "^3.44.0",
"svelte-check": "^2.2.6",
"svelte-preprocess": "^4.9.4",
"tailwindcss": "^3.0.18",
"tslib": "^2.3.1",
"typescript": "^4.4.3"
},
"type": "module"
}

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

@ -0,0 +1,23 @@
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,500;0,900;1,100;1,500&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
@font-face {
font-family: 'FiraCode_Regular';
src: url('/FiraCode-Regular.ttf') format('truetype');
}
@font-face {
font-family: 'FiraCode_Bold';
src: url('/FiraCode-Bold.ttf') format('truetype');
}
.fira {
font-family: 'FiraCode_Regular';
}
.fira-bold {
font-family: 'FiraCode_Bold';
}

13
src/app.d.ts vendored

@ -0,0 +1,13 @@
/// <reference types="@sveltejs/kit" />
// See https://kit.svelte.dev/docs#typescript
// for information about these interfaces
declare namespace App {
interface Locals {}
interface Platform {}
interface Session {}
interface Stuff {}
}

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="description" content="" />
<link rel="icon" href="%svelte.assets%/pic.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
%svelte.head%
</head>
<body class="bg-gray-900 overflow-x-hidden">
<div>%svelte.body%</div>
</body>
</html>

@ -0,0 +1,18 @@
<script>
export let href;
export let picture;
export let alt;
</script>
<a href={href} class="group relative shadow w-full bg-cover text-white rounded-lg hover:-translate-y-1 duration-300">
<img src={picture} class="bg-black rounded-lg group-hover:bg-gradient-to-b group-hover:from-rose-400 group-hover:to-red-900 duration-300" alt={alt} />
<div class="absolute inset-0 bg-black bg-opacity-50 group-hover:bg-opacity-20 duration-300 rounded-lg"></div>
<div class="absolute inset-0 flex justify-center items-center">
<h4 class="font-bold text-xl text-center drop-shadow-xl">
<slot />
</h4>
</div>
</a>

@ -0,0 +1,10 @@
<script>
export let href;
export let icon;
export let text;
</script>
<a href={href} class="flex flex-col items-center gap-1 justify-center hover:scale-110 duration-100" target="_blank">
<span class="text-6xl">{icon}</span>
<span class="text-sm text-gray-200 text-center">{text}</span>
</a>

@ -0,0 +1,3 @@
<footer>
<h4 class="text-center py-20 text-sm text-gray-200">copyright 2022 -- site made by mid -- art by siv kyne</h4>
</footer>

@ -0,0 +1,16 @@
<script>
export let href;
export let active = "";
let classes = "hover:bg-gradient-to-tr hover:from-red-500 hover:to-pink-500 bg-red-500 duration-300 active:translate-y-1 py-2 px-3 w-full rounded-lg shadow";
if(active == "true") {
classes += " bg-opacity-90";
} else {
classes += " bg-opacity-50";
}
</script>
<a href={href} class={classes}>
<slot />
</a>

@ -0,0 +1,27 @@
<header>
<a href="/">
<img src="/title.png" class="w-2/3 mx-auto grow drop-shadow-2xl" alt="header siv kyne" />
</a>
</header>
<style>
.grow {
animation: grow;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
}
@keyframes grow {
0% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
100% {
transform: scale(1);
}
}
</style>

@ -0,0 +1,37 @@
<script>
import Button from "./Button.svelte";
export let page;
</script>
<section class="container bg-gray-800 rounded-lg shadow-lg p-3 flex gap-3 justify-between justify-items-stretch items-center -mt-10 z-20">
{#if page == "/"}
<Button href="/" active="true">
🏠 Home
</Button>
{:else}
<Button href="/">
🏠 Home
</Button>
{/if}
{#if page == "/commissions"}
<Button href="/commissions" active="true">
🎨 Commission Info
</Button>
{:else}
<Button href="/commissions">
🎨 Commission Info
</Button>
{/if}
{#if page == "/contact"}
<Button href="/contact" active="true">
✉️ Social Links
</Button>
{:else}
<Button href="/contact">
✉️ Social Links
</Button>
{/if}
</section>

@ -0,0 +1,17 @@
<script>
import Navbar from "$lib/header/Navbar.svelte";
</script>
<main class="flex flex-col gap-5">
<Navbar page="error" />
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col gap-5">
<h1 class="text-xl font-bold">
Unexpected Error!
</h1>
<hr/>
<p class="text-lg">
You probably have the wrong page.
</p>
</section>
</main>

@ -0,0 +1,24 @@
<script>
import Footer from "$lib/footer/Footer.svelte";
import Header from "$lib/header/Header.svelte";
import "../app.css";
</script>
<main class="bg-gray-900 text-white relative w-screen h-screen bg-cover bg-fixed" style="background-image: url('/bg2.png')">
<div class="absolute inset-0">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
<path fill="rgb(244 63 94)" fill-opacity="1" d="M0,288L30,272C60,256,120,224,180,186.7C240,149,300,107,360,101.3C420,96,480,128,540,154.7C600,181,660,203,720,229.3C780,256,840,288,900,304C960,320,1020,320,1080,304C1140,288,1200,256,1260,224C1320,192,1380,160,1410,144L1440,128L1440,320L1410,320C1380,320,1320,320,1260,320C1200,320,1140,320,1080,320C1020,320,960,320,900,320C840,320,780,320,720,320C660,320,600,320,540,320C480,320,420,320,360,320C300,320,240,320,180,320C120,320,60,320,30,320L0,320Z"></path>
</svg>
<div class="h-full bg-gradient-to-b from-rose-500 via-pink-800 to-gray-900 -mt-1"></div>
</div>
<article class="absolute inset-0 my-20 flex flex-col gap-10 h-full">
<div class="flex flex-col gap-10 min-h-screen">
<Header />
<slot />
<Footer />
</div>
</article>
</main>

@ -0,0 +1,53 @@
<script>
import Social from "$lib/elements/Social.svelte";
import Navbar from "$lib/header/Navbar.svelte";
</script>
<svelte:head>
<title>Commission Info || Siv Kyne</title>
</svelte:head>
<main class="flex flex-col gap-5">
<Navbar page="/commissions" />
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col" id="icons">
<h2 class="text-xl font-bold">Icon Commissions</h2>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col" id="emote">
<h2 class="text-xl font-bold">Emote Commissions</h2>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col" id="ych">
<h2 class="text-xl font-bold">YCH Commissions</h2>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col" id="halfbody">
<h2 class="text-xl font-bold">Half Body Commissions</h2>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col" id="fullbody">
<h2 class="text-xl font-bold">Full Body Commissions</h2>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col" id="animation">
<h2 class="text-xl font-bold">Animation Commissions</h2>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col" id="refsheet">
<h2 class="text-xl font-bold">Reference Sheet Commissions</h2>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col" id="complex">
<h2 class="text-xl font-bold">Complex Scene Commissions</h2>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col">
<div class="flex flex-wrap justify-center items-center gap-5">
<Social href="https://trello.com/b/JfPAzQyJ/siv-kynes-commission-queue" icon="📑" text="Commission Queue" />
<Social href="https://ko-fi.com/sivkyne" icon="☕" text="Ko-fi" />
<Social href="https://paypal.me/sivkyne" icon="💰" text="PayPal" />
</div>
</section>
</main>

@ -0,0 +1,33 @@
<script>
import Social from "$lib/elements/Social.svelte";
import Navbar from "$lib/header/Navbar.svelte";
</script>
<svelte:head>
<title>Socials || Siv Kyne</title>
</svelte:head>
<main class="flex flex-col gap-5">
<Navbar page="/contact" />
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col">
<div class="flex flex-wrap justify-center items-center gap-5">
<Social href="https://twitter.com/SivKyne" icon="🐦" text="Twitter" />
<Social href="https://discord.com/invite/5JCZTv3TtF" icon="💬" text="Discord" />
<Social href="https://www.youtube.com/channel/UC1pnonYCZv1mi3XImhX35-A" icon="📺" text="YouTube" />
<Social href="https://www.deviantart.com/sivkyne" icon="🖼️" text="DeviantArt" />
<Social href="https://steamcommunity.com/id/sivkyne" icon="🎮" text="Steam" />
<Social href="https://open.spotify.com/user/uqwz46n0jki4zdwiedca5gbp2" icon="🎵" text="Spotify" />
<Social href="https://toyhou.se/sivkyne" icon="👪" text="Toyhouse" />
<Social href="https://trello.com/b/JfPAzQyJ/siv-kynes-commission-queue" icon="📑" text="Trello" />
<Social href="https://myanimelist.net/animelist/SivKyne" icon="🎞️" text="My Anime List" />
<Social href="https://ko-fi.com/sivkyne" icon="☕" text="Ko-fi" />
<Social href="https://paypal.me/sivkyne" icon="💰" text="PayPal" />
</div>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col">
Email
</section>
</main>

@ -0,0 +1,104 @@
<script>
import Card from "$lib/elements/Card.svelte";
import Social from "$lib/elements/Social.svelte";
import { onMount } from "svelte";
onMount(() => {
const soundBtn = document.querySelector('#clickMeow');
soundBtn.addEventListener('click',() => {
let meow = new Audio("/squeak.mp3");
meow.volume = 0.1;
meow.play();
});
});
</script>
<svelte:head>
<title>Home || Siv Kyne</title>
</svelte:head>
<main class="flex flex-col gap-5">
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col -mt-5">
<div class="flex flex-col justify-center items-center gap-3 -mt-28">
<div class="bg-gradient-to-t from-gray-800 via-gray-800 to-red-500 p-3 rounded-full">
<img src="/pic.png" id="clickMeow" class="pop w-60 h-60 rounded-full bg-gray-800" />
</div>
<h2 class="text-2xl font-bold fira-bold">Hi, I'm Siv Kyne!</h2>
<p class="text-center">
I'm a young Asian artist who specializes in cartoony 2D animals.
<br/>
You can find more information below.
</p>
</div>
</section>
<section class="container bg-gray-800 rounded-lg shadow-lg p-5 flex flex-col">
<div class="flex flex-wrap justify-center items-center gap-5">
<Social href="https://twitter.com/SivKyne" icon="🐦" text="Twitter" />
<Social href="https://discord.com/invite/5JCZTv3TtF" icon="💬" text="Discord" />
<Social href="https://www.youtube.com/channel/UC1pnonYCZv1mi3XImhX35-A" icon="📺" text="YouTube" />
<Social href="https://www.deviantart.com/sivkyne" icon="🖼️" text="DeviantArt" />
<Social href="https://steamcommunity.com/id/sivkyne" icon="🎮" text="Steam" />
<Social href="https://open.spotify.com/user/uqwz46n0jki4zdwiedca5gbp2" icon="🎵" text="Spotify" />
<Social href="https://toyhou.se/sivkyne" icon="👪" text="Toyhouse" />
<Social href="https://myanimelist.net/animelist/SivKyne" icon="🎞️" text="My Anime List" />
</div>
</section>
<section class="container">
<div class="grid grid-cols-3 gap-3">
<Card href="/commissions#icon" picture="/comm.png" alt="commission info">
Icon <br/> Commissions
</Card>
<Card href="/commissions#emote" picture="/comm.png" alt="commission info">
Emote <br/> Commissions
</Card>
<Card href="/commissions#ych" picture="/comm.png" alt="commission info">
YCH <br/> Commissions
</Card>
<Card href="/commissions#halfbody" picture="/comm.png" alt="commission info">
Halfbody <br/> Commissions
</Card>
<Card href="/commissions#fullbody" picture="/comm.png" alt="commission info">
Fullbody <br/> Commissions
</Card>
<Card href="/commissions#animation" picture="/comm.png" alt="commission info">
Animation <br/> Commissions
</Card>
<Card href="/commissions#refsheet" picture="/comm.png" alt="commission info">
Ref Sheet <br/> Commissions
</Card>
<Card href="/commissions#complex" picture="/comm.png" alt="commission info">
Complex Scene <br/> Commissions
</Card>
</div>
</section>
</main>
<style>
.pop:active {
animation: pop;
animation-duration: 0.1s;
animation-timing-function: linear;
}
@keyframes pop {
0% {
transform: scale(1);
}
40% {
transform: scale(0.9);
}
100% {
transform: scale(1);
}
}
</style>

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

@ -0,0 +1,15 @@
import adapter from '@sveltejs/adapter-auto';
import preprocess from 'svelte-preprocess';
/** @type {import('@sveltejs/kit').Config} */
const config = {
// Consult https://github.com/sveltejs/svelte-preprocess
// for more information about preprocessors
preprocess: preprocess(),
kit: {
adapter: adapter()
}
};
export default config;

@ -0,0 +1,31 @@
module.exports = {
darkMode: 'class',
content: ['./src/**/*.{html,js,svelte,ts}'],
theme: {
fontFamily: {
body: 'Roboto, sans-serif'
},
container: {
center: true,
screens: {
sm: '100%',
md: '100%',
lg: '700px',
xl: '900px'
},
borderWidth: {
DEFAULT: '1px',
0: '0',
2: '2px',
3: '3px',
4: '4px',
6: '6px',
8: '8px',
12: '12px',
20: '20px'
}
},
extend: {}
},
plugins: []
};

@ -0,0 +1,31 @@
{
"compilerOptions": {
"moduleResolution": "node",
"module": "es2020",
"lib": ["es2020", "DOM"],
"target": "es2020",
/**
svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript
to enforce using \`import type\` instead of \`import\` for Types.
*/
"importsNotUsedAsValues": "error",
"isolatedModules": true,
"resolveJsonModule": true,
/**
To have warnings/errors of the Svelte compiler at the correct position,
enable source maps by default.
*/
"sourceMap": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"baseUrl": ".",
"allowJs": true,
"checkJs": true,
"paths": {
"$lib": ["src/lib"],
"$lib/*": ["src/lib/*"]
}
},
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/**/*.svelte"]
}
Loading…
Cancel
Save