jekyll-theme-bas-style-kit 0.2.3 → 0.3.0.pre.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
![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
|
-
|
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/
|