Simple and nice blog theme based on Inclusion framework.
Proudly built with Jekyll and Grunt, hosted on Github. Compatible browsers: IE8+, Firefox, Chrome, Opera, Yandex.browser, Safari
Check out quick demo of this theme
##Contents
There are two branches: master branch and gh-pages. Master is a main develop branch. Project based on Synteagle general project template
./
├── .editorconfig
├── Gruntfile.js
├── package.json
├── bower.json
├── README.md
├── CHANGELOG.md
├── Rakefile
├── Gemfile
├── _config.yml
├── post.sh
├──grunt/                                      * grunt tasks
|   ├── task.js
│   └── aliases.yml 
|
├── dev/                                       * site source
|   ├── coffee/                                * coffee scripts
|	│   └── main/                              * main scripts
|	│
│   ├── images/                                * image sources
|	│
│   ├── jade/                                  * templates
|	|	├── blocks/                            * blocks library
|	│   |   └── block.jade
|	│   ├── helpers/                           * helper mixins
|	│   ├── vendor/                            * third-party code
|	│   ├── layouts/                           * page layouts
|	│   └── pages/                             * main pages templates
|	│
│   ├── js/                                    * compiled and source js
|	|   ├── main/                              * main site scripts
|	│   ├── ie/                                * ie compat scripts
|	│   └── vendor/                            * vendor scripts
|	│
|	├── sass/                                  * sass preprocessor styles
|	|	├── blocks/                            * blocks library
|	│   |   └── block.sass
|	│   ├── helpers/                           * mixins and vars
|	│   ├── vendor/                            * third-party code
|	│   └── screen.sass
|	│
│   ├── ruby/                                  * jekyll plugins
|	│
│   ├── helpers/                               * helper files
|	│
│   ├── fonts/                                 * font sources
|	│
│   └── devtools/                              * some dev tools
│
├── build/                                     * built source
|	├── index.html
|	├── _data/                                 * jekyll data (i18n, locales)
|	|
|	├── _drafts/                               * drafts
|	|
|	├── _layouts/                              * layouts for jekyll generation
|	|
|	├── _plugins/                              * jekyll plugins
|	|
|	├── _posts/                                * posts (*.md)
|	|
|	└── static/                                * static assets
|		├── css/                               * minified styles
|		|
|		├── images/                            * minified images
|		│
|		├── js/                                * minified assembled js
|		|
|		└── fonts/                             * @font-face-ready webfonts
│
└── publ/                                      * generated website
	├── _data/                                 * jekyll data (i18n, locales)
	|
	├── _drafts/                               * drafts
	|
	├── _posts/                                * posts (*.md)
	|
	└── static/                                * static assets
		└── images/                            * post and pages images
Take a look at this article about creating dev and deploy branches for your blog.
NOTE: this example use in _config.yml use baseurl option, so after domain there is path: /jekyll-inclusion. If you want to run this example on the local machine you should comment or remove this line in _config.yml file.
This project contains .editorconfig file. It describes codestyle like indentation, trailing whitespaces etc. See more details here
Here comes groups of grunt tasks with some explanations
grunt start - Install bower dependencies and place them to dev folders
- 'shell:bower'                          Install bower components
- 'bower:ie'                             Copy ie components to js folder
- 'bower:vendor'                         Copy vendor  components to js folder
gulp dev - Dev task with static server
- 'coffee:main'                          Compile main coffescripts
- 'concat:main'                          Concatenate main javascripts
- 'concat:ie'                            Concatenate ie javascripts
- 'concat:vendor'                        Concatenate vendor javascripts
- 'sass'                                 Compile Sass stylesheets
- 'jade'                                 Compile Jade templates
- 'sync:imagesDev'                       Sync images
- 'sync:fontsDev'                        Sync fonts
- 'sync:helpersDev'                      Sync helpers and other assets
- 'sync:rubyDev'                         Sync jekyll plugins
- 'sync:mainPubl'                        Sync posts and pages from publ folder
- 'shell:jekyllBuild'                    Generate site using Jekyll.rb
- 'browserSync:dev'                      Run dev server with watch option
- 'watch:dev'                            Watch for changes and run dev task
grunt build - Build task
- 'shell:jekyllBuild'                    Generate site using Jekyll.rb
- 'imagemin'                             Minify images
- 'cmq'                                  Combine media queries in css files
- 'autoprefixer'                         Add vendor prefixes in css
- 'csscomb'                              Applie styleguide to stylesheets
- 'uglify'                               Minify javascript files
- 'csso'                                 Minify stylesheets
- 'processhtml'                          Replace assets paths in html
- 'htmlmin'                              Minify html
- 'clean:dev'                            Remove dev things
- 'browserSync:test'                     Run test server without watch
grunt rebuild - Regenerate and build project by running all tasks
- 'coffee:main'                          Compile main coffescripts
- 'concat:main'                          Concatenate main javascripts
- 'concat:ie'                            Concatenate ie javascripts
- 'concat:vendor'                        Concatenate vendor javascripts
- 'sass'                                 Compile Sass stylesheets
- 'jade'                                 Compile Jade templates
- 'sync:imagesDev'                       Sync images
- 'sync:fontsDev'                        Sync fonts
- 'sync:helpersDev'                      Sync helpers and other assets
- 'sync:rubyDev'                         Sync jekyll plugins
- 'sync:mainPubl'                        Sync posts and pages from publ folder
- 'shell:jekyllBuild'                    Generate site using Jekyll.rb
- 'imagemin'                             Minify images
- 'cmq'                                  Combine media queries in css files
- 'autoprefixer'                         Add vendor prefixes in css
- 'csscomb'                              Applie styleguide to stylesheets
- 'uglify'                               Minify javascript files
- 'csso'                                 Minify stylesheets
- 'processhtml'                          Replace assets paths in html
- 'htmlmin'                              Minify html
- 'clean:dev'                            Remove dev things
grunt theme - Theme styles and scripts fixing
- 'coffee:main'                          Compile main coffescripts
- 'concat:main'                          Concatenate main javascripts
- 'concat:ie'                            Concatenate ie javascripts
- 'concat:vendor'                        Concatenate vendor javascripts
- 'sass'                                 Compile Sass stylesheets
- 'sync:cssTheme'                        Sync css with Jekyll generated assets
- 'sync:jsTheme'                         Sync js with Jekyll generated assets
- 'browserSync:theme'                    Run dev server with watch option
- 'watch:theme'                          Watch for changes and run theme task
grunt template - Theme templates fixing
- 'jade'                                 Compile Jade templates
- 'shell:jekyllBuild'                    Generate site using Jekyll.rb
grunt publish - Copy posts, pages and images and generates website
- 'sync:mainPubl'                        Copy posts, pages and images
- 'shell:jekyllBuild'                    Generate site using Jekyll.rb
- 'processhtml'                          Replace assets paths in html
- 'htmlmin'                              Minify html
- 'clean:dev'                            Remove dev things
grunt deploy - Deploy project by running Rakefile: git or ftp push
- 'shell:deploy'                         Deploy generated site to gh-pahes
grunt server - Run server without watching for changes
- 'browserSync:test'                     Run test server without watch
This theme use special data from _data/nav.yml to generate navigation. It's useful when you need to create nested menu. Also each page have menu option and if it will turn to true - this page will appear in menu.
There is a simple bash script that allows us to create new posts. I've put it in the root of the website, so just execute it, like bash post.sh your-post-name or post.sh your-post-name and it will create new *.md file at _publ/pages/_posts with predefined draft layout from _draft directory and also it will create folder in _publ/img/posts/ with name your-post-name for your post images. It's pretty simple and useful.
Youc can find full changelog HERE