Thank you if you are trying to contribute!
Note: if you were using Windows, you may need to find alternatives for make
commands. Or use WSL. I've not tested development on Windows and do not guarantee if it would work.
- Clone the repo
- Run
make pull-icons
to install dependencies - Run
yarn
to install dependencies - Run
yarn dev
to start the development server, you'll see adist
folder appear in the root of this project - Open the extensions page in Chrome, enable developer mode, and load the extension from the
dist
folder - Navigate to repository of your choice and you should see the extension appear
When you modify source code, you need to do either of below to apply your changes:
- (recommended) use the Extension Reloader extension. It could reload all extensions then refresh the page (you need to enable it in its settings).
- manually reload the extension in the
chrome://extensions
and then refresh your repository page
Gitako supports Chrome, Edge, Firefox, and Safari. You can develop with other browsers by following the instructions below.
- Finish the steps in "Set up development env" to
yarn dev
- Open the extensions page in Edge, enable developer mode, and load the extension from the
dist
folder - Navigate to repository of your choice and you should see the extension appear
- run
yarn dev
this will build Gitako with special Firefox configurations - run
yarn debug-firefox
a new instance of Firefox will open with Gitako automatically installed - navigate to a GitHub repo and you should see the extension appear if not, click the extension icon in the toolbar and enable Gitako in its submenu
- when you modify source, better refresh the tab
- run
yarn dev
- Open
Safari/Gitako/Gitako.xcodeproj
in Xcode - Click the "Run" button
- Enable developer mode in Safari's preferences
- Enable Gitako in Safari's preferences
- Open a Safari tab and visit a GitHub repo, then activate Gitako via Gitako icon next to the address bar
- when you modify source, click the "Run" button in Xcode and refresh the tab
Run make release
to build and release the extension
graph LR
source[Source Code] --> yarn-build[$ yarn build] --> dir-dist
yarn-build --> dir-dist-firefox
yarn-build --> dir-dist-safari
subgraph FileSystem
direction TB
dir-dist[./dist]
dir-dist-firefox[./dist-firefox]
dir-dist-safari[./Safari/Gitako/Gitako Extension/Resources]
end
dir-dist -- source maps --> sentry[Sentry]
dir-dist -- "exclude source maps" --> artifact[Gitako-$version.zip] --> release-target[Chrome Web Store]
artifact --> release-target-edge[Edge Add-ons]
dir-dist-firefox -- "exclude source maps" --> artifact-firefox[Gitako-$version-firefox.zip] --> release-target-firefox[Firefox Add-ons]
FileSystem -- source files --> artifact-source-firefox[Gitako-$version-source.zip] --> release-target-firefox[Firefox Add-ons]
dir-dist-safari --> xcode[Xcode Build] --> release-target-safari[App Store]
classDef release fill:#9ef
class sentry,release-target,release-target-edge,release-target-firefox,release-target-safari release
classDef command fill:#fe9
class yarn-dev command
classDef dir fill:#9f9
class dir-dist,dir-dist-firefox,dir-dist-safari dir
classDef artifact fill:#f9f
class artifact,artifact-firefox,artifact-source-firefox artifact