react-resume-kit
Version:
<br/> <br/> <div align="center"> <img src="https://github.com/Kiyameh/react-resume-kit/blob/main/src/assets/logo.png" alt="React Resume Kit Logo" width="300"/> </div> <br/> <br/>
183 lines (144 loc) • 3.6 kB
Markdown
# React Resume Kit
<br/>
<br/>
<div align="center">
<img src="https://github.com/Kiyameh/react-resume-kit/blob/main/src/assets/logo.png" alt="React Resume Kit Logo" width="300"/>
</div>
<br/>
<br/>
A modern, customizable React component for creating beautiful and professional resumes or curriculum for your website. Built with TypeScript.
## Features
- 🌐 Multi-language support
- 📄 PDF download functionality
- 🎨 Customizable themes
- 🎯 Icon support (Lucide Icons and Simple Icons)
- ⚡ Easy to configure and integrate
- 📱 Responsive design
- 🎨 Modern and clean UI
## Installation
```bash
npm install react-resume-kit
```
## Quick Start
```tsx
import {ResumeLayout, ResumeHeader} from 'react-resume-kit'
import {content} from './your-content-file'
function App() {
return(
<ResumeLayout resumeContent={content}>
<ResumeHeader>
</ResumeLayout>
)
}
```
## Configuration
STEP1: Add the ResumeLayout componente by wrapping one or more of the following:
```tsx
<ResumeHeader/>
<ResumeAbout/>
<ResumeWorks/>
<ResumeCourses/>
<ResumeTechnologies/>
<ResumeSoftSkills/>
<ResumeProjects/>
<ResumeContact/>
```
STEP2: You can add the following props to ResumeLayout component:
- initialLanguage="es"
- resumeContent={content}
- enableLanguageSwitch
- enablePdfDownload
STEP3: Copy the data/exampleContent file that contains all the resume data. Update it. The content should follow this structure:
```typescript
type ResumeContent = {
// One for each language
en: {
// Section names
about_title: string
works_title: string
courses_title: string
techs_title: string
soft_skills_title: string
soft_skills_subtitle: string
projects_title: string
projects_subtitle: string
connect_title: string
// Download button text
download_pdf: string
// Language switcher
switcher_text: string
language_labels: Array<{label: string; value: string}>
// Header
name: string
title: string
email: string
phone: string
location: string
picture?: string
// About
about_text: string
// Experience
works: Array<{
title: string
company: string
date: string
location: string
points: string[]
}>
// Courses
courses: Array<{
degree: string
school: string
date: string
}>
// Technologies
technologies: Array<{
name: string
icon: SimpleIconName
}>
// Soft Skills
soft_skills: Array<{
title: string
description: string
icon: LucideIconName
}>
// Projects
projects: Array<{
title: string
description: string
features: string
technologies: string[]
link?: string
}>
// Footer
author: string
socialLinks: Array<{
name: string
icon: LucideIconName | SimpleIconName
url: string
}>
}
}
```
## Icons
The component supports both Lucide Icons and Simple Icons. To use them:
- For Lucide Icons: Use the icon name directly. Can see them in https://lucide.dev/
- For Simple Icons: Use the 'Si' prefix followed by the icon name (e.g., 'SiReact'). Can see them in https://simpleicons.org
## Language Support
The component supports multiple languages. You need to provide the content for each language in the content object:
```typescript
const content = {
en: {
/* English content */
},
es: {
/* Spanish content */
},
}
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
MIT
## Author
Andoni Gallardo