Some checks failed
Docker Deploy / build-and-push (push) Has been cancelled
176 lines
3.6 KiB
Markdown
176 lines
3.6 KiB
Markdown
# Personal Website
|
|
|
|
My personal website built with Astro and Preact!
|
|
|
|
## Features
|
|
|
|
- **Resume**
|
|
- **Blog Posts**
|
|
- **Projects**
|
|
- **Talks**
|
|
- **Terminal View**
|
|
|
|
## Resume Configuration
|
|
|
|
The resume system supports multiple sections that can be enabled, disabled, and customized.
|
|
|
|
### Available Resume Sections
|
|
|
|
| Section | Required Fields |
|
|
|---------|-----------------|
|
|
| **basics** | `name`, `email`, `profiles` |
|
|
| **summary** | `content` |
|
|
| **experience** | `company`, `position`, `location`, `date`, `description` |
|
|
| **education** | `institution`, `degree`, `field`, `date` |
|
|
| **skills** | `name`, `level` (1-5) |
|
|
| **volunteer** | `organization`, `position`, `date` |
|
|
| **awards** | `title`, `organization`, `date` |
|
|
| **profiles** | `network`, `username`, `url` |
|
|
|
|
### Section Configuration
|
|
|
|
Each section can be configured in `src/config/data.ts`:
|
|
|
|
```typescript
|
|
export const resumeConfig: ResumeConfig = {
|
|
tomlFile: "/files/resume.toml",
|
|
layout: {
|
|
leftColumn: ["experience", "volunteer", "awards"],
|
|
rightColumn: ["skills", "education"],
|
|
},
|
|
sections: {
|
|
summary: {
|
|
title: "Professional Summary",
|
|
enabled: true,
|
|
},
|
|
experience: {
|
|
title: "Work Experience",
|
|
enabled: true,
|
|
},
|
|
awards: {
|
|
title: "Awards & Recognition",
|
|
enabled: true,
|
|
},
|
|
// ... other sections
|
|
},
|
|
};
|
|
```
|
|
|
|
### Layout Configuration
|
|
|
|
The resume layout is fully customizable. You can control which sections appear in which column and their order:
|
|
|
|
```typescript
|
|
layout: {
|
|
leftColumn: ["experience", "volunteer", "awards"],
|
|
rightColumn: ["skills", "education"],
|
|
}
|
|
```
|
|
|
|
**Available sections for layout:**
|
|
- `experience` - Work experience
|
|
- `education` - Educational background
|
|
- `skills` - Technical and professional skills
|
|
- `volunteer` - Volunteer work
|
|
- `awards` - Awards and recognition
|
|
|
|
**Layout Rules:**
|
|
- Sections can be placed in either column
|
|
- Order within each column is determined by array order
|
|
- Missing sections are automatically excluded
|
|
- The `summary` section always appears at the top (full width)
|
|
- The `profiles` section appears in the header area
|
|
|
|
**Example Layouts:**
|
|
|
|
*Skills-focused layout:*
|
|
```typescript
|
|
layout: {
|
|
leftColumn: ["skills", "education"],
|
|
rightColumn: ["experience", "awards", "volunteer"],
|
|
}
|
|
```
|
|
|
|
*Experience-heavy layout:*
|
|
```typescript
|
|
layout: {
|
|
leftColumn: ["experience"],
|
|
rightColumn: ["skills", "education", "volunteer", "awards"],
|
|
}
|
|
```
|
|
|
|
### Resume Data Format (TOML)
|
|
|
|
Create a `resume.toml` file in the `public/files/` directory:
|
|
|
|
```toml
|
|
[basics]
|
|
name = "Your Name"
|
|
email = "your.email@example.com"
|
|
|
|
[[basics.profiles]]
|
|
network = "GitHub"
|
|
username = "yourusername"
|
|
url = "https://github.com/yourusername"
|
|
|
|
[[basics.profiles]]
|
|
network = "LinkedIn"
|
|
username = "yourname"
|
|
url = "https://linkedin.com/in/yourname"
|
|
|
|
[summary]
|
|
content = "Your professional summary here..."
|
|
|
|
[[experience]]
|
|
company = "Company Name"
|
|
position = "Job Title"
|
|
location = "City, State"
|
|
date = "2020 - Present"
|
|
description = [
|
|
"Achievement or responsibility 1",
|
|
"Achievement or responsibility 2"
|
|
]
|
|
url = "https://company.com"
|
|
|
|
[[education]]
|
|
institution = "University Name"
|
|
degree = "Bachelor of Science"
|
|
field = "Computer Science"
|
|
date = "2016 - 2020"
|
|
details = [
|
|
"Relevant coursework or achievements"
|
|
]
|
|
|
|
[[skills]]
|
|
name = "JavaScript"
|
|
level = 4
|
|
|
|
[[skills]]
|
|
name = "Python"
|
|
level = 5
|
|
|
|
[[volunteer]]
|
|
organization = "Organization Name"
|
|
position = "Volunteer Position"
|
|
date = "2019 - Present"
|
|
|
|
[[awards]]
|
|
title = "Award Title"
|
|
organization = "Awarding Organization"
|
|
date = "2023"
|
|
description = "Brief description of the award"
|
|
```
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Install dependencies
|
|
pnpm i
|
|
|
|
# Start development server
|
|
pnpm dev
|
|
|
|
# Build for production
|
|
pnpm build
|
|
```
|