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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +41 -0
- data/LICENSE.md +4 -3
- data/README.md +170 -615
- data/_config.yml +61 -20
- data/_data/bas-style-kit/bsk-css.yml +5 -0
- data/_data/bas-style-kit/bsk-js.yml +13 -0
- data/_data/bas-style-kit/bsk-vars.yml +3 -0
- data/_data/menus.yml +19 -0
- data/_includes/bas-style-kit/body.html +3 -0
- data/_includes/bas-style-kit/bsk-body--analytics-script.html +9 -0
- data/_includes/bas-style-kit/bsk-body--back-to-top.html +2 -0
- data/_includes/bas-style-kit/bsk-body--core-scripts.html +8 -0
- data/_includes/bas-style-kit/bsk-body--standard-footer.html +16 -0
- data/_includes/bas-style-kit/bsk-body--standard-header.html +17 -0
- data/_includes/bas-style-kit/bsk-body--standard.html +15 -0
- data/_includes/bas-style-kit/bsk-body.html +9 -0
- data/_includes/bas-style-kit/bsk-footer--contents.html +0 -0
- data/_includes/bas-style-kit/bsk-footer--legal-policies.html +8 -0
- data/_includes/bas-style-kit/bsk-footer--ogl.html +9 -0
- data/_includes/bas-style-kit/bsk-head--core-meta.html +4 -0
- data/_includes/bas-style-kit/bsk-head--core-styles.html +6 -0
- data/_includes/bas-style-kit/bsk-head--favicon.html +2 -0
- data/_includes/bas-style-kit/bsk-head--seo-meta.html +4 -0
- data/_includes/bas-style-kit/bsk-head.html +6 -0
- data/_includes/bas-style-kit/bsk-header--cookie-notice.html +11 -0
- data/_includes/bas-style-kit/bsk-header--development-phase.html +12 -0
- data/_includes/bas-style-kit/bsk-header--site-navigation.html +6 -0
- data/_includes/bas-style-kit/bsk-nav--collapse.html +4 -0
- data/_includes/bas-style-kit/bsk-nav--header.html +4 -0
- data/_includes/bas-style-kit/bsk-nav-collapse--primary-navigation.html +32 -0
- data/_includes/bas-style-kit/bsk-nav-collapse--secondary-navigation.html +20 -0
- data/_includes/bas-style-kit/bsk-nav-header--brand.html +8 -0
- data/_includes/bas-style-kit/bsk-nav-header--collapse-trigger.html +6 -0
- data/_includes/bas-style-kit/head.html +1 -0
- data/_layouts/bas-style-kit/blank.html +4 -0
- data/_layouts/bas-style-kit/bsk--base.html +8 -0
- data/_layouts/bas-style-kit/bsk--standard.html +8 -0
- data/_layouts/bas-style-kit/html.html +8 -0
- data/screenshot.png +0 -0
- metadata +101 -34
- data/LICENSE-MIT.md +0 -21
- data/_data/bsk_jekyll_js.json +0 -22
- data/_data/bsk_jekyll_vars.json +0 -4
- data/_includes/layout/cookie-banner.html +0 -7
- data/_includes/layout/phase-banner.html +0 -15
- data/_includes/layout/site-footer.html +0 -26
- data/_includes/layout/site-navigation.html +0 -77
- data/_includes/snippets/back-to-top.html +0 -1
- data/_includes/snippets/body-js.html +0 -12
- data/_includes/snippets/google-analytics.html +0 -12
- data/_includes/snippets/head.html +0 -29
- data/_includes/snippets/is-something-wrong.html +0 -1
- data/_layouts/blank.html +0 -1
- data/_layouts/default.html +0 -20
- data/_layouts/html.html +0 -12
- data/assets/bsk-jekyll/css/jekyll-theme-bas-style-kit.scss +0 -75
- data/assets/bsk-jekyll/img/apple-touch-icon.png +0 -0
- data/assets/bsk-jekyll/js/cookie-banner.js +0 -32
- data/assets/css/main.scss +0 -7
- data/assets/js/page-js-test.js +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: df59f75fdc4991621b5ff5f537da27484f945f2a9d35a19483e1bc8a406fc8c9
|
4
|
+
data.tar.gz: b26da147481d36eeeb7349f7319ab151029caee65879cf1a8cf8fbce9b384018
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
3
|
+
© Natural Environment Research Council (NERC), 2017-2018, British Antarctic Survey.
|
4
4
|
|
5
|
-
|
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
|
-
|
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
|
-
#
|
1
|
+
# BAS Style Kit Jekyll Theme
|
2
2
|
|
3
|
-
Jekyll theme
|
3
|
+
Jekyll theme for the [BAS Style Kit](https://stlye-kit.web.bas.ac.uk).
|
4
4
|
|
5
5
|

|
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
|
-
|
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
|
-
|
39
|
-
|
32
|
+
# If your site uses additional plugins, append these items
|
33
|
+
plugins:
|
34
|
+
- jekyll-menus
|
35
|
+
- jekyll-tidy
|
40
36
|
```
|
41
37
|
|
42
|
-
|
43
|
-
|
44
|
-
**Note:** If you have loaded any Jekyll plugins using the `gems` option, also include these plugins:
|
38
|
+
## Usage
|
45
39
|
|
46
|
-
|
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
|
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
|
-
|
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
|
-
|
49
|
+
All layouts use the `.html` extension. I.e. the layout `blank` should be referenced as `blank.html`.
|
66
50
|
|
67
|
-
|
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
|
-
|
54
|
+
#### Generic layouts
|
70
55
|
|
71
|
-
|
72
|
-
*
|
56
|
+
* [`blank`](/docs/layout/blank.md)
|
57
|
+
* [`html`](/docs/layout/html.md)
|
73
58
|
|
74
|
-
|
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
|
-
|
79
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
73
|
+
All includes use the `.html` extension. I.e. the include `body` should be referenced as `body.html`.
|
186
74
|
|
187
|
-
|
188
|
-
|
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
|
-
####
|
78
|
+
#### Generic includes
|
191
79
|
|
192
|
-
|
80
|
+
* [`head`](/docs/include/head.md)
|
81
|
+
* [`body`](/docs/include/body.md)
|
193
82
|
|
194
|
-
|
83
|
+
#### Style Kit specific includes
|
195
84
|
|
196
|
-
|
197
|
-
|
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
|
-
|
200
|
-
to the Google Analytics service.
|
89
|
+
HTML Head includes:
|
201
90
|
|
202
|
-
|
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
|
-
|
96
|
+
HTML Body includes:
|
205
97
|
|
206
|
-
|
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
|
-
|
104
|
+
Footer includes:
|
209
105
|
|
210
|
-
*
|
211
|
-
*
|
212
|
-
*
|
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
|
-
|
110
|
+
Header includes:
|
225
111
|
|
226
|
-
|
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
|
-
|
116
|
+
Navigation includes:
|
229
117
|
|
230
|
-
|
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
|
-
|
125
|
+
### Data files
|
233
126
|
|
234
|
-
|
127
|
+
Refer to [Jekyll's documentation](https://jekyllrb.com/docs/datafiles/) for general information.
|
235
128
|
|
236
|
-
|
129
|
+
This theme uses data files to define CSS and JavaScript resources to load and for some variables about the theme.
|
237
130
|
|
238
|
-
|
239
|
-
|
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
|
-
|
134
|
+
#### Style Kit specific data files
|
243
135
|
|
244
|
-
|
245
|
-
|
246
|
-
|
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
|
-
###
|
140
|
+
### Variables
|
395
141
|
|
396
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
405
|
-
* related items: `nav_related_sites`
|
151
|
+
### Configuration options
|
406
152
|
|
407
|
-
|
153
|
+
Refer to [Jekyll's documentation](https://jekyllrb.com/docs/configuration/) for general information.
|
408
154
|
|
409
|
-
|
410
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
428
|
-
|
429
|
-
name: About
|
430
|
-
type: single_item
|
165
|
+
foo:
|
166
|
+
bar
|
431
167
|
```
|
432
168
|
|
433
|
-
|
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
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
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
|
-
|
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
|
-
|
585
|
-
|
586
|
-
3. a cookies policy
|
180
|
+
* [feature flags](/docs/config/feature-flags.md)
|
181
|
+
* [attributes](/docs/config/attributes.md)
|
587
182
|
|
588
|
-
|
183
|
+
### Plugins
|
589
184
|
|
590
|
-
|
185
|
+
This theme depends on these plugins:
|
591
186
|
|
592
|
-
|
593
|
-
|
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)
|
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) [
|
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/
|
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
|
-
|
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]
|
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
|
-
$
|
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 `
|
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
|
-
|
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
|
234
|
+
Additional Jekyll plugins (gems) can be used by listing them as dependencies in the `gems` option in `_config.yml`.
|
714
235
|
|
715
|
-
|
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.
|
721
|
-
|
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
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
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
|
752
|
-
|
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
|
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
|
-
|
316
|
+
© Natural Environment Research Council (NERC), 2017 - 2018, British Antarctic Survey.
|
763
317
|
|
764
|
-
|
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
|
-
|
321
|
+
You may obtain a copy of the Open Government Licence at http://www.nationalarchives.gov.uk/doc/open-government-licence/
|