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.
New features, such as a new pane type
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:
michaelpb/whiteboardrepo on GitHub.
Clone your fork locally, something like: `git clone email@example.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
nvmto easily install a version that is appropriate for your OS and architecture https://github.com/creationix/nvm
- If you used
nvm, remember to do
nvm use 8to 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
eslintand the tests:
npm run test-e2e-- run unit tests and end-to-end tests
- If you are on Linux and have
xvfbyou can run
npm run test-headlessto run the end to end tests headlessly
Commit your changes and push your branch to GitHub.
Submit a pull request through the GitHub website.
npm run start -- ./spec/support/data/kitchen-sink/ks.whiteboard
to launch loading an example file used by end-to-end tests.
Slideshow file format
[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 to binary packages
Building on Ubuntu:
libreadline.so.6 cannot open shared object file
sudo apt-get install -y xorriso export USE_SYSTEM_XORRISO=true