diff --git a/README.md b/README.md index 1db3fb3..dd964b3 100644 --- a/README.md +++ b/README.md @@ -1,54 +1,5 @@ -# Astro Starter Kit: Basics +# Homepage / portfolio -```sh -npm create astro@latest -- --template basics -``` +> This repository is mirrored on [Codeberg](https://codeberg.org/martials/martials.no) -[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics) -[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics) -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json) - -> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! - -![just-the-basics](https://github.com/withastro/astro/assets/2244813/a0a5533c-a856-4198-8470-2d67b1d7c554) - -## 🚀 Project Structure - -Inside of your Astro project, you'll see the following folders and files: - -```text -/ -├── public/ -│ └── favicon.svg -├── src/ -│ ├── components/ -│ │ └── Card.astro -│ ├── layouts/ -│ │ └── Layout.astro -│ └── pages/ -│ └── index.astro -└── package.json -``` - -Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. - -There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. - -Any static assets, like images, can be placed in the `public/` directory. - -## 🧞 Commands - -All commands are run from the root of the project, from a terminal: - -| Command | Action | -| :------------------------ | :----------------------------------------------- | -| `npm install` | Installs dependencies | -| `npm run dev` | Starts local dev server at `localhost:4321` | -| `npm run build` | Build your production site to `./dist/` | -| `npm run preview` | Preview your build locally, before deploying | -| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | -| `npm run astro -- --help` | Get help using the Astro CLI | - -## 👀 Want to learn more? - -Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). +More to come! diff --git a/TODO.md b/TODO.md index e4cdb06..7fdf64e 100644 --- a/TODO.md +++ b/TODO.md @@ -11,6 +11,7 @@ - [ ] Fix colours on buttons - [ ] Correct contrast - [ ] All interactable elements have labels +- [ ] Colour links, also in MDX posts ## ~/ - [ ] About me description diff --git a/astro.config.mjs b/astro.config.mjs index ab45fa6..1c06fa7 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -28,9 +28,8 @@ export default defineConfig({ svelte(), icon(), paraglide({ - // recommended settings project: "./project.inlang", - outdir: "./src/paraglide", //where your files should be + outdir: "./src/paraglide", }), ], adapter: node({ diff --git a/public/favicon.jpg b/public/favicon.jpg new file mode 100644 index 0000000..8032d56 Binary files /dev/null and b/public/favicon.jpg differ diff --git a/public/favicon.svg b/public/favicon.svg deleted file mode 100644 index f157bd1..0000000 --- a/public/favicon.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 8b9bf77..ad79733 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -16,7 +16,11 @@ const giteaLink = `${GIT_URL}/martials/martials.no`
- + {m.status()}
diff --git a/src/components/badge/Badge.astro b/src/components/badge/Badge.astro index f8154c6..1e3b791 100644 --- a/src/components/badge/Badge.astro +++ b/src/components/badge/Badge.astro @@ -5,4 +5,4 @@ interface Props { const { tag } = Astro.props --- -
{tag}
+
{tag}
diff --git a/src/components/icons/Gitea.astro b/src/components/icons/Gitea.astro deleted file mode 100644 index 061d284..0000000 --- a/src/components/icons/Gitea.astro +++ /dev/null @@ -1,10 +0,0 @@ ---- -import PajamasIcon from "./PajamasIcon.astro" -interface Props { - class?: string -} - -const { class: clazz } = Astro.props ---- - - diff --git a/src/components/links/GiteaLink.astro b/src/components/links/GiteaLink.astro index 4f21266..5fb9d49 100644 --- a/src/components/links/GiteaLink.astro +++ b/src/components/links/GiteaLink.astro @@ -1,16 +1,21 @@ --- import ExternalLink from "./ExternalLink.astro" import * as m from "@/paraglide/messages" -import Gitea from "../icons/Gitea.astro" +import PajamasIcon from "../icons/PajamasIcon.astro" interface Props { href: string + class?: string } -const { href } = Astro.props +const { href, class: clazz } = Astro.props ---
- - + + {m.sourceCode()}
diff --git a/src/components/myLinks/LinkCard.astro b/src/components/myLinks/LinkCard.astro index 48a9b60..1a5f152 100644 --- a/src/components/myLinks/LinkCard.astro +++ b/src/components/myLinks/LinkCard.astro @@ -8,12 +8,28 @@ interface Props extends MyLink { } const { title, message, url, icon, class: clazz } = Astro.props +const iconStyle = "w-6 h-6" +console.log(icon) ---
- + { + icon ? ( + + ) : ( + + ) + }
{title}

{message}

diff --git a/src/components/myLinks/myLinks.ts b/src/components/myLinks/myLinks.ts index 823cf5a..d62c591 100644 --- a/src/components/myLinks/myLinks.ts +++ b/src/components/myLinks/myLinks.ts @@ -6,7 +6,10 @@ export interface MyLink { title: string url: string message?: string - icon?: PajamasIcon + icon?: { + src: PajamasIcon + alt: string + } } export default [ @@ -14,28 +17,43 @@ export default [ title: "Codeberg", url: "https://codeberg.org/martials", message: m.forMirrors(), - icon: "pajamas:git", + icon: { + src: "pajamas:git", + alt: "Git icon", + }, }, { title: "Gitea", url: `${GIT_URL}/martials`, message: m.forPersonalProjects(), - icon: "pajamas:gitea", + icon: { + src: "pajamas:gitea", + alt: "Gitea icon", + }, }, { title: "GitHub", url: "https://github.com/emberal", - icon: "pajamas:github", + icon: { + src: "pajamas:github", + alt: "GitHub icon", + }, }, { title: "LinkedIn", url: "https://www.linkedin.com/in/martin-b-2a69391a3/", - icon: "pajamas:linkedin", + icon: { + src: "pajamas:linkedin", + alt: "LinkedIn icon", + }, }, { title: "Mastodon (Snabelen.no)", url: "https://snabelen.no/@Martials", - icon: "pajamas:mastodon", + icon: { + src: "pajamas:mastodon", + alt: "Mastodon icon", + }, }, { title: "Pixelfed", @@ -49,4 +67,4 @@ export default [ title: "Trakt.tv", url: "https://trakt.tv/users/martials", }, -] as MyLink[] +] satisfies MyLink[] diff --git a/src/components/projects/ProjectCard.astro b/src/components/projects/ProjectCard.astro index 207df50..f64c09c 100644 --- a/src/components/projects/ProjectCard.astro +++ b/src/components/projects/ProjectCard.astro @@ -19,7 +19,7 @@ const { title, description, tags, image, imageAlt, linkTo } = Astro.props
{imageAlt} diff --git a/src/components/projects/ProjectPage.astro b/src/components/projects/ProjectPage.astro index 4e44967..fef3f03 100644 --- a/src/components/projects/ProjectPage.astro +++ b/src/components/projects/ProjectPage.astro @@ -2,10 +2,10 @@ import Layout from "@/layouts/Layout.astro" import { Image } from "astro:assets" import { getEntry, render } from "astro:content" -import BadgeList from "../badge/BadgeList.astro" +import BadgeList from "@/components/badge/BadgeList.astro" import * as m from "@/paraglide/messages" import { languageTag } from "@/paraglide/runtime" -import GiteaLink from "../links/GiteaLink.astro" +import GiteaLink from "@/components/links/GiteaLink.astro" import "@/styles/global.css" interface Props { @@ -28,7 +28,7 @@ const { } = entry!.data --- - +
@@ -44,9 +44,9 @@ const {

- {heroImageAlt} + {heroImageAlt} - +

{description}

diff --git a/src/content/config.ts b/src/content/config.ts index f83f1a5..fa2fb71 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -10,9 +10,9 @@ const projectCollection = defineCollection({ heroImage: image(), heroImageAlt: z.string(), tags: z.array(z.string()), - source: z.string(), - createdAt: z.string(), - updatedAt: z.string(), + source: z.string().url(), + createdAt: z.string().date(), + updatedAt: z.string().date(), }), }) diff --git a/src/content/projects/Calendar before and after.png b/src/content/projects/Calendar before and after.png deleted file mode 100644 index e8e7453..0000000 Binary files a/src/content/projects/Calendar before and after.png and /dev/null differ diff --git a/src/content/projects/Simplify-truths-website.png b/src/content/projects/Simplify-truths-website.png deleted file mode 100644 index cf46856..0000000 Binary files a/src/content/projects/Simplify-truths-website.png and /dev/null differ diff --git a/src/content/projects/assets/recursive-meme.png b/src/content/projects/assets/recursive-meme.png new file mode 100644 index 0000000..9a76157 Binary files /dev/null and b/src/content/projects/assets/recursive-meme.png differ diff --git a/src/content/projects/homepage.mdx b/src/content/projects/homepage.mdx index 4f92d7c..d270ceb 100644 --- a/src/content/projects/homepage.mdx +++ b/src/content/projects/homepage.mdx @@ -1,14 +1,17 @@ --- title: "Hjemmeside" -description: "Hjemmesiden" -heroImage: "./kevin-james.jpg" -heroImageAlt: "The homepage of this site" -tags: [Astro, Svelte, TypeScript, I18n] -source: "https://example.com" +description: "Welcome to my homepage / portfolio" +heroImage: "assets/recursive-meme.png" +heroImageAlt: "A recursive meme that says: Self-reference, recursive meme is self-referential" +tags: [Astro, Svelte, TypeScript, I18n, TailwindCSS, Docker] +source: "https://git.martials.no/martials/martials.no" createdAt: "2024-09-22" -updatedAt: "2024-09-22" +updatedAt: "2025-02-15" --- -This is a short meta post about the homepage of this site. -It is a simple landing page with a short introduction to the site and a list of the latest posts. -The site is not built with GatsbyJS and Contentful. +This is a short meta post about my homepage which you are looking at right now. + +This page is going to be a simple site where I will share my projects, stuff i've accomplished and things about me. +It is still a work in progress, so it will be updated for the forseable future. + +In the meantime, you can see what i'm working on at [Gitea](https://git.martials.no/martials?tab=activity). diff --git a/src/content/projects/hvl-ics-simplifier.mdx b/src/content/projects/hvl-ics-simplifier.mdx deleted file mode 100644 index 43beda9..0000000 --- a/src/content/projects/hvl-ics-simplifier.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "API for å forenkle TimeEdit iCalendar filer" -description: "Et API som forenkler tittler i ICS filer fra TimeEdit" -heroImage: "./Calendar before and after.png" -heroImageAlt: "En kalender før og etter APIet har blitt brukt. Venstre side er før, høyre etter." -tags: [API, Kotlin, Spring Boot, Tomcat, iCal4j, CI/CD] -source: "https://github.com/emberal/hvl_ics_simplifier" -createdAt: "2023-08-08" -updatedAt: "2024-10-20" ---- - -Ble lei av hvor vanskelig det var å lese iCalendar filer fra HVL sin kalender i TimeEdit, så jeg lagde et API som gjør det enklere. -Data for tittelen blir hentet fra den gamle tittelen. -For å finne hvilken type hendselse det er, sjekkes beskrivelsen og lokasjonen. - -APIet er skrevet i Kotlin med Spring boot, og hosted på en selvhostet tomcat server. \ No newline at end of file diff --git a/src/content/projects/kevin-james.jpg b/src/content/projects/kevin-james.jpg deleted file mode 100644 index cf90253..0000000 Binary files a/src/content/projects/kevin-james.jpg and /dev/null differ diff --git a/src/content/projects/simplify-truths.mdx b/src/content/projects/simplify-truths.mdx deleted file mode 100644 index bc5c48b..0000000 --- a/src/content/projects/simplify-truths.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: "Forenkle sannhetsverdier og sannhetstabeller" -description: "Forenkle sannhetsuttrykk og opprette sannhetstabeller" -heroImage: "./Simplify-truths-website.png" -heroImageAlt: "Nettsiden med en sannhetstabell" -tags: [TypeScript, SolidJS, Tailwind css, Nettside, Java, API, Spring Boot, Raspberry Pi, Apache, Tomcat] -source: "https://github.com/h600878/martials.no" -createdAt: "2022-11-08" -updatedAt: "2024-10-20" ---- -{/* TODO change to Rust */} -Noen sannhetsverdier kan bli ganske store, og kompliserte. Derfor har jeg laget dette programmet for å forenkle uttrykk mest mulig. -Programmet bruker flere kjente metoder for å skrive om uttrykkene. Hvilke uttrykk som er brukt og hvilke endringer de gjorde, -kan vises i menyen under søkefeltet. -
-I tillegg til å bare forenkle uttrykk, kan man også generere en sannhetstabell med alle mulige verdier i uttrykket. -Hvis man ikke ønsker å forenkle uttrykket, men bare generere tabellen, kan man enkelt skru av forenkling. I tillegg har -man muligheten til å filtrere resultat, enten ved å skjule sanne eller usanne verdier. Eller ved å sortere etter sanne -eller usanne først. -
-Nettsiden er laget med TypeScript, SolidJS og Tailwind CSS. API-et er laget med Java og Spring Boot. -Begge kjører på min egen raspberry pi 4, nettsiden er hostet på en apache2 tjener, mens API-et ligger på en tomcat tjener. -Lenke til nettsiden. -
-Spørringer kan gjøres mot API-et kan utføres med GET eller POST. API-et returnerer JSON. -[Lenke til API-docs](https://api.martials.no/simplify-truths) \ No newline at end of file diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index eaacd34..ff3a04b 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,8 +1,8 @@ --- import Footer from "@/components/Footer.astro" -import Header from "../components/header/Header.astro" +import Header from "@/components/header/Header.astro" import { languageTag } from "@/paraglide/runtime" -import { resolvePathname } from "../utils/linking" +import { resolvePathname } from "@/utils/linking" interface Props { title: string @@ -19,14 +19,14 @@ const mainClass = "grow max-w-[1000px] m-auto sm:min-w-[500px] mt-5" - + {title} | Martin Berg Alstad
-

~{resolvePathname(Astro.routePattern)}

+

~{resolvePathname(Astro.originPathname)}