2014-05-10 08:06:38 +08:00
## Octotree
2015-09-04 00:47:13 +08:00
Browser extensions (Chrome, Firefox, Opera 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:
2014-05-12 01:14:25 +08:00
2014-05-12 01:24:39 +08:00
* Easy-to-navigate code tree like IDEs
2014-05-13 13:47:49 +08:00
* Fast browsing with pjax
2014-06-09 03:29:43 +08:00
* Customizable hotkey
2014-07-26 07:56:41 +08:00
* Support private repositories (see [instructions ](#github-access-token ))
* Support GitHub Enterprise (Chrome and Opera only, see [instructions ](#github-enterprise ))
2014-05-10 08:06:38 +08:00
2015-09-04 00:47:57 +08:00
## Install on Chrome, Firefox and Opera
* Install Octotree from [Chrome Web Store ](https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc ), [Mozilla Add-ons Store ](https://addons.mozilla.org/en-US/firefox/addon/octotree/ ) or [Opera Add-ons Store ](https://addons.opera.com/en/extensions/details/octotree/ )
2014-07-26 07:56:41 +08:00
* Navigate to any GitHub repository (or just refresh this page as an example)
2014-06-09 03:29:43 +08:00
* The code tree should show on the left-hand side of the screen
2014-05-10 08:06:38 +08:00
2015-09-04 00:47:13 +08:00
## Install on Safari
The prebuilt packages for all extensions are located in the [dist ](https://github.com/buunguyen/octotree/tree/master/dist ) folder. For security reason, only download Octotree from this location.
2014-05-14 14:35:58 +08:00
2015-09-04 00:47:13 +08:00
* Safari: drag `safari.safariextz` to the browser and follow on-screen the instructions
2014-05-14 14:35:58 +08:00
2014-07-26 07:56:41 +08:00
## GitHub access token
2014-05-10 08:06:38 +08:00
Octotree uses [GitHub API ](https://developer.github.com/v3/ ) to retrieve repository metadata. By default, it makes unauthenticated requests to the GitHub API. However, there are two situations when requests must be authenticated:
2014-05-14 14:27:02 +08:00
* You access a private repository
2014-05-10 08:06:38 +08:00
* You exceed the [rate limit of unauthenticated requests ](https://developer.github.com/v3/#rate-limiting )
2014-07-26 07:56:41 +08:00
When that happens, Octotree will ask for your [GitHub personal access token ](https://help.github.com/articles/creating-an-access-token-for-command-line-use ). If you don't already have one, [create one ](https://github.com/settings/tokens/new ), then copy and paste it into the textbox. Note that the minimal scopes that should be granted are `public_repo` and `repo` (if you need access to private repositories).
2014-05-10 08:06:38 +08:00
2014-05-14 14:39:25 +08:00
Alternatively, you can manually enter or update the token by following these steps:
2014-05-10 08:06:38 +08:00
2014-07-26 07:56:41 +08:00
* Navigate to any GitHub repository
2015-09-04 00:52:45 +08:00
* Open the developer console of your browser
2014-05-10 08:06:38 +08:00
* Execute the following line:
```javascript
2014-05-16 02:19:57 +08:00
localStorage.setItem('octotree.github_access_token', 'REPLACE WITH TOKEN')
2014-05-10 08:06:38 +08:00
```
2014-07-27 00:43:14 +08:00
Note: if you use GitHub Enterprise, each site will need its own access token. Therefore, Octotree stores access token on a per-site basis.
2014-07-26 07:56:41 +08:00
## GitHub Enterprise
2015-09-04 00:52:45 +08:00
By default, Octotree only works on `github.com` . To support GitHub Enterprise on Chrome and Opera, you must grant Octotree sufficient permissions. Follow these steps to do so:
2014-07-26 07:56:41 +08:00
2014-07-27 00:43:14 +08:00
* Navigate to any GitHub repository on `github.com`
2015-09-04 00:52:45 +08:00
* Open Octotree's settings panel
* Fill in the GitHub Enterprise URLs textbox, one URL per line
2014-07-26 07:56:41 +08:00
* Click Save and accept any permission prompt
2015-09-04 00:52:45 +08:00
* Navigate to your GitHub Enterprise site
2014-07-26 07:56:41 +08:00
* You might be asked to create an [access token ](#github-access-token )
2014-05-16 02:19:57 +08:00
## Changelog
2014-08-21 03:49:37 +08:00
2015-10-01 07:25:13 +08:00
### v1.7.2
* Fix bug long branches are not loaded correctly due to GitHub DOM change
2015-08-30 01:09:59 +08:00
### v1.7.1
* Fix space between tree and GitHub contents due to GitHub DOM change
2015-08-28 02:05:59 +08:00
### v1.7.0
* Support direct downloading when hovering a file
### v1.6.4
* Fix bug detecting branch/tag due to GitHub DOM change
2015-06-06 01:45:26 +08:00
### v1.6.3
* Fix bug when switching to branches with slashes in their names
2015-06-03 11:58:32 +08:00
### v1.6.2
* Fix branch selection no longer works due to GitHub change
2015-03-21 02:01:18 +08:00
### v1.6.1
* Update buttons' style to match GitHub new button style
2015-08-28 02:05:59 +08:00
### v1.6
2015-03-07 05:04:40 +08:00
* Update all dependencies to latest version
* Allow navigating to commit trees https://github.com/buunguyen/octotree/issues/157
* Support keyboard navigation https://github.com/buunguyen/octotree/issues/158
* Fix bug handling back tick in paths https://github.com/buunguyen/octotree/issues/160
2015-08-28 02:05:59 +08:00
### v1.5.3
2015-03-07 05:04:40 +08:00
* Fix bug https://github.com/buunguyen/octotree/pull/149
2015-01-22 07:44:27 +08:00
* Fix bug https://github.com/buunguyen/octotree/issues/151
* Fix bug https://github.com/buunguyen/octotree/issues/155
2015-08-28 02:05:59 +08:00
### v1.5.2
2014-12-12 09:07:07 +08:00
* Fix bug https://github.com/buunguyen/octotree/issues/147
2015-08-28 02:05:59 +08:00
### v1.5
2014-11-25 11:05:03 +08:00
* Option to show in non-code pages
2014-11-26 08:38:38 +08:00
* Option to load tree only when sidebar is visible
2014-11-25 11:05:03 +08:00
* Option to configure tab size
* Bug fixes
2015-08-28 02:05:59 +08:00
### v1.4.1
2014-08-21 03:49:37 +08:00
* New header to match new GitHub design
* Bug fixes
2015-08-28 02:05:59 +08:00
### v1.4
2014-07-26 07:56:41 +08:00
* Support GitHub enterprise
* Change default hotkey (`cmd+b` for Safari and `cmd+shift+s` for all other browsers)
* Some other minor changes
2015-08-28 02:05:59 +08:00
### v1.3
2014-06-11 03:01:13 +08:00
* Setting panel allowing:
* Changing access token
* Changing hotkeys
2014-06-11 03:05:39 +08:00
* Changing sidebar default visibility
2014-06-11 03:01:13 +08:00
* Changing folder collapsing option
* Sidebar appears better in large monitors
* More responsive in big repositories
* And bug fixes
2015-08-28 02:05:59 +08:00
### v1.2
2014-05-26 00:41:24 +08:00
* Hide sidebar by default (upon many user requests)
* Hotkey (`cmd+b`, `ctrl+b` ) to toggle sidebar
* Sidebar is now resizable
* Support rendering submodules
* Reflect GitHub selection to Octotree
* New sidebar header and progress indicator
* And bug fixes
2015-08-28 02:05:59 +08:00
### v1.1
2014-05-26 00:41:24 +08:00
* New UI that blends better with GitHub!
* Hide Octotree on non-code pages
* When asking for token, show more detailed message and not fly out automatically
* Extend pjax timeout to work better with big files
* Sanitize file and folder names before displaying
* Fix error when a branch name contains slashes
* Gulp script to build for Chrome, Firefox and Safari
2014-05-16 02:19:57 +08:00
* And some other minor changes
2014-05-10 08:06:38 +08:00
## Credit
2014-07-26 07:56:41 +08:00
* Many thanks to all contributors who submit pull requests, report bugs and suggest ideas
2014-11-11 05:32:01 +08:00
* [Extension icon ](https://github.com/pstadler/octofolders ) by [pstadler ](https://github.com/pstadler )