diff --git a/docs/config.json b/docs/config.json
new file mode 100644
index 0000000..b8d15c3
--- /dev/null
+++ b/docs/config.json
@@ -0,0 +1,31 @@
+{
+ "baseUrl": "/blur-admin/",
+ "locals": {
+ "url": "http://localhost:8080",
+ "name": "The Wintersmith's blog",
+ "owner": "Someone",
+ "description": "Ramblings of an immor(t)al demigod"
+ },
+ "plugins": [
+ "./plugins/paginator.coffee"
+ ],
+ "require": {
+ "moment": "moment",
+ "_": "underscore",
+ "typogr": "typogr"
+ },
+ "jade": {
+ "pretty": true
+ },
+ "markdown": {
+ "smartLists": true,
+ "smartypants": true
+ },
+ "paginator": {
+ "perPage": 3,
+ "groupSort": {
+ "Quick Start": 1000,
+ "Customization": 900
+ }
+ }
+}
diff --git a/docs/contents/articles/001-getting-started/index.md b/docs/contents/articles/001-getting-started/index.md
new file mode 100644
index 0000000..f0a1fca
--- /dev/null
+++ b/docs/contents/articles/001-getting-started/index.md
@@ -0,0 +1,43 @@
+---
+title: Getting Started
+author: vl
+sort: 999
+group: Quick Start
+template: article.jade
+---
+
+## What is BlurAdmin?
+
+Blur admin is Angular front-end Admin Dashboard template. That means all data you can see on graphs, charts tables is hardcoded in Javascript. You can use any backend you want with it without limitations.
+
+## How can it help me?
+
+We believe that that at the moment a lot of business applications have some kind of admin interface inside of them. Sometimes it's not that obvious, but a lot of web applications have dashboard with panels, charts analytics.
+
+BlurAdmin aims to bootstrap development of your product and provide ecosystem for building a prototype or even production-ready application.
+
+Despite frameworks like Bootstrap provide a number of components, usually it's not enough of them to build real-world app. This template comes with lots of popular UI components with unified color scheme.
+
+As well you can use BlurAdmin for learning purposes.
+
+## List of features
+
+* Responsive layout
+* High resolution
+* Bootstrap CSS Framework
+* Sass
+* Gulp build
+* AngularJS
+* Jquery
+* Jquery ui
+* Charts (amChart, Chartist, Chart.js, Morris)
+* Maps (Google, Leaflet, amMap)
+* etc
+
+## I want to start developing with BlurAdmin
+
+Welcome abroad!
+
+You can start with [Installation Guidelines](/blur-admin/articles/002-installation-guidelines/). We describe there how can you download and run template on you local machine.
+
+Good luck and have fun!
\ No newline at end of file
diff --git a/docs/contents/articles/002-installation-guidelines/index.md b/docs/contents/articles/002-installation-guidelines/index.md
new file mode 100644
index 0000000..e1358ae
--- /dev/null
+++ b/docs/contents/articles/002-installation-guidelines/index.md
@@ -0,0 +1,46 @@
+---
+title: Installation Guidelines
+author: vl
+sort: 500
+group: Quick Start
+template: article.jade
+---
+
+## Prerequisites
+
+Despite BlurAdmin can be run without any development experience, it would be much easier if you already know something about it. In general following instruction do allow to run local copy by complete newbie, but it doesn't answer questions that can arise in the process of installation.
+
+## Install tools
+
+If you don't havee any of these tools installed already, you will need to:
+* Download and install [git](https://git-scm.com/)
+* Download and install nodejs [https://nodejs.org](https://nodejs.org)
+
+**Note**: It seems like there are some problems with some libraries used in this template and old node versions. That's why we suggest you to have one of the latest.
+
+## Clone repository and install dependencies
+
+You will need to clone source code of BlurAdmin GitHub repository. To do this open console and execute following lines:
+```bash
+git clone https://github.com/akveo/blur-admin.git
+```
+After repository is cloned, go inside of repository directory and install dependencies there:
+```bash
+cd blur-admin
+npm install
+```
+This will setup a working copy of BlurAdmin on your local machine
+
+## Running local copy
+
+To run local copy in development mode, execute:
+```bash
+gulp serve
+```
+This script should automatically open template in your default browser.
+
+To run local copy in production mode, execute:
+```bash
+gulp serve:dist
+```
+For addition information about build, please check out [this angular generator](https://github.com/Swiip/generator-gulp-angular)
diff --git a/docs/contents/articles/011-changing-color-scheme/index.md b/docs/contents/articles/011-changing-color-scheme/index.md
new file mode 100644
index 0000000..cc474bd
--- /dev/null
+++ b/docs/contents/articles/011-changing-color-scheme/index.md
@@ -0,0 +1,50 @@
+---
+title: Changing Color Scheme
+author: vl
+sort: 900
+group: Customization
+template: article.jade
+---
+
+If you want to change template color scheme, you just need to do 4 simple steps:
+
+1) Change color scheme in javascript (`src/app/theme/theme.constants.js`):
+```javascript
+ // main color scheme
+ var colorScheme = {
+ primary: '#209e91',
+ info: '#2dacd1',
+ success: '#90b900',
+ warning: '#dfb81c',
+ danger: '#e85656',
+ };
+
+ // background color palette
+ var bgColorPalette = {
+ blueStone: '#005562',
+ surfieGreen: '#0e8174',
+ silverTree: '#6eba8c',
+ gossip: '#b9f2a1',
+ white: '#ffffff',
+ };
+```
+- css colors and javascript colors in colorScheme object should be the same
+- background color palette is used for the pie traffic chart and calendar on the dashboard page
+
+2) Change colors in css (`src/sass/theme/conf/_colorScheme.scss`):
+
+```scss
+$primary: #209e91 !default;
+$info: #2dacd1 !default;
+$success: #90b900 !default;
+$warning: #dfb81c !default;
+$danger: #e85656 !default;
+```
+
+3) Replace background images: `src/app/assets/img/blur-bg.jpg` and `src/app/assets/img/blur-bg-blurred.jpg`
+
+4) build source files and run application: `gulp` and `gulp serve`
+
+Below is an example of template with another color scheme:
+
+![](new-color-scheme.jpg)
\ No newline at end of file
diff --git a/docs/contents/articles/011-changing-color-scheme/new-color-scheme.jpg b/docs/contents/articles/011-changing-color-scheme/new-color-scheme.jpg
new file mode 100644
index 0000000..e95600d
Binary files /dev/null and b/docs/contents/articles/011-changing-color-scheme/new-color-scheme.jpg differ
diff --git a/docs/contents/articles/012-project-structure/index.md b/docs/contents/articles/012-project-structure/index.md
new file mode 100644
index 0000000..9077611
--- /dev/null
+++ b/docs/contents/articles/012-project-structure/index.md
@@ -0,0 +1,33 @@
+---
+title: Project Structure
+author: vl
+sort: 800
+group: Customization
+template: article.jade
+---
+
+Project structure was originally based on [this angular generator](https://github.com/Swiip/generator-gulp-angular). We made some changes we thought would be better for our particular problem.
+
+The directory structure of this template is as follows:
+```
+├── bower.json <- front-end library dependencies
+├── gulpfile.js <- main task runner file
+├── package.json <- mostly task runner dependencies
+├── docs/ <- wintersmith documentation generator
+├── gulp/ <- build tasks
+├── src/ <- main front-end assets
+│ ├── 404.html
+│ ├── auth.html
+│ ├── index.html <- main app dashboard page
+│ ├── reg.html
+│ ├── app/ <- angular application files
+│ │ ├── app.js <- angular application entry point. Used for managing dependencies
+│ │ ├── pages/ <- UI router pages. Pages created for demonstration purposes. Put your application js and html files here
+│ │ ├── theme/ <- theme components. Contains various common widgets, panels which used across application
+│ ├── assets/ <- static files (images, fonts etc.)
+│ ├── sass/ <- sass styles
+│ │ ├── app/ <- application styles. Used mostly for demonstration purposes. Put your app styles here.
+│ │ ├── theme/ <- theme styles. Used to customize bootstrap and other common components used in tempate.
+```
+
+In our template we tried to separate theme layer and presentation layer. We believe most of other templates have them combined. That's why when you start developing using them, it gets very hard for you to remove things you don't need. Though we understand that our structure is not ideal, but we're aiming to make it as good as possible.
diff --git a/docs/contents/articles/013-create-new-page/index.md b/docs/contents/articles/013-create-new-page/index.md
new file mode 100644
index 0000000..104d016
--- /dev/null
+++ b/docs/contents/articles/013-create-new-page/index.md
@@ -0,0 +1,68 @@
+---
+title: Create New Page
+author: vl
+sort: 300
+group: Customization
+template: article.jade
+---
+
+Blur admin uses [Angular UI router](https://github.com/angular-ui/ui-router) for navigation.
+That means to create new page you need to basically configure `ui-router` state.
+
+We strongly recommend to follow pages structure in your application.
+If it doesn't fit your needs please create a GitHub issue and tell us why. We would be glad to discuss.
+
+Also we recommend to put pages to separate modules.
+This will allow you to easily switch off some pages in the future if needed.
+
+## Page creation example
+
+0) Let's assume we want to create a blank page with title 'My New Page'
+
+1) Let's Create a new directory to contain our new page inside of `src/app/pages`. Let's call this directory `myNewPage`.
+
+2) Then let's create blank angular module to contain our page called 'myNewPage.module.js' inside of `src/app/pages/myNewPage`:
+
+```javascript
+(function () {
+ 'use strict';
+
+ angular.module('BlurAdmin.pages.myNewPage', [])
+ .config(routeConfig);
+
+ /** @ngInject */
+ function routeConfig() {
+
+ }
+
+})();
+```
+
+3) Then let's create empty html file called `my-new-page.html` inside of `src/app/pages/myNewPage`.
+
+4) Lastly let's create ui router state for this page. To do this we need to modify module.js file we created on step 2:
+```javascript
+(function () {
+ 'use strict';
+
+ angular.module('BlurAdmin.pages.myNewPage', [])
+ .config(routeConfig);
+
+ /** @ngInject */
+ function routeConfig($stateProvider) {
+ $stateProvider
+ .state('myNewPage', {
+ url: '/myNewPage',
+ templateUrl: 'app/pages/myNewPage/my-new-page.html',
+ title: 'My New Page',
+ sidebarMeta: {
+ order: 800,
+ },
+ });
+ }
+
+})();
+```
+
+That's it! Your can now open your new page either from sidebar or through hash URL.
+
diff --git a/docs/contents/articles/051-sidebar/index.md b/docs/contents/articles/051-sidebar/index.md
new file mode 100644
index 0000000..5a82b32
--- /dev/null
+++ b/docs/contents/articles/051-sidebar/index.md
@@ -0,0 +1,132 @@
+---
+title: Sidebar
+author: vl
+sort: 900
+group: Components
+template: article.jade
+---
+
+Sidebar is used to provide convenient way of navigation in the application.
+Application support only one sidebar per angular application.
+That means sidebar is basically a singletone object.
+Currently sidebar supports level 1 and 2 sub menus.
+
+Sidebar can be created using `baSidebar` directive:
+```html
+
+```
+
+For now it support only javascript configuration. Though it can be configured manually or via `ui-router` states.
+This methods can be used either together or one at a time.
+
+
+## Manual configuration
+
+For manual configuration you need to use `baSidebarServiceProvider` provider in angular [configuration block](https://docs.angularjs.org/guide/module#configuration-blocks).
+The provider has `addStaticItem` method, which receives menuItem object as an argument, which can have following properties:
+
+
+
+
+
property
+
type
+
meaning
+
+
+
+
+
+
title
+
String
+
Name of the menu item
+
+
+
+
icon
+
String
+
Icon (it's a class name) to be displayed near title
+
+
+
+
stateRef
+
String
+
`ui-router` state associated with this menu item
+
+
+
+
fixedHref
+
String
+
Url associated with this menu item
+
+
+
+
blank
+
String
+
Specifies if following Url should be opened in new browser tab
+
+
+
+
subMenu
+
Array of menu items
+
List of menu items to be displayed as next level submenu
+
+
+
+
+
+Sample manual configuration:
+```javascript
+ baSidebarServiceProvider.addStaticItem({
+ title: 'Menu Level 1',
+ icon: 'ion-ios-more'
+ });
+```
+
+## Route configuration
+
+By default sidebar iterates through all **ui-router** states you defined in your application and searches for `sidebarMeta` object in them.
+For each state, which has this property, sidebar element is created.
+
+States are being grouped hierarchically.
+That means if there's a parent abstract state for some state and they both have `sidebarMeta` property, it will be displayed as a sub item of that abstract state's menu item.
+
+Name of the item is taken from `state`'s `title` property. Sample state configuration, which will add an item to sidebar:
+```javascript
+$stateProvider
+ .state('dashboard', {
+ url: '/dashboard',
+ templateUrl: 'app/pages/dashboard/dashboard.html',
+ title: 'Dashboard',
+ sidebarMeta: {
+ icon: 'ion-android-home',
+ order: 0,
+ },
+ });
+```
+
+`sidebarMeta` object can have following properties:
+
+
+
+
+
property
+
type
+
meaning
+
+
+
+
+
+
icon
+
String
+
Icon (it's a class name) to be displayed near title