jekyll-theme-bas-style-kit 0.2.3 → 0.3.0.pre.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +41 -0
  3. data/LICENSE.md +4 -3
  4. data/README.md +170 -615
  5. data/_config.yml +61 -20
  6. data/_data/bas-style-kit/bsk-css.yml +5 -0
  7. data/_data/bas-style-kit/bsk-js.yml +13 -0
  8. data/_data/bas-style-kit/bsk-vars.yml +3 -0
  9. data/_data/menus.yml +19 -0
  10. data/_includes/bas-style-kit/body.html +3 -0
  11. data/_includes/bas-style-kit/bsk-body--analytics-script.html +9 -0
  12. data/_includes/bas-style-kit/bsk-body--back-to-top.html +2 -0
  13. data/_includes/bas-style-kit/bsk-body--core-scripts.html +8 -0
  14. data/_includes/bas-style-kit/bsk-body--standard-footer.html +16 -0
  15. data/_includes/bas-style-kit/bsk-body--standard-header.html +17 -0
  16. data/_includes/bas-style-kit/bsk-body--standard.html +15 -0
  17. data/_includes/bas-style-kit/bsk-body.html +9 -0
  18. data/_includes/bas-style-kit/bsk-footer--contents.html +0 -0
  19. data/_includes/bas-style-kit/bsk-footer--legal-policies.html +8 -0
  20. data/_includes/bas-style-kit/bsk-footer--ogl.html +9 -0
  21. data/_includes/bas-style-kit/bsk-head--core-meta.html +4 -0
  22. data/_includes/bas-style-kit/bsk-head--core-styles.html +6 -0
  23. data/_includes/bas-style-kit/bsk-head--favicon.html +2 -0
  24. data/_includes/bas-style-kit/bsk-head--seo-meta.html +4 -0
  25. data/_includes/bas-style-kit/bsk-head.html +6 -0
  26. data/_includes/bas-style-kit/bsk-header--cookie-notice.html +11 -0
  27. data/_includes/bas-style-kit/bsk-header--development-phase.html +12 -0
  28. data/_includes/bas-style-kit/bsk-header--site-navigation.html +6 -0
  29. data/_includes/bas-style-kit/bsk-nav--collapse.html +4 -0
  30. data/_includes/bas-style-kit/bsk-nav--header.html +4 -0
  31. data/_includes/bas-style-kit/bsk-nav-collapse--primary-navigation.html +32 -0
  32. data/_includes/bas-style-kit/bsk-nav-collapse--secondary-navigation.html +20 -0
  33. data/_includes/bas-style-kit/bsk-nav-header--brand.html +8 -0
  34. data/_includes/bas-style-kit/bsk-nav-header--collapse-trigger.html +6 -0
  35. data/_includes/bas-style-kit/head.html +1 -0
  36. data/_layouts/bas-style-kit/blank.html +4 -0
  37. data/_layouts/bas-style-kit/bsk--base.html +8 -0
  38. data/_layouts/bas-style-kit/bsk--standard.html +8 -0
  39. data/_layouts/bas-style-kit/html.html +8 -0
  40. data/screenshot.png +0 -0
  41. metadata +101 -34
  42. data/LICENSE-MIT.md +0 -21
  43. data/_data/bsk_jekyll_js.json +0 -22
  44. data/_data/bsk_jekyll_vars.json +0 -4
  45. data/_includes/layout/cookie-banner.html +0 -7
  46. data/_includes/layout/phase-banner.html +0 -15
  47. data/_includes/layout/site-footer.html +0 -26
  48. data/_includes/layout/site-navigation.html +0 -77
  49. data/_includes/snippets/back-to-top.html +0 -1
  50. data/_includes/snippets/body-js.html +0 -12
  51. data/_includes/snippets/google-analytics.html +0 -12
  52. data/_includes/snippets/head.html +0 -29
  53. data/_includes/snippets/is-something-wrong.html +0 -1
  54. data/_layouts/blank.html +0 -1
  55. data/_layouts/default.html +0 -20
  56. data/_layouts/html.html +0 -12
  57. data/assets/bsk-jekyll/css/jekyll-theme-bas-style-kit.scss +0 -75
  58. data/assets/bsk-jekyll/img/apple-touch-icon.png +0 -0
  59. data/assets/bsk-jekyll/js/cookie-banner.js +0 -32
  60. data/assets/css/main.scss +0 -7
  61. data/assets/js/page-js-test.js +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a2f2c85c81743f860da21189915fc3445913fef5
4
- data.tar.gz: 0e4c8b3a3c54c9de7fd398ddd2d52343b61cf17b
2
+ SHA256:
3
+ metadata.gz: df59f75fdc4991621b5ff5f537da27484f945f2a9d35a19483e1bc8a406fc8c9
4
+ data.tar.gz: b26da147481d36eeeb7349f7319ab151029caee65879cf1a8cf8fbce9b384018
5
5
  SHA512:
6
- metadata.gz: 13d28f56684c9102f23257c6baa3401ca58c1eadb538f20beb233675134fbddfca5d93a29efc0ad6d9235b94b58037c56dd6a56214745fe72f458955386aa57d
7
- data.tar.gz: ae23be77c6ea67ae92dc3aa48ea56ba0cda7e7500525bf08e067db55215edf7b823ef5083a1ba0d891670d8f7f49454aa80440ef95842ccc7d6a9f77b526ded4
6
+ metadata.gz: 134beac42b7e144a5e57653cd2eea36022b076df955a197dd45efb4b3a3e3984a9b8a9db3e91124f198672754c1b2436eab7641954ba7dfd18c4d0c0331861e2
7
+ data.tar.gz: 281da51a5225487884d051ee8620e11457cd8dbf1e09875409fca2cc85c37454099f2e9d0ec8bbb9a26a013f6f2efde8f0abca48366dac401847a849c541735d
data/CHANGELOG.md CHANGED
@@ -5,6 +5,47 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
5
5
 
6
6
  ## [Unreleased][unreleased]
7
7
 
8
+ ### Changed [BREAKING!]
9
+
10
+ * Re-licensing project under the Open Government License
11
+ * Upgrading to Jekyll 3.7.2
12
+ * Upgrading to Style Kit 0.3.0
13
+ * Layouts, includes and data files are now in a `bas-style-kit` namespace
14
+ * Generic *blank* and *HTML* layouts and associated includes have been redeveloped
15
+ * The Style Kit layout has been split into *base* and *standard* layouts
16
+ * Style Kit includes have been redeveloped and renamed
17
+ * All data files now use Yaml formatting to support comments
18
+
19
+ ### Removed [BREAKING!]
20
+
21
+ * *default* layout, switch to either *bsk--base* or *bsk--standard* as needed
22
+ * apple touch icons - although these never worked correctly
23
+ * 'back to top' and 'is something wrong' links - these will be re-added when supported in the Style Kit
24
+ * HTML5 shim and Respond.js as the Style Kit no longer supports IE 10 or below
25
+ * All local assets as they are either now part of the Style Kit, or will be re-added when supported in the Style Kit
26
+
27
+ ### Added
28
+
29
+ * *bsk--base* layout which implements the Style Kit, but in a very generic way
30
+ * *bsk--standard* layout which implements the Style Kit with typical elements such as a header and footer
31
+ * CSS files are now loaded from a data file, as with JavaScript
32
+ * CSS and JavaScript files can and do use Sub-Resource Integrity (SRI) for better security
33
+ * Jekyll Menus plugin
34
+ * Jekyll Tidy plugin
35
+
36
+ ### Changed
37
+
38
+ * Upgrading other Gem dependencies to latest versions
39
+ * Upgrading application Docker image to use latest BAS Jekyll image
40
+ * The *blank* layout is now based on Jekyll's built in *None* layout
41
+ * Improving Dockerfile
42
+ * Tidying up README
43
+ * Tidying up Dockerfile and Docker Compose
44
+ * Gemfile lock file is now tracked
45
+ * Updated release procedures
46
+
47
+ ## 0.2.3 - 11/04/2017
48
+
8
49
  ### Added
9
50
 
10
51
  * Note in release notes to ensure the Jekyll variable is updated to reflect the changed version
data/LICENSE.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # License
2
2
 
3
- Copyright 2017 NERC BAS.
3
+ © Natural Environment Research Council (NERC), 2017-2018, British Antarctic Survey.
4
4
 
5
- Unless stated otherwise all code is licensed under the MIT license.
5
+ You may use and re-use this software and associated documentation files free of charge in any format or medium, under
6
+ the terms of the Open Government Licence v3.0.
6
7
 
7
- Copies of this license are included within this project.
8
+ You may obtain a copy of the Open Government Licence at http://www.nationalarchives.gov.uk/doc/open-government-licence/
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # jekyll-theme-bas-style-kit
1
+ # BAS Style Kit Jekyll Theme
2
2
 
3
- Jekyll theme implementation of the [BAS Style Kit](https://stlye-kit.web.bas.ac.uk).
3
+ Jekyll theme for the [BAS Style Kit](https://stlye-kit.web.bas.ac.uk).
4
4
 
5
5
  ![Screenshot of theme](screenshot.png)
6
6
 
@@ -24,703 +24,221 @@ Or install it yourself as:
24
24
  $ gem install jekyll-theme-bas-style-kit
25
25
  ```
26
26
 
27
- ## Usage
28
-
29
- Refer to [Jekyll's theme documentation](https://jekyllrb.com/docs/themes/) for general information.
30
-
31
- ### Selecting the BAS Style Kit Jekyll theme
32
-
33
- Add these lines to your Jekyll site's `_config.yml`:
27
+ Add these lines to your `_config.yml` to use the Style Kit theme:
34
28
 
35
29
  ```yaml
36
30
  theme: jekyll-theme-bas-style-kit
37
31
 
38
- gems:
39
- - jekyll-data
32
+ # If your site uses additional plugins, append these items
33
+ plugins:
34
+ - jekyll-menus
35
+ - jekyll-tidy
40
36
  ```
41
37
 
42
- **Note:** This theme sets additional config options, see the *Config options* section for more information.
43
-
44
- **Note:** If you have loaded any Jekyll plugins using the `gems` option, also include these plugins:
38
+ ## Usage
45
39
 
46
- ```yaml
47
- gems:
48
- - jekyll-data
49
- ```
40
+ Refer to [Jekyll's theme documentation](https://jekyllrb.com/docs/themes/) for general information.
50
41
 
51
42
  ### Layouts
52
43
 
53
- This theme provides three layouts:
54
-
55
- * blank
56
- * HTML
57
- * default
58
-
59
- #### Blank
60
-
61
- Returns content without modification, and is used as the fundamental layout, from which all other layouts derive.
44
+ This theme defines two types of layout:
62
45
 
63
- This layout is useful if you need to output data in a format other than HTML (such as JSON or XML).
46
+ * *generic* - non Style Kit specific intended for atypical content
47
+ * *non-generic* - implement the Style Kit either broadly or in more opinionated forms
64
48
 
65
- **Note:** You will need to set a suitable content-type header if returning non-HTML content.
49
+ All layouts use the `.html` extension. I.e. the layout `blank` should be referenced as `blank.html`.
66
50
 
67
- #### HTML
51
+ All layouts are namespaced using a `bas-style-kit/` directory - i.e. the layout `blank.html` should be referenced as
52
+ `bas-style-kit/blank.html`.
68
53
 
69
- Returns content in the `<body>` tag of a basic HTML page. Includes `<head>` elements returned by the *head* include.
54
+ #### Generic layouts
70
55
 
71
- **Note:** This layout includes the BAS Style Kit CSS styles, but not Bootstrap JavaScript components (see the
72
- *default* layout for this).
56
+ * [`blank`](/docs/layout/blank.md)
57
+ * [`html`](/docs/layout/html.md)
73
58
 
74
- **Note:** This layout does not include information about the use of Cookies, which **MUST** be displayed if used on a
75
- website. You will need to provide a suitable notice to users if this applies. See the *Cookie notice* section for more
76
- information.
59
+ #### Style Kit specific layouts
77
60
 
78
- This layout is useful if you need to show content in isolation, or using a specific page style, such as a page designed
79
- for printing, or for displaying full screen.
80
-
81
- #### Default
82
-
83
- Returns content in a [container](https://style-kit.web.bas.ac.uk/core/layout/#fixed-width-container) with a number of
84
- additional components using includes:
85
-
86
- | Component | Include File | Description | Notes |
87
- | ------------------------ | -------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
88
- | Cookie notice banner | `layout/cookie-banner.html` | Dismissible cookie notice | See the *Cookie notice* section for more information |
89
- | Site navigation | `layout/site-navigation.html` | [Navbar](https://style-kit.web.bas.ac.uk/components/navbar/) containing site navigation | See the *Site navigation* section for more information |
90
- | Development phase banner | `layout/phase-banner.html` | Contextual warning for current development phase | See the *Development phase* section for more information |
91
- | Site footer | `layout/site-footer.html` | Basic [footer](https://style-kit.web.bas.ac.uk/components/footer/) | Designed to be overiden, see the *Legal policies* section for information it must contain |
92
- | JavaScript | `snippets/body-js.html` | Scripts required for jQuery, Bootstrap's JavaScript components, and the cookie notice banner | - |
93
- | Analytics | `snippets/google-analytics.html` | Scripts required for Google Analytics | Not included if `ga_property` config option is not set |
61
+ * [`bsk--base`](/docs/layout/bsk--base.md)
62
+ * [`bsk--base`](/docs/layout/bsk--standard.md)
94
63
 
95
64
  ### Includes
96
65
 
97
- Includes for this theme are split into *layout* and *snippets*. Layouts are used as part of the visual structure of the
98
- site (such as the main navigation). Snippets are more general and used in various places (including in other includes).
99
-
100
- #### Cookie Banner
101
-
102
- **Type:** Layout
103
-
104
- **File:** `layout/cookie-banner.html`
105
-
106
- Presents a full-width banner, pinned to the top of the page, with a statement that the site uses cookies, and where a
107
- user can find out more information.
108
-
109
- This banner can be dismissed by the user, which will hide the message for 30 days using (ironically) a cookie.
110
-
111
- See the *Cookie notice* section for more information.
112
-
113
- **Note:** This include depends on the `snippets/body-js.html` include.
114
-
115
- #### Phase Banner
116
-
117
- **Type:** Layout
118
-
119
- **File:** `layout/phase-banner.html`
120
-
121
- Presents a full-width banner, pinned after the site navigation, with a statement describing the status of the website.
122
- For example, if a website is in the *beta* phase of development, a notice advising users that the website is still
123
- under development will be shown, with an invitation for them to submit feedback.
124
-
125
- If a website is in the *live* phase of development, no banner is shown.
126
-
127
- See the *Development phase notice* and *Website feedback* sections for more information.
128
-
129
- **Note:** The message shown for each development phase cannot currently be changed.
130
-
131
- #### Site footer
132
-
133
- **Type:** Layout
134
-
135
- **File:** `layout/site-footer.html`
136
-
137
- Provides a basic [footer](https://style-kit.web.bas.ac.uk/components/footer/) designed to meet requirements for:
138
-
139
- * linking to the top of the current page and to give feedback
140
- * explaining the license for content within the website
141
- * displaying links to legal polices
142
-
143
- As footers will vary greatly between websites, this footer is deliberately basic, and limited, in its structure. It is
144
- expected this include will be overiden by each website with its own specific footer.
145
-
146
- See the *Legal policies* and *Website feedback* sections for information on what a footer **MUST** contain.
147
-
148
- #### Site navigation
149
-
150
- **Type:** Layout
151
-
152
- **File:** `layout/site-navigation.html`
153
-
154
- Provides a default implementation of a [navbar](https://style-kit.web.bas.ac.uk/components/navbar/) designed to meet
155
- the needs of most websites. The navbar consists of:
156
-
157
- * the site title
158
- * a toggle to show or hide navigation items on smaller devices (such as phones)
159
- * a set of navigation items (see the *Site navigation* section for how to set these)
160
- * a drop-down of other relevant BAS websites, including the BAS public website and data catalogue
161
- * a link to give feedback about the website
162
-
163
- See the *Site navigation* and *Website feedback* sections for more information.
164
-
165
- #### Back to top
166
-
167
- **Type:** Snippet
168
-
169
- **File:** `snippets/back-to-top.html`
170
-
171
- Provides a link to the `#site-top` anchor, positioned at the top of each page. It is shown in the default footer
172
- include.
173
-
174
- **Note:** This snippet depends on the *default* layout being used, or a layout with a `#site-top` element defined.
175
-
176
- #### Body JS
177
-
178
- **Type:** Snippet
66
+ Refer to [Jekyll's documentation](https://jekyllrb.com/docs/include/) for general information.
179
67
 
180
- **File:** `snippets/body-js.html`
68
+ This theme uses includes extensively to give fine grained control over how elements such as the navbar behave, including
69
+ both their content and structure.
181
70
 
182
- Inserts `<script>` tags to reference JavaScript files. Entries defined in the `bsk_jekyll_js.json` data file will be
183
- output first, followed by per-page files using the `body_js_files` front-matter option.
71
+ Includes are often used conditionally using a related configuration option, to be disabled more easily.
184
72
 
185
- See the *JavaScript* section for more information.
73
+ All includes use the `.html` extension. I.e. the include `body` should be referenced as `body.html`.
186
74
 
187
- **Note:** This snippet is designed for loading JavaScript *after* the main page content. If a script needs to be run
188
- before this content, you will need to do this manually.
75
+ All includes are namespaced using a `bas-style-kit/` directory - i.e. the include `body.html` should be referenced as
76
+ `bas-style-kit/body.html`.
189
77
 
190
- #### Google Analytics
78
+ #### Generic includes
191
79
 
192
- **Type:** Snippet
80
+ * [`head`](/docs/include/head.md)
81
+ * [`body`](/docs/include/body.md)
193
82
 
194
- **File:** `snippets/google-analytics.html`
83
+ #### Style Kit specific includes
195
84
 
196
- If the `ga_property` config option is set, include the Google Analytics tracking script, and configures it for the
197
- relevant Google Analytics property.
85
+ * [`bsk-head`](/docs/include/bsk-head.md)
86
+ * [`bsk-body`](/docs/include/bsk-body.md)
87
+ * [`bsk-body--standard`](/docs/include/bsk-body--standard.md)
198
88
 
199
- The tracking script is configured to anonymise the IP address of visitors client side, meaning we it is never visible
200
- to the Google Analytics service.
89
+ HTML Head includes:
201
90
 
202
- #### Head
91
+ * [`bsk-head--core-meta`](/docs/include/bsk-head--core-meta.md)
92
+ * [`bsk-head--seo-meta`](/docs/include/bsk-head--seo-meta.md)
93
+ * [`bsk-head--core-styles`](/docs/include/bsk-head--core-styles.md)
94
+ * [`bsk-head--favicon`](/docs/include/bsk-head--favicon.md)
203
95
 
204
- **Type:** Snippet
96
+ HTML Body includes:
205
97
 
206
- **File:** `snippets/head.html`
98
+ * [`bsk-body--core-scripts`](/docs/include/bsk-body--core-scripts.md)
99
+ * [`bsk-body--analytics-script`](/docs/include/bsk-body--analytics-script.md)
100
+ * [`bsk-body--back-to-top`](/docs/include/bsk-body--back-to-top.md)
101
+ * [`bsk-body--standard-header`](/docs/include/bsk-body--standard-header.md)
102
+ * [`bsk-body--standard-footer`](/docs/include/bsk-body--standard-footer.md)
207
103
 
208
- Represents the `<head>` tag of a HTML page with these elements:
104
+ Footer includes:
209
105
 
210
- * HTML doc-type
211
- * UTF-8 character encoding scheme
212
- * directive for Internet Explorer to use the latest rendering engine available (ignored by Microsoft Edge)
213
- * directive for devices to set the viewport width to the width of the current device in CSS pixels at a scale of 100%,
214
- and an initial scale of 100%
215
- * the title directive, containing a page title (if set) followed by the site `title` config option
216
- * the description directive, containing the site `description` config option
217
- * the canonical directive, used for constructing internal URLs and by search engines for deduplicating content where it
218
- is available from multiple locations. Uses the `baseurl` config option and expresses a preference for URLs without a
219
- `.html` extension if used.
220
- * links to the image used by mobile devices if this website is pinned to a home-screen
221
- * references to the BAS Style Kit, Jekyll theme, and website specific CSS
222
- * workarounds for older versions of Internet Explorer to not break with the use of modern HTML features
106
+ * [`bsk-footer--contents`](/docs/include/bsk-footer--contents.md)
107
+ * [`bsk-footer--legal-policies`](/docs/include/bsk-footer--legal-policies.md)
108
+ * [`bsk-footer--ogl`](/docs/include/bsk-footer--ogl.md)
223
109
 
224
- #### Is something wrong
110
+ Header includes:
225
111
 
226
- **Type:** Snippet
112
+ * [`bsk-header--cookie-notice`](/docs/include/bsk-header--cookie-notice.md)
113
+ * [`bsk-header--site-navigation`](/docs/include/bsk-header--site-navigation.md)
114
+ * [`bsk-header--development-phase`](/docs/include/bsk-header--development-phase.md)
227
115
 
228
- **File:** `snippets/is-something-wrong.html`
116
+ Navigation includes:
229
117
 
230
- Displays a link to give feedback about the current website. It is shown in the default footer include.
118
+ * [`bsk-nav--header`](/docs/include/bsk-nav--header.md)
119
+ * [`bsk-nav--collapse`](/docs/include/bsk-nav--collapse.md)
120
+ * [`bsk-nav-header--collapse-trigger`](/docs/include/bsk-nav-header--collapse-trigger.md)
121
+ * [`bsk-nav-header--brand`](/docs/include/bsk-nav-header--brand.md)
122
+ * [`bsk-nav-collapse--primary-navigation`](/docs/include/bsk-nav-collapse--primary-navigation.md)
123
+ * [`bsk-nav-collapse--secondary-navigation`](/docs/include/bsk-nav-collapse--secondary-navigation.md)
231
124
 
232
- See the *Website feedback* section for more information.
125
+ ### Data files
233
126
 
234
- ### Assets
127
+ Refer to [Jekyll's documentation](https://jekyllrb.com/docs/datafiles/) for general information.
235
128
 
236
- All assets in this theme are scoped to the `bsk-jekyll` directory.
129
+ This theme uses data files to define CSS and JavaScript resources to load and for some variables about the theme.
237
130
 
238
- **Note:** In the longer term, all of these assets are due to be hosted within the BAS CDN, rather than within each
239
- website that uses this theme. This makes such sites more consistent, and gives performance benefits using browser
240
- caching.
131
+ All data files use the `.yml` (Yaml) extension and are namespaced using a `bas-style-kit/` directory - i.e. a data
132
+ element `foo` in the data file `bsk-vars.yml` is available as `site.data.bas-style-kit.bsk-vars.foo`.
241
133
 
242
- **Note:** To include JavaScript files, after the page has loaded, see the *JavaScript* section.
134
+ #### Style Kit specific data files
243
135
 
244
- #### `bsk-jekyll/bas-style-kit-jekyll-theme.scss`
245
-
246
- CSS styles specific to this theme, designed to be the same for each site using this theme.
247
-
248
- **Note:** This file **SHOULD NOT** be overiden, use `css/main.scss` instead.
249
-
250
- **Note:** This file currently contains some styles that are waiting to be merged with the upstream Style Kit project.
251
-
252
- #### `bsk-jekyll/img/apple-touch-icon.png`
253
-
254
- Image used if this website is pinned to the start screen of a smartphone.
255
-
256
- **Note:** The name of this file is conventional, and **SHOULD NOT** be changed. It **MAY** be overiden if needed.
257
-
258
- #### `bsk-jekyll/js/cookie-banner.js`
259
-
260
- Simple script to set a cookie when the user dismisses the cookie banner. If this cookie is present the banner will not
261
- be shown on subsequent pages for a period of 30 days. After this time the banner will be shown again, until dismissed
262
- again for another 30 days.
263
-
264
- See the *JavaScript* section for more information on how this file is loaded.
265
-
266
- #### `css/main.scss`
267
-
268
- CSS styles specific to each website. This file is empty by default and is designed to be overiden by each website.
269
-
270
- **Note:** This file is included in the *head* include, and so **SHOULD NOT** be removed to avoid 404 errors. It **MAY**
271
- be left empty if not needed.
272
-
273
- **Note:** This file will not be moved to the BAS CDN.
274
-
275
- ### Config options
276
-
277
- There are a number of general config options which **SHOULD** be set for this theme:
278
-
279
- | Option | Type | Description | Default Value | Example Value | Notes |
280
- | ------------- | ------ | -------------------------- | ------------- | --------------------------------------------------- | ------------------------------------------ |
281
- | `title` | String | Name of the website | *None* | "Example Website" | Also used for the title HTML property |
282
- | `description` | String | Description of the website | *None* | "Example website for the BAS Style Kit Jekyll Theme | Used in the description meta HTTP property |
283
-
284
- There are a number of theme specific config options, some of which **SHOULD** be set:
285
-
286
- | Option | Type | Description | Default Value | Example Value | Notes |
287
- | ------------------- | ------ | -------------------------------------------------------------- | ------------- | ---------------------- | --------------------------------------------------------------------------- |
288
- | `phase` | String | Current development phase of the website | `live` | `alpha` | See the *Development phase notice* section for more information |
289
- | `copyright_href` | String | URL to copyright statement of the website | *None* | `/copyright-statement` | See the *Legal policies* section for more information |
290
- | `privacy_href` | String | URL to privacy policy of the website | *None* | `/privacy-policy` | See the *Legal policies* section for more information |
291
- | `cookies_href` | String | URL to cookie policy of the website | *None* | `/cookie-policy` | See the *Legal policies* section for more information |
292
- | `feedback_href` | String | URL to feedback page of the website | *None* | `/feedbac` | See the *Website feedback* section for more information |
293
- | `ga_property` | String | Google Analytics property of the website | *None* | `UA-64130716-XX` | Values should start with `UA-64130716-` for BAS Google Analytics properties |
294
- | `nav_items` | List | Items in the website to include in the site navigation | *None* | *List of items* | See the *Site navigation* section for more information |
295
- | `nav_related_sites` | List | Items for other BAS websites to include in the site navigation | *List* | *List of items* | See the *Site navigation* section for more information |
296
-
297
- There are some additional general config options which are set by this theme, but can be overriden if needed:
298
-
299
- | Option | Type | Description | Default Value | Example Value | Notes |
300
- | ----------- | ------ | -------------------------------------------------------------------- | ------------- | --------------- | ------------------------------------------------------------------------ |
301
- | `gems` | List | List of Jekyll plugins to include, set to dependencies of this theme | *List* | *List of items* | If this option is set within a website, ensure these values are included |
302
- | `permalink` | String | Removes the `.html` file extension from URLs generated by Jekyll | `pretty` | `pretty` | Other options are available, see the Jekyll documentation |
303
-
304
- ### Theme variables
305
-
306
- The `bsk_jekyll_vars.json` Jekyll data file contains variables which can be used by websites using this theme.
307
-
308
- | Variable | Type | Description | Notes |
309
- | --------------- | ------ | --------------------------------------------------- | ----- |
310
- | `theme_version` | String | Version of the BAS Style Kit Jekyll Theme | - |
311
- | `bsk_version` | String | Version of the BAS Style Kit used within this theme | - |
312
-
313
- ### JavaScript
314
-
315
- JavaScript files can be loaded after the main site content in two ways:
316
-
317
- 1. Using the `bsk_jekyll_js.json` Jekyll data file - for files that should be loaded in all pages
318
- 2. Using the `body_js_files` front-matter option - for files that should only be loaded for specific pages
319
-
320
- Both methods are added to the page using the *Body JS* include, using the following structure for each script:
321
-
322
- | Property | Type | Required | Description | Example Value | Notes |
323
- | --------- | ------ | -------- | ------------------------------------------------- | ---------------------------------------- | ------------------------------------------------ |
324
- | `comment` | String | Yes | Used as a HTML comment added before each script | `Code for managing cookie banner` | - |
325
- | `href` | String | Yes | Defines the location of the script to be loaded | `/assets/bsk-jekyll/js/cookie-banner.js` | Depends on the type property value |
326
- | `type` | String | Yes | Controls how this item is processed and displayed | `local` | See below for valid values |
327
-
328
- Supported script types are:
329
-
330
- * `local`
331
- * `remote`
332
-
333
- **Note:** See the `bsk_jekyll_js.json` Jekyll data file for scripts which are included in all pages by default.
334
-
335
- **Example**
336
-
337
- For scripts referenced in the `bsk_jekyll_js.json` Jekyll data file:
338
-
339
- ```json
340
- {
341
- {
342
- "comment": "Cookie library used to persistently hide the cookie banner",
343
- "href": "https://cdn.web.bas.ac.uk/js-libs/js.cookie-2.1.3.min.js",
344
- "type": "remote"
345
- },
346
- {
347
- "comment": "Code for managing cookie banner",
348
- "href": "/assets/bsk-jekyll/js/cookie-banner.js",
349
- "type": "local"
350
- }
351
- ]
352
- ```
353
-
354
- For scripts referenced in the `body_js_files` front-matter option:
355
-
356
- ```md
357
- ---
358
- title: A page
359
- body_js_files:
360
- - comment: Cookie library used to persistently hide the cookie banner
361
- href: https://cdn.web.bas.ac.uk/js-libs/js.cookie-2.1.3.min.js
362
- type: remote
363
- - comment: Code for managing cookie banner
364
- href: /assets/bsk-jekyll/js/cookie-banner.js
365
- type: local
366
- ---
367
-
368
- # Page content
369
- ...
370
- ```
371
-
372
- #### Remote scripts
373
-
374
- Set the `href` property to the URL of a remote file.
375
-
376
- **Example**
377
-
378
- ```
379
- href: https://cdn.web.bas.ac.uk/js-libs/js.cookie-2.1.3.min.js
380
- ```
381
-
382
- #### Local scripts
383
-
384
- Set the `href` property to a URL relative to the base of the current website.
385
-
386
- **Note:** The base URL of the website will be prepended to the `href` property, if one is defined.
387
-
388
- **Example**
389
-
390
- ```
391
- href: /assets/bsk-jekyll/js/cookie-banner.js
392
- ```
136
+ * [bsk-css](/data-file/bsk-css.md)
137
+ * [bsk-js](/data-file/bsk-js.md)
138
+ * [bsk-vars](/data-file/bsk-vars.md)
393
139
 
394
- ### Site navigation
140
+ ### Variables
395
141
 
396
- Two kinds of navigation item are supported within the site navigation (an instance of the
397
- [navbar](https://style-kit.web.bas.ac.uk/components/navbar/) component):
142
+ Refer to [Jekyll's documentation](https://jekyllrb.com/docs/variables/) for general information.
398
143
 
399
- 1. resources within the current website - shown after the site title
400
- 2. BAS websites relevant to the current website - shown before the feedback item on the navbar's right
144
+ #### Style Kit specific variables
401
145
 
402
- Both kinds of item are displayed using the *Site navigation* include, and set using config options:
146
+ | Variable | Fully Qualified Variable | Purpose | Example | Notes |
147
+ | --------------- | ------------------------------------------------ | ----------------------------------------------- | ------- | ----- |
148
+ | `theme_version` | `site.data.bas-style-kit.bsk_vars.theme_version` | Version of this theme | `0.3.0` | - |
149
+ | `bsk_version` | `site.data.bas-style-kit.bsk_vars.bsk_version` | Version of the Style Kit used within this theme | `0.3.0` | - |
403
150
 
404
- * internal items: `nav_items`
405
- * related items: `nav_related_sites`
151
+ ### Configuration options
406
152
 
407
- #### Internal items
153
+ Refer to [Jekyll's documentation](https://jekyllrb.com/docs/configuration/) for general information.
408
154
 
409
- This theme allows multiple types of item to be used for internal navigation items. Some of these types are generic,
410
- some are included to integrate more easily with Jekyll's conventions and features.
155
+ Configuration options are used extensively throughout this theme. Some variables are used to set properties such as the
156
+ brand text or image in the navbar (attributes), others are used to enable various features (feature flags).
411
157
 
412
- **Properties**
158
+ Configuration options for this theme are namespaced under a `bas_style_kit_jekyll_theme` option - i.e. an option `foo`
159
+ is set as `bas_style_kit_jekyll_theme.foo`.
413
160
 
414
- | Property | Type | Required | Description | Example Value | Notes |
415
- | -------- | ------ | -------- | ------------------------------------------------- | ------------- | ------------------------------------------------ |
416
- | `name` | String | Yes | Used as the link text | `About` | - |
417
- | `type` | String | Yes | Controls how this item is processed and displayed | `single_item` | May require additional properties to be set |
418
-
419
- Supported item types are:
420
-
421
- * `single_item`
422
- * `dropdown_item`
423
-
424
- **Example**
161
+ Configuration options in this documentation use a dot notation to indicate a nested structure - i.e. an option `foo.bar`
162
+ should be set as:
425
163
 
426
164
  ```yml
427
- nav_items:
428
- -
429
- name: About
430
- type: single_item
165
+ foo:
166
+ bar
431
167
  ```
432
168
 
433
- ##### Single item
434
-
435
- The most basic item type, set manually and displayed as a navbar item (link).
436
-
437
- **Additional Properties**
438
-
439
- | Property | Type | Required | Description | Example Value | Notes |
440
- | -------- | ------ | -------- | --------------------------------- | ------------- | ------------------------------------------------ |
441
- | `href` | String | Yes | Used as the link `href` attribute | `/about` | Set the `href` property to `/` for the home page |
442
-
443
- **Note:** The base URL of the website will be prepended to the `href` property, if one is defined.
444
-
445
- **Active item**
446
-
447
- When the current page matches the `href` attribute, the item is made the active navbar item.
448
-
449
- **Example**
169
+ A configuration option `bas_style_kit_jekyll_theme.feature_flags.site.back_to_top_anchor` should be set as:
450
170
 
451
171
  ```yml
452
- nav_items:
453
- -
454
- name: Home
455
- type: single_item
456
- href: /
457
- -
458
- name: About
459
- type: single_item
460
- href: /about
172
+ bas_style_kit_jekyll_theme:
173
+ feature_flags:
174
+ site:
175
+ back_to_top_anchor: '[value]'
461
176
  ```
462
177
 
463
- ##### Dropdown item
464
-
465
- A more complex item type, set manually and displayed as a
466
- [navbar drop-down](https://style-kit.web.bas.ac.uk/components/navbar/#drop-down-menus).
467
-
468
- **Note:** Advanced drop-down features such as dividers and headers are not supported.
469
-
470
- **Additional Properties**
471
-
472
- | Property | Type | Required | Description | Example Value | Notes |
473
- | ------------------ | ------ | -------- | ------------------------------------------ | ------------- | ------------------------------------------------ |
474
- | `actions` | List | Yes | Defines the actions for the drop-down menu | N/A | - |
475
- | `actions.*.name` | String | Yes | Used as the action text | `Downloads` | Example of a single action |
476
- | `actions.*.href` | String | Yes | Used as the action `href` atttibute | `/resources/downloads` | Example of a single action |
477
-
478
- **Note:** The base URL of the website will be prepended to the `action.*.href` property, if one is defined.
479
-
480
- **Active item**
481
-
482
- When the current page matches the `href` attribute of an action in a drop-down item, the drop-down action is made
483
- active, and drop-down menu the active navbar item.
484
-
485
- **Example**
486
-
487
- ```yml
488
- nav_items:
489
- -
490
- name: Resources
491
- type: dropdown_item
492
- actions:
493
- -
494
- name: Downloads
495
- href: /resources/downloads
496
- ```
497
-
498
- #### Related items
499
-
500
- Related items are comparatively  easier to define than internal items, it uses the same structure as the `single_item`
501
- internal item type.
502
-
503
- **Note:** Related items **SHOULD** always include entries for the BAS public website and BAS data catalogue.
504
-
505
- **Note:** Related items **SHOULD NOT** include non-BAS websites, as the drop-down menu title 'Part of the British
506
- Antarctic Survey' implies its contents will be BAS operated websites.
507
-
508
- **Example**
509
-
510
- ```yml
511
- nav_related_sites:
512
- -
513
- name: BAS Home
514
- href: https://www.bas.ac.uk
515
- -
516
- name: BAS Style Kit
517
- href: https://style-kit.bas.ac.uk
518
- -
519
- name: Discover BAS data
520
- href: https://data.bas.ac.uk
521
- ```
522
-
523
- ### Cookie notice
524
-
525
- By law and by policy BAS websites are required to tell end-users whether cookies are used, and if so, where they can
526
- find out more information about these cookies.
527
-
528
- It is assumed all BAS websites will use cookies, not least as all websites are expected to use analytics tracking,
529
- which depends on cookies.
530
-
531
- This theme provides a cookie banner to meet this need. It consists of:
532
-
533
- * the `phase` config option - which defines the URL to a page explaining how cookies are used on this website
534
- * the *Cookie banner* include - which displays a dismissible message and a link to the cookies usage page
535
- * the *Site footer* include - which includes a link to the cookies usage page
536
- * the *Body JS* include - which includes the JavaScript needed to make the cookie banner dismissible
537
-
538
- The `cookies_href` config option **MUST** be set to a location with more information on how the website uses cookies.
539
- See the *Legal policies* section for more information.
540
-
541
- **Note:** This **SHOULD NOT** be the cookie policy used on the BAS public website, as it is not representative of our
542
- other websites.
543
-
544
- ### Development phase notice
545
-
546
- Websites exist at various stages of a development lifecycle - from inception, development, general availability through
547
- to retirement.
548
-
549
- Various points in this lifecycle are relevant to highlight to end-users, to give context and managing expectations.
550
- For example, new websites likely won't perform well, or have missing information.
551
-
552
- The BAS Style Kit, and this theme, support the
553
- [development phases](https://www.gov.uk/service-manual/agile-delivery#phases-of-an-agile-project) defined by the
554
- Government Digital Service (GDS) - these are:
555
-
556
- * Discovery - a stage before any website is built
557
- * Alpha - an early prototyping stage
558
- * Beta - a pre-release stage, things are expected to work correctly but with restrictions in terms of scale,
559
- completeness or performance
560
- * Live - a service in general release - expected to work correctly without restrictions
561
- * Retirement - a service being wound down - expected to work until being shut-down, but no further improvements made
562
-
563
- This theme provides a development phase banner to inform end-users of the current development phase. It consists of:
564
-
565
- * the `phase` config option - which defines current development phase for the website
566
- * the *Phase banner* include - which displays information to end-users
567
-
568
- The `phase` config option **MUST** be set to one of these options:
569
-
570
- * `alpha`
571
- * `beta`
572
- * `live`
573
- * `retired`
574
-
575
- For all phases except live, a banner with a link to give site feedback will be shown. In the live phase no additional
576
- information is shown.
577
-
578
- **Note:** The *discovery* phase is not supported as website prototypes should only be made in the *alpha* stage.
579
-
580
- ### Legal policies
581
-
582
- By law and by policy BAS websites are required to provide end-users with information on various legal policies. Namely:
178
+ #### Style Kit specific configuration options
583
179
 
584
- 1. a copyright statement
585
- 2. a privacy policy
586
- 3. a cookies policy
180
+ * [feature flags](/docs/config/feature-flags.md)
181
+ * [attributes](/docs/config/attributes.md)
587
182
 
588
- Links to these policies are displayed in the *Site footer* include, using config options to set their locations.
183
+ ### Plugins
589
184
 
590
- #### Copyright statement
185
+ This theme depends on these plugins:
591
186
 
592
- The `copyright_href` config option **MUST** be set to a location with more information on how information on this
593
- website is licensed, and how it can be used.
594
-
595
- It **MUST** document, which legal entity owns the content on the website, the license they make it available to
596
- different auidences under, and what these users can and can't do as a result of this license.
597
-
598
- It **MUST** acknowledge other rights holders, and the terms under which they make their information available, if this
599
- applies. This may include information from other parts of BAS or NERC, which are licensed differently.
600
-
601
- The license under which the majority of the website's content is made available **SHOULD** be displayed in the site
602
- footer, to make it easy to find by end-users. The phrase `Except where otherwise stated` can be used where multiple
603
- licenses apply to different types of concept, providing this is suitably explained in the copyright statement, or next
604
- to the relevant content.
605
-
606
- Template policies which can be used as an example/base for such policies are being developed with relevant stake
607
- holders. Until these are ready contact the Web & Applications team for advice on what to put in such polices.
608
-
609
- **Note:** This **SHOULD NOT** be the copyright statement used on the BAS public website, as it is not representative of
610
- our other websites.
611
-
612
- #### Privacy policy
613
-
614
- The `privacy_href` config option **MUST** be set to a location with more information on how user's information is used
615
- by the website.
616
-
617
- It **MUST** document if any personal information is collected from end-users, why it is collected, who will hold it
618
- and process it, how long it will be held for, and how the end-user can access, update or remove this information.
619
-
620
- Template policies which can be used as an example/base for such policies are being developed with relevant stake
621
- holders. Until these are ready contact the Web & Applications team for advice on what to put in such polices.
622
-
623
- **Note:** This **SHOULD NOT** be the privacy policy used on the BAS public website, as it is not representative of our
624
- other websites.
625
-
626
- #### Cookies policy
627
-
628
- The `cookies_href` config option **MUST** be set to a location with more information on how the website uses cookies.
629
-
630
- It should document the cookies used, what they are for and when they are set to expire. It should also provide
631
- information on how users can view and manage cookies used by this website.
632
-
633
- Template policies which can be used as an example/base for such policies are being developed with relevant stake
634
- holders. Until these are ready contact the Web & Applications team for advice on what to put in such polices.
635
-
636
- **Note:** This **SHOULD NOT** be the cookie policy used on the BAS public website, as it is not representative of our
637
- other websites.
638
-
639
- ### Website feedback
640
-
641
- Feedback from end-users is vital to build a website based on their needs, rather than the needs we think they have.
642
-
643
- To this end, an easy to use mechanism for end-users to submit feedback **SHOULD** be available on all websites.
644
-
645
- This theme provides numerous links to a feedback URL, defined using the `feedback_href` config option. This **SHOULD**
646
- take the user to a form where they can provide feedback about the website.
647
-
648
- Links to this URL are shown:
649
-
650
- * in the site navigation, as the right most item
651
- * in the development phase banner, for development phases except *live*
652
- * in the site footer, as a 'is something wrong with this page?' link
653
-
654
- See the *Site navigation*, *Site footer* and *Development phase notice* sections for more information.
187
+ * [Jekyll data](https://github.com/ashmaroli/jekyll-data) - for including theme data files into a site's configuration
188
+ * [Jekyll menu](https://github.com/forestryio/jekyll-menus) - for managing navigation menus
189
+ * [Jekyll tidy](https://github.com/apsislabs/jekyll-tidy) - for rewriting HTML output to be well structured
655
190
 
656
191
  ## Development
657
192
 
658
- [Git](https://git-scm.com) and [Docker](https://www.docker.com/products/docker) [1] are required to build this project
659
- locally.
193
+ [Git](https://git-scm.com), [Docker](https://www.docker.com/community-edition) and
194
+ [Docker Compose](https://docs.docker.com/compose/overview/) are required to build this project locally.
660
195
 
661
196
  To update the Docker image for this project, access to the private
662
- [BAS Docker Registry](https://docker-registry.data.bas.ac.uk) [2] is also required.
197
+ [BAS Docker Registry](https://docker-registry.data.bas.ac.uk) [1] is also required.
663
198
 
664
199
  ```shell
665
- $ git clone https://gitlab.data.bas.ac.uk/BSK/bas-style-kit-jekyll-theme.git
200
+ $ git clone https://gitlab.data.bas.ac.uk/web-apps/bsk/bas-style-kit-jekyll-theme.git
666
201
  $ cd bas-style-kit-jekyll-theme
667
-
668
202
  $ docker-compose up
669
203
  ```
670
204
 
671
- Go to [localhost:9000](http://localhost:9000) to preview the theme.
205
+ Visit [localhost:9000](http://localhost:9000) to see a preview of the theme.
672
206
 
673
207
  **Note:** If you don't have access to the BAS Private Docker Registry, you will need to build the project Docker image
674
208
  locally first using `docker-compose build`.
675
209
 
676
- [1] To install Git and Docker:
677
-
678
- **On macOS**
210
+ [1] The first time you use this registry, you will need to authenticate using:
679
211
 
680
212
  ```shell
681
- $ brew install git
682
- $ brew cask install docker
213
+ $ docker login docker-registry.data.bas.ac.uk
683
214
  ```
684
215
 
685
- **On Windows**
686
-
687
- * Install Docker and Git using their respective installers
688
-
689
- [2] The first time you use this registry, you will need to authenticate using:
690
- `docker login docker-registry.data.bas.ac.uk`
691
-
692
216
  ### Updating dependencies
693
217
 
694
- If `Gemfile` is changed, the project Docker image will need to be rebuilt and pushed to the private BAS Docker
695
- Repository [1].
696
-
697
- The current project version is used as part of the project Docker image tag to ensure the latest version is used by all
698
- developers. Before rebuilding this image you **MUST** update this tag value in `docker-compose.yml` and `.gitlab-ci.yml`
699
- first.
218
+ If the `.gemspec` for this project is changed, the project Docker image will need to be rebuilt and pushed to the
219
+ private BAS Docker Repository [1].
700
220
 
701
221
  ```shell
702
- $ cd jekyll-theme-bas-style-kit/
703
-
704
222
  $ docker-compose build app
705
223
  $ docker-compose push app
706
224
  ```
707
225
 
708
226
  [1] The first time you use this registry, you will need to authenticate using:
709
- `docker login docker-registry.data.bas.ac.uk`
227
+
228
+ ```shell
229
+ $ docker login docker-registry.data.bas.ac.uk
230
+ ```
710
231
 
711
232
  ### Jekyll plugins
712
233
 
713
- Additional Jekyll plugins can be used by listing them as dependencies of this theme.
234
+ Additional Jekyll plugins (gems) can be used by listing them as dependencies in the `gems` option in `_config.yml`.
714
235
 
715
- When the theme is installed by an end-user these plugins will be also be installed. This theme includes a `_config.yml`
716
- to set `gems` option to include any required plugins.
236
+ They will be installed automatically when this theme is used by an end-user.
717
237
 
718
238
  ### Jekyll config options
719
239
 
720
- The Jekyll Data plugin is used to set config options within sites that use this theme. For this to work the site still
721
- needs to call the Data plugin, other config options can then be set by this plugin.
722
-
723
- **Note:** Make sure to document which config options are set by this theme, especially conventional options.
240
+ The Jekyll Data plugin is used to set config options within sites that use this theme. Make sure to document which
241
+ config options are set by this theme.
724
242
 
725
243
  ### Ruby Gem
726
244
 
@@ -731,36 +249,73 @@ The `jekyll-theme-bas-style-kit.gemspec` file details the properties of the Gem
731
249
  **Note:** The `spec.files` parameter controls which files in this project are copied into the Gem. If a file is not
732
250
  listed it won't be included. This is separate to the Git `.gitignore` file.
733
251
 
252
+ ## GitHub mirror
253
+
254
+ A read-only mirror of this project's repository is maintained on GitHub, to support Jekyll's automatic theme
255
+ installation, and to allow use by those outside of BAS.
256
+
257
+ Merge requests **WILL NOT** be accepted on this mirror.
258
+
734
259
  ## Release procedures
735
260
 
736
- 1. bump version in `jekyll-theme-bas-style-kit.gemspec` and `docker-compose.yml` and `_data/bsk_jekyll_vars.json`
737
- 2. `docker-compose build`
738
- 3. `docker-compose push`
739
- 4. if new plugins have been added, update the usage section for where users override the `gems` config option
740
- 5. if new config options have been set, update the usage section
741
- 6. update screen-shot (width: 900px)
742
- 7. close release
743
- 8. commit changes to git and tag with new version
744
- 9. `docker-compose run app gem build jekyll-theme-bas-style-kit.gemspec`
745
- 10. `docker-compose run app gem push jekyll-theme-bas-style-kit-*.gem`
261
+ Before release:
262
+
263
+ 1. create a release branch
264
+ 2. remove `-develop` from the version in:
265
+ * `jekyll-theme-bas-style-kit.gemspec`
266
+ * `docker-compose.yml`
267
+ * `_data/bsk_jekyll_vars.json`
268
+ 3. push the app docker image [1]
269
+ 4. if new config options have been set, update the usage section
270
+ 5. update screen-shot (width: 900px)
271
+ 6. close release in changelog
272
+ 7. commit changes, merge with master and tag with new version
273
+ 8. push the release to Ruby Gems [2]
746
274
 
747
275
  **Note:** If the BAS Style Kit version changes, make sure to bump that version in `_data/bsk_jekyll_vars.json` too.
748
276
 
277
+ After release:
278
+
279
+ 1. bump the version with `-develop` as a prefix in:
280
+ * `jekyll-theme-bas-style-kit.gemspec`
281
+ * `docker-compose.yml`
282
+ * `_data/bsk_jekyll_vars.json`
283
+ 2. push the app docker image [1]
284
+ 3. commit changes, merge with master and close release branch
285
+
286
+ [1]
287
+
288
+ ```shell
289
+ $ docker-compose build
290
+ $ docker-compose push
291
+ ```
292
+
293
+ [2]
294
+
295
+ ```shell
296
+ $ docker-compose run app gem build jekyll-theme-bas-style-kit.gemspec
297
+ $ docker-compose run app gem push jekyll-theme-bas-style-kit-*.gem
298
+ ```
299
+
300
+ **Note:** Add `entrypoint: ash` to the `app` service in `docker-compose.yml`
301
+
749
302
  ## Issue tracking
750
303
 
751
- This project uses issue tracking, see the
752
- [issue tracker](https://gitlab.data.bas.ac.uk/BSK/bas-style-kit-jekyll-theme/issues) for more information.
304
+ This project uses [issue tracking](https://gitlab.data.bas.ac.uk/web-apps/bsk/bas-style-kit-jekyll-theme) to manage
305
+ development of new features/improvements and reporting bugs.
753
306
 
754
307
  **Note:** Read & write access to this issue tracker is restricted. Contact the project maintainer to request access.
755
308
 
756
309
  ## Feedback
757
310
 
758
- The maintainer of this project is the BAS Web & Applications Team, they can be contacted at: webapps@bas.ac.uk.
311
+ The maintainer of this project is the BAS Web & Applications Team, they can be contacted through the
312
+ [BAS Service Desk](mailto:servicedesk@bas.ac.uk).
759
313
 
760
314
  ## License
761
315
 
762
- Copyright 2017 NERC BAS.
316
+ © Natural Environment Research Council (NERC), 2017 - 2018, British Antarctic Survey.
763
317
 
764
- Unless stated otherwise, all code is licensed under the MIT license.
318
+ You may use and re-use this software and associated documentation files free of charge in any format or medium, under
319
+ the terms of the Open Government Licence v3.0.
765
320
 
766
- Copies of this licenses are included within this project.
321
+ You may obtain a copy of the Open Government Licence at http://www.nationalarchives.gov.uk/doc/open-government-licence/