dsm-portfolio-theme 0.1.4 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -18
  3. data/_includes/breadcrumbs.html +11 -0
  4. data/_includes/competencies.html +28 -0
  5. data/_includes/navigation.html +42 -0
  6. data/_includes/notice.html +7 -0
  7. data/_includes/project-list.html +65 -21
  8. data/_includes/projects.html +32 -0
  9. data/_includes/scripts.html +5 -1
  10. data/_layouts/default.html +14 -16
  11. data/_layouts/examples/summary-example.md +17 -0
  12. data/_layouts/examples/vignette-example.md +8 -0
  13. data/_layouts/generate/about.html +180 -0
  14. data/_layouts/generate/api/documentation.html +313 -0
  15. data/_layouts/generate/api/v1/competencies.json +4 -0
  16. data/_layouts/generate/api/v1/portfolio.json +24 -0
  17. data/_layouts/generate/api/v1/progression.json +4 -0
  18. data/_layouts/generate/api/v1/projects.json +4 -0
  19. data/_layouts/generate/api/v1/summaries.json +14 -0
  20. data/_layouts/generate/api/v1/vignettes.json +14 -0
  21. data/_layouts/generate/competencies.md +9 -0
  22. data/_layouts/generate/progression.html +95 -0
  23. data/_layouts/generate/projects.md +9 -0
  24. data/_layouts/portfolio.html +28 -24
  25. data/_layouts/summary.html +67 -48
  26. data/_layouts/vignette.html +69 -34
  27. data/assets/scripts/vignette.js +204 -18
  28. data/assets/styles/main.scss +15 -29
  29. metadata +20 -23
  30. data/_includes/anaytics.html +0 -0
  31. data/_includes/footer.html +0 -0
  32. data/_includes/header.html +0 -13
  33. data/_layouts/project.html +0 -5
  34. data/_sass/atoms/_forms.scss +0 -0
  35. data/_sass/atoms/_images.scss +0 -0
  36. data/_sass/atoms/_links.scss +0 -0
  37. data/_sass/atoms/_lists.scss +0 -0
  38. data/_sass/atoms/_tables.scss +0 -0
  39. data/_sass/atoms/_typography.scss +0 -0
  40. data/_sass/base/_colours.scss +0 -0
  41. data/_sass/base/_fonts.scss +0 -0
  42. data/_sass/base/_normalize.scss +0 -0
  43. data/_sass/base/_spacing.scss +0 -0
  44. data/_sass/layouts/_evaluation.scss +0 -0
  45. data/_sass/layouts/_page.scss +0 -0
  46. data/_sass/layouts/_portfolio.scss +0 -0
  47. data/_sass/molecules/_footer.scss +0 -0
  48. data/_sass/molecules/_header.scss +0 -0
  49. data/_sass/organisms/_vignette-blocks.scss +0 -9
  50. data/_sass/organisms/_vignette-tabs.scss +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 93b1d5e4f5bbf4efda233492143ae3cfc5edcc27
4
- data.tar.gz: 6fc0cc3f20513e4f8621f897e1990d9ba232c629
3
+ metadata.gz: 4c22c3fafa27def4d92dc1f88d818a290a9f19d1
4
+ data.tar.gz: 31d9294eb0928b0237a88ad2be62fdcc346cd8f2
5
5
  SHA512:
6
- metadata.gz: b25f1a073bfafae064ccd5ae658f2e15d9333d7ac0f974e7e05391e4fbfa6d0c6a6b7a3a18281e1433210e8a0e406ccdfea4df39ffbfce3ac7affe0d4809f186
7
- data.tar.gz: 8ee80aa88dcee2088494b56d2f72b52c73f91d9a3b89cada146d88bf255477cdf45175680e13a39d23c60a4383bc5f317a0e6b945e0c0916f7c797fcb96caf45
6
+ metadata.gz: bd3908a5f426ae686ebba5fa8ecc18e86115db502a76c0036a3f79bd8c80c21cba3ae1e662fbf559507baa2853826a566689330cd9eacb6ca0f9dc5edee14b35
7
+ data.tar.gz: e7b03efa7b07a2d351b9e78d4d7342b90961a1242f34064a0f620555152b70d725ad1b7dc40cb9d92231dd642ac8e3e45fa67fe69c24cc4b64e455a059df0c92
data/README.md CHANGED
@@ -1,21 +1,7 @@
1
- # dsm-portfolio
1
+ # dsm-portfolio-theme
2
2
 
3
- Describe the work here...
3
+ [![Gem Version](https://badge.fury.io/rb/dsm-portfolio-theme.svg)](https://badge.fury.io/rb/dsm-portfolio-theme)
4
4
 
5
- The theme is the main body of work.
5
+ The theme used for the dsm-portfolio-project.
6
6
 
7
- The site is a pre-generated site using the theme, with dummy information to be altered by users.
8
-
9
- ## Usage
10
-
11
- See 'USAGE.md' in 'docs', which describes how to use this repository to maintain a portfolio of submissions.
12
-
13
- ## Contributing
14
-
15
- See 'MODIFICATIONS.md' in 'docs', which describes how to alter the repository.
16
-
17
- ## Legal
18
-
19
- See 'LEGAL.md' in 'docs', which describes licensing and attributions.
20
-
21
- ### All information is duplicated in the repository's ['wiki'](#) and the theme iteslf.
7
+ Read the [hosted about page](https://joshhills.github.io/dsm-portfolio-site/about) for usage, modification and legal information.
@@ -0,0 +1,11 @@
1
+ <div class="row">
2
+ <div class="col">
3
+ <nav aria-label="breadcrumb">
4
+ <ol class="breadcrumb">
5
+ <li class="breadcrumb-item"><a href="{{ '/' | relative_url }}">Portfolio</a></li>
6
+ <li class="breadcrumb-item">{{ page.project_title }}</li>
7
+ <li class="breadcrumb-item active" aria-current="page">{{ page.type | capitalize }}</li>
8
+ </ol>
9
+ </nav>
10
+ </div>
11
+ </div>
@@ -0,0 +1,28 @@
1
+ <div class="table-responsive">
2
+ <table class="table">
3
+ <tr>
4
+ <th>Id</th>
5
+ <th>Title</th>
6
+ <th>Description</th>
7
+ <th>Categories</th>
8
+ </tr>
9
+ {% for competency in site.data.competencies %}
10
+ <tr id="{{ competency.id }}">
11
+ <td>
12
+ {{ competency.id }}
13
+ </td>
14
+ <td>
15
+ {{ competency.title }}
16
+ </td>
17
+ <td>
18
+ {{ competency.description }}
19
+ </td>
20
+ <td>
21
+ {% for category in competency.categories %}
22
+ {{ category }}<br/>
23
+ {% endfor %}
24
+ </td>
25
+ </tr>
26
+ {% endfor %}
27
+ </table>
28
+ </div>
@@ -0,0 +1,42 @@
1
+ <nav class="navbar navbar-expand-lg navbar-light bg-light">
2
+ <a class="navbar-brand" href="{{ '/' | relative_url }}">Portfolio</a>
3
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
4
+ <span class="navbar-toggler-icon"></span>
5
+ </button>
6
+ <div class="collapse navbar-collapse" id="navbarSupportedContent">
7
+ <ul class="navbar-nav ml-auto">
8
+ {% assign page_url = page.url | replace: ".html","" %}
9
+ <li class="nav-item {% if page_url == '/progression' %}active{% endif %} mr-2">
10
+ <a class="nav-link" href="{{ '/progression' | relative_url }}">
11
+ Progression
12
+ </a>
13
+ </li>
14
+ <li class="nav-item {% if page_url == '/projects' %}active{% endif %} mr-2">
15
+ <a class="nav-link" href="{{ '/projects' | relative_url }}">
16
+ Projects
17
+ </a>
18
+ </li>
19
+ <li class="nav-item {% if page_url == '/competencies' %}active{% endif %}">
20
+ <a class="nav-link" href="{{ '/competencies' | relative_url }}">
21
+ Competencies
22
+ </a>
23
+ </li>
24
+ <li>
25
+ <a class="nav-link disabled" href="#">|</a>
26
+ </li>
27
+ {% for navigation-link in site.data.navigation-links %}
28
+ <li class="nav-item {% if page_url == navigation-link.url %}active{% endif %} {% unless forloop.last %}mr-2{% endunless %}">
29
+ {% if navigation-link.external %}
30
+ <a class="btn btn-outline-primary" href="{{ navigation-link.url | relative_url }}" target="_blank">
31
+ {{ navigation-link.title }}
32
+ </a>
33
+ {% else %}
34
+ <a class="nav-link" href="{{ navigation-link.url | relative_url }}" target="_self">
35
+ {{ navigation-link.title }}
36
+ </a>
37
+ {% endif %}
38
+ </li>
39
+ {% endfor %}
40
+ </ul>
41
+ </div>
42
+ </nav>
@@ -0,0 +1,7 @@
1
+ {% assign page_url = page.url | replace: ".html","" %}
2
+
3
+ {% if site.data.notices[page_url] %}
4
+ <p>
5
+ {{ site.data.notices[page_url] }}
6
+ <p>
7
+ {% endif %}
@@ -1,29 +1,73 @@
1
- <!-- List all projects in collection -->
2
- <div class="o-project-list">
3
- <h2>
4
- Projects
5
- </h2>
6
- <div class="">
7
- <!-- Group posts by subdirectory (parent project Id) -->
1
+ <div class="row">
2
+ <div class="col">
3
+ <h2 class="mb-4">
4
+ Submitted Projects
5
+ </h2>
6
+ {% assign truncate_value = site.project_description_truncation | default: 64 %}
8
7
  {% assign postsByProject = site.posts | group_by_exp: "post", "post.project_id" %}
9
- {% for project in postsByProject %}
10
- <div class="">
11
- <p class="">
12
- <!-- Date of submission -->
13
- {{ project.items[0].date | date: "%d-%m-%Y" }}
14
- </p>
15
- <div class="">
16
- <!-- Project details -->
17
- <h3 class="">
18
- {{ project.items[0].project_title }}
19
- </h3>
20
- <div class="">
8
+ {% if postsByProject.size > 0 %}
9
+ {% for project in postsByProject %}
10
+ {% if project.items[0].project_code != -1 %}
11
+ {% assign linked_project = site.data.projects | where:"id", project.items[0].project_code | first %}
12
+ {% assign projectType = "Academic Project" %}
13
+ {% if linked_project and linked_project.deadline %}
14
+ {% assign today_date = 'now' | date: '%s' %}
15
+ {% assign pre_date = linked_project.deadline | date: '%s' %}
16
+ {% if today_date < pre_date %}
17
+ {% assign days_until_deadline = pre_date | minus: today_date | divided_by: 3600 | divided_by: 24 | plus: 1 %}
18
+ {% assign days_until_deadline = days_until_deadline | pluralize: "Day", "Days" %}
19
+ {% assign incomplete = true %}
20
+ {% assign classString = "border-warning" %}
21
+ {% else %}
22
+ {% assign incomplete = false %}
23
+ {% assign classString = "" %}
24
+ {% endif %}
25
+ {% else %}
26
+ {% assign classString = "border-primary" %}
27
+ {% assign incomplete = false %}
28
+ {% endif %}
29
+ {% else %}
30
+ {% assign projectType = "Personal Project" %}
31
+ {% assign classString = "" %}
32
+ {% assign linked_project = nil %}
33
+ {% assign incomplete = false %}
34
+ {% endif %}
35
+
36
+ {% for item in project.items %}
37
+ {% if item.type == "summary" %}
38
+ {% assign project_summary = item.excerpt %}
39
+ {% break %}
40
+ {% endif %}
41
+ {% endfor %}
42
+ <div class="card mb-4 {{ classString }}">
43
+ <div class="card-body">
44
+ <h5 class="card-title">{{ project.items[0].project_title }}</h5>
45
+ {% if incomplete %}
46
+ {% assign deadlineString = " | Deadline: " | append: linked_project.deadline | append: " (" | append: days_until_deadline | append: ")" %}
47
+ {% else %}
48
+ {% assign deadlineString = "" %}
49
+ {% endif %}
50
+ <h6 class="card-subtitle mb-2 text-muted">{{ project.items[0].date | date: "%d-%m-%Y" }}{{ deadlineString }}</h6>
51
+ <p class="card-text"><small class="text-muted text-primary">{{ projectType }}</small></p>
52
+ {% if project_summary %}
53
+ <p class="card-text">{{ project_summary | truncatewords: truncate_value }}</p>
54
+ {% elsif linked_project and linked_project.description %}
55
+ <p class="card-text">{{ linked_project.description | truncatewords: truncate_value }}</p>
56
+ {% endif %}
21
57
  {% for file in project.items %}
22
- <a class="" href="{{ file.url | relative_url }}">{{ file.type | capitalize }}</a>
58
+ <a class="card-link" href="{{ file.url | relative_url }}">{{ file.type | capitalize }}{% if file.type == "vignette" and file["vignettes"].size > 0 %}
59
+ <span class="badge badge-primary">{{file["vignettes"].size}}</span>
60
+ {% endif %}</a>
23
61
  {% endfor %}
24
62
  </div>
25
63
  </div>
64
+ {% assign project_summary = nil %}
65
+ {% endfor %}
26
66
  </div>
27
- {% endfor %}
67
+ {% else %}
68
+ <p class="lead">
69
+ No projects found. See <a href="{{ '/about' | relative_url }}">about</a> to find out how to make them.
70
+ </p>
71
+ {% endif %}
28
72
  </div>
29
73
  </div>
@@ -0,0 +1,32 @@
1
+ <div class="table-responsive">
2
+ <table class="table">
3
+ <tr>
4
+ <th>Id</th>
5
+ <th>Title</th>
6
+ <th>Description</th>
7
+ <th>Deadline</th>
8
+ <th>Targets</th>
9
+ </tr>
10
+ {% for project in site.data.projects %}
11
+ <tr id="{{ project.id }}">
12
+ <td>
13
+ {{ project.id }}
14
+ </td>
15
+ <td>
16
+ {{ project.title }}
17
+ </td>
18
+ <td>
19
+ {{ project.description }}
20
+ </td>
21
+ <td>
22
+ {{ project.deadline | date: "%d-%m-%Y" }}
23
+ </td>
24
+ <td>
25
+ {% for target in project.targets %}
26
+ {{ target }}<br/>
27
+ {% endfor %}
28
+ </td>
29
+ </tr>
30
+ {% endfor %}
31
+ </table>
32
+ </div>
@@ -1,3 +1,7 @@
1
1
  {% if page['type'] == 'vignette' %}
2
2
  <script src="{{ "/assets/scripts/vignette.js" | relative_url }}" type="text/javascript"></script>
3
- {% endif %}
3
+ {% endif %}
4
+
5
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
6
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
7
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
@@ -4,25 +4,23 @@
4
4
  <!-- Meta-->
5
5
  <meta charset="UTF-8">
6
6
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
- <meta name="viewport" content="width=device-width, initial-scale=1">
8
-
9
- <!-- TODO: SEO-->
7
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
10
8
 
11
9
  <!-- Styles -->
12
10
  <link rel="stylesheet" href="{{ "/assets/styles/main.css" | relative_url }}">
13
-
11
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
12
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
14
13
  </head>
15
- <body>
16
- <!-- Header-->
17
- {% include header.html %}
18
-
19
- <!-- Wrapper Content -->
20
- {{ content }}
21
-
22
- <!-- Footer -->
23
- {% include footer.html %}
24
-
25
- <!-- Scripts -->
26
- {% include scripts.html %}
14
+ <body data-spy="scroll" data-target="#index" data-offset="0">
15
+ <div class="container">
16
+ {% include navigation.html %}
17
+ <div class="row p-4">
18
+ <div class="col">
19
+ {{ content }}
20
+ </div>
21
+ </div>
22
+ <!-- Scripts -->
23
+ {% include scripts.html %}
24
+ </div>
27
25
  </body>
28
26
  </html>
@@ -0,0 +1,17 @@
1
+ ---
2
+ layout: summary
3
+ length: X Months
4
+ # notebook_file: demo.ipynb
5
+ external_resources:
6
+ - url: "#"
7
+ title: Resource One
8
+ - url: "#"
9
+ title: Resource Two
10
+ tags:
11
+ - Example Tag One
12
+ - Example Tag Two
13
+ ---
14
+
15
+ This is a place to write a summary of your project - an abstract, and examples. Anything can be included, and bespoke sections have been pinned to the side. This is a great place to demonstrate capabilities to your peers and potential employers.
16
+
17
+ To link a notebook file place it in <code>assets/notebooks</code>, and then reference it's filename in the front-matter as <code>notebook_file</code>.
@@ -0,0 +1,8 @@
1
+ ---
2
+ layout: vignette
3
+ # project_code: X
4
+ ---
5
+
6
+ {% v %}
7
+ Write your vignette blocks in chronological order using {% raw %}<code class="text-nowrap">{% v %} TEXT HERE {% endv %}</code>{% endraw %}, and tag competencies inside using {% raw %}<code class="text-nowrap">{% c COMPETENCY_ID %}</code>{% endraw %}.
8
+ {% endv %}
@@ -0,0 +1,180 @@
1
+ ---
2
+ layout: page
3
+ ---
4
+
5
+ <div class="container">
6
+ <div class="row">
7
+ <div class="col-lg-3 mb-4">
8
+ <!-- About Navigation -->
9
+ <div class="row sticky-top t-1" style="top: 1rem">
10
+ <ul id="index" class="list-group container-fluid" style="padding-left: 15px">
11
+ <a href="#about" class="list-group-item list-group-item-light flex-column align-items-start">
12
+ <h5 class="mb-1">About</h5>
13
+ </a>
14
+ <a href="#usage" class="list-group-item">
15
+ <h6 class="mb-1">Usage</h6>
16
+ </a>
17
+ <a href="#technology" class="list-group-item">Technology</a>
18
+ <a href="#installation--forking" class="list-group-item">Installation & Forking</a>
19
+ <a href="#altering-details" class="list-group-item">Altering Details</a>
20
+ <a href="#creating-projects" class="list-group-item">Creating Projects</a>
21
+ <a href="#progression" class="list-group-item">Progression</a>
22
+ <a href="#hosting-on-github-pages" class="list-group-item">Hosting On Github Pages</a>
23
+ <a href="#api" class="list-group-item">API</a>
24
+ <a href="#modifications" class="list-group-item">
25
+ <h6 class="mb-1">Modifications</h6>
26
+ </a>
27
+ <a href="#legal" class="list-group-item">
28
+ <h6 class="mb-1">Legal</h6>
29
+ </a>
30
+ <a href="#attributions" class="list-group-item">
31
+ <h6 class="mb-1">Attributions</h6>
32
+ </a>
33
+ </ul>
34
+ </div>
35
+ </div>
36
+ <!-- Contents -->
37
+ <div class="col-lg">
38
+ <div class="row">
39
+ <div class="container">
40
+ <h1>About</h1>
41
+ {% include notice.html %}
42
+ {% capture about_contents %}
43
+ This guide provides a brief overview of how to use this portfolio. An example
44
+ site has been provided to reduce the amount of pre-requisite knowledge needed,
45
+ and the theme itself has been built with degradation in mind (meaning that
46
+ it should be easy to customise and somewhat hard to break!).
47
+
48
+ The software is produced and maintained by [Josh Hills](mailto:josh@jargonify.com)
49
+ (post-graduate), for the purpose of providing a modern solution to submitting and
50
+ assessing work for the data science masters course at Newcastle University. It may
51
+ be used beyond this scope - see [modifications](#modifications).
52
+
53
+ ## Usage
54
+
55
+ ### Technology
56
+
57
+ [Jekyll](https://jekyllrb.com/) is a static-site generator running in the programming language Ruby.
58
+ It can be run on any major platform.
59
+
60
+ It uses the [Liquid](https://help.shopify.com/en/themes/liquid) templating engine. You write posts in Markdown, and they
61
+ are converted to a folder containing your entire portfolio site. Data files are
62
+ written in [YAML](http://yaml.org/).
63
+
64
+ The site provides means for the academic institution to add information about
65
+ projects, competencies, useful links and documentation. It provides means for
66
+ students to extend this information, and submit associated work.
67
+
68
+ It also provides an API to expose student progression for analysis.
69
+
70
+ ### Installation & Forking
71
+
72
+ - Clone the example site
73
+ - Install Ruby & Jekyll
74
+ - Install & update gem dependencies using commands `bundle install && bundle update`
75
+ - Run Jekyll using command `jekyll serve`
76
+ - Access at `localhost:4000`
77
+ - Every time the site builds it will generate the site at `_site`
78
+
79
+ ### Altering Details
80
+
81
+ - In `config.yml`, edit user details
82
+ - Overrides/extensions for data files can be added - see the [example folder](https://github.com/joshhills/dsm-portfolio-theme/tree/master/_data) in the demo project.
83
+
84
+ ### Creating Projects
85
+
86
+ Writing any file for a project can be done using Markdown or HTML. See [cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet).
87
+
88
+ - `jekyll project "NAME OF PROJECT"`
89
+ - OR copy [example structure](https://github.com/joshhills/dsm-portfolio-theme/tree/master/_posts/2018-02-07-test-project-one) from demo project
90
+
91
+ Note that the date is YYYY-MM-DD-title. This date should be when you start writing. If it is dated in the
92
+ future it wont be included in the site.
93
+
94
+ #### Summaries
95
+
96
+ This is a place to summarise a project. You may write this in any format.
97
+
98
+ By adding a Jupyter notebook file to `assets/notebooks` and including the name in
99
+ the frontmatter, it will render below your summary.
100
+
101
+ See the [example file](https://github.com/joshhills/dsm-portfolio-theme/blob/master/_posts/2018-02-07-test-project-one/summary.md) in the demo project.
102
+
103
+ #### Vignettes
104
+
105
+ This is a place to evaluate your project work, tagging relevant sections with
106
+ the competencies you have satisfied.
107
+
108
+ By linking your project submission to an academic project, it will pull in information
109
+ from the data file such as skill targets, description and deadline. You can view all
110
+ academic projects at [projects]({{ '/projects' | relative_url }}).
111
+
112
+ Individual iterations on your evaluation within the page are created by using a custom
113
+ 'liquid' tag `{% raw %}{% v %} ... {% end v %}{% endraw %}`. When you have met a specific
114
+ competency, you can include that in the evaluation using `{% raw %}{% c COMPETENCY_ID %}{% endraw %}`.
115
+ You can view all competencies at [competencies]({{ '/competencies' | relative_url }}).
116
+
117
+ See the [example file](https://github.com/joshhills/dsm-portfolio-theme/blob/master/_posts/2018-02-07-test-project-one/vignette.md) in the demo project.
118
+
119
+ ### Progression
120
+
121
+ You can see an overview of all projects at [progression]({{ '/progression' | relative_url }}).
122
+
123
+ ### Hosting on Github Pages
124
+
125
+ - `git init` in `_site`
126
+ - Create branch `gh-pages`
127
+ - Set remote to the same repository using command `git remote add origin git@github.com:username/repositoryname.git`
128
+ - Add, commit and push changes
129
+ - View latest version of branch at `https://username.github.io/repositoryname/`
130
+
131
+ ### API
132
+
133
+ The API and associated documentation pages are auto-generated upon build. Their documentation can be found [here]({{ '/api' | relative_url }}).
134
+
135
+ ## Modifications
136
+
137
+ Administrators may fork the [theme](https://github.com/joshhills/dsm-portfolio-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.
138
+
139
+
140
+ Students should fork the [site example](https://github.com/joshhills/dsm-portfolio-site) 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.
141
+
142
+ Issues raised represent feedback that may be taken into consideration during further development. Contact your course representatives for immediate concerns.
143
+
144
+ ## Legal
145
+
146
+ This theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
147
+
148
+ ## Attributions
149
+
150
+ - [jekyll](https://github.com/jekyll/jekyll) w/ MIT licence
151
+ - [jekyll-jupyter-notebook](https://github.com/red-data-tools/jekyll-jupyter-notebook) by RED Data Tools w/ Apache 2.0 license
152
+ - [jekyll-remote-theme](https://github.com/benbalter/jekyll-remote-theme) by Ben Balter w/ MIT license
153
+ - [jekyll-data](https://github.com/ashmaroli/jekyll-data) by Ashwin Maroli w/ MIT
154
+ &nbsp;
155
+ &nbsp;
156
+ &nbsp;
157
+ &nbsp;
158
+ &nbsp;
159
+ &nbsp;
160
+ &nbsp;
161
+ &nbsp;
162
+ &nbsp;
163
+ &nbsp;
164
+ &nbsp;
165
+ &nbsp;
166
+ &nbsp;
167
+ &nbsp;
168
+ &nbsp;
169
+ &nbsp;
170
+ &nbsp;
171
+ &nbsp;
172
+ &nbsp;
173
+ &nbsp;
174
+ {% endcapture %}
175
+ {{ about_contents | markdownify }}
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </div>
180
+ </div>