/roadmap-site

public site

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Roadmap Public Website

Please read the Contributing document for details on how to publish content to the site using Prose.io.

Table of Contents

  1. Quickstart
  2. Requirements
  3. Workflow

Quickstart

This quickstart assumes you’ve already installed all requirements.

git clone git@github.com:getroadmap/roadmap-site.git
cd roadmap-site
bundle install
npm install
bower install
npm start
visit [http://localhost:9000](http://localhost:9000) 

Requirements

Ruby and its tooling

Jekyll runs on Ruby. Install for Windows. Macs have ruby pre-installed, but you may want to sandbox your development versions of Ruby using rbenv or rvm

Once you’ve installed ruby, use the gem command line tool to install bundler.

The --no-rdoc --no-ri flags exclude documentation from download, to speed things up.

gem install --no-rdoc -no-ri bundler

Navigate to the project folder, and use bundler to install gem dependencies.

bundle install

Node and its tooling.

Node powers the command line build tools that the website uses.

Once you’ve installed Node, we need to install some global node tools using Node’s package manager, npm.

Global Packages

npm install -g gulp browser-sync bower

Project Packages

Navigate to the project folder and use npm to install dev dependencies, and bower to install front-end dependencies.

NPM installs the packages saved in the package.json file. Bower installs dependencies defined in the bower.json file.

npm install
bower install

Workflow

Once you’ve installed all dependencies, run npm start to kickoff the gulp task runner, which renders the pages using jekyll, builds styles, scripts, and images, serves everything on a localhost port, and watches for changes across your files.

Once you’re ready to publish changes for review, run::smile:

gulp build:gh-pages

This creates a dist folder with your rendered files.

Publishing to github pages

I use Github pages as a staging ground for reviewing changes.

The site makes use of Travis CI to build and “test” the develop branch the site.

To preview the site on Github pages, merge your branch into develop, and push that branch back to github. In about 5-15 minutes, https://getroadmap.github.io/roadmap-site/ will update with your changes.

Manual Publishing to Github Pages.

You can publish the site to Github Pages yourself by running the following commands (assuming a mac).

gulp build:gh-pages
cd gh-pages
git init
git remote add origin git@github.com:getroadmap/roadmap-site.git
git add ./
git commit -m 'my commit message'
git push -fu origin HEAD:gh-pages

Publishing Live

The site makes use of Travis CI to build and “test” the production version of the site.

To publish the site, merge your development branch into master, and push those changes back to github. In about 5-15 minutes, the site will update with your changes.

Manual Publishing

You can deploy manually using the following steps

gulp build:gh-pages
cd dist/
git init
git remote add origin git@github.com:getroadmap/roadmap-site.git
git add ./
git commit -m 'my commit message'
git push -fu origin HEAD:gh-pages