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