Compare commits
4 Commits
v1.0.0
...
14c65bda05
Author | SHA1 | Date | |
---|---|---|---|
14c65bda05
|
|||
16104d12ae
|
|||
83b2b9ac68
|
|||
8cc5c6971f
|
@ -23,4 +23,4 @@ COPY --from=build /app/dist ./dist
|
|||||||
ENV HOST=0.0.0.0
|
ENV HOST=0.0.0.0
|
||||||
ENV PORT=4321
|
ENV PORT=4321
|
||||||
EXPOSE 4321
|
EXPOSE 4321
|
||||||
CMD node ./dist/server/entry.mjs
|
ENTRYPOINT node ./dist/server/entry.mjs
|
37
TODO.md
37
TODO.md
@ -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
|
||||||
|
@ -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.",
|
||||||
|
@ -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.",
|
||||||
|
15
package.json
15
package.json
@ -16,27 +16,28 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/check": "^0.9.4",
|
"@astrojs/check": "^0.9.4",
|
||||||
"@astrojs/mdx": "^4.0.8",
|
"@astrojs/mdx": "^4.0.8",
|
||||||
"@astrojs/node": "9.1.0",
|
"@astrojs/node": "9.1.1",
|
||||||
"@astrojs/sitemap": "^3.2.1",
|
"@astrojs/sitemap": "^3.2.1",
|
||||||
"@astrojs/svelte": "^7.0.4",
|
"@astrojs/svelte": "^7.0.4",
|
||||||
"@iconify-json/pajamas": "^1.2.5",
|
"@iconify-json/pajamas": "^1.2.5",
|
||||||
"@inlang/paraglide-astro": "^0.3.5",
|
"@inlang/paraglide-astro": "^0.3.5",
|
||||||
"@inlang/paraglide-js": "1.11.8",
|
"@inlang/paraglide-js": "1.11.8",
|
||||||
"@tailwindcss/typography": "^0.5.16",
|
"@tailwindcss/typography": "^0.5.16",
|
||||||
"@tailwindcss/vite": "^4.0.6",
|
"@tailwindcss/vite": "^4.0.9",
|
||||||
"astro": "5.3.0",
|
"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.1",
|
"svelte": "^5.20.4",
|
||||||
"tailwindcss": "^4.0.6",
|
"tailwindcss": "^4.0.9",
|
||||||
"typescript": "^5.7.3"
|
"typescript": "^5.7.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"daisyui": "^5.0.0-beta.8",
|
"daisyui": "^5.0.0-beta.8",
|
||||||
"prettier": "^3.5.1",
|
"prettier": "^3.5.2",
|
||||||
"prettier-plugin-astro": "^0.14.1",
|
"prettier-plugin-astro": "^0.14.1",
|
||||||
"prettier-plugin-svelte": "^3.3.3",
|
"prettier-plugin-svelte": "^3.3.3",
|
||||||
"vite": "^6.1.0"
|
"vite": "^6.2.0"
|
||||||
},
|
},
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"semi": false,
|
"semi": false,
|
||||||
|
583
pnpm-lock.yaml
generated
583
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -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",
|
||||||
|
@ -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>
|
||||||
|
Reference in New Issue
Block a user