mirror of
https://github.com/morten-olsen/morten-olsen.github.io.git
synced 2026-02-08 01:46:28 +01:00
minor update
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
/.pnpm-store/
|
||||||
# build output
|
# build output
|
||||||
dist/
|
dist/
|
||||||
# generated types
|
# generated types
|
||||||
|
|||||||
@@ -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
17
devbox.json
Normal 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
70
devbox.lock
Normal 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
11
docker-compose.dev.yml
Normal 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
3
docker/Dockerfile
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
FROM node:20-alpine
|
||||||
|
RUN corepack enable
|
||||||
|
USER 1000
|
||||||
@@ -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
2168
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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'>
|
||||||
|
<div class='header'>
|
||||||
|
{item.data.logo && (
|
||||||
|
<Picture
|
||||||
|
class='logo'
|
||||||
|
src={item.data.logo}
|
||||||
|
alt={item.data.name}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<div class='info'>
|
||||||
<h3>{item.data.position}</h3>
|
<h3>{item.data.position}</h3>
|
||||||
<h4>@ {item.data.name}</h4>
|
<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>
|
||||||
|
|||||||
Reference in New Issue
Block a user