Files
atridotdad/README.md
Atridad Lahiji 43c96c73b2
Some checks failed
Docker Deploy / build-and-push (push) Has been cancelled
Fixed term!
2025-06-26 16:19:52 -06:00

3.6 KiB

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:

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:

[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 "Generate PDF Resume" button for downloadable PDF

Development

# 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