Fixed resume gen
Some checks failed
Docker Deploy / build-and-push (push) Has been cancelled

This commit is contained in:
2025-06-26 23:41:29 -06:00
parent b4298e78ef
commit 0d43c3af47
7 changed files with 270 additions and 230 deletions

View File

@ -7,7 +7,7 @@ My personal website built with Astro and Preact!
- **Resume Management**
- **Blog Posts**
- **Projects**
- **Talks & Presentations**
- **Talks**
- **Terminal View**
## Resume Configuration
@ -34,6 +34,10 @@ 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",
@ -52,6 +56,49 @@ export const resumeConfig: ResumeConfig = {
};
```
### 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:
@ -114,50 +161,15 @@ date = "2023"
description = "Brief description of the award"
```
### Section Field Details
#### Skills Section
- `level`: Integer from 1-5 representing proficiency level
- Displays as progress bars with visual indicators
#### Experience Section
- `description`: Array of strings for bullet points
- `url`: Optional company website link
#### Education Section
- `details`: Optional array of additional information (coursework, achievements, etc.)
#### Awards Section
- `description`: Optional additional details about the award
#### Profiles Section
- `network`: Used for icon selection (GitHub, LinkedIn, etc.)
- Icons automatically selected based on network name
## Usage
1. **Configure Resume**: Edit `src/config/data.ts` to enable/disable sections
2. **Add Resume Data**: Create `public/files/resume.toml` with your information
3. **View Resume**: Navigate to `/resume` on your site
4. **Generate PDF**: Click "Generate PDF Resume" button for downloadable PDF
## Development
```bash
# Install dependencies
npm install
pnpm i
# Start development server
npm run dev
pnpm dev
# Build for production
npm run build
pnpm build
```
## Resume PDF Generation
The system automatically generates PDFs using Puppeteer with:
- Optimized layout for A4 paper
- Print-friendly styling
- Consistent formatting across sections
- Proper page breaks and margins