Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A resume/CV generator, parsing information from YAML file to generate a static website which you can deploy on the GitHub Pages.
Barn is a resume/CV static site generator that parses YAML data files and Pug templates to output a deployable static website, functioning as a resume-focused alternative to Hexo.
Barn is a command-line tool that takes YAML files containing profile, education, work experience, and skills as input, renders them through Pug templates, and outputs minified HTML/CSS into a dist/ directory ready for deployment. It runs on Node.js and is created and maintained by Maples7, with the default theme authored by ShadowWood. The tool is designed specifically for building resume or CV websites that can be hosted on GitHub Pages or any static hosting service.
themes/<theme>/content/; each YAML file corresponds to a page, e.g. index.yml for Chinese and en.yml for English../css/.default (two-column layout, gray sidebar) and latex (LaTeX-style single-column academic resume with serif fonts and horizontal rules).barn server starts a local HTTP server on port 3579 with live reload that regenerates pages on file changes.barn deploy builds the site and pushes it to a git remote, working with GitHub Pages and other git-based static hosting.init, generate, server, and deploy with aliases i, g, s, and d.barn init clones the barn-starter repository and removes the .git directory for a clean project start.DEBUG=barn-cli to enable verbose output../css/, images in ./image/, YAML starters in ./content/) and submit a PR to share it.latex theme to produce a print-friendly, single-column academic CV with a LaTeX-like appearance.index.yml and en.yml to generate Chinese and English versions of the same resume from one project.barn deploy each time you need to refresh the published resume.barn init to clone the barn-starter template into barn-starter/.config.yml to choose a theme, set the deploy repository, and configure a custom domain (CNAME).themes/<theme>/content/.barn server to preview locally on port 3579 with live reload.barn deploy to generate the static site into dist/ and push it to your git remote; then enable GitHub Pages.Barn is free and open source, released under the MIT license.
Yes, Barn is open-source software distributed under the MIT license, so you can use, modify, and redistribute it freely.
Barn includes two built-in themes: default, a two-column layout with a gray sidebar, and latex, a LaTeX-style single-column academic resume with serif fonts. Additional themes can be placed in the themes/ directory.
Configure the deploy repository in config.yml, run barn deploy to generate the site into dist/ and push it to the remote, then turn on GitHub Pages in your repository settings.
Yes. Each YAML file under themes/<theme>/content/ becomes a separate page. For example, index.yml can hold the Chinese version and en.yml the English version, letting you produce a multilingual site.
Barn requires Node.js with npm (or yarn). Install it globally with npm install -g barn-cli.