velvet

Velvet is a modular, fast, static-site generator that looks a lot like Jekyll and can be easily incorporated into Gulp-based workflows.

Usage no npm install needed!

<script type="module">
  import velvet from 'https://cdn.skypack.dev/velvet';
</script>

README

Velvet

Velvet is a modular, fast, static-site generator that looks a lot like Jekyll and can be easily incorporated into Gulp-based workflows. Unlike Jekyll, it is written in Node.js and is very very fast when used with Gulp.

Usage

The best way to use Velvet is via the slush generator.

You can find that here.

Details

This module bundles up several custom utilities that take a config object and return a special nunjucks environment. While the slush generator provides several, fairly comprehensive Gulp tasks to turn that into somethere, there would be nothing preventing alternate uses with different build systems, or completely different workflows.

Essentially, this module is providing a filesystem decorator, that gives you access to a slew of functions and utilities in your nunjucks templates, the goal of which was to replicate Jekyll functionality, along with some features I found absolutely necessary. These include basic asset management, and an awareness of file "flavors" like scripts, styles and images.

Nunjucks globals created

  • site - the core object. Contains all the data about your site, files and templates. Supports most of the patterns in use by Jekyll (so much so, I will point you to their docs until I've completed some).

  • custom tags - Including helpers for images, scripts, styles and files, which interact with the site object to keep track of needed assets, and options for those assets, e.g. {{ 'favicon.png' | image_url({resize: [50]}) }} would print the resized image url into the template, and would mark the necessary information on the site object for Gulp to process this image during the build process.