All Projects → Submitty → submitty.github.io

Submitty / submitty.github.io

Licence: MIT License
Main Webpage for Submitty

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
HTML
75241 projects
CSS
56736 projects

Submitty.org

This is the documentation website for Submitty, an open source course management, assignment submission, exam, and grading system.

To report issues for this repository, please file them under the Submitty/Submitty repository.

Submitty screenshot

Local Development

Prerequisites

To develop the site locally, you will need to get the following dependencies:

For Bundler, depending on your system, you may need to also install the Ruby development headers (e.g. ruby-dev). On Ubuntu/Debian, for example, this would be accomplished by doing sudo apt-get install ruby-dev.

Setup

After cloning the repository to your local machine, you will need to use Bundler to install the dependencies. This can be accomplished by running:

bundle install

Running the Site

To view the site locally, and the results of any changes you make, you will want to use the jekyll commands through Bundler, namely the serve sub-command, as shown below:

bundle exec jekyll serve

If you have an error running on the default port (4000), you can specify an alternate port, e.g.

bundle exec jekyll serve --port 4001

If you wish to build the site locally instead of running it, you can do:

bundle exec jekyll build

which will leave the results in a _site directory.

Editing Content

The site's content is defined with markdown files under the docs/ folder, where then it's separated by a couple of high-level sections (student, instructor, sysadmin, developer). For any new page, a new entry must be added to the navigation manually (see below). The rendered markdown uses a varient of Github Flavored Markdown. For every page, it should have a front-matter block at the top of the file that has minimally:

---
title: Page Title
---

where this is used as the main header title on the page, as well as for the title of the page in the browser. You should then not include a # Page Title in the file, rather just start your content immediately after the front-matter block.

Navigation

Editing the links on the navigation is done by editing navtreedata.js. The structure of the file is that each level is a list of objects, where the object can have the following parts:

  • name (required)
  • link
  • children

Where if link is omitted, then name will be used where it will be lowercased and spaced replaced with _. Children is then a list of objects of the above structure. Currently, the site only supports three levels of nesting (sub-sub-children).

Search

  • Add excluded_in_search: true to any documentation page's front matter to exclude that page in the search results.

Forked from Edition

This repository was created via a fork of Edition, which is a product documentation theme for Jekyll created by by CloudCannon, the Cloud CMS for Jekyll.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].