#WOK
Tasty website cookware
WOK is a loosely opinionated boilerplate for web development built with flexibility and productivity in mind.
##Features
- HTML5 Boilerplate
- Static HTML templating with EJS
- Sass 3.2+ with node-sass and CSS post-processing
- BEM-like naming convention
- Legacy browsers fallback stylesheet (rem units conversion, large screen fallback via sass-mq)
- Grunt.js build and deploy workflow
- Bower
- Asset Live-reload and/or BrowserSync
- Weinre remote debugging
- more to come... (project scaffolding, jade support)
##Requirements
- Node.js >= 0.10.30 (install wiki)
- bower (
sudo npm install -g bower) - grunt-cli (
sudo npm install -g grunt-cli)
##Installation
Clone this repo:
git clone git://github.com/fevrcoding/wok.git
From project root:
bower install(vendors)npm install(grunt deps)
##Configuration
On a plain HTML project, the default configuration should work just fine. On other setups you might need to tweak some paths/options:
-
customize paths and options in
hosts.yml,paths.ymlandproperties.ymlfiles within thebuild/grunt-configfolder -
if needed, edit/add/remove tasks by editing tasks' configuration in
build/grunt-tasks/. Configuration format are listed on the load-grunt-config docs
##Project Structure
Project sources are located into application folder. Don't edit files in public since they will be overwritten during the build process.
###Application Folder Structure
assets
+ fonts #Web Fonts
+ images #Images
+ javascripts #JavaScript files
+ stylesheets #SASS files
+ audio #audio files
+ video #video files
+ vendors #vendors packages installed by bower
documents #Markdown files or any other txt-like file to be included in HTMLs
fixtures #JSON files
views #HTML files
+ partials #View partials
index.html #Main views
...
###View Partials
View partials in application/views/partials are rendered to public folder like every other file. To prevent rendering prepend a _ to the filename.
To limit performance issues, nested partials subfolders will not be parsed.
###Vendors
You may use bower to manage vendors. Installed packages will be stored into the application/assets/vendors folder. Except for modernizr (which comes with wok by default) it's up to you to provide dev and dist configuration to deploy vendors' files to public.
###More docs to come...
##Building
From project root:
grunt serve (builds in development mode, runs a static server on port 8000, watches for change and live-reloads assets)
Other Grunt tasks:
dev: development builddist: production ready builddeploy:[staging|production]: development / production build and deploy with rsync. A backup of the deploy target folder (paths.www) will be stored inpaths.backup.rollback:[staging|production]: restores the latest backup (if available)
Note: when paired with Phing or other deployment systems, remember to set buildOnly to false in build/grunt-config/properties.yml to delegate deploy tasks.
##Project Info
WOK was created by Marco Solazzi with contributions from Matteo Guidotto and Umberto Quintarelli.
Original work Copyright © 2014 Intesys S.r.l., released under the MIT license. Modified work Copyright © 2015 Marco Solazzi, released under the MIT license.