This commit is contained in:
90
README.md
90
README.md
@ -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
|
||||
|
Reference in New Issue
Block a user