Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time


In general, if you don't know how to use Markdown, open an issue and tag it as a new feature. Markdown is quick to learn, but don't worry if you don't know how to format it, just adding content is useful!

If you do know how to use markdown, but don't know how to use Jekyll, follow the same procedure, and if you feel up to a pull request put the files in the structure you want them to appear on the site. A file at folder/ will be served at .

For more specific details, read below.

Add a Module

New Module

To add a new module, open an issue and/or submit a pull request against your own fork of the repository, and link the pull request to the issue.

Modules are stored in _modules/, and can be edited or created following the examples which exist

Adding an issue will open discussion on the module, with the info you provide, so that others can also contribute in the creation of the page.

Update Module

To update a current module, you can submit a pull request with the updated file for the module, or open an issue on the topic. Typically, a pull request on it's own is sufficient for small edits, while larger edits should be discussed in an issue so others can contribute more easily and provide guidance.

Contribution Guidelines


  • Link to pages and resources provided by both official and non-official sources
  • Look at recommended material from those sources, and add here with more detail.
  • List book relevant to subject, with summary of why and relevant resources.
  • Provide your own lecture notes, as a tex source. Always receive express permission to do so from the lecturer first, and forward it to mathsoc.
  • Provide your own solutions to exercises from books
  • Provide solutions to homework or exams, if you've been given permission as before.


  • Provide solutions or direct transcriptions without permission.
  • Provide links to stolen books.
  • Link to a personal page here and expect it to be put on the site ( unless there's a good reason )
  • Violate the previous guidelines by linking to a site which does.


If you want to build the site locally, install Ruby and do the following:

git clone
cd student-contrib

gem install bundler
# You may need to add ~/.gem/ruby/(ruby-version)/bin/ to your path

bundle install --path vendor/bundle

bundle exec jekyll serve

# Browse to http://localhost:4000