From e82561862a81a00ae5d3baa050548a4b2fbc8d48 Mon Sep 17 00:00:00 2001 From: huaqo Date: Fri, 2 Oct 2026 17:32:02 +0200 Subject: [PATCH] feat: add cv --- .env.example | 3 +- README.md | 38 +++++++ layers/cv/app/app.config.ts | 19 ++++ layers/cv/app/components/CvSection.vue | 72 +++++++++++++ layers/cv/app/composables/useCvLang.ts | 53 ++++++++++ layers/cv/app/pages/cv.vue | 138 +++++++++++++++++++++++++ layers/cv/app/utils/cvDate.ts | 27 +++++ layers/cv/app/utils/cvLink.ts | 4 + layers/cv/nuxt.config.ts | 5 + layers/cv/public/cv-photo.jpg | Bin 0 -> 93105 bytes layers/cv/server/api/cv/index.get.ts | 6 ++ layers/cv/server/utils/cv.ts | 79 ++++++++++++++ layers/cv/shared/types/cv.ts | 30 ++++++ 13 files changed, 473 insertions(+), 1 deletion(-) create mode 100644 layers/cv/app/app.config.ts create mode 100644 layers/cv/app/components/CvSection.vue create mode 100644 layers/cv/app/composables/useCvLang.ts create mode 100644 layers/cv/app/pages/cv.vue create mode 100644 layers/cv/app/utils/cvDate.ts create mode 100644 layers/cv/app/utils/cvLink.ts create mode 100644 layers/cv/nuxt.config.ts create mode 100644 layers/cv/public/cv-photo.jpg create mode 100644 layers/cv/server/api/cv/index.get.ts create mode 100644 layers/cv/server/utils/cv.ts create mode 100644 layers/cv/shared/types/cv.ts diff --git a/.env.example b/.env.example index e73f9ea..68f883a 100644 --- a/.env.example +++ b/.env.example @@ -1,8 +1,9 @@ -NUXT_BASEROW_URL=http://baserow.example +NUXT_BASEROW_URL=https://baserow.huaqo.de NUXT_BASEROW_TOKEN= NUXT_BASEROW_REVIEWS_TABLE_ID=866 NUXT_BASEROW_NOTES_TABLE_ID=864 NUXT_BASEROW_WISHLIST_TABLE_ID=870 NUXT_BASEROW_NOTES_APP_TABLE_ID= +NUXT_BASEROW_CV_TABLE_ID=833 NUXT_DIARY_PASSWORD= NUXT_SESSION_SECRET= diff --git a/README.md b/README.md index cd49fb2..b79df35 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ picked up automatically. The root only holds what apps share: | `/diary` | [Diary](#diary) — `layers/diary/` (password protected) | | `/wishlist` | [Wishlist](#wishlist) — `layers/wishlist/` | | `/notes` | [Notes](#notes) — `layers/notes/` (password protected) | +| `/cv` | [CV](#cv) — `layers/cv/` | ```bash pnpm install @@ -35,6 +36,42 @@ pnpm dev names that won't clash with another app's (e.g. `DiaryEntry`, not `Entry`). 3. Don't use `~/` inside a layer — it points to the root `app/`. Use relative imports. +# CV + +A public CV built from the Baserow CV table (`NUXT_BASEROW_CV_TABLE_ID`). Only rows with `relevant` checked are shown, +latest start first, split into **Experience** and **Education** (`Student` and `Pupil`). An empty `To` means the +entry is still going on: it shows as "today" and its duration is counted until today (Baserow's `Duration` formula is +not used). + +The header (name, description per language, photo, email, LinkedIn link) is set in `layers/cv/app/app.config.ts` +under `cv`. LinkedIn blocks scraping, so the photo and description are not fetched from there; put the photo in +`layers/cv/public/`. + +A DE / EN switch (remembered in the `cv-lang` cookie, German by default) translates the page's own text: headings, +dates, durations, types, the description. `Area` comes from `area_german` on the German page; the rest of the table's text (`Institution`) is shown as stored. + +**Table:** `From`, `To` (dates), `Type` (single select), `Institution`, `Area` (text, English), `area_german` (text, used on the German page, falls back to `Area`), `Place` (single select), +`Grade` (number), `relevant` (boolean), `file` (file; each file is listed under its entry as a download, e.g. a +thesis), `urls` (long text: one link per line, a blank line between groups such as projects; GitHub links show +`owner/repo` with a GitHub icon, others their address; write `Label https://…` for custom text). Rows without `From` +are skipped. Baserow returns file URLs as `http://`, so they are rewritten to +`NUXT_BASEROW_URL`. + +``` +layers/cv/ +nuxt.config.ts baserowCvTableId +app/ + app.config.ts cv: name, description, photo, email, linkedin + pages/cv.vue language switch, header, Experience and Education + composables/useCvLang.ts current language and the translated texts + components/CvSection.vue one section: period, duration, area, institution, type, grade + utils/cvDate.ts period and duration, open-ended until today +server/ + api/cv/index.get.ts GET relevant entries + utils/cv.ts Baserow row -> CvEntry +shared/types/cv.ts +``` + # Notes Minimal notes: a collapsible list of notes on the left, a WYSIWYG Markdown editor (Nuxt UI `UEditor`) on the right. @@ -122,6 +159,7 @@ self-hosted Baserow tables. | `NUXT_BASEROW_REVIEWS_TABLE_ID` | Reviews table | | `NUXT_BASEROW_NOTES_TABLE_ID` | Notes table | | `NUXT_BASEROW_WISHLIST_TABLE_ID` | Wishlist table (see [Wishlist](#wishlist)) | +| `NUXT_BASEROW_CV_TABLE_ID` | CV table (see [CV](#cv)) | | `NUXT_BASEROW_NOTES_APP_TABLE_ID` | Table of the notes app (see [Notes](#notes)), not the diary's notes | | `NUXT_DIARY_PASSWORD` | Password that unlocks the diary and notes | | `NUXT_SESSION_SECRET` | Signs the login cookie, at least 32 characters (`openssl rand -hex 32`) | diff --git a/layers/cv/app/app.config.ts b/layers/cv/app/app.config.ts new file mode 100644 index 0000000..99dc05f --- /dev/null +++ b/layers/cv/app/app.config.ts @@ -0,0 +1,19 @@ +export default defineAppConfig({ + cv: { + /** Shown as the page title; "CV" when empty */ + name: 'Joaquin Gottlebe', + /** One or two sentences under the name, per language */ + description: { + en: 'Computational Science Master’s student | Passionate about Software Development, Data Engineering and GIS', + de: 'Masterstudent Computational Science | Begeistert von Softwareentwicklung, Data Engineering und GIS' + }, + /** Path or URL of the profile picture, e.g. '/cv-photo.jpg' (put the file in layers/cv/public/) */ + photo: '/cv-photo.jpg', + email: 'mail@huaqo.de', + /** Printed with the date at the bottom of the PDF, e.g. "Berlin, 02.10.2026" */ + city: 'Berlin', + linkedin: 'https://linkedin.com/in/joaquingottlebe', + /** Accent color of the CV page (links, active language); the rest of the site keeps its primary color */ + accent: 'rgb(53 116 110)' + } +}) diff --git a/layers/cv/app/components/CvSection.vue b/layers/cv/app/components/CvSection.vue new file mode 100644 index 0000000..62655e6 --- /dev/null +++ b/layers/cv/app/components/CvSection.vue @@ -0,0 +1,72 @@ + + + diff --git a/layers/cv/app/composables/useCvLang.ts b/layers/cv/app/composables/useCvLang.ts new file mode 100644 index 0000000..76d0924 --- /dev/null +++ b/layers/cv/app/composables/useCvLang.ts @@ -0,0 +1,53 @@ +export type CvLang = 'en' | 'de' + +const TEXT = { + en: { + experience: 'Experience', + education: 'Education', + today: 'today', + grade: 'Grade', + year: ['year', 'years'], + month: ['month', 'months'], + loadError: 'The CV could not be loaded', + empty: 'Nothing here yet.', + photo: 'Profile picture', + savePdf: 'Save as PDF', + types: { + 'Part-time': 'Part-time', + 'Student': 'Student', + 'Pupil': 'Pupil', + 'Working Student': 'Working Student', + 'Volunteer': 'Volunteer' + } + }, + de: { + experience: 'Erfahrung', + education: 'Ausbildung', + today: 'heute', + grade: 'Note', + year: ['Jahr', 'Jahre'], + month: ['Monat', 'Monate'], + loadError: 'Der Lebenslauf konnte nicht geladen werden', + empty: 'Noch nichts hier.', + photo: 'Profilbild', + savePdf: 'Als PDF speichern', + types: { + 'Part-time': 'Teilzeit', + 'Student': 'Studium', + 'Pupil': 'Schule', + 'Working Student': 'Werkstudent', + 'Volunteer': 'Freiwilligendienst' + } + } +} satisfies Record + +export type CvText = typeof TEXT.en + +/** The CV's language, remembered in a cookie so the server renders the same one */ +export function useCvLang() { + const lang = useCookie('cv-lang', { default: () => 'de', maxAge: 60 * 60 * 24 * 365, sameSite: 'lax' }) + return { + lang, + t: computed(() => TEXT[lang.value] ?? TEXT.de) + } +} diff --git a/layers/cv/app/pages/cv.vue b/layers/cv/app/pages/cv.vue new file mode 100644 index 0000000..4052108 --- /dev/null +++ b/layers/cv/app/pages/cv.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/layers/cv/app/utils/cvDate.ts b/layers/cv/app/utils/cvDate.ts new file mode 100644 index 0000000..b91f189 --- /dev/null +++ b/layers/cv/app/utils/cvDate.ts @@ -0,0 +1,27 @@ +function parse(iso: string): Date { + return new Date(`${iso}T00:00:00`) +} + +/** "Apr 2025 – Oct 2026", or "Oct 2024 – today" when there is no end date */ +export function cvPeriod(from: string, to: string | null, lang: CvLang, t: CvText): string { + const locale = lang === 'de' ? 'de-DE' : 'en-GB' + const month = (iso: string) => parse(iso).toLocaleDateString(locale, { month: 'short', year: 'numeric' }) + return `${month(from)} – ${to ? month(to) : t.today}` +} + +/** "1 year 6 months", counted until today when there is no end date */ +export function cvDuration(from: string, to: string | null, t: CvText): string { + const start = parse(from) + // The end day counts, so 1 Apr – 31 Oct is 7 months, not 6 + const end = to ? parse(to) : new Date() + end.setDate(end.getDate() + 1) + let total = (end.getFullYear() - start.getFullYear()) * 12 + end.getMonth() - start.getMonth() + if (end.getDate() < start.getDate()) total-- + total = Math.max(1, total) + const years = Math.floor(total / 12) + const months = total % 12 + return [ + years && `${years} ${t.year[years === 1 ? 0 : 1]}`, + months && `${months} ${t.month[months === 1 ? 0 : 1]}` + ].filter(Boolean).join(' ') +} diff --git a/layers/cv/app/utils/cvLink.ts b/layers/cv/app/utils/cvLink.ts new file mode 100644 index 0000000..c341cdf --- /dev/null +++ b/layers/cv/app/utils/cvLink.ts @@ -0,0 +1,4 @@ +/** The full address without "https://" and a trailing slash, as written out in the PDF */ +export function cvLinkText(url: string): string { + return url.replace(/^https?:\/\//, '').replace(/\/$/, '') +} diff --git a/layers/cv/nuxt.config.ts b/layers/cv/nuxt.config.ts new file mode 100644 index 0000000..7bb0770 --- /dev/null +++ b/layers/cv/nuxt.config.ts @@ -0,0 +1,5 @@ +export default defineNuxtConfig({ + runtimeConfig: { + baserowCvTableId: '' + } +}) diff --git a/layers/cv/public/cv-photo.jpg b/layers/cv/public/cv-photo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..742c0addc98bb532a37d78f11482d59bb65464b9 GIT binary patch literal 93105 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
    TH>{QmRBM0GNEA9aFOJ7vYuSx%D^P2ltrY= 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 rf|KU%Aab= literal 0 HcmV?d00001 diff --git a/layers/cv/server/api/cv/index.get.ts b/layers/cv/server/api/cv/index.get.ts new file mode 100644 index 0000000..f47bbc2 --- /dev/null +++ b/layers/cv/server/api/cv/index.get.ts @@ -0,0 +1,6 @@ +/** The relevant CV entries, latest start first */ +export default defineEventHandler(async (event) => { + const rows = await listRows(event, cvTable(event), { filter__relevant__boolean: true, order_by: '-From' }) + const { baserowUrl } = useRuntimeConfig(event) + return rows.map(row => toCvEntry(row, baserowUrl)).filter((entry): entry is CvEntry => !!entry) +}) diff --git a/layers/cv/server/utils/cv.ts b/layers/cv/server/utils/cv.ts new file mode 100644 index 0000000..d772eb1 --- /dev/null +++ b/layers/cv/server/utils/cv.ts @@ -0,0 +1,79 @@ +import type { H3Event } from 'h3' + +interface SelectValue { + value: string +} + +interface FileValue { + url: string + visible_name: string +} + +export interface CvRow { + id: number + From: string | null + To: string | null + Type: SelectValue | null + Institution: string | null + Area: string | null + area_german?: string | null + Place: SelectValue | null + Grade: string | null + file?: FileValue[] | null + urls?: string | null +} + +export function cvTable(event: H3Event): string { + const { baserowCvTableId } = useRuntimeConfig(event) + if (!baserowCvTableId) { + throw createError({ statusCode: 500, statusMessage: 'NUXT_BASEROW_CV_TABLE_ID is not set' }) + } + return baserowCvTableId +} + +/** Baserow hands out file URLs with its internal protocol (http); serve them from the configured Baserow URL instead */ +function fileUrl(url: string, baserowUrl: string): string { + const { pathname } = new URL(url) + return new URL(pathname, baserowUrl).href +} + +function toCvLink(line: string): CvLink | null { + // "https://…", or "Label https://…" for custom link text + const match = line.match(/^(.*?)[\s:|–-]*(https?:\/\/\S+)$/) + if (!match) return null + let url: URL + try { + url = new URL(match[2]!) + } catch { + return null + } + const path = url.pathname.replace(/\/+$/, '') + const kind = url.hostname === 'github.com' ? 'github' : 'web' + const fallback = kind === 'github' ? path.slice(1) : url.hostname + path + return { label: match[1]!.trim() || fallback, url: url.href, kind } +} + +/** One URL per line; a blank line starts a new group */ +function toCvLinks(text: string | null | undefined): CvLink[][] { + return (text ?? '') + .split(/\n\s*\n/) + .map(block => block.split('\n').map(line => toCvLink(line.trim())).filter((link): link is CvLink => !!link)) + .filter(group => group.length) +} + +export function toCvEntry(row: CvRow, baserowUrl: string): CvEntry | null { + if (!row.From) return null + return { + id: row.id, + from: row.From, + to: row.To || null, + type: (row.Type?.value as CvType | undefined) ?? null, + institution: (row.Institution ?? '').trim(), + area: (row.Area ?? '').trim(), + areaGerman: (row.area_german ?? '').trim(), + place: row.Place?.value ?? null, + grade: row.Grade ?? null, + files: (row.file ?? []).map(file => ({ name: file.visible_name, url: fileUrl(file.url, baserowUrl) })), + links: toCvLinks(row.urls) + } +} diff --git a/layers/cv/shared/types/cv.ts b/layers/cv/shared/types/cv.ts new file mode 100644 index 0000000..ea3c53f --- /dev/null +++ b/layers/cv/shared/types/cv.ts @@ -0,0 +1,30 @@ +export type CvType = 'Part-time' | 'Student' | 'Pupil' | 'Working Student' | 'Volunteer' + +export interface CvFile { + name: string + url: string +} + +export interface CvLink { + label: string + url: string + kind: 'github' | 'web' +} + +export interface CvEntry { + id: number + /** ISO date */ + from: string + /** ISO date, null while it is still going on */ + to: string | null + type: CvType | null + institution: string + area: string + /** German translation of `area`, empty when there is none */ + areaGerman: string + place: string | null + grade: string | null + files: CvFile[] + /** Groups of links (e.g. a project's repository and its deployment), in the order of the table */ + links: CvLink[][] +}