SlabJS
SlabJS is a web framework that allows you to build dynamic web applications and compile them into standalone, optimized, static HTML.
Features
The following features are included with this version:
- jQuery
- Modernizr
- Bootstrap 3.3
- Handlebars (other template engines to come at a later date)
- Template Data for Handlebars
- libSass
- Compass Mixins (via libSass)
- Font Awesome 4.3
- SVG Icon Font generation
- Browserify (with map generation)
- BrowserSync
- Google Analytics Injection
- Google Fonts Injection
- Optimal PageSpeed scores!
Table of Contents
Installation
With node installed:
# Get the latest stable release of SlabJS $ npm install slabjs -g
Make Your Project
Create the app:
# Create your app $ slab create app
Launch the app and get working:
# cd into your new app $ cd app # launch the server $ slab launch
Compile for production
By passing production into the environment option, you will be making the following optimizations:
- Minify CSS
- Minify JS
- Generate gzip for your JS files (it's up to you how you enable them)
# launch the server with production code $ slab launch --env production
Project Configuration
You can add project specific information to inject into your HTML by adding it to a file at ./config/project.js
Inject Google Font stylesheets into your head
# ./config/project.js # copy the value directly after the family parameter # provided by the Google Fonts link tag: # <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'> google_fonts: ,
Inject Google Analytics scripts to your footer
# ./config/project.js # you can add multiple scripts. Keep in mind only one # legacy script can be added(ga.js) google_analytics:
Template Data for Handlebars
# ./config/project.js template_data:
# ./src/views/partials/head.hbs <title>{{title}}</title>
# ./build/index.html <title>Example title</title>
Generators
Sometimes, live updating will not always work for you. This is where generators come in.
Regenerate your SVG font.
# Make more font characters $ slab generate icons
Fetch the latest Font Awesome library
# Get the latest Font Awesome $ slab generate fontawesome
More to come...
Coming Soon
- Bower & Bower support for Browserify
- Handlebars Layouts
- Controllers for your views (to replace Tempalate Data)
- GIT Deployments
Known Issues
- There is a minor issue on first launch where the virtual server doens't catch up with the generated files. A small refresh seems to fix it. This will be fixed in the next release.