A starter template for Jekyll, Gulp, ECMAScript(latest), webpack3, sass and postcss.
This starter also features a number of great software (in the words of their creators):
Install NVM. And use the latest version of NodeJS.
nvm install node
nvm use node
Go to sass-lang.com/install for installation in command line.
gem install sass
Before install sass, you should install Ruby and install Gem.
npm install --global yarn
npm install --global babel-cli
npm install --global gulp-cli
Install Jekyll and Bundler gems through RubyGems
gem install jekyll bundler
$ git clone https://github.com/amazingsurge/jekyll-starter-kit.git <PROJECT_NAME>
$ cd <PROJECT_NAME>
$ yarn install
Install Gem Dependencies
bundler install
Build the project
$ gulp
$ git remote add upstream https://github.com/amazingsurge/jekyll-starter-kit.git
$ git pull upstream master
To run separate task type in command line gulp [task_name]
.
Almost all tasks also have watch mode - gulp watch:[task_name]
, but you don't need to use it directly.
Task name | Description |
---|---|
default |
will start all tasks required by project in dev mode: initial build, watch files, run server with livereload |
build |
builds all content and assets from src to dist . |
dev |
builds your project without optimization. |
Task name | Description |
---|---|
styles |
compile all scss from src/styles to dist/assets/styles folder. |
scripts |
compile all js from src/scripts to dist/assets/scripts folder. |
html |
compile all hbs files to html files. |
usemin |
replaces references to non-optimized scripts or stylesheets into a set of HTML files |
Task name | Description |
---|---|
copy |
copy files from src/assets path to dist/assets path. |
vendor |
copy vendor files from registry distributions to dist/assets/vendor path. |
svgs |
optimize svg files. |
sprite |
generate svg sprite. |
fonts |
copy files from src/fonts path to dist/fonts path. |
favicons |
generate favicons to dist/assets/favicons path. |
images |
optimize and copies images in src/images to dist/assets/images . |
Task name | Description |
---|---|
clean |
remove dist folder. |
beautify |
beautify your source files in src/styles and src/scripts . |
server |
start a BrowserSync instance. |
watch |
watchs for changes in src/ path and rebuilds parts of the site as necessary. |
Task name | Description |
---|---|
version:major |
MAJOR version when you make incompatible API changes |
version:minor |
MINOR version when you add functionality in a backwards-compatible manner |
version:patch |
PATCH version when you make backwards-compatible bug fixes. |
version |
alias to version:path . |
All available tasks are placed in a folder tasks
.
gulp [task_name] --prod
or gulp [task_name] --production
to run task in production mode.Everything's ready to get started right away:
npm start
- Compiles assets & html, launches development server:
npm run build
- Same as above, but in production mode:
Global variables and site metadata can be found inside config.js
. Your can make some modification in the file.
The source
directory contains your entire application code, including CSS, JavaScript, HTML.
The rest of the folders and files only exist to make your life easier, and should not need to be touched.
Below you can find full details about significant files and folders.
├── README.md # Readme file
├── package.json # Dependencies for node.js
├── LICENSE # License
├── .babelrc # Babel config file
├── .gitignore # Git ignore rules
├── .htmlhintrc # Settings for HTMLHint
├── postcss.config.js # PostCSS config
├── gulpfile.babel.js # The Gulp task manager configuration
├── /webpack/ # Webpack config
├── /tasks/ # Gulp tasks definitions
├── /archives/ # Folder with zip archives
├── /dist/ # Minified, optimized and compiled files
│ ├── /assets/ # Assets folder
│ │ ├── /styles/ # CSS files
│ │ ├── /scripts/ # JS files
│ │ ├── /fonts/ # Fonts folder
│ │ ├── /images/ # Images folder
│ │ ├── /svgs/ # Svg files
│ │ └── /favicons/ # Favicons files
│ └── *.html # Rendered and compiled HTMLs from hbs
└── /src/ # The source code of the application
├── /assets/ # Static assets files copy to dist
├── /styles/ # Stylesheets source
├── /scripts/ # Javascript source
├── /fonts/ # Font files
├── /images/ # Non compressed image files
├── /svgs/ # Non compressed svg files
├── /favicons/ # Favicon image
$ docker-compose up
$ docker-compose exec app <COMMAND>
$ docker-compose rm -fs
The code is available under the MIT license.