zapata v1.1.5
zapata
Extremely minimal static site generator: handlebars + markdown + frontmatter
Installation
npm install -g zapataGetting started
To create yourself a simple starting point:
zapata create mysiteYou write posts (articles, pages) as markdown .md files in the posts directory. A single template.html file (in Handlebars format) is used to convert each post into an HTML page.
To generate the site as plain HTML, run this from anywhere inside mysite
zapata generateOptionally you can pass the path to your site's source directory.
This creates (or replaces) a sub-directory called generated. Everything is copied into generated (apart from the raw template.html and posts), so you can include images and .css resources and other pages required by your template.
Posts are converted to .html files at the root level.
The generated index.html file is just a redirector that switches to the latest post.
So in summary:
- Customise the
template.htmlfile to get the look you want. - Write posts in the
postsdirectory. - Run
zapata generateto produce thegeneratedsub-directory that is ready to be deployed.
Structure of a post
A post must start with a frontmatter section, which is a YAML object inside --- lines:
---
title: The introductory page of this site
posted: 2019-12-14
author: Octavia Optimism
---The title and posted properties are mandatory. Posts are sorted by the posted data (most recent first).
Any other properties you define are exposed to the template as an object called data. The example demonstrates every feature of the template data model.
License
MIT