During my January travels, I also converted this blog from tubmlr, which had been frustrating me for a while, to Octopress, with which I have been very happy. Nothing like hacker level control of your own blog. But more, than just the switch in tools, the move to Octopress inspired me to make it easier for people to publish small or large works using the Runestone tools.
Yesterday, at the Learning @ Scale conference we demoed this new capability. See the demo here. To make it super easy to publish:
- Lecture slides
- A Tutorial
- Lab Instructions
- In class exercises
- A short module on your favorite topic not covered elsewhere
- An entire book
You can simply follow the instructions at this new repository: github.com/RunestoneInteractive/RunestoneTools. In a nutshell:
- Install Sphinx, paver, and paverutils using pip.
- Clone the repository
- Edit the index.rst file in source, and add any additional rst files you may want, depending on how complex your project is.
Now you have a choice. In the build directory you have a nice self contained set of html files, these files are set up to make use of the runestone server invisibly in the background. The static html can be served from any web server. Just drop in the build directory and you are ready to serve. OR, you can now host and deploy your project using GitHub Pages. To host on github pages you need to do three things.
- Create an empty repository in your github account.
paver setup_github_pagesand paste in the URL of the new account.
- run paver deploy
Now your pages will be available at: http://youraccount.github.io/YourRepo If you want to host these pages behind a custom domain name, you can follow the instructions on github for doing so. Hint: Its really easy.
I hope this new capability will inspire lots of people to give these tools a try. I also hope that we can build a repository of resources built with the tools, so that we can all share our teaching ideas. Stay tuned for more on that.
All of the features, activecode, codelens, assessment questions, parson's problems, and more work just fine. The major thing that will not work (yet!) is the login/logout. I need to rework our authentication system in order for this to work. This will for sure need to happen before the end of summer.