- Jekyll
- Gulp
- Sass
- PostCSS
- Imagemin
- Browsersync
- Flightdeck Liftoff for deployments
- includes support for
.env
(see: env_example)
- includes support for
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
If you use Visual Studio Code as your editor its highly recommended to includes these extensions to your mix:
NOTE: If you'd rather use
npm
oryarn
β just replace thepnpm
command 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!
This will give you file watching, browser synchronization, auto-rebuild (hot reloading), CSS injection etc.
pnpm run start
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 build
To display all available commands just run:
pnpm run
There 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 purge
preinstall
is triggered while executingpnpm
orpnpm install
β this will install all the Ruby Gems needed to setup Jekyll.pnpm start
triggers 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 build
triggers the build process and passes the environment variable for Jekyll to produce a production ready site.pnpm clean
scrubs all_site
specific files (see.scrub.sh
>>DEVFILES
)pnpm purge
scrubs 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
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:
You can change the any of the configuration options in flightdeck.manifest.js
which affects the gulpfile.js
.