Files
atridotdad/README.md
Atridad Lahiji 37a0875f12
Some checks failed
Docker Deploy / build-and-push (push) Has been cancelled
This?
2025-06-26 17:49:33 -06:00

164 lines
3.6 KiB
Markdown

# Personal Website
My personal website built with Astro and Preact!
## Features
- **Resume Management**
- **Blog Posts**
- **Projects**
- **Talks & Presentations**
- **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",
sections: {
summary: {
title: "Professional Summary",
enabled: true,
},
experience: {
title: "Work Experience",
enabled: true,
},
awards: {
title: "Awards & Recognition",
enabled: true,
},
// ... other sections
},
};
```
### 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"
```
### 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 "Download Resume" button for downloadable PDF
## Development
```bash
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run 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