Go to file
Ismail Badawi 269d50ef18 Add some more reserved names. 2014-05-14 14:15:00 -04:00
dist Add prebuilt Firefox & Safari extensions 2014-05-13 23:27:02 -07:00
docs Add prebuilt Firefox & Safari extensions 2014-05-13 23:27:02 -07:00
src Add some more reserved names. 2014-05-14 14:15:00 -04:00
.gitignore Add prebuilt Firefox & Safari extensions 2014-05-13 23:27:02 -07:00
LICENSE Initial commit 2014-05-09 11:15:20 -07:00
README.md Update read me 2014-05-13 23:40:50 -07:00
gulpfile.js Change watch task to watch src/**/* 2014-05-15 02:59:22 +09:00
package.json Firefox build 2014-05-13 22:47:31 -07:00

README.md

Octotree

Browser extensions (Chrome, Firefox and Safari) to display GitHub code in tree format. Useful for developers who frequently read source in GitHub and do not want to download or checkout too many repositories. Features:

  • Easy-to-navigate code tree like IDEs
  • Fast browsing with pjax
  • Support private repositories (require personal access token)

Install on Chrome

  • Download and install Octotree from the Chrome store
  • Navigate to any GitHub project (or just refresh this page as an example)
  • The code tree should show as follows:

When extension is active

Install on Firefox and Safari

I'm in the process of submitting the extensions to Mozilla and Safari stores. Meanwhile, you can install the prebuilt extensions located in the dist folder.

  • Firefox: drag octotree.xpi to the browser and follow the instructions
  • Safari: drag octotree.safariextz to the browser and follow the instructions

GitHub API Rate Limit

Octotree uses GitHub API to retrieve repository metadata. By default, it makes unauthenticated requests to the GitHub API. However, there are two situations when requests must be authenticated:

When that happens, Octotree shows the screen below to ask for your GitHub personal access token. If you don't already have one, create one, then copy and paste it into the textbox.

Enter personal access token

Alternatively, you can manually enter or update the token by following these steps:

  • Navigate to any GitHub page
  • Open the Chrome (or Safari, Firefox) developer console
  • Execute the following line:
localStorage.setItem('octotree.github_access_token', JSON.stringify('REPLACE WITH TOKEN'))

Contribution

There are several improvements that can be made to Octotree. Contribution is very welcome.

  • Hide sidebar when navigating to non-code pages like Issues, PRs...
  • Make the width of the sidebar resizable.
  • Allow docking sidebar to either the left or right side.
  • Allow users to enter access token any time.
  • Synchronize (two-way) between sidebar selection and GitHub selection.
  • Show progress indicator while the code tree or a file is being loaded (with Pjax). (Showing spinner in the toggle button?)

Credit

  • Icon by pstadler
  • Thanks to many people submitting pull requests, reporting bugs and suggesting ideas here and on HN