Skip to content
A simple command line tool for generating markdown files with front matter for JAMstack sites
Branch: master
Clone or download

Latest commit


Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Updated default values Jan 16, 2020
.gitignore Refactored to use config files instead of wizard Jan 15, 2020
LICENSE Adds license file Jan 12, 2020 Added important title text Jan 16, 2020
index.js Removed extra space Jan 16, 2020
package-lock.json Removed unused package Jan 15, 2020
package.json Bumped version Jan 16, 2020

🤙 Jamster

A simple command line tool for generating markdown files with front matter for JAMstack sites. Inspired by Hugo's hugo new, but for the JavaScript ecosystem.


  • ⚡️Generates markdown files with front-matter like the ones typically used to manage content with static site generators like Eleventy, Jekyll, etc.
  • ✌️Written entirely in Node.js so it's cross-platform
  • 🔧Specify front-matter content per file by passing specific config files via the --config flag.

Getting started

The easiest way to use Jamster is to install in globally.

npm install -g jamster

# Test to make sure it was installed.
jamster --version
# Should see a version number

Once once installed you can run it in your terminal from anywhere.

jamster relative/path/to/new/

Installing locally

If you don't want to or can't install Jamster globally you can also install it locally in your project and then run it using npx (Requires npm 5.2.0+).

npx jamster path/to/my/new/

Default generated front matter

Without passing any arguments Jamster will create a new markdown file at the path you specify with the following default front-matter added.

title: ''
description: ''
date: (Current date)

Customizing generated front-matter

If you want to use different values in your generated front matter there are a couple of ways to do it.

Using a central .config file

If you want to use the same front-matter values for all generated markdown files you can place a file called jamster.config.js that exports a JavaScript Object with your desired values at the root of your project.

Here's and example of how a jamster.config.js file might look.

// ./jamster.config.js

module.exports = {
  title: 'My default title',
  description: 'Default description'
  date: new Date(), // You can use regular old Javascript in here!
  tags: ['post', 'development'],
  layout: 'layouts/post.njk'

With the this configuration file in place, you can then run

jamster path/to/your/new/

and the resulting front markdown file would contain the following front-matter:

title: 'My default title'
description: 'Default description'
date: (Today's date)
  - post
  - development
layout: 'layouts/post.njk'

Specify a configuration using the --config flag

If you want to use multiple different configuration files for different post type in you site, you can specify a different config file after entering the path to you new markdown file.


jamster path/to/my/new/ --config path/to/config/myconfig.js
You can’t perform that action at this time.