initial commit
commit
7d0a2cee9c
|
@ -0,0 +1,13 @@
|
|||
.DS_Store
|
||||
node_modules
|
||||
/build
|
||||
/.svelte-kit
|
||||
/package
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
|
||||
# Ignore files for PNPM, NPM and YARN
|
||||
pnpm-lock.yaml
|
||||
package-lock.json
|
||||
yarn.lock
|
|
@ -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
|
||||
}
|
||||
};
|
|
@ -0,0 +1,8 @@
|
|||
.DS_Store
|
||||
node_modules
|
||||
/build
|
||||
/.svelte-kit
|
||||
/package
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
|
@ -0,0 +1 @@
|
|||
engine-strict=true
|
|
@ -0,0 +1,13 @@
|
|||
.DS_Store
|
||||
node_modules
|
||||
/build
|
||||
/.svelte-kit
|
||||
/package
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
|
||||
# Ignore files for PNPM, NPM and YARN
|
||||
pnpm-lock.yaml
|
||||
package-lock.json
|
||||
yarn.lock
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"useTabs": true,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "none",
|
||||
"printWidth": 100
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
# 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
|
||||
|
||||
# create a new project in my-app
|
||||
npm init svelte my-app
|
||||
```
|
||||
|
||||
## 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.
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "frontend",
|
||||
"version": "0.0.1",
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
"build": "vite build",
|
||||
"package": "svelte-kit package",
|
||||
"preview": "vite preview",
|
||||
"prepare": "svelte-kit sync",
|
||||
"check": "svelte-check --tsconfig ./tsconfig.json",
|
||||
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
|
||||
"lint": "prettier --check --plugin-search-dir=. . && eslint .",
|
||||
"format": "prettier --write --plugin-search-dir=. ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "next",
|
||||
"@sveltejs/kit": "next",
|
||||
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
||||
"@typescript-eslint/parser": "^5.27.0",
|
||||
"autoprefixer": "^10.4.7",
|
||||
"eslint": "^8.16.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint-plugin-svelte3": "^4.0.0",
|
||||
"postcss": "^8.4.14",
|
||||
"prettier": "^2.6.2",
|
||||
"prettier-plugin-svelte": "^2.7.0",
|
||||
"svelte": "^3.44.0",
|
||||
"svelte-check": "^2.7.1",
|
||||
"svelte-preprocess": "^4.10.7",
|
||||
"tailwindcss": "^3.1.6",
|
||||
"tslib": "^2.3.1",
|
||||
"typescript": "^4.7.4",
|
||||
"vite": "^3.0.0"
|
||||
},
|
||||
"type": "module"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,6 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
@font-face {
|
||||
font-family: 'Jeko-SemiBold';
|
||||
src: url('fonts/Jeko Semi Bold.ttf')
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Jeko-MediumItalic';
|
||||
src: url('fonts/Jeko Medium Italic.ttf')
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Jeko-Regular';
|
||||
src: url('fonts/Jeko Regular.ttf')
|
||||
}
|
||||
|
||||
html {
|
||||
min-height:100%;
|
||||
/* position:relative; */
|
||||
}
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
main {
|
||||
background-color: #1B1D29;
|
||||
/* border-radius: 50px; */
|
||||
box-shadow: 29px 38px 50px -29px #08090D;
|
||||
}
|
||||
|
||||
#title {
|
||||
text-shadow: 0px 0px 30px #1F3891;
|
||||
}
|
||||
|
||||
.button {
|
||||
@apply w-full h-32 md:w-56 md:h-16 text-3xl md:text-lg rounded-full font-title font-normal text-white flex items-center justify-center p-4 bg-center bg-contain transition ease-in-out text-center;
|
||||
text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.5);
|
||||
background: linear-gradient(0deg, rgba(27, 29, 41, 0.49), rgba(27, 29, 41, 0.49));
|
||||
box-shadow: inset 0px 0px 30px #000000;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
-webkit-backdrop-filter: brightness(50%);
|
||||
backdrop-filter: brightness(50%);
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: inset 0px 0px 100px #000000;;
|
||||
}
|
||||
|
||||
#button1 {
|
||||
background-image: url('projects.jpg');
|
||||
}
|
||||
|
||||
#button2 {
|
||||
background-image: url('hosted.jpg');
|
||||
}
|
||||
|
||||
.error {
|
||||
font-size: 50pt;
|
||||
}
|
||||
|
||||
.main {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background: linear-gradient(107.56deg, #12151E 0%, #060910 100%);
|
||||
height: 100%;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.bg {
|
||||
pointer-events: none;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
top: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.link {
|
||||
background-image: url('link.svg');
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 50%;
|
||||
background-color: #151515;
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
/// <reference types="@sveltejs/kit" />
|
||||
|
||||
// See https://kit.svelte.dev/docs/types#app
|
||||
// for information about these interfaces
|
||||
// and what to do when importing types
|
||||
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" />
|
||||
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
<body class="scroll-smooth">
|
||||
<img src="back.svg" class="bg">
|
||||
<div class="main flex items-center justify-center">%sveltekit.body%</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,17 @@
|
|||
<script lang="ts">
|
||||
export let name: string;
|
||||
export let description: string;
|
||||
export let link: string;
|
||||
</script>
|
||||
|
||||
<article
|
||||
class="w-full flex flex-row p-4 items-center justify-between border-t-2 border-white border-opacity-10 gap-2 -mt-8"
|
||||
>
|
||||
<div class="flex flex-col gap-2 pl-4 -mb-2">
|
||||
<h1 class="text-white font-sans text-2xl mt-1">{name}</h1>
|
||||
{#each description.split('\n') as partDescription}
|
||||
<p class="text-gray-500 font-sans text-xl break-words">{partDescription}</p>
|
||||
{/each}
|
||||
</div>
|
||||
<a href={link} class="w-12 h-12 link m-4 rounded-xl shrink-0" target="_blank" />
|
||||
</article>
|
|
@ -0,0 +1,12 @@
|
|||
[
|
||||
{
|
||||
"title": "Pleroma",
|
||||
"description": "Ukrainian Pleroma instance for cuties who loves anime and tech stuff.\nWe love all people except russians",
|
||||
"link": "https://pl.m0e.space"
|
||||
},
|
||||
{
|
||||
"title": "Calibre",
|
||||
"description": "E-Books management and reader",
|
||||
"link": "https://books.m0e.space"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,7 @@
|
|||
[
|
||||
{
|
||||
"title": "UAMonitor",
|
||||
"description": "UAMonitor - FOSS minecraft monitoring web service originally made for ukrainians\nIt pings all servers from DB every 10 minutes and writes results into DB (WIP autoremove)\nBackend was made using Fastify as framework and Prisma as ORM, Frontend was made using SvelteKit as framework and TailwindCSS.",
|
||||
"link": "https://stats.m0e.space"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,15 @@
|
|||
<script context="module" lang="ts">
|
||||
// @ts-ignore
|
||||
export const load = ({ status }) => ({ props: { status } });
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
export let status: number;
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>{status}</title>
|
||||
</svelte:head>
|
||||
|
||||
<h1 class="text-white font-title error">{status}</h1>
|
||||
<a class="text-white text-opacity-50 underline font-sans" href="/">Back to main page</a>
|
|
@ -0,0 +1,10 @@
|
|||
<script>
|
||||
import '../app.css';
|
||||
</script>
|
||||
|
||||
<main
|
||||
class="w-full md:w-8/12 lg:w-6/12 md:rounded-4xl md:min-h-0 min-h-full flex flex-col pb-8 gap-12"
|
||||
>
|
||||
<img class="h-38 w-full md:rounded-t-4xl" src="anime1.png" alt="anime girl 1" />
|
||||
<slot />
|
||||
</main>
|
|
@ -0,0 +1,13 @@
|
|||
<script lang="ts">
|
||||
//@ts-ignore
|
||||
import Project from '$lib/components/Project.svelte';
|
||||
//@ts-ignore
|
||||
import projects from '$lib/data/hosted.json';
|
||||
</script>
|
||||
|
||||
<h1 class="text-3xl font-title text-white font-normal text-left ml-8 -mt-6 mb-2" id="title">
|
||||
Hosted
|
||||
</h1>
|
||||
{#each projects as project}
|
||||
<Project name={project.title} description={project.description} link={project.link} />
|
||||
{/each}
|
|
@ -0,0 +1,17 @@
|
|||
<!-- <img class="h-38 w-full md:rounded-t-4xl" src="anime1.png" alt="anime girl 1" /> -->
|
||||
|
||||
<h1 class="text-5xl text-center m-4 font-title text-white font-normal" id="title">m0e.space</h1>
|
||||
|
||||
<div class="flex flex-col mx-8 items-center gap-10 justify-center md:flex-row">
|
||||
<a href="/projects" class="button" id="button1">Our Projects</a>
|
||||
<a href="/hosted" class="button" id="button2">Our hosted services</a>
|
||||
</div>
|
||||
|
||||
<div class="grow w-full flex flex-row items-end content-between justify-between px-8">
|
||||
<a
|
||||
href="https://t.me/evolj1"
|
||||
class="text-white text-opacity-50 underline font-['Jeko-MediumItalic'] text-xl md:text-lg"
|
||||
>design: evolji</a
|
||||
>
|
||||
<!-- <div class="flex flex-row gap-4"></div> -->
|
||||
</div>
|
|
@ -0,0 +1,13 @@
|
|||
<script lang="ts">
|
||||
//@ts-ignore
|
||||
import Project from '$lib/components/Project.svelte';
|
||||
//@ts-ignore
|
||||
import projects from '$lib/data/projects.json';
|
||||
</script>
|
||||
|
||||
<h1 class="text-3xl font-title text-white font-normal text-left ml-8 -mt-6 mb-2" id="title">
|
||||
Projects
|
||||
</h1>
|
||||
{#each projects as project}
|
||||
<Project name={project.title} description={project.description} link={project.link} />
|
||||
{/each}
|
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 433 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 169 KiB |
|
@ -0,0 +1,3 @@
|
|||
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M17.25 12.75L28.5 1.5M21 1.5H28.5V9M28.5 18V25.5C28.5 26.2956 28.1839 27.0587 27.6213 27.6213C27.0587 28.1839 26.2956 28.5 25.5 28.5H4.5C3.70435 28.5 2.94129 28.1839 2.37868 27.6213C1.81607 27.0587 1.5 26.2956 1.5 25.5V4.5C1.5 3.70435 1.81607 2.94129 2.37868 2.37868C2.94129 1.81607 3.70435 1.5 4.5 1.5H12" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
After Width: | Height: | Size: 500 B |
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
|
@ -0,0 +1,17 @@
|
|||
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({
|
||||
postcss: true
|
||||
}),
|
||||
|
||||
kit: {
|
||||
adapter: adapter()
|
||||
}
|
||||
};
|
||||
|
||||
export default config;
|
|
@ -0,0 +1,19 @@
|
|||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
content: ['./src/**/*.{html,js,svelte,ts}'],
|
||||
theme: {
|
||||
fontFamily: {
|
||||
title: ['Jeko-SemiBold'],
|
||||
sans: ['Jeko-Regular']
|
||||
},
|
||||
extend: {
|
||||
spacing: {
|
||||
'10%': '10%'
|
||||
},
|
||||
borderRadius: {
|
||||
'4xl': '50px'
|
||||
}
|
||||
}
|
||||
},
|
||||
plugins: []
|
||||
};
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"extends": "./.svelte-kit/tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"allowJs": true,
|
||||
"checkJs": true,
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"resolveJsonModule": true,
|
||||
"skipLibCheck": true,
|
||||
"sourceMap": true,
|
||||
"strict": true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
|
||||
/** @type {import('vite').UserConfig} */
|
||||
const config = {
|
||||
plugins: [sveltekit()]
|
||||
};
|
||||
|
||||
export default config;
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"name": "moespace_new",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
Loading…
Reference in New Issue