Compare commits

...

2 Commits

Author SHA1 Message Date
14c65bda05
Replaced JS Date API with dayjs
All checks were successful
Build and deploy website / build (push) Successful in 56s
2025-02-25 19:49:21 +01:00
16104d12ae
Added more links, upddated TODO 2025-02-25 19:33:01 +01:00
7 changed files with 51 additions and 22 deletions

37
TODO.md
View File

@ -1,39 +1,40 @@
# TODO # TODO
## Code - [ ] License
- [ ] day.js for dates
- [ ] Nix Shell
## SSE ## Code
- [x] Correct Sitemap.xml - [ ] Nix Shell
- [x] Correct robots.txt - [ ] Analytics
- [x] Correct security.txt - [ ] Organize code better
## SEO
- [ ] Meta tags on each page
## Layout ## Layout
- [x] Show current page
- [x] Correct bg colour on entire page
- [x] Hamburger menu on mobile
- [ ] Dark mode toggle - [ ] Dark mode toggle
- [ ] Navigate using pathname / breadcrumbs - [ ] Navigate using pathname / breadcrumbs
## Accessibility ## Accessibility
- [x] Fix colours on buttons
- [x] Correct contrast
- [ ] All interactable elements have labels - [ ] All interactable elements have labels
- [x] Colour links, also in MDX posts
## I18N
- [ ] Markdown for text
## ~/ ## ~/
- [ ] About me description - [ ] About me description
- [x] Latest projects - [ ] Limit latest projects to N (5?)
- [x] Non-cat image
## ~/about ## ~/about
- [ ] About me - [ ] About me
## ~/links ## ~/links
- [ ] Add Bluesky link
- [ ] Add MusicBrainz link ## ~/projects
- [ ] Add Archidekt link - [ ] Translate projects
- [ ] Bachelor project
- [ ] Sparebank1 ActualBudget service
- [ ] More about this website
- [ ] RSS Feed
## ~/slashes ## ~/slashes
- [ ] List of all slashes - [ ] List of all slashes

View File

@ -1,5 +1,6 @@
{ {
"$schema": "https://inlang.com/schema/inlang-message-format", "$schema": "https://inlang.com/schema/inlang-message-format",
"archidektMessage": "My MTG cards and decks",
"hiIm": "Hi, I'm", "hiIm": "Hi, I'm",
"position": "Software Engineer", "position": "Software Engineer",
"aboutMe": "Dedicated developer currently working at Capgemini Bergen.", "aboutMe": "Dedicated developer currently working at Capgemini Bergen.",

View File

@ -1,5 +1,6 @@
{ {
"$schema": "https://inlang.com/schema/inlang-message-format", "$schema": "https://inlang.com/schema/inlang-message-format",
"archidektMessage": "Mine MTG kort og decks",
"hiIm": "Hei, jeg er", "hiIm": "Hei, jeg er",
"position": "Programvareutvikler", "position": "Programvareutvikler",
"aboutMe": "Engasjert utvikler som for tiden jobber hos Capgemini Bergen.", "aboutMe": "Engasjert utvikler som for tiden jobber hos Capgemini Bergen.",

View File

@ -26,6 +26,7 @@
"@tailwindcss/vite": "^4.0.9", "@tailwindcss/vite": "^4.0.9",
"astro": "^5.3.1", "astro": "^5.3.1",
"astro-icon": "^1.1.5", "astro-icon": "^1.1.5",
"dayjs": "^1.11.13",
"sharp": "^0.33.5", "sharp": "^0.33.5",
"svelte": "^5.20.4", "svelte": "^5.20.4",
"tailwindcss": "^4.0.9", "tailwindcss": "^4.0.9",

8
pnpm-lock.yaml generated
View File

@ -44,6 +44,9 @@ importers:
astro-icon: astro-icon:
specifier: ^1.1.5 specifier: ^1.1.5
version: 1.1.5 version: 1.1.5
dayjs:
specifier: ^1.11.13
version: 1.11.13
sharp: sharp:
specifier: ^0.33.5 specifier: ^0.33.5
version: 0.33.5 version: 0.33.5
@ -1444,6 +1447,9 @@ packages:
daisyui@5.0.0-beta.8: daisyui@5.0.0-beta.8:
resolution: {integrity: sha512-jSokqm5i+Pv1jG80wliNzMHjmcF+iMx5xRUpk0/QExVoVNyQNWeCsaWJQubPvUq7bt9nzSsQTR2uIZBoyIIoaA==} resolution: {integrity: sha512-jSokqm5i+Pv1jG80wliNzMHjmcF+iMx5xRUpk0/QExVoVNyQNWeCsaWJQubPvUq7bt9nzSsQTR2uIZBoyIIoaA==}
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
debug@4.3.7: debug@4.3.7:
resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
engines: {node: '>=6.0'} engines: {node: '>=6.0'}
@ -4782,6 +4788,8 @@ snapshots:
daisyui@5.0.0-beta.8: {} daisyui@5.0.0-beta.8: {}
dayjs@1.11.13: {}
debug@4.3.7: debug@4.3.7:
dependencies: dependencies:
ms: 2.1.3 ms: 2.1.3

View File

@ -13,6 +13,15 @@ export interface MyLink {
} }
export default [ export default [
{
title: "Archidekt",
url: "https://archidekt.com/u/Emberal",
message: m.archidektMessage(),
},
{
title: "Bluesky",
url: "https://bsky.app/profile/martials.no",
},
{ {
title: "Codeberg", title: "Codeberg",
url: "https://codeberg.org/martials", url: "https://codeberg.org/martials",
@ -55,6 +64,10 @@ export default [
alt: "Mastodon icon", alt: "Mastodon icon",
}, },
}, },
{
title: "ListenBrainz",
url: "https://listenbrainz.org/user/emberal/",
},
{ {
title: "Pixelfed", title: "Pixelfed",
url: "https://pixelfed.social/i/web/profile/261454857934868480", url: "https://pixelfed.social/i/web/profile/261454857934868480",

View File

@ -1,11 +1,12 @@
--- ---
import * as m from "@/paraglide/messages"
import Layout from "@/layouts/Layout.astro" import Layout from "@/layouts/Layout.astro"
import BadgeList from "@/components/badge/BadgeList.astro" import BadgeList from "@/components/badge/BadgeList.astro"
import GiteaLink from "@/components/links/GiteaLink.astro" import GiteaLink from "@/components/links/GiteaLink.astro"
import { languageTag } from "@/paraglide/runtime" import { languageTag } from "@/paraglide/runtime"
import { getEntry, render } from "astro:content" import { getEntry, render } from "astro:content"
import { Image } from "astro:assets" import { Image } from "astro:assets"
import * as m from "@/paraglide/messages" import dayjs from "dayjs"
import "@/styles/global.css" import "@/styles/global.css"
interface Props { interface Props {
@ -26,9 +27,12 @@ const {
createdAt, createdAt,
updatedAt, updatedAt,
} = entry!.data } = entry!.data
function localeDateString(isoString: string): string {
return dayjs(isoString).locale(languageTag()).format("YYYY-MM-DD")
}
--- ---
<!--TODO day.js / Temporal API for dates?-->
<Layout title={title} class="mx-auto max-w-[750px]"> <Layout title={title} class="mx-auto max-w-[750px]">
<div class="flex justify-between my-2"> <div class="flex justify-between my-2">
<div> <div>
@ -37,10 +41,10 @@ const {
</div> </div>
<div class="flex flex-col items-end"> <div class="flex flex-col items-end">
<p> <p>
{m.createdAt()}: {new Date(createdAt).toLocaleDateString(languageTag())} {m.createdAt()}: {localeDateString(createdAt)}
</p> </p>
<p> <p>
{m.updatedAt()}: {new Date(updatedAt).toLocaleDateString(languageTag())} {m.updatedAt()}: {localeDateString(updatedAt)}
</p> </p>
</div> </div>
</div> </div>