(field: keyof T) {
+ return (item: T): T => ({
...item,
[field]: marked(item[field]),
})
diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte
index de2810a..56c7f3f 100644
--- a/src/routes/__layout.svelte
+++ b/src/routes/__layout.svelte
@@ -19,7 +19,7 @@
+
Introduction @michalvankodev
-
+
Hey, welcome to my personal website. My name is
Michal Vanko
and I'm a
@@ -27,23 +36,3 @@
. I'll try to share some stories and opinions about things that I'm interested
in.
-
-
diff --git a/src/routes/layout.css.ts b/src/routes/layout.css.ts
new file mode 100644
index 0000000..1f245d3
--- /dev/null
+++ b/src/routes/layout.css.ts
@@ -0,0 +1,18 @@
+import { style } from '@vanilla-extract/css'
+import { sprinkles } from '../../src/styles/sprinkles.css'
+
+export const appContentClass = style([
+ sprinkles({
+ display: 'grid',
+ }),
+ {
+ gridTemplateRows: 'auto 1fr auto',
+ gridTemplateColumns: '100%',
+ minHeight: '100vh',
+ },
+])
+
+export const mainContentClass = sprinkles({
+ position: 'relative',
+ padding: '3x',
+})
diff --git a/src/routes/portfolio/index.css.ts b/src/routes/portfolio/index.css.ts
new file mode 100644
index 0000000..d13d83f
--- /dev/null
+++ b/src/routes/portfolio/index.css.ts
@@ -0,0 +1,19 @@
+import { sprinkles } from '../../../src/styles/sprinkles.css'
+
+export const linkableSectionClass = sprinkles({
+ marginTop: '4x',
+})
+
+export const nameTagClass = sprinkles({
+ textAlign: 'center',
+})
+
+export const listClass = sprinkles({
+ listStyle: 'none',
+ padding: 'none',
+})
+
+export const listItemClass = sprinkles({
+ marginX: 'none',
+ marginY: '3x',
+})
diff --git a/src/routes/portfolio/index.json.ts b/src/routes/portfolio/index.json.ts
index 9539eeb..1720a29 100644
--- a/src/routes/portfolio/index.json.ts
+++ b/src/routes/portfolio/index.json.ts
@@ -19,12 +19,21 @@ export interface ProjectAttributes extends RecordAttributes {
export interface PortfolioAttributes {
title: string
+ work_history: RecordAttributes[]
work_history_prelude: string
- work_history: string[]
projects: ProjectAttributes[]
education: RecordAttributes[]
}
+export type PortfolioContent = {
+ title: string
+ workHistory: RecordAttributes[]
+ workHistoryPrelude: string
+ projects: ProjectAttributes[]
+ education: RecordAttributes[]
+ body: string
+}
+
export async function get() {
let pageSource: string
try {
@@ -47,7 +56,7 @@ export async function get() {
.filter((education) => education.displayed)
.map(parseField('description'))
- const response = {
+ const response: PortfolioContent = {
title: parsed.attributes.title,
body: marked(parsed.body),
workHistoryPrelude: marked(parsed.attributes.work_history_prelude),
diff --git a/src/routes/portfolio/index.svelte b/src/routes/portfolio/index.svelte
index fc4573f..4fd7d6c 100644
--- a/src/routes/portfolio/index.svelte
+++ b/src/routes/portfolio/index.svelte
@@ -1,4 +1,4 @@
-
-
{content.title}
-Michal Vanko
+
-Software Architect and Consultant
+