dat-asset v0.3.3
Dat-Asset
Static HTML and Assets Generator
I made this because I do a lot of pre-writing of templates to supply developers with who might be using Twig or something but I end up repeating a lot of code and I like using a template engine to get things done right and keep things tidy. Yes, there are existing tools for doing this sort of thing but I found them to be quite over complex. I recommend installing globally so that your project repo can contain just the things you need and not lots of config guff. It's bare-bones but you can go ahead and user Bower components, SCSS frameworks, node modules, grunt, gulp whatever... to your heart's content.
It's still a work in progress and I accept pull requests and issues over at GitHub.
To install:
npm install -g dat-asset
To use:
dat-asset install
Installing sets up a base set of JS, SCSS, JSON fixtures, images, static assets and Pug templates to modify and generate the static HTML and associated files.
dat-asset build
Building generates a dist directory with individual html pages, minified CSS, JS and compressed images.
dat-asset serve
Serving launches the app in a live reload browser for on-the-go SCSS and template changes.
dat-asset page <name>
The page command adds a new page template and a bare fixture file for modification. Pages extend the base layout by default.
e.g dat-asset page contact
dat-asset module <name> -a, --atomic [stage]
The module command adds a single responsibility mixin and associated SCSS file. Good for managing elements efficiently.
The -a or --atomic option accepts either atom, molecule or organism as per the Atomic Design Pattern and organises modules in a structure accordingly.
e.g dat-asset module header -a organism
dat-asset -h
Shows help:
Usage: dat-asset [options] [command]
Commands:
install Install base project
build Generate HTML and assets
serve Launch app in live reload browser
page <name> Add a new page
module <name> [options] Add a new module (optional atomic structure: --atomic [stage])
Options:
-h, --help output usage information
Project Structure
Projects take on the following default structure:
.
+-- app
| +-- fixtures
| +-- _base.json
| +-- index.pug.json
| +-- images
| +-- scripts
| +-- app.js
| +-- static
| +-- fonts
| +-- lib
| +-- styles
| +-- app.scss
| +-- views
| +-- layouts
| +-- base.pug
| +-- modules
| +-- index.pug
| +-- favicon.ico
+-- dist [build files - add to .gitignore]
| +-- assets
| +-- fonts
| +-- lib
| +-- css
| +-- app.css
| +-- app.min.css
| +-- app.min.css.map
| +-- js
| +-- main.js
| +-- main.min.js
| +-- main.min.js.map
| +-- favicon.ico
| +-- index.html
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago