A simple Markdown to PDF CV generator using Handlebars.js and Markdown. This project allows you to write your CV in Markdown, dynamically insert data using Handlebars.js, and generate styled web pages that can be easily exported to PDF.
- Write your CV using Markdown.
- Use Handlebars to insert dynamic content.
- Handlebars.js: For dynamic templating in Markdown.
- Express.js: Serves the rendered web pages.
- Markdown: For easy content creation.
-
Install the dependencies:
pnpm install
To run the project in development mode with auto-reloading using nodemon
, run:
pnpm dev
This will start the server and automatically reload it on file changes.
-
Data: Edit the CV content in
inputs/lorem.ts
. -
Markdown templates: Stored in views. layouts is reserved for meta data. Use Handlebars variables to insert data into the CV. For example, in your markdown file:
# {{me.name}} **Job Title**: {{me.job}} ## Contact Information - Email: {{contact.email}}
-
Rendering: The Handlebars templates are dynamically rendered into HTML. You can preview your CV in a web browser and print it as a PDF with control p.
.
├── inputs/ # Contains your data
├── public/ # Public static assets
├── views/ # Templates
│ ├── layouts/ # Wrappers
| ├── main.mdhbs # Page metadata
│ ├── home.mdhbs/ # Template for home route (/)
└── server.ts # Express server
- pnpm dev: Run the project in development mode with nodemon.
- Fork the repository.
- Create a new feature branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.