Contributions are more than welcome! Checkout the help wanted labels for ideas!
For information on how the app works, see the documentation.
If you want to build this locally you'll need Node.js on your computer. Then clone this repository, install dependencies and launch:
$ git clone https://github.com/jlord/git-it-electron
$ cd git-it-electron
$ npm install
$ npm start
Here's how to create a Git-it executable for Windows, OS X and Linux. You'll need Node.js on your computer and Wine if you're packaging for Windows from a non Windows machine (more on this below).
To package a release you'll need atleast npm version 3 on your computer.
To check your version of npm:
$ npm -v
This is because the newer version of npm flattens the dependency tree. This is essential for creating a version of Git-it that runs on Windows, which has limits to file path lengths.
Clone this repository and install the dependencies:
$ git clone https://github.com/jlord/git-it-electron
$ cd git-it-electron
$ npm install
If you have made any changes to the code you'll need to rebuild all of the challenges and/or pages. If you haven't, skip to the next step!
$ npm run build-all
Each generated folder is put in the /out
directory.
$ npm run pack-mac
This will output the contents of the application to a folder at ../out/Git-it-darwin-x64
.
$ npm run pack-lin
This will output the contents of the application to a folder at ../out/Git-it-linux-x64
.
$ npm run pack-win
A note from electron-packager
, the module we use to package these apps:
Building Windows apps from non-Windows platforms
Building an Electron app for the Windows platform with a custom icon requires editing the
Electron.exe
file. Currently, electron-packager uses node-rcedit to accomplish this. A Windows executable is bundled in that node package and needs to be run in order for this functionality to work, so on non-Windows platforms, Wine needs to be installed. On OS X, it is installable via Homebrew.
This will output the contents of the application to a folder at ../out/Git-it-win32-ia32
.