About

Example about text.

This guide provides a brief overview of how to use this portfolio. An example site has been provided to reduce the amount of pre-requisite knowledge needed, and the theme itself has been built with degradation in mind (meaning that it should be easy to customise and somewhat hard to break!).

The software is produced and maintained by Josh Hills (post-graduate), for the purpose of providing a modern solution to submitting and assessing work for the data science masters course at Newcastle University. It may be used beyond this scope - see modifications.

Usage

Technology

Jekyll is a static-site generator running in the programming language Ruby. It can be run on any major platform.

It uses the Liquid templating engine. You write posts in Markdown, and they are converted to a folder containing your entire portfolio site. Data files are written in YAML.

The site provides means for the academic institution to add information about projects, competencies, useful links and documentation. It provides means for students to extend this information, and submit associated work.

It also provides an API to expose student progression for analysis.

Installation & Forking

  • Clone the example site
  • Install Ruby & Jekyll
  • Install & update gem dependencies using commands bundle install && bundle update
  • Run Jekyll using command jekyll serve
  • Access at localhost:4000
  • Every time the site builds it will generate the site at _site

Altering Details

  • In config.yml, edit user details
  • Overrides/extensions for data files can be added - see the example folder in the demo project.

Creating Projects

Writing any file for a project can be done using Markdown or HTML. See cheatsheet.

Note that the date is YYYY-MM-DD-title. This date should be when you start writing. If it is dated in the future it wont be included in the site.

Summaries

This is a place to summarise a project. You may write this in any format.

By adding a Jupyter notebook file to assets/notebooks and including the name in the frontmatter, it will render below your summary.

See the example file in the demo project.

Vignettes

This is a place to evaluate your project work, tagging relevant sections with the competencies you have satisfied.

By linking your project submission to an academic project, it will pull in information from the data file such as skill targets, description and deadline. You can view all academic projects at projects.

Individual iterations on your evaluation within the page are created by using a custom ‘liquid’ tag {% v %} ... {% end v %}. When you have met a specific competency, you can include that in the evaluation using {% c COMPETENCY_ID %}. You can view all competencies at competencies.

See the example file in the demo project.

Progression

You can see an overview of all projects at progression.

Hosting on Github Pages

  • git init in _site
  • Create branch gh-pages
  • Set remote to the same repository using command git remote add origin git@github.com:username/repositoryname.git
  • Add, commit and push changes
  • View latest version of branch at https://username.github.io/repositoryname/

API

The API and associated documentation pages are auto-generated upon build. Their documentation can be found here.

Modifications

Administrators may fork the theme in order to maintain an updated version of _data and other information. They may also fork the site example in order to point this to their version of the theme. Pull requests made to the original of either will be accepted upon code review.

Students should fork the site example for a quick set-up. Pull requests may be made to the original repository, however only modifications to the initial theme in the form of optional feature extensions (widgets) or bug-fixes will be accepted by students. Make sure that tests pass, and that no personal information is included.

Issues raised represent feedback that may be taken into consideration during further development. Contact your course representatives for immediate concerns.

This theme is available as open source under the terms of the MIT License.

Attributions