🦁 The fabulous cat of blockchain websites https://www.bigchaindb.com
Go to file
Matthias Kretschmann db31e87e60 Tweaked ERDF logo (#84) 2016-12-07 11:42:34 +01:00
_ci Travis setup (#72) 2016-06-23 16:23:53 +02:00
_src Tweaked ERDF logo (#84) 2016-12-07 11:42:34 +01:00
assets/img Deleted _drafts/_pages/use-cases.md via Forestry.io 2016-10-24 14:02:23 +00:00
docs Updated front page & restyled menu & happy little things (#79) 2016-11-14 11:59:16 +01:00
forestryio/images Deleted _drafts/_pages/use-cases.md via Forestry.io 2016-10-24 14:02:23 +00:00
.editorconfig finalized starting point 2015-12-20 05:22:45 +01:00
.gitignore Yarn instructions 2016-11-11 00:15:26 +01:00
.travis.yml Travis setup (#72) 2016-06-23 16:23:53 +02:00
Gemfile switch to redcarpet for now, ref #11 2016-02-10 01:11:35 +01:00
README.md Yarn instructions 2016-11-11 00:15:26 +01:00
_config.yml Updated front page & restyled menu & happy little things (#79) 2016-11-14 11:59:16 +01:00
favicon.ico Deleted _drafts/_pages/use-cases.md via Forestry.io 2016-10-24 14:02:23 +00:00
gulpfile.js Make spawn compatible with Windows operating systems 2016-10-17 17:08:55 +02:00
package.json Make spawn compatible with Windows operating systems 2016-10-17 17:08:55 +02:00

README.md

BigchainDB

Landing page for BigchainDB

Build Status

Live | Beta | Styleguide

Development

You need to have the following tools installed on your development machine before moving on:

Install dependencies

Run the following command from the repository's root folder to install all dependencies.

npm i && bundle install

or

yarn && bundle install

Development build

Spin up local dev server and livereloading watch task, reachable under https://localhost:1337:

gulp

Continuous Delivery

The site gets built & deployed automatically via Travis under the following conditions:

  • every push builds the site
  • every push to the master branch initiates a live deployment
  • every pull request initiates a beta deployment

Manual Deployment

The site is hosted in an S3 bucket and gets deployed via a gulp task.

Prerequisite: Authentication

To deploy the site, you must authenticate yourself against the AWS API with your AWS credentials. Get your AWS access key and secret and add them to ~/.aws/credentials:

[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>

This is all that is needed to authenticate with AWS if you've setup your credentials as the default profile.

If you've set them up as another profile, say [bigchain] you can grab those credentials by using the AWS_PROFILE variable like so:

AWS_PROFILE=bigchain gulp deploy:live

In case that you get authentication errors or need an alternative way to authenticate with AWS, check out the AWS documentation.

Production build & beta deployment

# make sure your local npm packages & gems are up to date
npm update && bundle update

# make production build in /_dist
gulp build --production

# deploy contents of /_dist to beta
gulp deploy --beta

Production build & live deployment

# make sure your local npm packages & gems are up to date
npm update && bundle update

# make production build in /_dist
gulp build --production

# deploy contents of /_dist to live
gulp deploy --live

_assets & assets, WTF?

Basically:

  • _assets: its content won't be copied over to generated site but handled by Gulp during build process.
  • assets: its content is copied over to generated site and processed by Jekyll's assets pipeline

The site avoids using Jekyll's builtin assets pipeline for various reasons and all assets are handled and compiled by Gulp during the build process.

This has one important drawback: it limits the use of 3rd-party tools providing a UI for Jekyll-based sites cause all of those tools depend on a simple jekyll serve to show a preview of edited content. To work around that, the assets folder holds all assets which are merely copied, rather than processed (fonts & videos). As for the styles, the css/ folder holds a collection file importing all our main styles. This file then gets processed by Jekyll's assets pipeline so at least styles work when doing a jekyll serve. Additionally, this assets folder holds a precompiled sprite sheet of the interface assets.