Skip to content

MarshallCB/routo

Repository files navigation

Routo

routo

filesystem-routing builder for static site generation

🚧 Work in progress 🚧

Overview

How routo works

How it works

  • Generates files using export default in files named [name].[filetype].js
    • Export a String for text-based files (.html, .css, etc)
    • Export a Buffer for images and other raw data formats (.png, .gif, .pdf)
    • Export a Promise for asynchronous generation (useful for fetching remote data)
  • Copies normal, static files from source to destination automatically

Features

  • Write modern, ES6 Syntax in Node thanks to esm

  • Watches files and their dependencies for changes thanks to jeye

  • Install size is minimal compared to other builders

    • install size install size install size install size install size
  • [Advanced] Add filetype-specific transformers for compilation, minification, and compression

  • [Advanced] Add aggregate builders for bundling components, styles, or any other multi-file bundle


Usage

Routo overview

Cloneable Template

🚧 Work in progress 🚧

Custom Configuration

Install routo & serve

npm i routo && npm i -D serve

Setup dev and build scripts

"scripts": {
  "dev": "routo pages,assets public -w & serve public",
  "build": "routo pages,assets public"
}

Deployment

🚧 Work in progress 🚧

API

CLI

🚧 Work in progress 🚧

Config File

🚧 Work in progress 🚧

Advanced

Builders

🚧 Work in progress 🚧

Transforms

🚧 Work in progress 🚧


Examples

  • Static HTML page
  • CSS Generator
  • Folder of blog pages
  • Spritesheet generator
  • Remote data fetching

🚧 Work in progress 🚧


Details

Roadmap

  • More config options for builds/transforms
  • Better error handling and messages

License

MIT © Marshall Brandt