How to contribute?

This is detailed guide for contributors.

In general look for TODO list in every chapter to expand it.

It is made using github markdown so it looks like:

  • [ ] Write about foo
  • [ ] Clarify bar
  • [ ] Do x


All contributors must understand that this book is highly opinionted. This means, it might happen that you may not agree this some portion and your attempt to edit it, by sending pull request is rejected.

Of course, we are open to discussion about every aspect of this book no matter how small it may sound. We request you to please be patience and polite when contributing.

Minor edits

  1. Can be done better using Edit on github link on every page
  2. Clicking that link will take you to github repo for this book-project.
  3. Github may ask you to fork the repo, if this is your first time. Feel free to fork it.
  4. Once you are done with edits, please send a pull requets.

Major edits


Following is recommended workflow:

  1. Please fork this repo and send pull requests.
  2. For minor edits, you edit pages using Github's web-based editor.
  3. For major edits, it will be better to use gitbook-editor on localhost.
  4. It will be useful to check gitbook help docs. Not all docs may be useful to you.

Please feel free to open a github issue if you need more help.

Useful Commands

  1. Check if nodejs and npm are installed on your machine. Run commands node -v and npm -v respectively. If not follow this on ubuntu or use brw install nodejs npm on mac.
  2. Fork on github.
  3. Install gitbook (globally) - npm install -g gitbook
  4. Clone your forked repo - git clone <forked-repo-url>
  5. Change directory to gitbook - cd book (assuming your forked repo is also named as book)
  6. Install gitbook plugins - gitbook install
  7. Build gitbook - gitbook build
  8. Preview gitbook - gitbook serve and open http://localhost:4000

Gitbook Editor

  1. For offline editing - desktop tool gitbook editor can be used -
  2. Once you download Gitbook editor, open content folder from your forked & locally cloned git repo.

results matching ""

    No results matching ""