Help us build a system for writing and hosting interactive textbooks!
For everything, there's a lot of work to be done. Join our actively growing development community -- read below to learn about how to get started. The work you do as a Runestone Interactive developer will help thousands of students and their instructors around the world.
There are a number of different ways to get involved with Runestone Interactive development. For example:
six
library, which helps with this, is a dependency of all Runestone-related repositories.)The Runestone Components are additional reStructure Text directives that allow authors to create things like this, which the Runestone Server allows us to power:
runestone
, so you can install it with pip, but if you're working on code development of anything for Runestone Interactive, you'll likely want to be able to interact with the code and see the development versions. Activate your virtual environment, and fork and clone this repository.pip install -e {path to your clone of RunestoneComponents}
pip install -r requirements.txt
to install all Runestone Components dependencies.applications
inside the web2py
directory, and forking and cloning the Runestone Server repository there, with the name runestone
.runestone
repository, which should be at web2py/applications/runestone
with your virtualenv activated, and run pip install -r requirements.txt
.brew install postgresql
rather than using the Postgres app.) localhost:8000/runestone
yet, no fear -- go on to the next step!web2py/applications/runestone/books
directory.pip install -r requirements.txt
a last time. This will install all last requirements for building the book so you can see it rendered and deploy it properly.export DBNAME=runestone export DBPASS=yourpassword export DBHOST=localhost export DBUSER=yourusername ((NOTE: could be "postgres", depending on how you've done your db setup))Then, run
runestone build
. To see the book properly built when you run the web2py server, after you run the runestone build command, you'll need to run runestone deploy
.databases
folder! Otherwise, Runestone won't know that it needs to create the tables again...runestone help list
or runestone help directivename
For example:
$ runestone help codelens .. codelens:: uniqueid :tracedata: Autogenerated or provided :caption: caption below :showoutput: show stdout from program :question: Text of question to ask on breakline :correct: correct answer to the question :feedback: feedback for incorrect answers :breakline: Line to stop on and pop up a question dialog :python: either py2 or py3 x = 0 for i in range(10): x = x + i