diff --git a/astro.config.mjs b/astro.config.mjs index 0dbd924..9df33fb 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -4,7 +4,6 @@ import mdx from '@astrojs/mdx'; import sitemap from '@astrojs/sitemap'; import { defineConfig } from 'astro/config'; -// https://astro.build/config export default defineConfig({ site: 'https://example.com', integrations: [mdx(), sitemap()], diff --git a/src/assets/osuProgress/scorePage.png b/src/assets/osuProgress/scorePage.png new file mode 100644 index 0000000..7cfa52d Binary files /dev/null and b/src/assets/osuProgress/scorePage.png differ diff --git a/src/components/Footer.astro b/src/components/Footer.astro deleted file mode 100644 index 02fb8f5..0000000 --- a/src/components/Footer.astro +++ /dev/null @@ -1,15 +0,0 @@ ---- -const today = new Date(); ---- - - - diff --git a/src/components/Header.astro b/src/components/Header.astro index c83b612..8987d25 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -3,7 +3,10 @@ import { SITE_TITLE } from '../consts'; import HeaderLink from './HeaderLink.astro'; import { getCollection } from 'astro:content'; -const posts = (await getCollection('blog')).sort( +const personalPosts = (await getCollection('personal')).sort( + (a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf(), +); +const uniPosts = (await getCollection('uni')).sort( (a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf(), ); --- @@ -12,10 +15,21 @@ const posts = (await getCollection('blog')).sort( {SITE_TITLE} + Personal { - posts.map((post) => ( + personalPosts.map((post) => ( - {post.data.title} + {post.data.title} + + )) + } + + University + (Group Projects) + { + uniPosts.map((post) => ( + + {post.data.title} )) } diff --git a/src/content.config.ts b/src/content.config.ts index 131c645..d1261a7 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -1,9 +1,9 @@ import { defineCollection, z } from 'astro:content'; import { glob } from 'astro/loaders'; -const blog = defineCollection({ +const personal = defineCollection({ // Load Markdown and MDX files in the `src/content/blog/` directory. - loader: glob({ base: './src/content/blog', pattern: '**/*.{md,mdx}' }), + loader: glob({ base: './src/content/blog/personal', pattern: '**/*.{md,mdx}' }), // Type-check frontmatter using a schema schema: ({ image }) => z.object({ @@ -16,4 +16,20 @@ const blog = defineCollection({ }), }); -export const collections = { blog }; + +const uni = defineCollection({ + // Load Markdown and MDX files in the `src/content/blog/` directory. + loader: glob({ base: './src/content/blog/university', pattern: '**/*.{md,mdx}' }), + // Type-check frontmatter using a schema + schema: ({ image }) => + z.object({ + title: z.string(), + description: z.string(), + // Transform string to Date object + pubDate: z.coerce.date(), + gitLink: z.string().optional(), + heroImage: image().optional(), + }), +}); + +export const collections = { personal, uni }; diff --git a/src/content/blog/personal/fileclap.md b/src/content/blog/personal/fileclap.md deleted file mode 100644 index 9afc396..0000000 --- a/src/content/blog/personal/fileclap.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: 'FileClap' -description: 'Doormat' -pubDate: 'Jul 08 2022' -gitLink: 'https://github.com/juli0n21/fileclap' ---- - -# FileClap: Clear the paperwork off the table -Your digital assistant for students and trainees - -No more paper chaos! FileClap helps you easily organize photos, receipts, and important documents. Securely stored and accessible from anywhere—for a stress-free daily life with more clarity! - - - -Uses Vector embeddings to aid in context aware searching - -check it out! diff --git a/src/content/blog/personal/fileclap.mdx b/src/content/blog/personal/fileclap.mdx new file mode 100644 index 0000000..50f3a3a --- /dev/null +++ b/src/content/blog/personal/fileclap.mdx @@ -0,0 +1,39 @@ +--- +title: 'FileClap' +description: 'Doormat' +pubDate: 'Mar 01 2026' +gitLink: 'https://github.com/juli0n21/fileclap' +--- + +import { Image } from 'astro:assets'; +import homeview from '../../../assets/fileclap/homeview.png'; +import search from '../../../assets/fileclap/search.png'; + + +# FileClap: Clear the paperwork off the table +Your digital assistant for students and trainees + +No more paper chaos! FileClap helps you easily organize photos, receipts, and important documents. Securely stored and accessible from anywhere—for a stress-free daily life with more clarity! + + + +Advanced Search Capabilites using Vector embeddings for shit + + + + Preview of the Search result for value "golang books" + + +check it out! diff --git a/src/content/blog/personal/general.md b/src/content/blog/personal/general.md index 626aeab..15ab218 100644 --- a/src/content/blog/personal/general.md +++ b/src/content/blog/personal/general.md @@ -1,25 +1,21 @@ --- title: 'Deployment' description: 'Lorem ipsum dolor sit amet' -pubDate: 'Jul 08 2022' +pubDate: 'Mar 02 2026' --- # Horsa Haas HorseShoe as a Service diff --git a/src/content/blog/personal/osu!progress.md b/src/content/blog/personal/osu!progress.md deleted file mode 100644 index 040a909..0000000 --- a/src/content/blog/personal/osu!progress.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 'osu!Progess Server' -description: 'Lorem ipsum dolor sit amet' -pubDate: 'Jul 08 2022' ---- - diff --git a/src/content/blog/personal/osuProgress.md b/src/content/blog/personal/osuProgress.md index f6551dd..bb15325 100644 --- a/src/content/blog/personal/osuProgress.md +++ b/src/content/blog/personal/osuProgress.md @@ -1,24 +1,49 @@ --- -title: 'osu!Progress Local' +title: 'osu!Progress' description: 'Lorem ipsum dolor sit amet' -pubDate: 'Jul 08 2022' +pubDate: 'Jun 20 2024' --- +# osu!Progress - track ur scores and time wasted + +## Features + +- Automaticaly Tracks Passed, Failed, Retrys and Canceld Scores +- Calculates PP and Fullcombo PP +- Tracks Time spend on Any specific Screen +- Tracks BanchoTime (Idle, playing, afk...) +- More or less supports All Modes and Mods +- Shows Potential Fcable Maps +- Progression over time. +- Missanalzer for Passed Scores + +# Screenshots + +# Arcitectur + +- C# +- Liquid for Templates +- Tailwind for Styling +- Sqlite as DB + +## Canceld Extension - [osuProgress Server](https://github.com/JuLi0n21/osuprogressserver) +The idea was to extend the concept and make it easy to share local scores only, due to lazer not being supported by the score extraction library at the time and now live score feed being established went no where + +# Arcitectur + +- golang +- a-h/templ + tailwind +- Sqlite as DB + diff --git a/src/content/blog/personal/pwaplayer.md b/src/content/blog/personal/pwaplayer.md index 080f1d6..5373320 100644 --- a/src/content/blog/personal/pwaplayer.md +++ b/src/content/blog/personal/pwaplayer.md @@ -4,16 +4,18 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- # Osu!Music (Pwa Player) diff --git a/src/content/blog/university/eai-presentation.md b/src/content/blog/university/eai-presentation.md index b8d5d94..b64cc0b 100644 --- a/src/content/blog/university/eai-presentation.md +++ b/src/content/blog/university/eai-presentation.md @@ -4,21 +4,15 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/eai.md b/src/content/blog/university/eai.md index 9275111..7b0374e 100644 --- a/src/content/blog/university/eai.md +++ b/src/content/blog/university/eai.md @@ -4,21 +4,15 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/eai.xmpp.md b/src/content/blog/university/eai.xmpp.md index ec171b6..2da59e3 100644 --- a/src/content/blog/university/eai.xmpp.md +++ b/src/content/blog/university/eai.xmpp.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/gc-project.md b/src/content/blog/university/gc-project.md index dae0429..78d180e 100644 --- a/src/content/blog/university/gc-project.md +++ b/src/content/blog/university/gc-project.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/gwa.md b/src/content/blog/university/gwa.md index 6c562be..ea2ed5e 100644 --- a/src/content/blog/university/gwa.md +++ b/src/content/blog/university/gwa.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/ina2.md b/src/content/blog/university/ina2.md index a76667f..3039262 100644 --- a/src/content/blog/university/ina2.md +++ b/src/content/blog/university/ina2.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/ise-tweeter.md b/src/content/blog/university/ise-tweeter.md index 040231e..b7fe5b4 100644 --- a/src/content/blog/university/ise-tweeter.md +++ b/src/content/blog/university/ise-tweeter.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/mandelbrot.md b/src/content/blog/university/mandelbrot.md index 34944c9..1af9188 100644 --- a/src/content/blog/university/mandelbrot.md +++ b/src/content/blog/university/mandelbrot.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/messanger.md b/src/content/blog/university/messanger.md index 39e8dbd..8807e34 100644 --- a/src/content/blog/university/messanger.md +++ b/src/content/blog/university/messanger.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/picShare.md b/src/content/blog/university/picShare.md index bdbffb0..13e888c 100644 --- a/src/content/blog/university/picShare.md +++ b/src/content/blog/university/picShare.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/project-1.md b/src/content/blog/university/project-1.md index f80ab2d..93dc405 100644 --- a/src/content/blog/university/project-1.md +++ b/src/content/blog/university/project-1.md @@ -4,21 +4,17 @@ description: 'Lorem ipsum dolor sit amet' pubDate: 'Jul 08 2022' --- diff --git a/src/content/blog/university/spline-interpolation.md b/src/content/blog/university/spline-interpolation.md deleted file mode 100644 index f4925a6..0000000 --- a/src/content/blog/university/spline-interpolation.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 'SplineInterpolation' -description: 'Lorem ipsum dolor sit amet' -pubDate: 'Jul 08 2022' ---- - diff --git a/src/layouts/BlogPost.astro b/src/layouts/BlogPost.astro index 32cfde1..2c72076 100644 --- a/src/layouts/BlogPost.astro +++ b/src/layouts/BlogPost.astro @@ -5,7 +5,7 @@ import BaseHead from '../components/BaseHead.astro'; import Footer from '../components/Footer.astro'; import FormattedDate from '../components/FormattedDate.astro'; import Header from '../components/Header.astro'; -import GithubIcon from '../assets/github.svg'; +import GithubIcon from '../assets/github.svg' type Props = CollectionEntry<'blog'>['data']; const { title, description, pubDate, updatedDate, gitLink } = Astro.props; @@ -21,13 +21,9 @@ const { title, description, pubDate, updatedDate, gitLink } = Astro.props; - - - + - - diff --git a/src/pages/blog/[...slug].astro b/src/pages/blog/[...slug].astro deleted file mode 100644 index 0754ea7..0000000 --- a/src/pages/blog/[...slug].astro +++ /dev/null @@ -1,20 +0,0 @@ ---- -import { type CollectionEntry, getCollection, render } from 'astro:content'; -import BlogPost from '../../layouts/BlogPost.astro'; - -export async function getStaticPaths() { - const posts = await getCollection('blog'); - return posts.map((post) => ({ - params: { slug: post.id }, - props: post, - })); -} -type Props = CollectionEntry<'blog'>; - -const post = Astro.props; -const { Content } = await render(post); ---- - - - - diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/blog/personal/[id].astro b/src/pages/blog/personal/[id].astro new file mode 100644 index 0000000..ea5d304 --- /dev/null +++ b/src/pages/blog/personal/[id].astro @@ -0,0 +1,21 @@ +--- +import { getCollection, render } from 'astro:content'; +import BlogPost from '../../../layouts/BlogPost.astro'; + +export async function getStaticPaths() { + const posts = await getCollection('personal'); + return posts.map(post => ({ + params: { id: post.id }, + props: { post }, + })); +} + +type Props = CollectionEntry<'blog'>; + +const { post } = Astro.props; +const { Content } = await render(post); +--- + + + + diff --git a/src/pages/blog/university/[id].astro b/src/pages/blog/university/[id].astro new file mode 100644 index 0000000..e90ab6a --- /dev/null +++ b/src/pages/blog/university/[id].astro @@ -0,0 +1,21 @@ +--- +import { getCollection, render } from 'astro:content'; +import BlogPost from '../../../layouts/BlogPost.astro'; + +export async function getStaticPaths() { + const posts = await getCollection('uni'); + return posts.map(post => ({ + params: { id: post.id }, + props: { post }, + })); +} + +type Props = CollectionEntry<'blog'>; + +const { post } = Astro.props; +const { Content } = await render(post); +--- + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 8e288e8..6db91e4 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -3,6 +3,23 @@ import BaseHead from '../components/BaseHead.astro'; import Footer from '../components/Footer.astro'; import Header from '../components/Header.astro'; import { SITE_DESCRIPTION, SITE_TITLE } from '../consts'; + +let images = []; +let shuffeld = []; + +const response = await fetch('https://fshare.kami.boo/api/user/folders/cmm9jbqvt00025omwu5cnpw9i', + { + headers: { + 'Authorization': 'MTc3MjQ3ODQ5OTA3OQ==.ZTE1OWU4ZmZlZWNiN2IyODIyYWJmOGU4LjgxZmZiYmM5MGJmZjlmNTZiYmFjYThlMDg4MzFiOTA0NzVlMjYyMGQyMmRkZjVkYWNlMTY3ZGYxMWRjNTQ1YmNiZDMxNzM1MTcyNjU0YjRjODYxY2ViY2I4YWY0MWEyZTQyZDQzYThjZDRmZDkxMjQ0MDRlZmI4ODQ4YWZjYWNlZDEuZTgwNDZjNTgyOTlhYjQyMDdmMTIzNTYxMjk0ZmQ4NWQ=', + } + }); +if (response.ok) { + const data = await response.json(); + const files = data.files.map(f => `https://fshare.kami.boo${f.url}`).sort(() => Math.random() - .5); + const middle = Math.round(files.length / 2); + shuffeld = files.slice(0,middle); + images = files.slice(middle); +} --- @@ -11,9 +28,133 @@ import { SITE_DESCRIPTION, SITE_TITLE } from '../consts'; - - Welcome to this Horrible Website, pick any link from the sidebar. - - + + + + + + + + {images.map((src) => ( + + + + ))} + + {images.map((src) => ( + + + + ))} + + + {shuffeld.slice().reverse().map((src) => ( + + + + ))} + {shuffeld.slice().reverse().map((src) => ( + + + + ))} + + + +