dss_tech_docs 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +29 -0
  3. data/.gitignore +37 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +11 -0
  6. data/.ruby-version +1 -0
  7. data/.travis.yml +9 -0
  8. data/CHANGELOG.md +274 -0
  9. data/CONTRIBUTING.md +9 -0
  10. data/Gemfile +4 -0
  11. data/LICENCE +21 -0
  12. data/README.md +89 -0
  13. data/Rakefile +13 -0
  14. data/docs/configuration.md +205 -0
  15. data/docs/core-layout-without-sidebar.png +0 -0
  16. data/docs/core-layout.png +0 -0
  17. data/docs/expired-page.png +0 -0
  18. data/docs/frontmatter.md +145 -0
  19. data/docs/last-reviewed-only.png +0 -0
  20. data/docs/last-reviewed-only.svg +1 -0
  21. data/docs/layout-layout.png +0 -0
  22. data/docs/not-expired-page.png +0 -0
  23. data/docs/page-expiry.md +85 -0
  24. data/dss_tech_docs.gemspec +46 -0
  25. data/example/.ruby-version +1 -0
  26. data/example/Gemfile +3 -0
  27. data/example/config.rb +9 -0
  28. data/example/config/hide-expiry.yml +51 -0
  29. data/example/config/tech-docs.yml +50 -0
  30. data/example/source/api-path.html.md +7 -0
  31. data/example/source/api-reference.html.md +5 -0
  32. data/example/source/child-of-expired-page.html.md +8 -0
  33. data/example/source/core-layout-without-sidebar.html.md.erb +7 -0
  34. data/example/source/core-layout.html.md.erb +12 -0
  35. data/example/source/expired-page-with-owner.html.md +10 -0
  36. data/example/source/expired-page.html.md +9 -0
  37. data/example/source/headings.html.md +11 -0
  38. data/example/source/index.html.md.erb +19 -0
  39. data/example/source/javascripts/application.js +1 -0
  40. data/example/source/not-expired-page.html.md +9 -0
  41. data/example/source/pets.yml +109 -0
  42. data/example/source/stylesheets/print.css.scss +3 -0
  43. data/example/source/stylesheets/screen-old-ie.css.scss +4 -0
  44. data/example/source/stylesheets/screen.css.scss +1 -0
  45. data/example/source/templates/proxy_template.html.md +8 -0
  46. data/lib/assets/javascripts/_analytics.js +58 -0
  47. data/lib/assets/javascripts/_govuk/modules.js +57 -0
  48. data/lib/assets/javascripts/_modules/anchored-headings.js +18 -0
  49. data/lib/assets/javascripts/_modules/collapsible-navigation.js +95 -0
  50. data/lib/assets/javascripts/_modules/in-page-navigation.js +132 -0
  51. data/lib/assets/javascripts/_modules/navigation.js +34 -0
  52. data/lib/assets/javascripts/_modules/page-expiry.js +15 -0
  53. data/lib/assets/javascripts/_modules/search.js +367 -0
  54. data/lib/assets/javascripts/_modules/table-of-contents.js +111 -0
  55. data/lib/assets/javascripts/_start-modules.js +13 -0
  56. data/lib/assets/javascripts/_vendor/fixedsticky.js +194 -0
  57. data/lib/assets/javascripts/_vendor/jquery.js +5 -0
  58. data/lib/assets/javascripts/_vendor/jquery.mark.js +1081 -0
  59. data/lib/assets/javascripts/_vendor/lodash.js +613 -0
  60. data/lib/assets/javascripts/_vendor/modernizr.js +3 -0
  61. data/lib/assets/javascripts/govuk_tech_docs.js +10 -0
  62. data/lib/assets/stylesheets/_accessibility.scss +9 -0
  63. data/lib/assets/stylesheets/_core.scss +71 -0
  64. data/lib/assets/stylesheets/_fonts.scss +29 -0
  65. data/lib/assets/stylesheets/_govuk_tech_docs.scss +2 -0
  66. data/lib/assets/stylesheets/_syntax-highlighting.scss +196 -0
  67. data/lib/assets/stylesheets/_variables.scss +12 -0
  68. data/lib/assets/stylesheets/govuk_frontend_toolkit/_colours.scss +2 -0
  69. data/lib/assets/stylesheets/govuk_frontend_toolkit/_conditionals.scss +81 -0
  70. data/lib/assets/stylesheets/govuk_frontend_toolkit/_css3.scss +90 -0
  71. data/lib/assets/stylesheets/govuk_frontend_toolkit/_device-pixels.scss +10 -0
  72. data/lib/assets/stylesheets/govuk_frontend_toolkit/_font_stack.scss +19 -0
  73. data/lib/assets/stylesheets/govuk_frontend_toolkit/_grid_layout.scss +136 -0
  74. data/lib/assets/stylesheets/govuk_frontend_toolkit/_helpers.scss +16 -0
  75. data/lib/assets/stylesheets/govuk_frontend_toolkit/_measurements.scss +14 -0
  76. data/lib/assets/stylesheets/govuk_frontend_toolkit/_shims.scss +55 -0
  77. data/lib/assets/stylesheets/govuk_frontend_toolkit/_typography.scss +249 -0
  78. data/lib/assets/stylesheets/govuk_frontend_toolkit/_url-helpers.scss +16 -0
  79. data/lib/assets/stylesheets/govuk_frontend_toolkit/colours/_organisation.scss +103 -0
  80. data/lib/assets/stylesheets/govuk_frontend_toolkit/colours/_palette.scss +77 -0
  81. data/lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_alpha-beta.scss +66 -0
  82. data/lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_breadcrumbs.scss +53 -0
  83. data/lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_buttons.scss +141 -0
  84. data/lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_media-player.scss +242 -0
  85. data/lib/assets/stylesheets/modules/_anchored-heading.scss +54 -0
  86. data/lib/assets/stylesheets/modules/_app-pane.scss +64 -0
  87. data/lib/assets/stylesheets/modules/_collapsible.scss +52 -0
  88. data/lib/assets/stylesheets/modules/_contribution-banner.scss +22 -0
  89. data/lib/assets/stylesheets/modules/_footer.scss +130 -0
  90. data/lib/assets/stylesheets/modules/_govuk-logo.scss +47 -0
  91. data/lib/assets/stylesheets/modules/_header.scss +290 -0
  92. data/lib/assets/stylesheets/modules/_page-review.scss +35 -0
  93. data/lib/assets/stylesheets/modules/_phase-banner.scss +22 -0
  94. data/lib/assets/stylesheets/modules/_search.scss +137 -0
  95. data/lib/assets/stylesheets/modules/_skip-link.scss +31 -0
  96. data/lib/assets/stylesheets/modules/_technical-documentation.scss +241 -0
  97. data/lib/assets/stylesheets/modules/_toc.scss +216 -0
  98. data/lib/assets/stylesheets/modules/_warning-text.scss +73 -0
  99. data/lib/assets/stylesheets/palette/_syntax-highlighting.scss +23 -0
  100. data/lib/assets/stylesheets/utilities/_fonts.scss +29 -0
  101. data/lib/assets/stylesheets/utilities/_printable.scss +13 -0
  102. data/lib/assets/stylesheets/vendor/_fixedsticky.scss +22 -0
  103. data/lib/dss_tech_docs.rb +121 -0
  104. data/lib/govuk_tech_docs/api_reference/api_reference_extension.rb +101 -0
  105. data/lib/govuk_tech_docs/api_reference/api_reference_renderer.rb +279 -0
  106. data/lib/govuk_tech_docs/api_reference/templates/api_reference_full.html.erb +19 -0
  107. data/lib/govuk_tech_docs/api_reference/templates/operation.html.erb +11 -0
  108. data/lib/govuk_tech_docs/api_reference/templates/parameters.html.erb +28 -0
  109. data/lib/govuk_tech_docs/api_reference/templates/path.html.erb +4 -0
  110. data/lib/govuk_tech_docs/api_reference/templates/responses.html.erb +33 -0
  111. data/lib/govuk_tech_docs/api_reference/templates/schema.html.erb +29 -0
  112. data/lib/govuk_tech_docs/contribution_banner.rb +62 -0
  113. data/lib/govuk_tech_docs/meta_tags.rb +67 -0
  114. data/lib/govuk_tech_docs/page_review.rb +52 -0
  115. data/lib/govuk_tech_docs/pages.rb +32 -0
  116. data/lib/govuk_tech_docs/redirects.rb +39 -0
  117. data/lib/govuk_tech_docs/table_of_contents/heading.rb +30 -0
  118. data/lib/govuk_tech_docs/table_of_contents/heading_tree.rb +27 -0
  119. data/lib/govuk_tech_docs/table_of_contents/heading_tree_builder.rb +41 -0
  120. data/lib/govuk_tech_docs/table_of_contents/heading_tree_renderer.rb +46 -0
  121. data/lib/govuk_tech_docs/table_of_contents/headings_builder.rb +39 -0
  122. data/lib/govuk_tech_docs/table_of_contents/helpers.rb +79 -0
  123. data/lib/govuk_tech_docs/tech_docs_html_renderer.rb +34 -0
  124. data/lib/govuk_tech_docs/unique_identifier_extension.rb +13 -0
  125. data/lib/govuk_tech_docs/unique_identifier_generator.rb +72 -0
  126. data/lib/govuk_tech_docs/version.rb +3 -0
  127. data/lib/govuk_tech_docs/warning_text_extension.rb +23 -0
  128. data/lib/source/api/pages.json.erb +1 -0
  129. data/lib/source/favicon.ico +0 -0
  130. data/lib/source/images/anchored-heading-icon-2x.png +0 -0
  131. data/lib/source/images/anchored-heading-icon.png +0 -0
  132. data/lib/source/images/gov.uk_logotype_crown-2x.png +0 -0
  133. data/lib/source/images/gov.uk_logotype_crown.png +0 -0
  134. data/lib/source/images/gov.uk_logotype_crown_invert_trans.png +0 -0
  135. data/lib/source/images/govuk-crest-2x.png +0 -0
  136. data/lib/source/images/govuk-crest.png +0 -0
  137. data/lib/source/images/govuk-icn-close.png +0 -0
  138. data/lib/source/images/govuk-icn-close@2x.png +0 -0
  139. data/lib/source/images/govuk-icn-numbered-list.png +0 -0
  140. data/lib/source/images/govuk-icn-numbered-list@2x.png +0 -0
  141. data/lib/source/images/open-government-licence.png +0 -0
  142. data/lib/source/images/open-government-licence_2x.png +0 -0
  143. data/lib/source/images/search-result-caret.svg +13 -0
  144. data/lib/source/layouts/_analytics.erb +15 -0
  145. data/lib/source/layouts/_footer.erb +10 -0
  146. data/lib/source/layouts/_header.erb +44 -0
  147. data/lib/source/layouts/_page_review.erb +22 -0
  148. data/lib/source/layouts/_search.erb +16 -0
  149. data/lib/source/layouts/core.erb +82 -0
  150. data/lib/source/layouts/layout.erb +18 -0
  151. metadata +474 -0
@@ -0,0 +1,13 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ require 'jasmine'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ load 'jasmine/tasks/jasmine.rake'
8
+
9
+ task :lint do
10
+ sh "govuk-lint-ruby example lib spec Rakefile"
11
+ end
12
+
13
+ task default: ['lint', 'spec', 'jasmine:ci']
@@ -0,0 +1,205 @@
1
+ # Configuration
2
+
3
+ You can configure the site using `config/tech-docs.yml`. [See the PaaS tech docs for an example](https://github.com/alphagov/paas-tech-docs/blob/master/config/tech-docs.yml).
4
+
5
+ These are all the available options:
6
+
7
+ ## `ga_tracking_id`
8
+
9
+ Tracking ID from Google Analytics
10
+
11
+ ```yaml
12
+ ga_tracking_id: UA-XXXX-Y
13
+ ```
14
+
15
+ ## `github_repo`
16
+
17
+ Your repository. Required if [show_contribution_banner](#show-contribution-banner) is true.
18
+
19
+ ```yaml
20
+ github_repo: alphagov/example-repo
21
+ ```
22
+
23
+ ## `github_branch`
24
+
25
+ Your github branch name. Useful if your default branch is not named master.
26
+
27
+ ```yaml
28
+ github_branch: source
29
+ ```
30
+
31
+ ## `google_site_verification`
32
+
33
+ Adds a [Google Site Verification code](https://support.google.com/webmasters/answer/35179?hl=en) to the meta tags.
34
+
35
+ ```yaml
36
+ google_site_verification: TvDTuyvdstyusadrCSDrctyd
37
+ ```
38
+
39
+ ## `enable_search`
40
+
41
+ Enables search functionality. This indexes pages only and is not recommended for single-page sites.
42
+
43
+ ```yaml
44
+ enable_search: true
45
+ ```
46
+
47
+ ## `header_links`
48
+
49
+ Right hand side navigation.
50
+
51
+ Example:
52
+
53
+ ```yaml
54
+ header_links:
55
+ Documentation: /
56
+ ```
57
+
58
+ ## `host`
59
+
60
+ Host to use for canonical URL generation (without trailing slash).
61
+
62
+ Example:
63
+
64
+ ```yaml
65
+ host: https://docs.cloud.service.gov.uk
66
+ ```
67
+
68
+ ## `collapsible_nav`
69
+
70
+ Enable collapsible navigation in the sidebar. Defaults to false;
71
+
72
+ ```yaml
73
+ collapsible_nav: true
74
+ ```
75
+
76
+ ## `multipage_nav`
77
+
78
+ Enable multipage navigation in the sidebar. Defaults to false;
79
+
80
+ ```yaml
81
+ multipage_nav: true
82
+ ```
83
+
84
+ ## `max_toc_heading_level`
85
+
86
+ Table of contents depth – how many levels to include in the table of contents. If your ToC is too long, reduce this number and we'll only show higher-level headings.
87
+
88
+ ```yaml
89
+ max_toc_heading_level: 6
90
+ ```
91
+
92
+ ## `phase`
93
+
94
+ ```yaml
95
+ phase: "Beta"
96
+ ```
97
+
98
+ ## `prevent_indexing`
99
+
100
+ Prevent robots from indexing (e.g. whilst in development)
101
+
102
+ ```yaml
103
+ prevent_indexing: false
104
+ ```
105
+
106
+ ## `redirects`
107
+
108
+ A list of redirects, from old to new location. Use this to set up external
109
+ redirects or if [setting `old_paths` in the frontmatter](docs/frontmatter.md#old_paths) doesn't work.
110
+
111
+ ```yaml
112
+ redirects:
113
+ /old-page.html: https://example.org/something-else.html
114
+ /another/old-page.html: /another/new-page.html
115
+ ```
116
+
117
+ ## `service_name`
118
+
119
+ The service name in the header.
120
+
121
+ Example:
122
+
123
+ ```yaml
124
+ service_name: "Platform as a Service"
125
+ ```
126
+
127
+ ## `full_service_name`
128
+
129
+ The full service name (maybe with GOV.UK)
130
+
131
+ Example:
132
+
133
+ ```yaml
134
+ full_service_name: "GOV.UK Pay"
135
+ ```
136
+
137
+ ## `service_link`
138
+
139
+ What the service name in the header links to.
140
+
141
+ default: '/'
142
+
143
+ ```yaml
144
+ service_link: "/"
145
+ ```
146
+
147
+ ## `show_contribution_banner`
148
+
149
+ Show a block at the bottom of the page that links to the page source, so readers
150
+ can easily contribute back to the documentation. If turned on [github_repo](#github-repo) is
151
+ required.
152
+
153
+ Off by default.
154
+
155
+ ```yaml
156
+ show_contribution_banner: true
157
+ github_repo: alphagov/example-repo
158
+ ```
159
+
160
+ ## `source_urls`
161
+
162
+ Customise the URLs that the contribution banner links to. Only useful if
163
+ [show_contribution_banner](#show_contribution_banner) is turned on. By default, "Report issue" links
164
+ to raising a GitHub issue but by modifying the `report_issue_url` it can link to an email address
165
+ or another page.
166
+
167
+ ```yaml
168
+ source_urls:
169
+ report_issue_url: mailto:support@example.com
170
+ ```
171
+
172
+ ## `show_govuk_logo`
173
+
174
+ Whether to show the GOV.UK crown logo.
175
+
176
+ default: `true`
177
+
178
+ ```yaml
179
+ show_govuk_logo: true
180
+ ```
181
+
182
+ ## `api_path`
183
+
184
+ Define a path to an Open API V3 spec file. This can be a relative file path or a URI to a raw file.
185
+
186
+ ```yaml
187
+ api_path: ./source/pets.yml
188
+ ```
189
+
190
+ ## `owner_slack_workspace` and `default_owner_slack`
191
+
192
+ These attributes are used to specify the owner of a page. See the separate
193
+ [documentation for page expiry][expiry] for more details.
194
+
195
+ ## `show_expiry`
196
+
197
+ Decides whether or not to show a red banner when the page needs to be reviewed.
198
+
199
+ If not present or set to `true`, the red banner will appear when the page needs to be reviewed. This is the default behaviour.
200
+
201
+ If set to `false`, the red banner will not appear when the page needs to be reviewed.
202
+
203
+ See the separate [documentation for page expiry][expiry] for more details.
204
+
205
+ [expiry]: https://tdt-documentation.london.cloudapps.digital/page-expiry.html#page-expiry-and-review
Binary file
Binary file
@@ -0,0 +1,145 @@
1
+ # Available frontmatter
2
+
3
+ "Frontmatter" allows page-specific variables to be included at the top of a template using YAML. For a general introduction on frontmatter, see the [Middleman frontmatter docs][mm].
4
+
5
+ ## `last_reviewed_on` and `review_in`
6
+
7
+ These attributes determine the date when the page needs to be reviewed next.
8
+ See the separate [documentation for page expiry][expiry] for more details.
9
+
10
+ [expiry]: https://tdt-documentation.london.cloudapps.digital/page-expiry.html#page-expiry-and-review
11
+
12
+ Example:
13
+
14
+ You can use this in combination with [owner_slack](#owner-slack) to set an owner for the page.
15
+
16
+ ## `layout`
17
+
18
+ The layout of the page.
19
+
20
+ ```yaml
21
+ ---
22
+ layout: core
23
+ ---
24
+ ```
25
+
26
+ There are 2 available page layouts.
27
+
28
+ ### The `layout` layout (default)
29
+
30
+ By default, pages will use the `layout` layout. This layout will parse the page and generate a sidebar with a table of contents consisting of each `h2`, `h3`, `h4` heading.
31
+
32
+ ```md
33
+ ---
34
+ layout: layout
35
+ ---
36
+
37
+ # The title
38
+
39
+ ## A subheader
40
+
41
+ ### A h3 subheader
42
+
43
+ ## Another subheader
44
+ ```
45
+
46
+ Will generate a page with the headings from the content in the sidebar.
47
+
48
+ ![](layout-layout.png)
49
+
50
+ ### `core` layout
51
+
52
+ If you want more control about the layout, use `core` layout. This allows you to specify the sidebar manually with a `content_for` block.
53
+
54
+ ```rb
55
+ ---
56
+ layout: core
57
+ ---
58
+
59
+ <% content_for :sidebar do %>
60
+ You can put anything in the sidebar.
61
+ <% end %>
62
+
63
+ This page has a configurable sidebar that is independent of the content.
64
+ ```
65
+
66
+ ![](core-layout.png)
67
+
68
+ If you do not specify a sidebar, you will get a simple one-column layout without one.
69
+
70
+ ```rb
71
+ ---
72
+ layout: core
73
+ ---
74
+
75
+ This page does not have a sidebar.
76
+ ```
77
+
78
+ ![](core-layout-without-sidebar.png)
79
+
80
+ ## `old_paths`
81
+
82
+ Any paths of pages that should redirect to this page.
83
+
84
+ Example:
85
+
86
+ ```yaml
87
+ ---
88
+ old_paths:
89
+ - /some-old-page.html
90
+ ---
91
+ ```
92
+
93
+ ## `owner_slack`
94
+
95
+ The Slack username or channel of the page owner. This can be used to appoint an individual or team as responsible for keeping the page up to date.
96
+
97
+ ```yaml
98
+ ---
99
+ owner_slack: "#operations-teams"
100
+ ---
101
+ ```
102
+
103
+ ## `source_url`
104
+
105
+ If the contribution banner is turned on, you can override the "View source" link
106
+ using `source_url`.
107
+
108
+ Example:
109
+
110
+ ```yaml
111
+ source_url: http://example.org/source.md
112
+ ```
113
+
114
+ ## `title`
115
+
116
+ The browser title of the page.
117
+
118
+ ```yaml
119
+ ---
120
+ title: My beautiful page
121
+ ---
122
+ ```
123
+
124
+ ## `weight`
125
+
126
+ Affects the order a page is displayed in the sidebar navigation tree. Lower
127
+ weights float to the top. Higher weights sink to the bottom.
128
+
129
+ ```yaml
130
+ ---
131
+ weight: 20
132
+ ---
133
+ ```
134
+
135
+ ## `parent`
136
+
137
+ The page that should be highlighted as ‘active’ in the navigation.
138
+
139
+ ```yaml
140
+ ---
141
+ parent: shaving-yaks.html
142
+ ---
143
+ ```
144
+
145
+ [mm]: https://middlemanapp.com/basics/frontmatter
@@ -0,0 +1 @@
1
+ <svg version="1.1" viewBox="0.0 0.0 842.7270341207349 642.2729658792651" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="p.0"><path d="m0 0l842.72705 0l0 642.27295l-842.72705 0l0 -642.27295z" clip-rule="nonzero"/></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l842.72705 0l0 642.27295l-842.72705 0z" fill-rule="evenodd"/><g filter="url(#shadowFilter-p.1)"><use xlink:href="#p.1" transform="matrix(1.0 0.0 0.0 1.0 0.0 2.0)"/></g><defs><filter id="shadowFilter-p.1" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" stdDeviation="2.0" result="blur"/><feComponentTransfer in="blur" color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0" intercept="0.0"/><feFuncG type="linear" slope="0" intercept="0.0"/><feFuncB type="linear" slope="0" intercept="0.0"/><feFuncA type="linear" slope="0.5" intercept="0"/></feComponentTransfer></filter></defs><g id="p.1"><path fill="#000000" fill-opacity="0.0" d="m16.0 16.0l810.0 0l0 299.0l-810.0 0z" fill-rule="evenodd"/><g transform="matrix(1.0 0.0 0.0 1.0 16.0 16.0)"><clipPath id="p.2"><path d="m0 0l810.0 0l0 299.0l-810.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#p.2)" fill="#000" width="810.0" height="299.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/></g></g><g filter="url(#shadowFilter-p.3)"><use xlink:href="#p.3" transform="matrix(1.0 0.0 0.0 1.0 0.0 2.0)"/></g><defs><filter id="shadowFilter-p.3" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" stdDeviation="2.0" result="blur"/><feComponentTransfer in="blur" color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0" intercept="0.0"/><feFuncG type="linear" slope="0" intercept="0.0"/><feFuncB type="linear" slope="0" intercept="0.0"/><feFuncA type="linear" slope="0.5" intercept="0"/></feComponentTransfer></filter></defs><g id="p.3"><path fill="#000000" fill-opacity="0.0" d="m16.0 331.0l810.0 0l0 299.0l-810.0 0z" fill-rule="evenodd"/><g transform="matrix(1.0 0.0 0.0 1.0 16.0 331.0)"><clipPath id="p.4"><path d="m0 0l810.0 0l0 299.0l-810.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#p.4)" fill="#000" width="810.0" height="299.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,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J3/ck63n79szW9OcARG9fYFW7u3KpXt/mc2t3rySry9yXBARkaBCUBnBz64+lRs7Tdl7024S8uGj/K0Flxt3fvE8izQinnH1Dvof2s2r9vflyrX7HBNERCSoICIiIiIiQYWggoiIiIiIBBVERERERCSoEFQQEREREZGgQlBBRERERCSoEFQQEREREZGgQlBBRERERCSoEFQQEREREZGgQlBBRERERESCCiIiIiIiElQIKoiIiIiISFAhqCAiIiIiElQIKoiIiIiISFAhqCAiIiIiElQIKoiIiIiISFAhqCAiIiIiIkEFEREREREJKgQVREREREQkqCAiIiIiIkGFoIKIiIiIiAQVggoiIiIiIkGFoIKIiIiIiAQVggoiIiIiIkGFoIKIiIiIiAQVggoiIiIiIhJUEBERERGRoEJQQUREREREggqFiYiIiIhIUCGoICIiIiIiQYWggoiIiIhIUCGoICIiIiIiQYWggoiIiIiIBBVERERERCSoEFQQEREREZGggoiIiIiIBJVjDyoAAAAAAAAEFQAAAAAAIKgAAAAAAAAQVAAAAAAAgKACAAAAAABAUAEAAAAAAIIKAAAAAAAAQQUAAAAAAICgAgAAAAAABBUAAAAAAACCCgAAAAAAEFQAAAAAAAAIKgAAAAAAQFABAAAAAAAgqAAAAAAAABBUAAAAAACAoAIAAAAAAEBQAQAAAAAAggoAAAAAAABBBQAAAAAACCoAAAAAAAAEFQAAAAAAIKgAAAAAAAAQVAAAAAAAAAgqAAAAAABAUAEAAAAAACCoAAAAAAAAQQUAAAAAAICgAgAAAAAABBUAAAAAAICp8/8SK0GKNxgnjwAAAABJRU5ErkJggg=="/></g></g></g></svg>
Binary file
Binary file
@@ -0,0 +1,85 @@
1
+ # Page Expiry and Review Notices
2
+
3
+ It's possible to include frontmatter configuration for a page to set an
4
+ expiration date for a piece of content. The expiration date is calculated using the `last_reviewed_on` and `review_in` frontmatter configuration parameters.
5
+
6
+ The `show_expiry` parameter in the global configuration file decides if the banners at the bottom of the page say that the page is expired or not.
7
+
8
+ For `show_expiry: true`, the banner at the bottom turns red if it's past the expiration date.
9
+
10
+ If the page doesn't need to be reviewed, we show a blue box with the
11
+ last-reviewed date, when it needs review again, and the owner.
12
+
13
+ ![](not-expired-page.png)
14
+
15
+ If the page needs to be reviewed, we show a red box saying the page might not
16
+ be accurate.
17
+
18
+ ![](expired-page.png)
19
+
20
+ Setting `show_expiry: false` generates a blue banner with the last reviewed date. This banner stays the same whether the page needs to be reviewed or not. The banner does not mention when the page needs to be reviewed next or who the owner is.
21
+
22
+ ![](last-reviewed-only.png)
23
+
24
+ This feature relies on JavaScript being enabled on the user's browser to
25
+ display the relevant notices.
26
+
27
+ If you want to disable the banners, but keep the review dates in the frontmatter, add the following to `source/javascripts/application.js`
28
+
29
+ ```js
30
+ // Disable page expiry banner
31
+ window.GOVUK.Modules.PageExpiry = null;
32
+ ```
33
+
34
+ For example if you do not want any page expiry banner at the bottom of the page, but want to have the review dates in the frontmatter for Daniel the Manual Spaniel to pick up.
35
+
36
+ ## Frontmatter configuration
37
+
38
+ ### `last_reviewed_on` and `review_in`
39
+
40
+ These attributes determine the date when the page needs to be reviewed next.
41
+
42
+ ```yaml
43
+ ---
44
+ last_reviewed_on: 2018-01-18
45
+ review_in: 6 weeks
46
+ ---
47
+ ```
48
+
49
+ You can use this in combination with `owner_slack` or `default_owner_slack` to
50
+ set an owner for the page.
51
+
52
+ ### `owner_slack`
53
+
54
+ The Slack username or channel of the page owner. This can be used to appoint an
55
+ individual or team as responsible for keeping the page up to date.
56
+
57
+
58
+ ## Global configuration
59
+
60
+ ### `owner_slack_workspace`
61
+
62
+ The Slack workspace name used when linking to the Slack owner of a piece of
63
+ content. If not provided, the owner of a piece of content (channel or user)
64
+ won't be linked.
65
+
66
+ ```yaml
67
+ owner_slack_workspace: gds
68
+ ```
69
+
70
+ ### `default_owner_slack`
71
+
72
+ The default Slack user or channel name to show as the owner of a piece of
73
+ content. Can be overridden using the `owner_slack` frontmatter config option.
74
+
75
+ ```yaml
76
+ default_owner_slack: '#owner'
77
+ ```
78
+
79
+
80
+ ## Page API
81
+
82
+ The expiry date for each page is also shown in the `/api/pages.json`
83
+ representation of all pages. This is used by the
84
+ [tech-docs-notifier](https://github.com/alphagov/tech-docs-notifier) to post
85
+ messages to Slack when pages have expired.