minor update

This commit is contained in:
Morten Olsen
2024-04-21 19:30:38 +02:00
parent ee37ac9d90
commit b34cc2f1da
10 changed files with 1466 additions and 859 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
/.pnpm-store/
# build output # build output
dist/ dist/
# generated types # generated types

View File

@@ -2,8 +2,9 @@ import { defineConfig } from 'astro/config'
import mdx from '@astrojs/mdx' import mdx from '@astrojs/mdx'
import sitemap from '@astrojs/sitemap' import sitemap from '@astrojs/sitemap'
import icon from 'astro-icon' import icon from 'astro-icon'
import compress from 'astro-compress'
import robotsTxt from 'astro-robots-txt' import robotsTxt from 'astro-robots-txt'
import compress from '@playform/compress'
const getSiteInfo = () => { const getSiteInfo = () => {
const siteUrl = process.env.SITE_URL const siteUrl = process.env.SITE_URL
if (!siteUrl) { if (!siteUrl) {

17
devbox.json Normal file
View File

@@ -0,0 +1,17 @@
{
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.10.5/.schema/devbox.schema.json",
"packages": [
"nodejs@21"
],
"env": {
"DEVBOX_COREPACK_ENABLED": "true"
},
"shell": {
"init_hook": [],
"scripts": {
"test": [
"echo \"Error: no test specified\" && exit 1"
]
}
}
}

70
devbox.lock Normal file
View File

@@ -0,0 +1,70 @@
{
"lockfile_version": "1",
"packages": {
"nodejs@21": {
"last_modified": "2024-03-22T07:26:23-04:00",
"plugin_version": "0.0.2",
"resolved": "github:NixOS/nixpkgs/a3ed7406349a9335cb4c2a71369b697cecd9d351#nodejs_21",
"source": "devbox-search",
"version": "21.7.1",
"systems": {
"aarch64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/x1d9im8iy3q74jx1ij2k3pjsfgvqihn1-nodejs-21.7.1",
"default": true
},
{
"name": "libv8",
"path": "/nix/store/q6nyy20l3ixkc6j20sng8vfdjbx3fx3l-nodejs-21.7.1-libv8"
}
],
"store_path": "/nix/store/x1d9im8iy3q74jx1ij2k3pjsfgvqihn1-nodejs-21.7.1"
},
"aarch64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/b7cq5jvw90bl4ls3nssrj5xwh3d6vldf-nodejs-21.7.1",
"default": true
},
{
"name": "libv8",
"path": "/nix/store/w6z9pd67lv405dv366zbfn7cyvf8r43z-nodejs-21.7.1-libv8"
}
],
"store_path": "/nix/store/b7cq5jvw90bl4ls3nssrj5xwh3d6vldf-nodejs-21.7.1"
},
"x86_64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/klvzykcgrhlbpkgdaw5329w2l09wp4vd-nodejs-21.7.1",
"default": true
},
{
"name": "libv8",
"path": "/nix/store/3nxs6fcwrbllix8zwdgpw52wg022h4mm-nodejs-21.7.1-libv8"
}
],
"store_path": "/nix/store/klvzykcgrhlbpkgdaw5329w2l09wp4vd-nodejs-21.7.1"
},
"x86_64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/7fd8ac3wm7gq8k5qd6l15hqx13bm4mr6-nodejs-21.7.1",
"default": true
},
{
"name": "libv8",
"path": "/nix/store/pxmz45ki1zrp6lzfypcjyhgk6v9mpk55-nodejs-21.7.1-libv8"
}
],
"store_path": "/nix/store/7fd8ac3wm7gq8k5qd6l15hqx13bm4mr6-nodejs-21.7.1"
}
}
}
}
}

11
docker-compose.dev.yml Normal file
View File

@@ -0,0 +1,11 @@
version: '3'
services:
dev:
build:
context: ./docker
working_dir: /app
volumes:
- ./:/app
ports:
- 4321:4321
command: [ pnpm, dev, '--host' ]

3
docker/Dockerfile Normal file
View File

@@ -0,0 +1,3 @@
FROM node:20-alpine
RUN corepack enable
USER 1000

View File

@@ -3,6 +3,8 @@
"type": "module", "type": "module",
"version": "0.0.1", "version": "0.0.1",
"scripts": { "scripts": {
"docker:install": "docker-compose -f docker-compose.dev.yml run --rm dev pnpm install",
"docker:dev": "docker-compose -f docker-compose.dev.yml up",
"dev": "astro dev", "dev": "astro dev",
"start": "astro dev", "start": "astro dev",
"lint": "prettier \"**/*.{js,jsx,ts,tsx,md,mdx,astro}\" && eslint \"src/**/*.{js,ts,jsx,tsx,astro}\"", "lint": "prettier \"**/*.{js,jsx,ts,tsx,md,mdx,astro}\" && eslint \"src/**/*.{js,ts,jsx,tsx,astro}\"",
@@ -17,6 +19,7 @@
"*": "pnpm lint:apply" "*": "pnpm lint:apply"
}, },
"dependencies": { "dependencies": {
"@playform/compress": "^0.0.3",
"astro": "^4.5.6", "astro": "^4.5.6",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"typescript": "^5.4.2" "typescript": "^5.4.2"
@@ -28,6 +31,7 @@
"@astrojs/sitemap": "^3.1.2", "@astrojs/sitemap": "^3.1.2",
"@eslint/js": "^8.57.0", "@eslint/js": "^8.57.0",
"@iconify-json/mdi": "^1.1.64", "@iconify-json/mdi": "^1.1.64",
"@img/sharp-wasm32": "^0.33.3",
"@types/jsonld": "^1.5.13", "@types/jsonld": "^1.5.13",
"@types/node": "^20.12.2", "@types/node": "^20.12.2",
"@typescript-eslint/parser": "^7.5.0", "@typescript-eslint/parser": "^7.5.0",
@@ -47,7 +51,7 @@
"prettier-plugin-astro": "^0.13.0", "prettier-plugin-astro": "^0.13.0",
"sass": "^1.72.0", "sass": "^1.72.0",
"serve": "^14.2.1", "serve": "^14.2.1",
"sharp": "^0.33.2", "sharp": "^0.33.3",
"sharp-ico": "^0.1.5", "sharp-ico": "^0.1.5",
"tsx": "^4.7.1", "tsx": "^4.7.1",
"vite-plugin-pwa": "^0.19.7" "vite-plugin-pwa": "^0.19.7"

2168
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -44,7 +44,7 @@ const { Content, basics, image } = data.profile
line-height: 1.3rem; line-height: 1.3rem;
text-align: justify; text-align: justify;
p { :global(p) {
margin-bottom: var(--space-md); margin-bottom: var(--space-md);
} }
} }

View File

@@ -1,4 +1,5 @@
--- ---
import { Picture } from 'astro:assets'
import Time from '@/components/time/absolute.astro' import Time from '@/components/time/absolute.astro'
import { data } from '@/data/data.js' import { data } from '@/data/data.js'
import { formatYearMonth } from '@/utils/time.js' import { formatYearMonth } from '@/utils/time.js'
@@ -28,8 +29,19 @@ const work = allWork.sort((a, b) => {
<Time format={formatYearMonth} datetime={item.data.startDate} /> <Time format={formatYearMonth} datetime={item.data.startDate} />
</div> </div>
<div class='content'> <div class='content'>
<h3>{item.data.position}</h3> <div class='header'>
<h4>@ {item.data.name}</h4> {item.data.logo && (
<Picture
class='logo'
src={item.data.logo}
alt={item.data.name}
/>
)}
<div class='info'>
<h3>{item.data.position}</h3>
<h4>{item.data.name}</h4>
</div>
</div>
<p>{item.data.summary}</p> <p>{item.data.summary}</p>
</div> </div>
</div> </div>
@@ -45,6 +57,31 @@ const work = allWork.sort((a, b) => {
margin-bottom: var(--space-lg); margin-bottom: var(--space-lg);
} }
h3 {
font-weight: 400;
}
h4 {
font-size: var(--font-lg);
margin: 0;
}
.header {
display: flex;
align-items: center;
gap: var(--space-md);
}
.logo {
width: 50px;
height: 50px;
border-radius: 50%;
margin: 0 auto;
display: block;
object-fit: cover;
object-position: center;
}
.list { .list {
display: grid; display: grid;
grid-template-columns: repeat(4, 1fr); grid-template-columns: repeat(4, 1fr);
@@ -76,5 +113,8 @@ const work = allWork.sort((a, b) => {
border: 0.6px solid var(--color-border); border: 0.6px solid var(--color-border);
padding: var(--space-md); padding: var(--space-md);
border-radius: 5px; border-radius: 5px;
display: flex;
flex-direction: column;
gap: var(--space-md);
} }
</style> </style>