edheltzel/flightdeck-for-jekyll
๐ An opinionated starter project for Eleventy using Gulp as an asset pipeline
What's inside the Flightdeck
- Jekyll
- Gulp
- Sass
- PostCSS
- Imagemin
- Browsersync
- Flightdeck Liftoff for deployments
- includes support for
.env(see: env_example)
- includes support for
Prerequisites
To install this project, you'll need the following things installed on your machine.
- Jekyll & Bundler -
$ gem install jekyll bundler - NodeJS - use the installer, Homebrew, etc.
- pnpm - Fast, disk space efficient package manager for Node
Visual Studio Code Extensions (optional)
If you use Visual Studio Code as your editor its highly recommended to includes these extensions to your mix:
Install & Local Development
Quick Start
NOTE: If you'd rather use
npmoryarnโ just replace thepnpmcommand and all should work.
To get started quickly, you'll need to follow the steps below:
-
Clone this repo
git clone https://github.com/flight-deck/Flightdeck.git newFlightdeckProject
-
Navigate to newFlightdeckProject
cd newFlightdeckProject pnpm install -
Start the server
pnpm start
-
Happy hacking!
Usage
Start Development
This will give you file watching, browser synchronization, auto-rebuild (hot reloading), CSS injection etc.
pnpm run startProduction Build
This will set the JEKYLL_ENV to production and use the production config file(s) set in flightdeck.manifest.js to override default setting.
You can easily deploy your site build with the command.
pnpm run buildWant more?
To display all available commands just run:
pnpm runThere are several options for running the npm scripts that do specific tasks controlled by Gulp or help you clean things.
Lifecycle scripts:
preinstall
bundle install --path vendor/bundle
start
bundle exec gulp
Commands available via "pnpm run":
build
bundle exec gulp build --jekyllEnv='production'
format
rome format .
format:fix
rome format . --write
lint
rome check .
lint:fix
rome check . --apply
lint:fix:suggested
rome check . --apply-suggested
clean
./.scrub.sh site
purge
./.scrub.sh purgepreinstallis triggered while executingpnpmorpnpm installโ this will install all the Ruby Gems needed to setup Jekyll.pnpm starttriggers the default task giving everything you need for local development โ file watching, browser synchronization, css injection, auto rebuild of Jekyll liquid templates/data/config files, etc.pnpm buildtriggers the build process and passes the environment variable for Jekyll to produce a production ready site.pnpm cleanscrubs all_sitespecific files (see.scrub.sh>>DEVFILES)pnpm purgescrubs all gems and node packages ( see.scrub.sh>>NODEFILES & RUBYFILES)- note: you will need to re-run
pnpm install.
- note: you will need to re-run
Configurations and Defaults
Remember this is just a Jekyll site using the Minima theme, so anything related to Jekyll or Liquid specific you'll need to reference the documentation for these projects:
Flightdeck Manifest
You can change the any of the configuration options in flightdeck.manifest.js which affects the gulpfile.js.
