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