1
0
mirror of https://github.com/bigchaindb/site.git synced 2024-11-21 17:26:55 +01:00
🦁 The fabulous cat of blockchain websites https://www.bigchaindb.com
Go to file
2018-04-10 10:31:19 +02:00
_aws aws routing rules 2018-04-10 10:30:48 +02:00
_ci call aws cli from within gulp task 2018-02-02 17:05:51 +01:00
_src fix select2 elements on mobile 2018-04-10 10:31:19 +02:00
docs Update mediakit.md 2017-08-28 18:07:57 +02:00
media pimp the readme 2017-05-29 21:35:24 +02:00
_config.yml new site structure 2018-04-10 10:30:48 +02:00
.babelrc package updates 2017-12-22 11:57:22 +01:00
.editorconfig finalized starting point 2015-12-20 05:22:45 +01:00
.gitignore git ignore *.code-workspace 2017-11-16 18:09:16 +01:00
.stylelintrc lint fixes 2017-12-22 12:19:41 +01:00
.travis.yml testing awscli 2018-02-02 11:26:50 +01:00
CODE_OF_CONDUCT.md add license, code of conduct docs 2018-04-04 15:23:27 +02:00
favicon.ico Update assets 2017-02-07 23:42:23 +01:00
Gemfile automatic table of contents for all guides 2017-11-17 12:21:07 +01:00
gulpfile.babel.js rollback to uglify-es 2018-04-10 10:30:47 +02:00
LICENSE add license, code of conduct docs 2018-04-04 15:23:27 +02:00
package.json dropdown menu 2018-04-10 10:31:18 +02:00
README.md readme updates 2018-04-10 10:30:48 +02:00

site

🦁 The fabulous cat of blockchain websites.

Build Status css bigchaindb js ascribe Greenkeeper badge


Live | Styleguide | Beta | Gamma


Table of Contents

Development

The whole website is a Jekyll based site with a Gulp-based build pipeline in front of it.

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

Development build

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

gulp

Continuous deployment: always be shipping

shipping

The site gets built & deployed automatically via Travis. This is the preferred way of deployment, it makes sure the site is always deployed with fresh dependencies and only after a successful build.

Build & deployment happens under the following conditions on Travis:

  • every push builds the site
  • live deployment: every push to the master branch initiates a live deployment
  • beta deployment: every new pull request and every subsequent push to it initiates a beta deployment

Manual deployment

For emergency live deployments or beta & gamma deployments, the manual method can be used. 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 [bigchaindb] you can grab those credentials by using the AWS_PROFILE variable like so:

AWS_PROFILE=bigchaindb gulp deploy --live

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

Staging build & beta deployment

The staging build is a full production build but prevents search engine indexing & Google Analytics tracking.

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

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

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

There's also a second beta deployment target called gamma under http://gamma.bigchaindb.com:

# build preventing search engine indexing & Google Analytics tracking
gulp build --staging

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

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

Coding conventions

(S)CSS

Follows stylelint-config-bigchaindb which itself extends stylelint-config-standard.

Lint with stylelint in your editor or run:

npm test

JavaScript

It's a wild mess right now between old school vanilla js, jQuery and some ES2015 features. Don't bother with the old stuff unless dependency updates break it.

New js should follow eslint-config-ascribe. Linting in this repo is not setup for it yet.

Authors

License

Copyright 2018 BigchainDB GmbH

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.