by the WikiNotes team
WikiNotes is a wiki-based note-sharing platform created to facilitate student collaboration. Although it is being created primarily for use by our existing website for McGill students, we will be releasing the code under the GPLv3 so that non-McGill students (or anyone, really) can benefit from it as well. This platform is currently under heavy development, but we're hoping to get a beta up and running by late November - stay tuned.
Want to find out more about us? Visit our about page, join our IRC channel (#wikinotes on freenode) or drop us a line at [email protected].
We'd love to have you contribute, whether it be through adding features, filing bug reports, writing tests or whatever takes your fancy. Contributing code is easy - just fork this repository, make your changes, and send us a pull request. To see what needs to be done, check out the list of outstanding issues or the roadmap to BETA. If you notice something else that needs to be done, feel free to open an issue for it.
See also our development wiki for things like what style conventions we use, development notes and how the code is organised.
To run it on your local machine, you'll need the following dependencies:
- python 2.7+
- django 1.3+
- python-yaml
- python-markdown, with this extension - download the mdx_markdown.py file, rename it to mathjax.py, and place it in the extensions directory for your markdown installation. (See the readme for more information.)
- django-gravatar
- gitpython (
easy_install gitpython
) - git 1.7+ (older versions may work), both for version control and for the wiki software itself
If you're running it for the first time, take note of the following setup instructions:
chmod +x bootstrap
./bootstrap
- create the superuser at this point (you may also wish to run this if any database schema changes have been made since your last pull. if that doesn't fix things, delete the db.sqlite file and try again)python manage.py runserver
(by default, this makes the platform accessible at http://localhost:8000; add0.0.0.0:8000
if you want to make it publicly accessible through your IP address)- To run the unit tests, just do
python manage.py test
(there are quite a few tests to run because of all the dependencies, so this may take a while)