diff --git a/package.json b/package.json index d0366a5..2933ddb 100644 --- a/package.json +++ b/package.json @@ -12,13 +12,19 @@ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch" }, "pnpm": { - "onlyBuiltDependencies": ["@parcel/watcher", "esbuild", "sharp", "svelte-preprocess"] + "onlyBuiltDependencies": [ + "@parcel/watcher", + "esbuild", + "sharp", + "svelte-preprocess" + ] }, "devDependencies": { "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/enhanced-img": "^0.10.4", "@sveltejs/kit": "^2.57.1", "@sveltejs/vite-plugin-svelte": "^6.2.4", + "@types/node": "^25.9.1", "mdsvex": "^0.12.7", "prettier": "^3.8.3", "prettier-plugin-svelte": "^3.5.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 057c783..48e8a43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,16 +15,19 @@ importers: devDependencies: '@sveltejs/adapter-static': specifier: ^3.0.10 - version: 3.0.10(@sveltejs/kit@2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0))) + version: 3.0.10(@sveltejs/kit@2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0))) '@sveltejs/enhanced-img': specifier: ^0.10.4 - version: 0.10.4(patch_hash=9a1c9b4c9cd4aefef304f2ebee4669210b8e93cf37300e82857392a6327dfbd8)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(rollup@4.60.2)(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + version: 0.10.4(patch_hash=9a1c9b4c9cd4aefef304f2ebee4669210b8e93cf37300e82857392a6327dfbd8)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(rollup@4.60.2)(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) '@sveltejs/kit': specifier: ^2.57.1 - version: 2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + version: 2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.2.4 - version: 6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + version: 6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) + '@types/node': + specifier: ^25.9.1 + version: 25.9.1 mdsvex: specifier: ^0.12.7 version: 0.12.7(svelte@5.55.4(@typescript-eslint/types@8.58.0)) @@ -54,10 +57,10 @@ importers: version: 5.9.3 vite: specifier: ^7.3.2 - version: 7.3.2(@types/node@25.6.0)(sass@1.99.0) + version: 7.3.2(@types/node@25.9.1)(sass@1.99.0) vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(typescript@5.9.3)(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + version: 6.1.1(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) packages: @@ -687,8 +690,8 @@ packages: '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/node@25.6.0': - resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} + '@types/node@25.9.1': + resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -998,8 +1001,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - undici-types@7.19.2: - resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} unist-util-is@4.1.0: resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} @@ -1428,28 +1431,28 @@ snapshots: dependencies: acorn: 8.16.0 - '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))': + '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))': dependencies: - '@sveltejs/kit': 2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + '@sveltejs/kit': 2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) - '@sveltejs/enhanced-img@0.10.4(patch_hash=9a1c9b4c9cd4aefef304f2ebee4669210b8e93cf37300e82857392a6327dfbd8)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(rollup@4.60.2)(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0))': + '@sveltejs/enhanced-img@0.10.4(patch_hash=9a1c9b4c9cd4aefef304f2ebee4669210b8e93cf37300e82857392a6327dfbd8)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(rollup@4.60.2)(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) magic-string: 0.30.21 sharp: 0.34.5 svelte: 5.55.4(@typescript-eslint/types@8.58.0) svelte-parse-markup: 0.1.5(svelte@5.55.4(@typescript-eslint/types@8.58.0)) - vite: 7.3.2(@types/node@25.6.0)(sass@1.99.0) + vite: 7.3.2(@types/node@25.9.1)(sass@1.99.0) vite-imagetools: 9.0.3(rollup@4.60.2) zimmerframe: 1.1.4 transitivePeerDependencies: - rollup - '@sveltejs/kit@2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0))': + '@sveltejs/kit@2.57.1(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -1461,26 +1464,26 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.4(@typescript-eslint/types@8.58.0) - vite: 7.3.2(@types/node@25.6.0)(sass@1.99.0) + vite: 7.3.2(@types/node@25.9.1)(sass@1.99.0) optionalDependencies: typescript: 5.9.3 - '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) obug: 2.1.1 svelte: 5.55.4(@typescript-eslint/types@8.58.0) - vite: 7.3.2(@types/node@25.6.0)(sass@1.99.0) + vite: 7.3.2(@types/node@25.9.1)(sass@1.99.0) - '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0))': + '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)))(svelte@5.55.4(@typescript-eslint/types@8.58.0))(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) deepmerge: 4.3.1 magic-string: 0.30.21 obug: 2.1.1 svelte: 5.55.4(@typescript-eslint/types@8.58.0) - vite: 7.3.2(@types/node@25.6.0)(sass@1.99.0) - vitefu: 1.1.3(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)) + vite: 7.3.2(@types/node@25.9.1)(sass@1.99.0) + vitefu: 1.1.3(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)) '@types/cookie@0.6.0': {} @@ -1490,10 +1493,9 @@ snapshots: dependencies: '@types/unist': 2.0.11 - '@types/node@25.6.0': + '@types/node@25.9.1': dependencies: - undici-types: 7.19.2 - optional: true + undici-types: 7.24.6 '@types/trusted-types@2.0.7': {} @@ -1809,8 +1811,7 @@ snapshots: typescript@5.9.3: {} - undici-types@7.19.2: - optional: true + undici-types@7.24.6: {} unist-util-is@4.1.0: {} @@ -1842,17 +1843,17 @@ snapshots: transitivePeerDependencies: - rollup - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.3) - vite: 7.3.2(@types/node@25.6.0)(sass@1.99.0) + vite: 7.3.2(@types/node@25.9.1)(sass@1.99.0) transitivePeerDependencies: - supports-color - typescript - vite@7.3.2(@types/node@25.6.0)(sass@1.99.0): + vite@7.3.2(@types/node@25.9.1)(sass@1.99.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -1861,12 +1862,12 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.6.0 + '@types/node': 25.9.1 fsevents: 2.3.3 sass: 1.99.0 - vitefu@1.1.3(vite@7.3.2(@types/node@25.6.0)(sass@1.99.0)): + vitefu@1.1.3(vite@7.3.2(@types/node@25.9.1)(sass@1.99.0)): optionalDependencies: - vite: 7.3.2(@types/node@25.6.0)(sass@1.99.0) + vite: 7.3.2(@types/node@25.9.1)(sass@1.99.0) zimmerframe@1.1.4: {} diff --git a/src/lib/nav.svelte b/src/lib/nav.svelte index 806e565..55504ae 100644 --- a/src/lib/nav.svelte +++ b/src/lib/nav.svelte @@ -7,6 +7,7 @@ {/snippet} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index bb40a41..023af96 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,4 +1,5 @@ Doloro's Site (Which resides on the internet) +

hi

diff --git a/src/routes/changelog/+page.server.ts b/src/routes/changelog/+page.server.ts new file mode 100644 index 0000000..fa83590 --- /dev/null +++ b/src/routes/changelog/+page.server.ts @@ -0,0 +1,53 @@ +export const prerender = true; + +import { execSync } from 'child_process'; + +const GITLOGCMD = ` +git log --pretty=format:"COMMIT:%h|%ad|%s|%an|%aE" --all --numstat --date=unix | awk ' + /^COMMIT:/ { + if (commit) print commit "|" add "|" del + commit = substr($0, 8) + add = 0; del = 0 + } + /^[0-9]/ { add += $1; del += $2 } + END { if (commit) print commit "|" add "|" del }' + +` + +// Example Commit Output +// 2c72bac|1779833088|just file, docker file and website css fixes|Doloro1978|doloroo@proton.me|39|2 + +export type commit = { + hash: string, + date: Date, + title: string, + auther: string, + email: string, + additions: number, + deletions: number, +} + +export async function load() { + const raw = execSync(GITLOGCMD).toString(); + const lines = raw.split('\n'); + // console.log(lines); + const commits: commit[] = [] + for (var x of lines) { + const [hash, unix, title, auther, email, add, del] = x.split("|") + var date = new Date(+unix * 1000); + commits.push({ + hash: hash, + date: date, + title: title, + auther: auther, + email: email, + additions: +add, + deletions: +del, + }) + } + return { + data: { + commits: commits + } + }; +} diff --git a/src/routes/changelog/+page.svelte b/src/routes/changelog/+page.svelte new file mode 100644 index 0000000..6b2342c --- /dev/null +++ b/src/routes/changelog/+page.svelte @@ -0,0 +1,16 @@ + + + + + + {#each commits as commit} + {@render commitCard(commit)} + {/each} + +
Git Commits of the website repo
diff --git a/src/routes/changelog/card.scss b/src/routes/changelog/card.scss new file mode 100644 index 0000000..0aa3719 --- /dev/null +++ b/src/routes/changelog/card.scss @@ -0,0 +1,38 @@ +.commitContainer { + display: flex; + flex-direction: column; + gap: 2px; + align-items: center; +} + +.commitCard { + display: flex; + gap: 10px; + flex-direction: row; + padding: 3px; + background-color: var(--card-raised); + border-width: 3px; + border-style: outset; + border-color: var(--card-border); + width: fit-content; +} + +.boxedUp { + border-width: 2px; + border-style: inset; + border-color: black; + padding-left: 2px; + padding-right: 2px; +} + +.additions { + background-color: var(--success); +} + +.deletions { + background-color: var(--error); +} + +.field { + background-color: var(--card-field); +} diff --git a/src/routes/changelog/commitCard.svelte b/src/routes/changelog/commitCard.svelte new file mode 100644 index 0000000..fb6ba89 --- /dev/null +++ b/src/routes/changelog/commitCard.svelte @@ -0,0 +1,30 @@ + + +{#snippet commitCard(commit: commit)} + {#if commit.additions} + + + {commit.hash} + + + {commit.title} + + + {commit.date.getDate()}/{commit.date.getUTCMonth()}/{commit.date.getUTCFullYear()} + - {#if commit.date.getUTCHours() < 10}0{/if}{commit.date.getHours()}:{#if commit.date.getUTCMinutes() < 10}0{/if}{commit.date + .getUTCMinutes() + .toString()} + + + +{commit.additions} + + + -{commit.deletions} + + + {/if} +{/snippet} diff --git a/static/shared__.css b/static/shared__.css index 8c5d624..882370b 100644 --- a/static/shared__.css +++ b/static/shared__.css @@ -7,6 +7,13 @@ --accent-1: #9f8083; --accent-2: #66232e; --accent-3: #44131a; + --success: #1a6b47; + --warning: #7a5c1a; + --error: #7a2030; + --card: #122a2a; + --card-raised: #183636; + --card-field: #0a1e1e; + --card-border: #1f4444; } body { diff --git a/tsconfig.json b/tsconfig.json index d88a018..8e3f04d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { "rewriteRelativeImportExtensions": true, - "types": ["vite/client"], + "types": ["vite/client", "node"], "allowJs": true, // "baseUrl": ".", // "paths": {