Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Building your Collection

Developing Locally

Before serving/building your project for the first time, open terminal in the repository root and run bundle install. The Gem "bundler" will manage dependencies based on the project's "Gemfile", and generate a new "Gemfile.lock" with the full list of dependencies being used. From then on, you will use bundle exec to prefix Jekyll commands to ensure you are using the bundled dependencies.

When developing the collection locally, use bundle exec jekyll s to start the development server. Jekyll will serve the site at the local host url so the links will look like http://127.0.0.1:4000/demo/psychiana/.

In the background, Jekyll generates the site and outputs the files to the "_site" directory in your project repository. Ruby provides a development server from that location.

By default the Jekyll environment is "development" when using jekyll s. In this environment CollectionBuilder skips some template elements to cut down on build time, including these _includes:

  • head/item-meta
  • head/page-meta
  • head/analytics

Building for Deployment

To deploy the collection on the live web, you will need to use the Jekyll environment variable "production" and the build command rather than serve.

This is set by adding the env variable, JEKYLL_ENV=production, in front of the command:

JEKYLL_ENV=production bundle exec jekyll build

To simplify, this command is added in a Rake task in this repository. Typing the command rake deploy will set the correct environment and build. You will get an error if you have not previously done bundle install for the project. (note: setting ENV cannot be done on windows CMD, use the rake task or Git Bash terminal)

Jekyll will output the site files to the "_site" directory. Everything in "_site" should be copied over to your web server into the correct file location depending on what you set in "_config.yml" as the baseurl.

Note: Since the extra elements are included during "production", the build time will be significantly higher than when using the development server. During production build, Jekyll will generate relative_url and absolute_url using the url and baseurl values set in _config.yml. Keep in mind that because CollectionBuilder makes use of absolute_url for many assets and links, the site built using rake deploy will only work correctly if it is copied to the correct location on your web server. It will not work in the "_site" folder, since the links point to locations on your server.