⚠⚠⚠ This project is now archived. The dependencies are very out-of-date - proceed with caution! ⚠⚠⚠
A starter project which integrates gulp automation with the jekyll static site generator.
Open a new command line window and enter the following:
ruby -v
node -v
npm -v
If Ruby, Node and the node package manager are installed correctly, you'll get version numbers for each.
On Windows, do this as an administrator. I also recommend ConEmu as a much-improved upgrade from the built-in cmd.
gem install bundler
- installs Bundler, which lets you manage Ruby gemsbundle install
- uses Bundler to quickly install all of the Ruby dependencies as defined in the Gemfilenpm install gulp -g
- uses the node package manager to globally install gulp on your machine - a requirement for running gulp locallynpm install
- uses the node package manager to install all of our gulp project dependencies, as defined in package.jsongulp
is the default development task. It will do the following:
build/development
and build/assets
directories (we take the assets out of the jekyll directory in development because jekyll deletes and rebuilds its containing directory on every site rebuild - a frequent occurrence in the development phase)Now that it's watching your jekyll and asset directories, any changes will automatically reload your browser window, which is ideal for efficient development.
gulp publish
will get the site ready for deployment:
_config.build.yml
file to overwrite any development settings from _config.yml
, e.g. the site.url
variableYou now have a ready-to-go site in build/production
. Optionally, you can use the built-in rsync deployment at this time...
Only tested on my environment - do a test upload first
Customise the secrets.json
file in the gulp
folder, filling in your ssh settings as appropriate, e.g. [email protected]:public_html/blog
Once you have run gulp publish
, run gulp deploy
. New files will automatically be uploaded and chmod settings set to 644 for files, 755 for folders.
If you're going to share your project, make sure you add gulp/secrets.json
to the .gitignore
file.