All Projects β†’ waldronmatt β†’ bowman

waldronmatt / bowman

Licence: MIT license
A simple static site generator with an integrated toolchain for efficient development and delivery.

Programming Languages

javascript
184084 projects - #8 most used programming language
EJS
674 projects
SCSS
7915 projects

Projects that are alternatives of or similar to bowman

Gopablo
🐺 Static site generator.
Stars: ✭ 166 (+876.47%)
Mutual labels:  static-site-generator, postcss, browsersync
Bathe
The simplest WordPress starter theme including full setup for Sass, PostCSS, Autoprefixer, stylelint, Webpack, Eslint, imagemin, Browsersync, etc.
Stars: ✭ 65 (+282.35%)
Mutual labels:  stylelint, postcss, browsersync
bb8
Starter kit for automating tasks in everyday front-end development. πŸ‘¨πŸ»β€πŸ’» ⚑️ πŸ›  ✨ πŸ€–
Stars: ✭ 13 (-23.53%)
Mutual labels:  stylelint, postcss, browsersync
Frasco
Quick starter for Jekyll including full setup for Sass, PostCSS, Autoprefixer, stylelint, Webpack, ESLint, imagemin, Browsersync, etc.
Stars: ✭ 123 (+623.53%)
Mutual labels:  stylelint, postcss, browsersync
static-webpack-boilerplate
πŸš€ Minimal & Modern Webpack Boilerplate for building static sites
Stars: ✭ 40 (+135.29%)
Mutual labels:  stylelint, postcss, site
Webpack Es6 Sass Setup
A basic setup for Webpack with ES6, Babel, Sass and stylelint
Stars: ✭ 63 (+270.59%)
Mutual labels:  stylelint, postcss
Postcss Less
PostCSS Syntax for parsing LESS
Stars: ✭ 93 (+447.06%)
Mutual labels:  stylelint, postcss
React Typescript Webpack2 Cssmodules Postcss
Simple Starter Template for React, TypeScript, postCSS, ITCSS, CSS-Modules, Webpack and Live Reloading (React Hot Loader 3)
Stars: ✭ 117 (+588.24%)
Mutual labels:  stylelint, postcss
Barebones
A barebones boilerplate for getting started on a bespoke front end.
Stars: ✭ 127 (+647.06%)
Mutual labels:  stylelint, postcss
element-plus-admin
基于vite+ts+elementPlus
Stars: ✭ 361 (+2023.53%)
Mutual labels:  stylelint, postcss
Static Site Boilerplate
A better workflow for building modern static websites.
Stars: ✭ 1,633 (+9505.88%)
Mutual labels:  stylelint, postcss
Stylefmt
stylefmt is a tool that automatically formats stylesheets.
Stars: ✭ 2,123 (+12388.24%)
Mutual labels:  stylelint, postcss
Magento2 Frontools
Set of front-end tools for Magento 2 based on Gulp.js
Stars: ✭ 416 (+2347.06%)
Mutual labels:  stylelint, browsersync
Vscode Stylelint
A Visual Studio Code extension to lint CSS/SCSS/Less with stylelint
Stars: ✭ 260 (+1429.41%)
Mutual labels:  stylelint, postcss
dva-typescript-antd-starter-kit
A admin dashboard application demo based on antd by typescript and dva
Stars: ✭ 61 (+258.82%)
Mutual labels:  stylelint, postcss
stencil-boilerplate
A Stencil app boilerplate including routing, Redux etc.
Stars: ✭ 51 (+200%)
Mutual labels:  stylelint, postcss
django-freeze
🧊 convert your dynamic django site to a static one with one line of code.
Stars: ✭ 81 (+376.47%)
Mutual labels:  static, site
html-sass-jumpstart
Minimal Sass/HTML Template Site - dart sass powered, includes stylelint and prettier, and autoprefix upon build. develop script includes hot-reload via browsersync.
Stars: ✭ 82 (+382.35%)
Mutual labels:  stylelint, browsersync
gulp-boilerplate
Gulp boilerplate
Stars: ✭ 24 (+41.18%)
Mutual labels:  stylelint, postcss
electron-vue-boilerplate
Simple boilerplate for building Vue app with Electron and Webpack.
Stars: ✭ 53 (+211.76%)
Mutual labels:  stylelint, postcss

Bowman

Netlify Status npm webpack

A simple static site generator with an integrated toolchain for efficient development and delivery. Click here to see it live on Netlify.

Introduction

Bowman is a simple static site generator powered by Node.js, Webpack, and Browsersync. Bowman comes with pre-configured scripts to bundle assets, generate markup, and hot-reload pages. Pages are generated using the J.E.N. technology core (JSON - data, EJS - templating, Node.js - markup generation).

Installation

Install globally:

    npm i -g @waldronmatt/bowman

Create project:

   create-bowman-starter -y

Install dependencies:

    npm install

Getting Started

Run dev environment:

    npm run dev

Build and serve for production:

    npm run build

Languages

Use core front-end languages and JavaScript-like technologies to build your site.

  • Next-Gen JavaScript
  • Sass
  • EJS - generate HTML markup with plain JavaScript
  • JSON - store page text/data

Workflow

Utilize a complete workflow of industry-leading software:

  • Webpack: module bundler
  • Browsersync: Development server for serving assets
  • Autoprefixer: Automatically add vendor prefixes to styles
  • Babel: Transpile to different versions of EcmaScript
  • Browserlist: Configure which browsers will be supported
  • Prettier: Formatter for scripts and styles
  • ESLint: Linting for scripts
  • StyleLint: Linting for styles
  • EditorConfig: general file formatter for your editor/IDE

Features

Take advantage of Bowman's build scripts with performance and best practices built in:

  • Bowman
    • Recursively find, generate, and minify html markup
    • JSON cache prevention and file watch debouncing for robust page hot-reloading
  • Webpack
    • Recursively find and output entry points
    • Transpile Next-Gen JavaScript using Babel
    • Compile Sass using Webpack loaders
    • Manifest generation for assets so you can reference in your markup
    • Minify js and css
    • Compress images and generate next-gen image formats
  • Browsersync
    • Serve pages and assets for development

Bowman Starter Template

Bowman comes with a default template with the following features:

  • ~100% Lighthouse Score on Mobile and Desktop (Excluding PWA)
  • Contains popular, pre-configured webpack optimizations with examples:
    • cache busting using [contenthash]
    • code splitting
    • tree-shaking
  • Polyfill support
  • Eliminates render blocking js/css
  • Next-gen image and fallback support for production builds
  • Critical css and favicon generation
  • Popular css reset and normalizing libraries
  • Suggested folder structure for an organized project

Usage

Create the markup

    build/
        content/
            my-page.ejs

my-page.ejs

    <h1><%= data.info.header %></h1>

    <div class="container">
        <p><%= data.info.description %></p>
    </div>

Create the data

    build/
        data/
            my-page.json

my-page.json

    {
        "title": "My Page",
        "info": {
            "header": "Hello World!",
            "description": "This is my cool new page."
        }
    }

Documentation

Read the full documentation

Limitations

Bowman has several caveats/unsupported features:

  • file/folder structures must match for page data and markup
    • the decision was made to keep both build/content/ and build/data/ the same structure in order to easily automate variable page generation
  • webpack prefetch and preload needs webpack html-webpack-plugin to work
  • font file cache-busting not supported

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].