- Clone or download and unpack to desired location
- Download and install latest version of node.js
- Install GraphicsMagick (recommended) or ImageMagick for your OS.
Note: it's mandatory to install one of them before running
npm install
- Set your environment variables [guide]
- Install project dependencies:
npm install
- (optional) Add your repository to Travis for automatic tests
- (optional) Set up Continuous Deployment with CircleCI or Werker Docker following our guide
- Code live with:
npm start
ornpm start -- --hmr
if you need Hot Module Reloading - Build with:
npm run build
- Deploy and enjoy your life
- Reasonable structure for frontend projects
- Static pages generation
- Prepared configs for quick Continuous Deployment and automatic tests setup
- Grunt with pre-configured tasks
- Nunjucks, a full featured templating engine
- In-built Nunjucks globals and filters for formatting numbers, dates, getting current page url, locale, breadcrumb, etc.
- Human readable urls
- Boilerplate files based on best practices
- i18n with node-gettext and configured layouts to properly declare current locale and alternate urls
- Sass compiler with source maps generation, autoprefixing, optimization, minification and linting
- Ekzo Sass framework
- Webpack with ES6 support, managing and bundling JavaScript dependencies and optional hot module reloading or blazing fast watch
- standard for linting and automatic formatting JavaScript
- Live reload powered by webpack-dev-server
- Runtime type annotation and data validation with
tcomb
andtcomb-validation
, built-in handy refinements. - Preconfigured meta tags for Open Graph and Twitter Cards
- Commonly used by search providers structured data based on RDFa
- Automatic
sitemap.xml
generation with grunt-sitemap-xml - Automatic sprites generation with Spritesmith
- Automatic images compression via TinyPNG
- Automatic responsive images generation with grunt-responsive-images
- Separate not optimized files in development, and
- Compiled and minified files for production
And a lot more under the hood. We just didn't have time to document all features. Yet.
Work in progress
Deployed version of Kotsu from master branch can be found here.
Note that Examples section so far features only least part of predefined elements and features.
IE | Edge | Chrome | Firefox | Safari | Opera | Opera Mobile | iOS Safari | Android |
---|---|---|---|---|---|---|---|---|
9+ | 12+ | 21+ | 28+ | 6.1+ | 12.1+ | 12.1+ | 7+ | 4+ |
To enable ES6 features in IE11 and below, uncomment import 'babel-polyfill'
in main.js
. See details here.
Default build shipped with jQuery 3.1.0+ which doesn't support IE8. Replace it with pre 3.0.0 version if you need support of IE8.
IE | Edge | Chrome | Firefox | Safari | Opera | Opera Mobile | iOS Safari | Android |
---|---|---|---|---|---|---|---|---|
10+ | 12+ | 21+ | 28+ | 6.1+ | 12.1+ | 12.1+ | 7.1+ | 4.4+ |
Refer to Ekzo Browsers Support section for details about graceful regression for IE9 and below, which included in Kotsu by default.
To disable graceful regressions for older IE, remove IE()
macro call from base layout.
In IE9 and below users will see banner before page content with message about outdated browser and link to Outdated Browser.
To disable Outdated Browser message, remove OutdatedBrowser()
macro call from base layout.
Copyright 2014 LotusTM. Licensed under the Apache 2.0 license.