feat(init)!: create sulej.ch

This commit is contained in:
2025-10-12 15:48:10 +02:00
commit 40c353ff4e
33 changed files with 3846 additions and 0 deletions

26
src/app.css Normal file
View File

@@ -0,0 +1,26 @@
@font-face {
font-family: 'JetBrains Mono Nerd Font';
src: url('/fonts/JetBrainsMonoNerdFont-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'JetBrains Mono Nerd Font';
src: url('/fonts/JetBrainsMonoNerdFont-Bold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
font-display: swap;
}
html, body {
height: 100%;
margin: 0;
overflow: hidden;
font-family: 'JetBrains Mono Nerd Font', 'JetBrains Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
}
:root {
--font-mono: 'JetBrains Mono Nerd Font', 'JetBrains Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
}

5
src/app.d.ts vendored Normal file
View File

@@ -0,0 +1,5 @@
/// <reference types="svelte" />
/// <reference types="vite/client" />
declare const __APP_VERSION__: string;
declare const __APP_COMMIT__: string;

16
src/app.html Normal file
View File

@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link id="fav" rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width" />
<meta name="description" content="sulej.ch">
%sveltekit.head%
</head>
<body>
%sveltekit.body%
</body>
</html>

5
src/lib/About.svelte Normal file
View File

@@ -0,0 +1,5 @@
<section>
<div style="margin: 0.5rem 0;">Owner: Arlind Sulejmani</div>
<div style="margin: 0.5rem 0;">Contact: <a href="mailto:arlind@sulej.ch">arlind@sulej.ch</a></div>
</section>

15
src/lib/Footer.svelte Normal file
View File

@@ -0,0 +1,15 @@
<script lang="ts">
import type { VersionInfo } from "./version";
export let versionInfo: VersionInfo;
</script>
<footer>
<div style="display: inline-flex; align-items: baseline; gap: 1rem; margin: 1rem 0 0;">
<small>© 2025 sulej.ch</small>
<small>
<a href="https://github.com/Arlind-dev/sulej.ch">
{versionInfo.version} ({versionInfo.commit})
</a>
</small>
</div>
</footer>

3
src/lib/Header.svelte Normal file
View File

@@ -0,0 +1,3 @@
<header>
<h1 style="margin: 0.5rem 0 1rem;">About sulej.ch</h1>
</header>

4
src/lib/version.ts Normal file
View File

@@ -0,0 +1,4 @@
export type VersionInfo = {
version: string;
commit: string;
};

7
src/routes/+error.svelte Normal file
View File

@@ -0,0 +1,7 @@
<script>
import { page } from "$app/stores";
$: status = $page.status;
</script>
<h1>{status}</h1>
<p>{$page.error?.message}</p>

View File

@@ -0,0 +1 @@
export const prerender = true;

14
src/routes/+layout.svelte Normal file
View File

@@ -0,0 +1,14 @@
<script>
import '../app.css';
</script>
<svelte:head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>sulej.ch</title>
</svelte:head>
<div style="height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: clamp(1rem, 1.5vw, 1.5rem); padding: clamp(0.5rem, 2vw, 1.5rem); font-size: clamp(1rem, 1rem + 1vw, 1.5rem);">
<slot />
</div>

19
src/routes/+page.svelte Normal file
View File

@@ -0,0 +1,19 @@
<script lang="ts">
import About from "../lib/About.svelte";
import Footer from "../lib/Footer.svelte";
import Header from "../lib/Header.svelte";
import type { VersionInfo } from "../lib/version";
// Provide version info to footer from global defines
const versionInfo: VersionInfo = {
version: __APP_VERSION__,
commit: __APP_COMMIT__
};
</script>
<Header />
<main>
<About />
</main>
<Footer {versionInfo} />