Skip to content
This repository has been archived by the owner on Feb 22, 2024. It is now read-only.

Latest commit

 

History

History
152 lines (103 loc) · 3.7 KB

README.md

File metadata and controls

152 lines (103 loc) · 3.7 KB

Binary-Style

Live Style Guide - The style system and guide for Binary.com. The goal of the project is to serve as base style for all Binary projects, and to ensure consistency and maintainability of the brand presentation.

node npm

In this document:

Pre-installation

Before running or contribute to this project, you need to have the setup of the following packages in your environment

  • node
  • npm >=4.x.x
  • grunt
  • git

Quick start

  1. Fork the project

    In order to work on your own version, please fork the project to your own repo.

  2. Clone using SSH

    git clone git@github.com:your-github-username/binary-style.git
  3. Enter project directory

    cd binary-style
  4. Install your dependencies:

    npm install
    sudo npm install -g grunt-cli
    sudo gem install compass -n /usr/local/bin
  5. To build everything and run the test suite

    grunt default

    optionally, you can run these to only build what you need, note that copy is a must:

    grunt copy
    grunt css
    grunt js
  6. To start developing:

    Run the following command to watch for js/css changes and rebuild on every change you make:

    sudo grunt serve
  7. Open the source code and start editing!

    Your site is now running at https://127.0.0.1/

How to contribute

  1. Create branch from the latest master branch

    git checkout master
    git pull upstream master
    git checkout -b [_your_branch_name]
  2. Make your changes

  3. Make pull request

  • Push your changes to your origin

    git push -u origin [_your_branch_name]
  • Click on the autogenerated link from the terminal to open the PR

  • Make sure to change the PR base to master branch

Manage releases

Release to Production

Merging the PRs to master branch deploys changes to production

grunt release --production=1 [--cleanup]

Note: The value is needed when more than one option is used

Parameters:

  • --production (mandatory)
    • In order to prevent accidentally releasing to the wrong target, it is mandatory to provide it.
    • Your remote origin will be checked to be the correct target of the given parameter.
    • Your current branch will be checked to be the correct branch of the given parameter.
  • --cleanup [optional]
    • Creates CNAME file
    • Deploys to gh-pages with the option add: false

Publishing new version

To publish new package version to npm, run

grunt npm_publish

Test link deployment

There are times that you are working on various branches at the same time, and you want to deploy/test each branch separately on your gh-pages, you can simply use --branch=branchname for grunt commands:

  • Deploy your changes to a sub-folder named: br_branchname and it can be browsed at: https:// YOUR_GITHUB_USERNAME.github.io/binary-style/br_branchname/

    grunt deploy --branch=branchname

Note: In order to remove the created folders from your gh-pages, you can either:

  1. Remove all br_* folders and deploy to the root folder:
grunt deploy --cleanup

OR

  1. Remove the specified folder(s) from your gh-pages:
grunt shell:remove_folder --folder=br_branchname1,br_branchname2,...