mirror of
https://github.com/Arlind-dev/sulej.ch.git
synced 2025-12-06 11:37:18 +01:00
Compare commits
39 Commits
v1.0.1
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dce76e56fe | ||
|
|
fd8f94dcd6 | ||
|
|
19cb5f14e3 | ||
|
|
f29ecb118e | ||
|
|
742259c87e | ||
|
|
03d20eca98 | ||
|
|
215e7a759e | ||
|
|
667ea89249 | ||
|
|
4aaf96a643 | ||
|
|
9c742d9a90 | ||
|
|
afb550ac16 | ||
|
|
c38c3089e5 | ||
|
|
7a1a2aac21 | ||
|
|
05851c3e72 | ||
|
|
381f14d406 | ||
|
|
7c6e256b3b | ||
|
|
7d0fd2e5b1 | ||
|
|
c697b86375 | ||
|
|
a30832cd17 | ||
|
|
0a89355ceb | ||
|
|
8ad7a8da2e | ||
|
|
35181d2f6f | ||
|
|
8ce4f5b3c5 | ||
| e49ea7dd60 | |||
| 6bfb56264c | |||
| aae339d760 | |||
| d4fbd26596 | |||
| 982fd5f38e | |||
|
|
55318b13da | ||
|
|
da3fcdd87f | ||
|
|
62a0ecf8f1 | ||
|
|
854fa03ca0 | ||
|
|
9c157101c3 | ||
| 5153aeaa27 | |||
| d8901ec8e0 | |||
|
|
a21fbffc96 | ||
|
|
92a1e33c1e | ||
|
|
d6f5c0e9d3 | ||
| ae19a5ed99 |
6
.github/dependabot.yml
vendored
6
.github/dependabot.yml
vendored
@@ -14,3 +14,9 @@ updates:
|
|||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "daily"
|
||||||
open-pull-requests-limit: 10
|
open-pull-requests-limit: 10
|
||||||
|
|
||||||
|
- package-ecosystem: "docker"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
|||||||
8
.github/workflows/main.yml
vendored
8
.github/workflows/main.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Run semantic-release
|
- name: Run semantic-release
|
||||||
id: semantic
|
id: semantic
|
||||||
uses: cycjimmy/semantic-release-action@v5
|
uses: cycjimmy/semantic-release-action@v6
|
||||||
with:
|
with:
|
||||||
extra_plugins: |
|
extra_plugins: |
|
||||||
@semantic-release/changelog
|
@semantic-release/changelog
|
||||||
@@ -75,7 +75,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
@@ -140,7 +140,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
## [1.1.0](https://github.com/Arlind-dev/sulej.ch/compare/v1.0.1...v1.1.0) (2025-10-28)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **ui:** add new favicon ([6bfb562](https://github.com/Arlind-dev/sulej.ch/commit/6bfb56264c3752e35369ac167c0149f8a7ca75c6))
|
||||||
|
|
||||||
## [1.0.1](https://github.com/Arlind-dev/sulej.ch/compare/v1.0.0...v1.0.1) (2025-10-17)
|
## [1.0.1](https://github.com/Arlind-dev/sulej.ch/compare/v1.0.0...v1.0.1) (2025-10-17)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
ARG BUILD_IMAGE=ghcr.io/arlind-dev/sulej.ch:build-latest
|
ARG BUILD_IMAGE=ghcr.io/arlind-dev/sulej.ch:build-latest
|
||||||
FROM --platform=$BUILDPLATFORM ${BUILD_IMAGE} AS build
|
FROM --platform=$BUILDPLATFORM ${BUILD_IMAGE} AS build
|
||||||
|
|
||||||
FROM nginx:alpine
|
FROM nginx:1.29.3-alpine3.22
|
||||||
|
|
||||||
ARG BUILD_IMAGE
|
ARG BUILD_IMAGE
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
FROM node:alpine AS build
|
FROM node:24.1.0-alpine3.20 AS build
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
RUN npm install -g --force corepack && corepack enable && corepack prepare pnpm@latest --activate
|
RUN npm install -g --force corepack \
|
||||||
|
&& corepack enable
|
||||||
|
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY package.json pnpm-lock.yaml ./
|
||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|||||||
1553
package-lock.json
generated
1553
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
17
package.json
17
package.json
@@ -1,25 +1,26 @@
|
|||||||
{
|
{
|
||||||
"name": "sulej.ch",
|
"name": "sulej.ch",
|
||||||
"version": "1.0.1",
|
"version": "1.1.0",
|
||||||
"packageManager": "pnpm@10.15.0",
|
"packageManager": "pnpm@10.15.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prepare": "svelte-kit sync",
|
"prepare": "svelte-kit sync",
|
||||||
"dev": "vite dev",
|
"dev": "svelte-kit sync && vite dev",
|
||||||
"build": "vite build",
|
"build": "svelte-kit sync && vite build",
|
||||||
"preview": "vite preview",
|
"preview": "svelte-kit sync && vite preview",
|
||||||
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||||
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"svelte": "^5.40.1"
|
"svelte": "^5.45.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/adapter-static": "^3.0.10",
|
"@sveltejs/adapter-static": "^3.0.10",
|
||||||
"@sveltejs/kit": "^2.47.0",
|
"@sveltejs/kit": "^2.49.1",
|
||||||
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
||||||
"svelte-check": "^4.3.3",
|
"@types/node": "^24.10.1",
|
||||||
|
"svelte-check": "^4.3.4",
|
||||||
"typescript": "^5.9.3",
|
"typescript": "^5.9.3",
|
||||||
"vite": "^7.1.10"
|
"vite": "^7.2.6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
541
pnpm-lock.yaml
generated
541
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
20
src/app.css
20
src/app.css
@@ -1,26 +1,10 @@
|
|||||||
@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 {
|
html, body {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-family: 'JetBrains Mono Nerd Font', 'JetBrains Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
|
font-family: 'JetBrains Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--font-mono: 'JetBrains Mono Nerd Font', 'JetBrains Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
|
--font-mono: 'JetBrains Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,9 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<link id="fav" rel="icon" href="/favicon.ico" />
|
<link id="fav" rel="icon" href="/favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet">
|
||||||
<meta name="description" content="sulej.ch">
|
<meta name="description" content="sulej.ch">
|
||||||
%sveltekit.head%
|
%sveltekit.head%
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { site } from "./site.config";
|
||||||
|
const mailto = `mailto:${site.contactEmail}`;
|
||||||
|
</script>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<div style="margin: 0.5rem 0;">Owner: Arlind Sulejmani</div>
|
<div style="margin: 0.5rem 0;">Owner: {site.ownerName}</div>
|
||||||
<div style="margin: 0.5rem 0;">Contact: <a href="mailto:arlind@sulej.ch">arlind@sulej.ch</a></div>
|
<div style="margin: 0.5rem 0;">Contact: <a href={mailto}>{site.contactEmail}</a></div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,22 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { VersionInfo } from "./version";
|
import type { VersionInfo } from "./version";
|
||||||
|
import { site, currentYear } from "./site.config";
|
||||||
export let versionInfo: VersionInfo;
|
export let versionInfo: VersionInfo;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<div style="display: inline-flex; align-items: baseline; gap: 1rem; margin: 1rem 0 0;">
|
<div style="display: inline-flex; align-items: baseline; gap: 1rem; margin: 1rem 0 0;">
|
||||||
<small>© 2025 sulej.ch</small>
|
<small>© {currentYear} {site.domain}</small>
|
||||||
<small>
|
<small>
|
||||||
<a class="version-link" href="https://github.com/Arlind-dev/sulej.ch">
|
{#if site.githubRepo}
|
||||||
|
<a class="version-link" href={site.githubRepo}>
|
||||||
{versionInfo.version} <span class="commit">({versionInfo.commit})</span>
|
{versionInfo.version} <span class="commit">({versionInfo.commit})</span>
|
||||||
</a>
|
</a>
|
||||||
|
{:else}
|
||||||
|
<span class="version-link" aria-label="App version">
|
||||||
|
{versionInfo.version} <span class="commit">({versionInfo.commit})</span>
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { site } from "./site.config";
|
||||||
|
const title = `About ${site.siteTitle}`;
|
||||||
|
// Keep markup minimal and data-driven via config
|
||||||
|
</script>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<h1 style="margin: 0.5rem 0 1rem;">About sulej.ch</h1>
|
<h1 style="margin: 0.5rem 0 1rem;">{title}</h1>
|
||||||
</header>
|
</header>
|
||||||
|
|||||||
17
src/lib/site.config.ts
Normal file
17
src/lib/site.config.ts
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
export type SiteConfig = {
|
||||||
|
ownerName: string;
|
||||||
|
contactEmail: string;
|
||||||
|
domain: string; // e.g. "sulej.ch"
|
||||||
|
siteTitle: string; // e.g. "sulej.ch"
|
||||||
|
githubRepo?: string; // optional repo URL
|
||||||
|
};
|
||||||
|
|
||||||
|
export const site: SiteConfig = {
|
||||||
|
ownerName: "Arlind Sulejmani",
|
||||||
|
contactEmail: "arlind@sulej.ch",
|
||||||
|
domain: "sulej.ch",
|
||||||
|
siteTitle: "sulej.ch",
|
||||||
|
githubRepo: "https://github.com/Arlind-dev/sulej.ch"
|
||||||
|
};
|
||||||
|
|
||||||
|
export const currentYear = new Date().getFullYear();
|
||||||
@@ -1,11 +1,15 @@
|
|||||||
<script>
|
<script lang="ts">
|
||||||
import '../app.css';
|
import '../app.css';
|
||||||
|
import { site } from '../lib/site.config';
|
||||||
|
const title = site.siteTitle;
|
||||||
|
const description = `${site.siteTitle} — ${site.domain}`;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>sulej.ch</title>
|
<title>{title}</title>
|
||||||
|
<meta name="description" content={description} />
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div style="min-height: 100vh; padding-top: clamp(1rem, 8vh, 6rem); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: clamp(1rem, 1.5vw, 1.5rem); padding-left: clamp(0.5rem, 2vw, 1.5rem); padding-right: clamp(0.5rem, 2vw, 1.5rem); padding-bottom: clamp(0.5rem, 2vw, 1.5rem); font-size: clamp(1rem, 1rem + 1vw, 1.5rem);">
|
<div style="min-height: 100vh; padding-top: clamp(1rem, 8vh, 6rem); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: clamp(1rem, 1.5vw, 1.5rem); padding-left: clamp(0.5rem, 2vw, 1.5rem); padding-right: clamp(0.5rem, 2vw, 1.5rem); padding-bottom: clamp(0.5rem, 2vw, 1.5rem); font-size: clamp(1rem, 1rem + 1vw, 1.5rem);">
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user