If you just want to use Whiteboard, then download a pre-built binary. If you want to contribute, then read on.
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
You can contribute in many ways:
Report bugs at https://github.com/michaelpb/whiteboard/issues
If you are reporting a bug, please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help wanted" is open to whoever wants to implement it.
Envision Whiteboard to be the most general-purpose interactive slide-show app available! With that in mind, have a practical idea for what Whiteboard should support? The best way to send feedback is to file an issue at https://github.com/michaelpb/whiteboard/issues
If you are proposing a feature:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.
- Remember that this is a volunteer-driven project, and that contributions are welcome :)
Adding a new pane or content type to Whiteboard is always welcome! Look through the GitHub issues for features. Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it.
If you want to contribute to Whiteboard, then follow the following steps:
-
Fork the
michaelpb/whiteboard
repo on GitHub. -
Clone your fork locally, something like: `git clone git@github.com:your_name_here/whiteboard.git
-
Install a recent version of
node.js
, along with a recent version of npm.- The supported version is:
8.4
(same as ran by test server) - You might consider using
nvm
to easily install a version that is appropriate for your OS and architecture https://github.com/creationix/nvm - If you used
nvm
, remember to donvm use 8
to activate before continuing
- The supported version is:
-
Install dependencies by running
npm install -d
- On good connections this will take about a minute -
Rebuild binary dependencies against electron by running:
npm run rebuild
-
Create a branch for local development:
git checkout -b name-of-your-bugfix-or-feature
-
When you're done making changes, check that your changes pass
eslint
and the tests:make lint
npm run test-e2e
-- run unit tests and end-to-end tests- If you are on Linux and have
xvfb
you can runnpm run test-headless
to run the end to end tests headlessly
-
Commit your changes and push your branch to GitHub.
-
Submit a pull request through the GitHub website.
Try running
npm run start -- ./spec/support/data/kitchen-sink/ks.whiteboard
to launch loading an example file used by end-to-end tests.
[slide]
title = Terminal and editor
editor : ./testfile.js
terminal = ./
[slide]
title=POST Request Activity
terminal=./1-POST_Request/
editor=scratch.js, ./1-POST_Request/*.js
[slide]
# comments are ignored
title = POST Continued
terminal = ./1-POST_Request/
[slide]
title = Example
terminal = ./3-Example/
editor : '''
./3-Example/file_01.js
./3-Example/file_02.js
'''
markdown : '''
## This is how you do a POST request
1. Send the request
2. Process the response
[More info](http://babiesfirstpostrequest.info/)
'''
Building on Ubuntu:
libreadline.so.6 cannot open shared object file
electron-userland/electron-builder#993
sudo apt-get install -y xorriso
export USE_SYSTEM_XORRISO=true