Skip to content

handshake-org/handshake-org.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Handshake Developer Documentation Site

Handshake is a UTXO-based blockchain protocol which manages the registration, renewal and transfer of DNS top-level domains (TLDs).

This is the GitHub Pages hosted website for the Handshake protocol. This site includes, API docs, JSdoc generated documentation, instructional guides, and links to the white paper and protocol spec.

Dependencies

To work on this site you will need:

  • Linux or macOS (Windows may work, but is unsupported).
  • Ruby, version 2.3.1 or newer
  • Bundler — If Ruby is already installed, but the bundle command doesn't work, just run gem install bundler:1.16.3 in a terminal.
  • Pandoc

Build

Build site and slate API docs from the project's root directory:

./bin/build

Build jsdoc:

./bin/build-docs

Run

To view the site locally, execute the build command first, and then run a simple http server from the project's /build directory:

$ cd build

Python2:

$ python -m SimpleHTTPServer 8080

Python3:

$ python -m http.server 8080

Ruby:

$ ruby -run -e httpd . -p 8080

Node.js:

$ npm install -g http-server
$ http-server -p 8080

The site will run at http://localhost:8080.

Updating API Docs

The API Documentation runs on the Open Source Slate Framework. To make an update, fork the repo and make the changes to the appropriate markdown in this file directory. To use livereload while working on the API docs, use middleman livereload like so:

$ cd ./handshake-org.github.io/src/api-docs/
$ bundle install
$ bundle exec middleman server

When your PR is merged the new docs will be deployed to the live docs page.

Guide Contribution Guidelines

Submitting Ideas

Have an idea for a guide or tutorial? First head on over to the GitHub issues and see if your idea is already posted. If not, create an issue.

Don't commit built files

Pull requests should only include changes to files in the src directory. Releases will be done that build and deploy.

Adding a New Guide

To add a new guide, just a submit a pull request (PR) with a markdown file added to the src/guides directory in this repo (take a look at some of the other guides here). If your PR is accepted, it will added to the website.

Be sure to build the site before submitting your PR.