vavawoo

0.7.1 • Public • Published

vavawoo

is an experimental fork of awoo by Olivia Hugger

Table of Contents

Motivation

By now, i just had to build a new package to compare it more easily with awoo and metalsmith when deploying a static site on netlify.

Features

Here are the main directions that this fork is exploring : (Work in Progress)

  • extreme package size reduction by drastically reducing the number of dependencies
  • focused on developper friendliness with features like :
    • ultra-simple chainable API similar to that of metalsmith
    • more guidelines as to how to build a plugin : we will provide documented namespaces for every usage
    • cleaner async code with async/await : we won't support old node.js callback style
    • tracability and debuggability by adding the possibility to name every plugin in the build chain and having a nice stack trace everytime a plugin fails (no UnhandledPromiseRejection)
    • pretty good code documentation

Code examples

Here are some code samples to illustrate some of the concepts seen before

const vavawoo  = require('vavawoo')
const matter   = require('awoo-matter')
const markdown = require('awoo-markdown')
 
vavawoo(
  site => site({
    title: 'My awoosome static web site',
    lang: 'en',
    source: '/content',
    destination: '/public'
  })
  .use(files => files.sort(byDate)) // a one-line plugin that takes and return an array of files
  .use('awoo-matter', matter, {})
  .use('awoo-markdown', markdown, {plugins: require('markdown-bundle')})

Readme

Keywords

none

Package Sidebar

Install

npm i vavawoo

Weekly Downloads

2

Version

0.7.1

License

SEE LICENSE IN LICENSE

Unpacked Size

51.9 kB

Total Files

12

Last publish

Collaborators

  • zipang