This repository contains the static HTML, Javascript, CSS, and images content of the Binary.com website.
In this document
Before running or contribute to this project, you need to have the setup of the following packages in your environment
- Ruby, RubyGems
- Sass (
sudo gem install sass) - Node.js (14.17.1 is recommended)
- NPM (see https://nodejs.org/en/download/package-manager/)
- Grunt (
sudo npm install -g grunt-cli)
-
Fork the project
In order to work on your own version of the Binary.com application, please fork the project to your own repo.
-
Clone using SSH
git clone [email protected]:your-github-username/binary-com.git
-
Enter project directory
cd binary-static -
Install your dependencies:
npm ci
-
To start developing:
npm run start
-
Open the source code and start editing!
Your site is now running at https://localhost:443
- To preview your changes locally, run
sudo grunt serve - It will watch for Javascript or CSS changes and will rebuild on every change you make.
- To test changes made to templates, you need to re-compile them:
grunt shell:compile_devto re-compile all templates.grunt shell:compile_dev --path=about-usto re-compile only template(s) which serve about-us path in URL.
- To fix eslint errors run
npm run eslint
There are two types of test link deployment preview:
- Automatic deployment
Upon creating PR, Vercel (https://vercel.com/) will auto-generate the test link inside the PR. you can use that to preview the test link for the changes you have made.
- Manual deployments
You can manually deploy your test link using gh-pages with the following configurations:
-
Register your application here. This will give you the ability to redirect back to your Github pages after login. Use
https://YOUR_GITHUB_USERNAME.github.io/binary-static/en/logged_inws.htmlfor the Redirect URL andhttps://YOUR_GITHUB_USERNAME.github.io/binary-static/en/redirect.htmlfor the Verification URL.If you're using a custom domain, replace the Github URLs above with your domain. -
In
src/javascript/config.js: Insert theApplication IDof your registered application inuser_app_id.
- NOTE: In order to avoid accidentally committing personal changes to this file, use
git update-index --assume-unchanged src/javascript/config.js
- Run
grunt dev
grunt devgrunt deploygrunt dev --path=about-usThere 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:
grunt dev --branch=branchnameThis will deploy your changes to a sub-folder named:br_branchnameand it can be browsed at: https://YOUR_GITHUB_USERNAME.github.io/binary-static/br_branchname/
In order to remove the created folders from your gh-pages, you can use either:
-
grunt dev --cleanup: removes allbr_*folders and deploys to the root folder.or
-
grunt shell:remove_folder --folder=br_branchname1,br_branchname2,...: only removes the specified folder(s) from your gh-pages.or
-
grunt shell:remove_folder --keep --folder=br_branchname1,br_branchname2,...: only keeps the specified folder(s) on your gh-pages and removes everything else. Just add the--keepflag.
In order to use your custom domain, please put it in a file named CNAME inside scripts folder of your local clone of binary-static.
git tag ${RELEASE_TARGET}_vYYYYMMDD_${INTEGER} -m 'some message'
RELEASE_TARGETcould be one of staging or production for staging and production release respectively.
Example:
git tag production_v20191010_0 -m 'release fixes to production'Push the tag:
git push origin staging_v20191010_0- Automatic: this will be done automatically with Github action
- Manual: If you need to add translation manually use manual translation doc