feat: add projects page and rework home page
This commit is contained in:
+47
-3
@@ -1,14 +1,58 @@
|
||||
import type { TimelineItem } from '@nuxt/ui';
|
||||
import type { Tool } from './tool';
|
||||
import { timeToString, type TimePeriod } from './time';
|
||||
|
||||
export class ResumeExperience implements TimelineItem {
|
||||
tools: Tool[] = [];
|
||||
export interface ResumeExperience {
|
||||
dates: TimePeriod;
|
||||
title: string;
|
||||
company: string;
|
||||
description: string;
|
||||
tools: Tool[];
|
||||
icon: string;
|
||||
}
|
||||
|
||||
export class ResumeExperienceTimelineItem implements TimelineItem {
|
||||
tools: Tool[];
|
||||
description?: string;
|
||||
date: string;
|
||||
title: string;
|
||||
icon: string;
|
||||
|
||||
constructor(from: ResumeExperience) {
|
||||
this.date = timeToString(from.dates);
|
||||
this.title = `${from.title} — ${from.company}`;
|
||||
this.description = from.description;
|
||||
this.icon = from.icon;
|
||||
this.tools = from.tools;
|
||||
}
|
||||
}
|
||||
|
||||
export interface Education {
|
||||
dates: TimePeriod;
|
||||
degree: string;
|
||||
institution: string;
|
||||
location: string;
|
||||
description?: string;
|
||||
icon: string;
|
||||
}
|
||||
|
||||
export class EducationTimelineItem implements TimelineItem {
|
||||
date: string;
|
||||
description?: string;
|
||||
title: string;
|
||||
icon: string;
|
||||
|
||||
constructor(from: Education) {
|
||||
this.date = timeToString(from.dates);
|
||||
this.description = from.description;
|
||||
this.title = `${from.degree} — ${from.institution}, ${from.location}`;
|
||||
this.icon = from.icon;
|
||||
}
|
||||
}
|
||||
|
||||
export class ResumeContent {
|
||||
experience: ResumeExperience[] = [];
|
||||
education: TimelineItem[] = [];
|
||||
education: Education[] = [];
|
||||
otherTools: Tool[] = [];
|
||||
devops: Tool[] = [];
|
||||
os: Tool[] = [];
|
||||
|
||||
Reference in New Issue
Block a user