govuk_tech_docs 6.2.4 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/documentation.yaml +29 -0
  3. data/.github/workflows/build-middleman-artifact.yaml +41 -0
  4. data/.github/workflows/dependency-review.yaml +1 -1
  5. data/.github/workflows/deploy-to-pages.yaml +39 -0
  6. data/.github/workflows/publish.yaml +4 -4
  7. data/.github/workflows/test.yaml +10 -4
  8. data/.gitignore +5 -4
  9. data/.rubocop.yml +5 -1
  10. data/.vale.ini +10 -0
  11. data/CHANGELOG.md +17 -4
  12. data/README.md +105 -26
  13. data/Rakefile +1 -1
  14. data/documentation/.nvmrc +1 -0
  15. data/documentation/Gemfile +11 -0
  16. data/documentation/LICENSE +21 -0
  17. data/documentation/README.md +30 -0
  18. data/documentation/Staticfile +4 -0
  19. data/documentation/config/tech-docs.yml +45 -0
  20. data/{example → documentation}/config.rb +3 -6
  21. data/documentation/source/accessibility/index.html.md.erb +64 -0
  22. data/documentation/source/configure_project/frontmatter/index.html.md.erb +206 -0
  23. data/documentation/source/configure_project/global_configuration/index.html.md.erb +328 -0
  24. data/documentation/source/configure_project/index.html.md.erb +17 -0
  25. data/documentation/source/configure_project/page_expiry_and_review/index.html.md.erb +93 -0
  26. data/documentation/source/configure_project/structure_docs/index.html.md.erb +117 -0
  27. data/documentation/source/create_project/build/index.html.md.erb +20 -0
  28. data/documentation/source/create_project/create_new_project/index.html.md.erb +23 -0
  29. data/documentation/source/create_project/get_started/index.html.md.erb +58 -0
  30. data/documentation/source/create_project/index.html.md.erb +17 -0
  31. data/documentation/source/create_project/preview/index.html.md.erb +26 -0
  32. data/documentation/source/images/Basic multipage.svg +1 -0
  33. data/documentation/source/images/Basic_multipage.svg +1 -0
  34. data/documentation/source/images/Nested multipage.svg +1 -0
  35. data/documentation/source/images/Nested_multipage.svg +1 -0
  36. data/documentation/source/images/Single_page.svg +1 -0
  37. data/documentation/source/images/core-layout-without-sidebar.png +0 -0
  38. data/documentation/source/images/core-layout.png +0 -0
  39. data/documentation/source/images/daniel-the-manual-spaniel-screenshot.svg +1 -0
  40. data/documentation/source/images/expired-page.png +0 -0
  41. data/documentation/source/images/last-reviewed-only.png +0 -0
  42. data/documentation/source/images/last-reviewed-only.svg +1 -0
  43. data/documentation/source/images/layout-layout.png +0 -0
  44. data/documentation/source/images/multipage.svg +3 -0
  45. data/documentation/source/images/not-expired-page.png +0 -0
  46. data/documentation/source/index.html.md.erb +19 -0
  47. data/documentation/source/maintain_project/index.html.md.erb +18 -0
  48. data/documentation/source/maintain_project/redirects/index.html.md.erb +22 -0
  49. data/documentation/source/maintain_project/review_content/index.html.md.erb +45 -0
  50. data/documentation/source/maintain_project/use_latest_template/index.html.md.erb +34 -0
  51. data/documentation/source/partials/_links.erb +81 -0
  52. data/documentation/source/publish_project/deploy/index.html.md.erb +44 -0
  53. data/documentation/source/publish_project/index.html.md.erb +15 -0
  54. data/documentation/source/publish_project/version/index.html.md.erb +12 -0
  55. data/documentation/source/support/index.html.md.erb +46 -0
  56. data/documentation/source/write_docs/add_openapi_spec/index.html.md.erb +48 -0
  57. data/documentation/source/write_docs/content/index.html.md.erb +128 -0
  58. data/documentation/source/write_docs/index.html.md.erb +15 -0
  59. data/exe/tech_docs_jobs +8 -0
  60. data/lib/govuk_tech_docs/version.rb +1 -1
  61. data/lib/govuk_tech_docs/warning_text_extension.rb +1 -0
  62. data/lib/source/layouts/_footer.erb +2 -2
  63. data/lib/source/layouts/_header.erb +2 -2
  64. data/lib/source/layouts/_service_navigation.erb +1 -6
  65. data/lib/source/layouts/core.erb +15 -7
  66. data/lib/tasks/helpers/linter_report.rb +49 -0
  67. data/lib/tasks/helpers/rake_utils.rb +7 -0
  68. data/lib/tasks/helpers/vale_report.rb +156 -0
  69. data/lib/tasks/lint.rake +33 -0
  70. data/lib/tasks/middleman.rake +10 -0
  71. data/node_modules/govuk-frontend/dist/govuk/_base.import.scss +6 -0
  72. data/node_modules/govuk-frontend/dist/govuk/_base.scss +4 -5
  73. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +31 -22
  74. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +31 -22
  75. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-180.png +0 -0
  76. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-192.png +0 -0
  77. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-512.png +0 -0
  78. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +1 -1
  79. data/node_modules/govuk-frontend/dist/govuk/components/_index.import.scss +37 -0
  80. data/node_modules/govuk-frontend/dist/govuk/components/_index.scss +36 -39
  81. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.import.scss +6 -0
  82. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.import.scss +8 -0
  83. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss +3 -373
  84. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_mixin.scss +375 -0
  85. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.import.scss +6 -0
  86. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.import.scss +8 -0
  87. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.scss +3 -85
  88. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_mixin.scss +87 -0
  89. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.import.scss +6 -0
  90. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.import.scss +8 -0
  91. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss +3 -136
  92. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_mixin.scss +138 -0
  93. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.import.scss +6 -0
  94. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.import.scss +13 -0
  95. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss +9 -259
  96. data/node_modules/govuk-frontend/dist/govuk/components/button/_mixin.scss +233 -0
  97. data/node_modules/govuk-frontend/dist/govuk/components/button/_settings.import.scss +32 -0
  98. data/node_modules/govuk-frontend/dist/govuk/components/button/_settings.scss +34 -0
  99. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.import.scss +6 -0
  100. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.import.scss +12 -0
  101. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss +7 -44
  102. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_mixin.scss +41 -0
  103. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.import.scss +6 -0
  104. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.import.scss +12 -0
  105. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.scss +7 -314
  106. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_mixin.scss +311 -0
  107. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.import.scss +6 -0
  108. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.import.scss +9 -0
  109. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.scss +4 -55
  110. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_mixin.scss +56 -0
  111. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.import.scss +6 -0
  112. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.import.scss +13 -0
  113. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.scss +8 -33
  114. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_mixin.scss +29 -0
  115. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.import.scss +6 -0
  116. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.import.scss +8 -0
  117. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss +3 -141
  118. data/node_modules/govuk-frontend/dist/govuk/components/details/_mixin.scss +143 -0
  119. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.import.scss +6 -0
  120. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.import.scss +8 -0
  121. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.scss +3 -14
  122. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_mixin.scss +16 -0
  123. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.import.scss +6 -0
  124. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.import.scss +8 -0
  125. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.scss +3 -57
  126. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_mixin.scss +58 -0
  127. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.import.scss +6 -0
  128. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.import.scss +9 -0
  129. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss +4 -91
  130. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_mixin.scss +92 -0
  131. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.import.scss +6 -0
  132. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.import.scss +8 -0
  133. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.scss +3 -69
  134. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_mixin.scss +71 -0
  135. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.import.scss +6 -0
  136. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.import.scss +11 -0
  137. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss +6 -211
  138. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_mixin.scss +217 -0
  139. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js +30 -21
  140. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs +30 -21
  141. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs +30 -21
  142. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.import.scss +6 -0
  143. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.import.scss +8 -0
  144. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss +3 -197
  145. data/node_modules/govuk-frontend/dist/govuk/components/footer/_mixin.scss +199 -0
  146. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.import.scss +6 -0
  147. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.import.scss +8 -0
  148. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +3 -188
  149. data/node_modules/govuk-frontend/dist/govuk/components/header/_mixin.scss +175 -0
  150. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.import.scss +6 -0
  151. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.import.scss +8 -0
  152. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.scss +3 -45
  153. data/node_modules/govuk-frontend/dist/govuk/components/hint/_mixin.scss +47 -0
  154. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.import.scss +11 -0
  155. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss +6 -162
  156. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.import.scss +6 -0
  157. data/node_modules/govuk-frontend/dist/govuk/components/input/_mixin.scss +160 -0
  158. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.import.scss +8 -0
  159. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.scss +3 -29
  160. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.import.scss +6 -0
  161. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_mixin.scss +31 -0
  162. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.import.scss +8 -0
  163. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.scss +3 -46
  164. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.import.scss +6 -0
  165. data/node_modules/govuk-frontend/dist/govuk/components/label/_mixin.scss +48 -0
  166. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.import.scss +8 -0
  167. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss +3 -97
  168. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_mixin.scss +99 -0
  169. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.import.scss +6 -0
  170. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.import.scss +8 -0
  171. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss +3 -233
  172. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_mixin.scss +235 -0
  173. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.import.scss +6 -0
  174. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.import.scss +8 -0
  175. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss +3 -58
  176. data/node_modules/govuk-frontend/dist/govuk/components/panel/_mixin.scss +60 -0
  177. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.import.scss +6 -0
  178. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.import.scss +10 -0
  179. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss +5 -56
  180. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_mixin.scss +56 -0
  181. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.import.scss +6 -0
  182. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.import.scss +9 -0
  183. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss +4 -41
  184. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_mixin.scss +42 -0
  185. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.import.scss +6 -0
  186. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.import.scss +12 -0
  187. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss +7 -330
  188. data/node_modules/govuk-frontend/dist/govuk/components/radios/_mixin.scss +330 -0
  189. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.import.scss +6 -0
  190. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.import.scss +11 -0
  191. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss +6 -53
  192. data/node_modules/govuk-frontend/dist/govuk/components/select/_mixin.scss +52 -0
  193. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.import.scss +6 -0
  194. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.import.scss +8 -0
  195. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +3 -235
  196. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_mixin.scss +237 -0
  197. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.import.scss +6 -0
  198. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.import.scss +8 -0
  199. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss +3 -58
  200. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_mixin.scss +60 -0
  201. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.import.scss +6 -0
  202. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.import.scss +8 -0
  203. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss +3 -284
  204. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_mixin.scss +286 -0
  205. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.import.scss +6 -0
  206. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.import.scss +8 -0
  207. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss +3 -75
  208. data/node_modules/govuk-frontend/dist/govuk/components/table/_mixin.scss +77 -0
  209. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.import.scss +6 -0
  210. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.import.scss +8 -0
  211. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss +3 -138
  212. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_mixin.scss +140 -0
  213. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.import.scss +6 -0
  214. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.import.scss +8 -0
  215. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss +3 -132
  216. data/node_modules/govuk-frontend/dist/govuk/components/tag/_mixin.scss +135 -0
  217. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.import.scss +6 -0
  218. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.import.scss +9 -0
  219. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss +4 -82
  220. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_mixin.scss +83 -0
  221. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.import.scss +6 -0
  222. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.import.scss +11 -0
  223. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss +6 -44
  224. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_mixin.scss +43 -0
  225. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.import.scss +6 -0
  226. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.import.scss +8 -0
  227. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss +3 -67
  228. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_mixin.scss +69 -0
  229. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.import.scss +6 -0
  230. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.import.scss +10 -0
  231. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.mixin.scss +19 -0
  232. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.scss +5 -22
  233. data/node_modules/govuk-frontend/dist/govuk/core/_index.import.scss +6 -0
  234. data/node_modules/govuk-frontend/dist/govuk/core/_index.scss +6 -10
  235. data/node_modules/govuk-frontend/dist/govuk/core/_links.import.scss +10 -0
  236. data/node_modules/govuk-frontend/dist/govuk/core/_links.mixin.scss +44 -0
  237. data/node_modules/govuk-frontend/dist/govuk/core/_links.scss +3 -48
  238. data/node_modules/govuk-frontend/dist/govuk/core/_lists.import.scss +14 -0
  239. data/node_modules/govuk-frontend/dist/govuk/core/_lists.mixin.scss +74 -0
  240. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss +6 -73
  241. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.import.scss +8 -0
  242. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.mixin.scss +54 -0
  243. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.scss +3 -55
  244. data/node_modules/govuk-frontend/dist/govuk/core/_typography.import.scss +8 -0
  245. data/node_modules/govuk-frontend/dist/govuk/core/_typography.mixin.scss +173 -0
  246. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss +3 -174
  247. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.import.scss +8 -0
  248. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.mixin.scss +15 -0
  249. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.scss +2 -15
  250. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.import.scss +8 -0
  251. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.mixin.scss +13 -0
  252. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.scss +2 -13
  253. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.import.scss +8 -0
  254. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.mixin.scss +21 -0
  255. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.scss +2 -20
  256. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_index.import.scss +4 -0
  257. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_index.scss +3 -4
  258. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -1
  259. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.import.scss +2 -0
  260. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.scss +0 -1
  261. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.import.scss +2 -0
  262. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +35 -17
  263. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.import.scss +2 -0
  264. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.scss +2 -3
  265. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.import.scss +2 -0
  266. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss +3 -1
  267. data/node_modules/govuk-frontend/dist/govuk/helpers/{_font-faces.scss → _font-faces--internal.scss} +5 -5
  268. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.import.scss +2 -0
  269. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss +3 -1
  270. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.import.scss +2 -0
  271. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.scss +12 -13
  272. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.import.scss +2 -0
  273. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss +6 -1
  274. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.import.scss +2 -0
  275. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss +2 -3
  276. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.import.scss +2 -0
  277. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.scss +0 -1
  278. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing--internal.scss +80 -0
  279. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.import.scss +2 -0
  280. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss +18 -79
  281. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography--internal.scss +24 -0
  282. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.import.scss +2 -0
  283. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss +20 -37
  284. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.import.scss +2 -0
  285. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss +1 -2
  286. data/node_modules/govuk-frontend/dist/govuk/helpers/_width-container.import.scss +2 -0
  287. data/node_modules/govuk-frontend/dist/govuk/helpers/_width-container.scss +73 -0
  288. data/node_modules/govuk-frontend/dist/govuk/index.import.scss +10 -0
  289. data/node_modules/govuk-frontend/dist/govuk/index.scss +6 -7
  290. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.import.scss +8 -0
  291. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.mixin.scss +80 -0
  292. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss +3 -78
  293. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.import.scss +8 -0
  294. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.mixin.scss +26 -0
  295. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.scss +3 -24
  296. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.import.scss +8 -0
  297. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.mixin.scss +28 -0
  298. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.scss +3 -26
  299. data/node_modules/govuk-frontend/dist/govuk/objects/_index.import.scss +7 -0
  300. data/node_modules/govuk-frontend/dist/govuk/objects/_index.scss +6 -7
  301. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.import.scss +8 -0
  302. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.mixin.scss +55 -0
  303. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss +3 -53
  304. data/node_modules/govuk-frontend/dist/govuk/objects/_template.import.scss +8 -0
  305. data/node_modules/govuk-frontend/dist/govuk/objects/_template.mixin.scss +53 -0
  306. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss +3 -51
  307. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.import.scss +8 -0
  308. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.mixin.scss +9 -0
  309. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss +3 -76
  310. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.import.scss +8 -0
  311. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.mixin.scss +26 -0
  312. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss +2 -26
  313. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.import.scss +6 -0
  314. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.scss +5 -9
  315. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.import.scss +8 -0
  316. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.mixin.scss +89 -0
  317. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.scss +2 -88
  318. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.import.scss +8 -0
  319. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.mixin.scss +16 -0
  320. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.scss +2 -16
  321. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.import.scss +8 -0
  322. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.mixin.scss +43 -0
  323. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss +2 -43
  324. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.import.scss +8 -0
  325. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.mixin.scss +50 -0
  326. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss +2 -49
  327. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.import.scss +13 -0
  328. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.scss +46 -35
  329. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.import.scss +13 -0
  330. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-functional.import.scss +2 -0
  331. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-functional.scss +10 -235
  332. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-legacy-functional.import.scss +2 -0
  333. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-legacy-functional.scss +188 -0
  334. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.import.scss +2 -0
  335. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +1 -20
  336. data/node_modules/govuk-frontend/dist/govuk/settings/{_colours-palette.scss → _colours-palette--internal.scss} +2 -3
  337. data/node_modules/govuk-frontend/dist/govuk/settings/_custom-properties.import.scss +2 -0
  338. data/node_modules/govuk-frontend/dist/govuk/settings/_custom-properties.scss +0 -1
  339. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.import.scss +2 -0
  340. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.scss +0 -1
  341. data/node_modules/govuk-frontend/dist/govuk/settings/_index.import.scss +24 -0
  342. data/node_modules/govuk-frontend/dist/govuk/settings/_index.scss +13 -14
  343. data/node_modules/govuk-frontend/dist/govuk/settings/_links.import.scss +2 -0
  344. data/node_modules/govuk-frontend/dist/govuk/settings/_links.scss +0 -1
  345. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.import.scss +2 -0
  346. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.scss +2 -3
  347. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.import.scss +2 -0
  348. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss +0 -1
  349. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.import.scss +2 -0
  350. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.scss +0 -1
  351. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.import.scss +2 -0
  352. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss +2 -4
  353. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.import.scss +2 -0
  354. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +0 -1
  355. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings--internal.scss +69 -0
  356. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.import.scss +2 -0
  357. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.scss +9 -69
  358. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.import.scss +2 -0
  359. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.scss +10 -5
  360. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.import.scss +31 -0
  361. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.scss +9 -1
  362. data/node_modules/govuk-frontend/dist/govuk/tools/_if.import.scss +2 -0
  363. data/node_modules/govuk-frontend/dist/govuk/tools/_if.scss +0 -1
  364. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.import.scss +31 -0
  365. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.scss +9 -1
  366. data/node_modules/govuk-frontend/dist/govuk/tools/_index.import.scss +2 -0
  367. data/node_modules/govuk-frontend/dist/govuk/tools/_index.scss +6 -7
  368. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.import.scss +2 -0
  369. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss +1 -2
  370. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.import.scss +2 -0
  371. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.scss +1 -2
  372. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.import.scss +8 -0
  373. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.mixin.scss +10 -0
  374. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.scss +2 -8
  375. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.import.scss +3 -0
  376. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.scss +2 -4
  377. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.import.scss +8 -0
  378. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.mixin.scss +14 -0
  379. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.scss +2 -12
  380. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss +2 -3
  381. data/package-lock.json +157 -128
  382. data/package.json +1 -1
  383. metadata +264 -74
  384. data/docs/configuration.md +0 -3
  385. data/docs/frontmatter.md +0 -3
  386. data/docs/page-expiry.md +0 -3
  387. data/example/.ruby-version +0 -1
  388. data/example/Gemfile +0 -3
  389. data/example/config/tech-docs.yml +0 -67
  390. data/example/source/active-pages/index.html.md.erb +0 -7
  391. data/example/source/active-pages/sub-section/index.html.md.erb +0 -7
  392. data/example/source/api-path.html.md +0 -7
  393. data/example/source/api-reference.html.md +0 -5
  394. data/example/source/child-of-expired-page.html.md +0 -8
  395. data/example/source/code.html.md +0 -42
  396. data/example/source/core-layout-without-sidebar.html.md.erb +0 -7
  397. data/example/source/core-layout.html.md.erb +0 -12
  398. data/example/source/expired-page-with-owner.html.md +0 -10
  399. data/example/source/expired-page.html.md +0 -9
  400. data/example/source/headings.html.md +0 -11
  401. data/example/source/hidden-page.html.md +0 -10
  402. data/example/source/index.html.md.erb +0 -27
  403. data/example/source/javascripts/govuk_frontend.js +0 -1
  404. data/example/source/nested-page/another-nested-nested-page/index.html.md +0 -5
  405. data/example/source/nested-page/another-nested-page/index.html.md +0 -5
  406. data/example/source/nested-page/index.html.md +0 -5
  407. data/example/source/not-expired-page.html.md +0 -9
  408. data/example/source/pets.yml +0 -113
  409. data/example/source/prevent-index-page.html.md +0 -10
  410. data/example/source/single-page-nav.html.md +0 -13
  411. data/example/source/templates/proxy_template.html.md +0 -8
  412. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss +0 -7
  413. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss +0 -7
  414. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss +0 -7
  415. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss +0 -7
  416. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss +0 -7
  417. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss +0 -7
  418. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss +0 -7
  419. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss +0 -7
  420. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss +0 -7
  421. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss +0 -7
  422. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss +0 -7
  423. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss +0 -7
  424. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss +0 -7
  425. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss +0 -7
  426. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss +0 -7
  427. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss +0 -7
  428. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.scss +0 -7
  429. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.scss +0 -7
  430. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss +0 -7
  431. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.scss +0 -7
  432. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss +0 -7
  433. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss +0 -7
  434. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.scss +0 -7
  435. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.scss +0 -7
  436. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss +0 -7
  437. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss +0 -7
  438. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss +0 -7
  439. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.scss +0 -7
  440. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss +0 -7
  441. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss +0 -7
  442. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.scss +0 -7
  443. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.scss +0 -7
  444. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.scss +0 -7
  445. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss +0 -7
  446. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss +0 -7
  447. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss +0 -7
  448. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss +0 -10
  449. /data/{example → documentation}/source/javascripts/application.js +0 -0
  450. /data/{example → documentation}/source/stylesheets/print.css.scss +0 -0
  451. /data/{example → documentation}/source/stylesheets/screen-old-ie.css.scss +0 -0
  452. /data/{example → documentation}/source/stylesheets/screen.css.scss +0 -0
@@ -0,0 +1,46 @@
1
+ ---
2
+ title: Support
3
+ weight: 80
4
+ last_reviewed_on: 2020-07-01
5
+ review_in: 1 year
6
+ ---
7
+
8
+ # Support
9
+
10
+ ## Report issues
11
+
12
+ Report any problems or issues by:
13
+
14
+ - contacting the Government Digital Service (GDS) technical writing community on [email][contact-email] or [Slack][slack-ask-tw]
15
+ - posting in the [tech docs format][slack-tech-docs-format] Slack channel
16
+ - opening an issue on the [tech-docs-template repo][template-issues]
17
+
18
+ ## Contribute
19
+
20
+ We welcome contributions to the Technical Documentation Template.
21
+
22
+ You can create an issue or pull request in the following GitHub repos:
23
+
24
+ - [alphagov/tech-docs-gem][tech-docs-gem] - for technical and documentation issues
25
+ - [alphagov/tech-docs-template][tech-docs-template]
26
+
27
+ You should check and document your pull request before you submit it.
28
+
29
+ 1. Check the repo to see if someone has already raised a similar pull request or issue.
30
+ 2. Test your contribution using [unit tests](https://github.com/alphagov/tech-docs-gem/tree/main/spec/govuk_tech_docs), [JavaScript tests](https://github.com/alphagov/tech-docs-gem/tree/main/spec/javascripts) and [integration tests](https://github.com/alphagov/tech-docs-gem/tree/main/spec/features).
31
+ 3. Document the change in this documentation.
32
+ 4. Add a description of the change to the repo changelog if your pull request changes how the Technical Documentation Template behaves.
33
+
34
+ The Tech Docs Template working group will review your proposal at their next fortnightly triage session.
35
+
36
+ The team will then do one of the following:
37
+
38
+ - accept your proposal but ask for changes before it's prioritised for publication
39
+ - accept your proposal and find someone to work with you to publish the changes
40
+ - not accept your proposal and explain why
41
+
42
+ ## Projects that use the template
43
+
44
+ You can see [which repos currently use the Tech Docs Template](https://github.com/alphagov/tech-docs-gem/network/dependents) in the Tech Docs Template Ruby gem GitHub repo.
45
+
46
+ <%= partial "partials/links" %>
@@ -0,0 +1,48 @@
1
+ ---
2
+ title: Convert an OpenAPI specification into documentation
3
+ weight: 42
4
+ last_reviewed_on: 2021-07-06
5
+ review_in: 1 year
6
+ ---
7
+
8
+ # Convert an OpenAPI specification into documentation
9
+
10
+ OpenAPI is an API description format for REST APIs. The government's Open Standards Board [recommends using OpenAPI][use-openapi].
11
+
12
+ You can convert an OpenAPI file into an API reference page in your documentation.
13
+
14
+ Your OpenAPI file must be both:
15
+
16
+ - [version 3](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.0.md)
17
+ - in YAML format
18
+
19
+ 1. Add the following to your `config/tech-docs.yml` file:
20
+
21
+ ```yaml
22
+ api_path: <OPENAPI_FILE>
23
+ ```
24
+
25
+ where `<OPENAPI_FILE>` is your OpenAPI file, for example `/openapi/openapi.yaml`.
26
+
27
+ 2. Add the following in your documentation to convert the OpenAPI file into an API reference:
28
+
29
+ ```markdown
30
+ api>
31
+ ```
32
+
33
+ For `api_path` you can also use:
34
+
35
+ - a relative path, for example `./openapi/openapi.yaml`
36
+ - an external file, for example `https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.yaml`
37
+
38
+ ## Convert a specific endpoint
39
+
40
+ You can convert a specific endpoint using the following in your documentation:
41
+
42
+ ```markdown
43
+ api> <ENDPOINT>
44
+ ```
45
+
46
+ where `<ENDPOINT>` is your endpoint, for example `/pets`.
47
+
48
+ <%= partial "partials/links" %>
@@ -0,0 +1,128 @@
1
+ ---
2
+ title: Write your content
3
+ weight: 41
4
+ last_reviewed_on: 2020-07-01
5
+ review_in: 1 year
6
+ ---
7
+ # Write your content
8
+
9
+ You can write your content in Markdown or HTML when using the Tech Doc Template.
10
+
11
+ ## Insert a table
12
+
13
+ You can insert a table using either Markdown or HTML.
14
+
15
+ Use Markdown when there are no specific formatting requirements.
16
+
17
+ Use HTML when there are specific formatting requirements, for example to ensure that text in cells does not wrap.
18
+
19
+ ### Create table using Markdown
20
+
21
+ Use Markdown when there are no specific formatting requirements.
22
+
23
+ This example is a left-aligned table.
24
+
25
+ ```bash
26
+ | Column header | Column header |
27
+ |---------------|---------------|
28
+ | content | content |
29
+ | content | content |
30
+ ```
31
+
32
+ Add more columns and rows as needed.
33
+
34
+ You can change the alignment of the text in each column:
35
+
36
+ - Centre: `|:---:|`
37
+ - Right: `|---:|`
38
+
39
+ If a table has 3 or more columns, you might need to set row headers as well as column headers to improve accessibility. Using row headers reduces the amount of information screen reader users need to remember whilst using the table.
40
+
41
+ The following example has the first cell in each row marked up as the row header using the `#` character:
42
+
43
+ ```bash
44
+ | City name | Population | Average age |
45
+ |-------------------|------------|-------------|
46
+ | # Some city | 38000 | 48 |
47
+ | # Some other city | 41000 | 37 |
48
+ ```
49
+
50
+ See the [Web Accessibility Initiative tutoral on table concepts](https://www.w3.org/WAI/tutorials/tables/) for more information.
51
+
52
+ ### Create table using HTML
53
+
54
+ You should create tables using HTML when there are specific formatting requirements.
55
+
56
+ The following code is an example of a 2 column 2 row table with no text wrapping.
57
+
58
+ ```bash
59
+ <div style = "overflow-x:auto;">
60
+ <table style="width:100%">
61
+ <tr>
62
+ <th nowrap>Header 1</th>
63
+ <th>Header 2</th>
64
+ </tr>
65
+ <tr>
66
+ <td nowrap><code>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin et enim quis arcu pharetra aliquet. Maecenas posuere tellus arcu, a suscipit dui posuere eu. Nunc vestibulum ligula sit amet eros euismod accumsan. </code></td>
67
+ <td nowrap>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin et enim quis arcu pharetra aliquet. Maecenas posuere tellus arcu, a suscipit dui posuere eu. Nunc vestibulum ligula sit amet eros euismod accumsan. </td>
68
+ </tr>
69
+ </table>
70
+ </div>
71
+ ```
72
+
73
+ ## Create a link
74
+
75
+ You can create links using either Markdown or HTML.
76
+
77
+ To create a link in Markdown, use the following:
78
+
79
+ ```yaml
80
+ [link text](link address)
81
+ ```
82
+
83
+ For example:
84
+
85
+ ```yaml
86
+ [The Google home page](http://www.google.co.uk)
87
+ ```
88
+
89
+ To create a link in HTML, use the following:
90
+
91
+ ```bash
92
+ <a href="link address">link text</a>
93
+ ```
94
+
95
+ You can write the link in HTML with a `target="blank"` element to make the link open in a new internet browser tab by default:
96
+
97
+ ```bash
98
+ <a href="link address" target="blank">link text</a>
99
+ ```
100
+
101
+ ## Insert an image
102
+
103
+ To insert an image into your content, use the following:
104
+
105
+ ```bash
106
+ <%= image_tag "image file", { :alt => 'image alt text' } %>
107
+ ```
108
+
109
+ You must include alt text for an image if the image has not been explained in surrounding content, due to accessibility requirements.
110
+
111
+ ## Insert a warning
112
+
113
+ Use the warning text component when you need to warn users about something important, such as legal consequences of an action, or lack of action, that they might take.
114
+
115
+ This warning text format is consistent with the [GOV.UK Design System warning text][design-system].
116
+
117
+ To insert a warning, use the following:
118
+
119
+ ```ruby
120
+ <%%= warning_text('insert warning text here') %>
121
+ ```
122
+
123
+ ## Use the GOV.UK Design System
124
+
125
+ Use [GOV.UK Design System](https://design-system.service.gov.uk/) elements in your documentation to ensure your content complies with accessibility regulations.
126
+
127
+
128
+ <%= partial "partials/links" %>
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: Write your documentation
3
+ weight: 40
4
+ last_reviewed_on: 2020-07-01
5
+ review_in: 1 year
6
+ ---
7
+
8
+ # Write your documentation
9
+
10
+ When you write your documentation, you can:
11
+
12
+ - [write your content][write-content] in Markdown and / or HTML
13
+ - add an [OpenAPI3 specification][openapi3] to your documentation site
14
+
15
+ <%= partial "partials/links" %>
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ require "rake"
3
+
4
+ Rake.application.init
5
+
6
+ Dir.glob(File.join(__dir__, "../lib/tasks/*.rake")).each { |r| load r }
7
+
8
+ Rake.application.top_level
@@ -1,3 +1,3 @@
1
1
  module GovukTechDocs
2
- VERSION = "6.2.4".freeze
2
+ VERSION = "6.3.0".freeze
3
3
  end
@@ -5,6 +5,7 @@ module GovukTechDocs
5
5
  end
6
6
 
7
7
  helpers do
8
+ warn("This functionality is deprecated and will be removed in a future release. \n You should use the GOV.UK warning text component instead.")
8
9
  def warning_text(text)
9
10
  <<~EOS
10
11
  <div class="govuk-warning-text">
@@ -1,4 +1,4 @@
1
- <footer class="govuk-footer app-footer" role="contentinfo">
1
+ <div class="govuk-footer app-footer" role="contentinfo">
2
2
  <% if config[:tech_docs][:show_govuk_logo] %>
3
3
  <svg focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 60" height="30" width="32" fill="currentcolor" class="govuk-footer__crown">
4
4
  <g>
@@ -57,4 +57,4 @@
57
57
  >© Crown copyright</a>
58
58
  </div>
59
59
  </div>
60
- </footer>
60
+ </div>
@@ -1,4 +1,4 @@
1
- <header class="govuk-header app-header" role="banner" data-module="govuk-header">
1
+ <div class="govuk-header app-header" role="banner" data-module="govuk-header">
2
2
  <div class="govuk-header__container govuk-header__container--full-width">
3
3
  <div class="govuk-header__logo">
4
4
  <% if config[:tech_docs][:service_link] %>
@@ -46,4 +46,4 @@
46
46
  <% end %>
47
47
  </div>
48
48
  </div>
49
- </header>
49
+ </div>
@@ -1,7 +1,4 @@
1
- <% if config[:tech_docs][:header_links] %>
2
- <div class="govuk-service-navigation app-pane__navigation"
3
- data-module="govuk-service-navigation">
4
- <div class="govuk-width-container">
1
+ <div class="govuk-width-container">
5
2
  <div class="govuk-service-navigation__container">
6
3
  <nav aria-label="Menu" class="govuk-service-navigation__wrapper">
7
4
  <button type="button" class="govuk-service-navigation__toggle govuk-js-service-navigation-toggle" aria-controls="navigation" hidden aria-hidden="true">
@@ -23,5 +20,3 @@
23
20
  </nav>
24
21
  </div>
25
22
  </div>
26
- </div>
27
- <% end %>
@@ -50,13 +50,19 @@
50
50
 
51
51
  <body class="govuk-template__body">
52
52
  <script>document.body.className += ' js-enabled' + ('noModule' in HTMLScriptElement.prototype ? ' govuk-frontend-supported' : '');</script>
53
+ <header class="govuk-template__header app-header" role="banner" data-module="govuk-header">
54
+ <%= partial 'layouts/header' %>
55
+ </header>
56
+ <% if config[:tech_docs][:header_links] %>
57
+ <div class="govuk-service-navigation app-pane__navigation" data-module="govuk-service-navigation">
58
+ <%= partial 'layouts/service_navigation' %>
59
+ </div>
60
+ <% end %>
61
+
53
62
 
54
- <div class="app-pane">
55
63
  <%= partial 'layouts/cookie_banner' %>
56
64
  <div class="app-pane__header toc-open-disabled">
57
65
  <a href="#content" class="govuk-skip-link" data-module="govuk-skip-link">Skip to main content</a>
58
- <%= partial 'layouts/header' %>
59
- <%= partial 'layouts/service_navigation' %>
60
66
  </div>
61
67
 
62
68
  <% if content_for? :sidebar %>
@@ -81,7 +87,7 @@
81
87
  <% end %>
82
88
 
83
89
  <div class="app-pane__content toc-open-disabled" aria-label="Content">
84
- <main id="content" class="technical-documentation"<% if config[:tech_docs][:enable_anchored_headings] != false %> data-module="anchored-headings"<% end %>>
90
+ <main id="content" class="govuk-main-wrapper technical-documentation"<% if config[:tech_docs][:enable_anchored_headings] != false %> data-module="anchored-headings"<% end %>>
85
91
  <%= yield %>
86
92
  <%= partial "layouts/page_review" %>
87
93
  </main>
@@ -95,11 +101,13 @@
95
101
  </ul>
96
102
  <% end %>
97
103
  </aside>
98
-
99
- <%= partial "layouts/footer" %>
100
104
  </div>
101
105
  </div>
102
- </div>
106
+
107
+
108
+ <footer class="govuk-template__footer">
109
+ <%= partial "layouts/footer" %>
110
+ </footer>
103
111
 
104
112
  <%= partial 'layouts/analytics' %>
105
113
  <%= javascript_include_tag :govuk_frontend, :type => "module" %>
@@ -0,0 +1,49 @@
1
+ class LinterReport
2
+ attr_accessor :linter_raw_output, :linter_summary_report, :linter_full_report
3
+
4
+ def initialize(raw_output)
5
+ puts "#{self.class} initialized."
6
+ @linter_raw_output = raw_output
7
+ end
8
+
9
+ def format_linter_output
10
+ raise NotImplementedError, "Subclass must implement #format_linter_output"
11
+ end
12
+
13
+ def get_raw_output
14
+ raise "No raw output available. Check you have run the linter task correctly" unless @linter_raw_output
15
+
16
+ @linter_raw_output
17
+ end
18
+
19
+ def set_linter_summary_report
20
+ raise "Subclass must implement #set_linter_summary_report"
21
+ end
22
+
23
+ def get_linter_summary_report
24
+ raise "No output summary available. Check you have called set_linter_summary_report" unless @linter_summary_report
25
+
26
+ @linter_summary_report
27
+ end
28
+
29
+ def set_linter_full_report
30
+ raise "Subclass must implement #set_linter_full_report"
31
+ end
32
+
33
+ def get_linter_full_report
34
+ raise "No output detail available. Check you have called set_linter_full_report" unless @linter_full_report
35
+
36
+ @linter_full_report
37
+ end
38
+
39
+ protected
40
+
41
+ def set_output_text_color(text, severity)
42
+ case severity.downcase
43
+ when "error" then "\e[31m#{text}\e[0m" # Red
44
+ when "warning" then "\e[33m#{text}\e[0m" # Yellow
45
+ when "suggestion" then "\e[34m#{text}\e[0m" # Blue
46
+ else "\e[36m#{text}\e[0m" # Cyan
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,7 @@
1
+ def get_gem_root
2
+ Gem::Specification.find_by_name("govuk_tech_docs").gem_dir
3
+ end
4
+
5
+ def vale_config_path
6
+ File.join(get_gem_root, ".vale.ini")
7
+ end
@@ -0,0 +1,156 @@
1
+ require_relative "./linter_report"
2
+ require "json"
3
+
4
+ class ValeLinterReport < LinterReport
5
+ attr_accessor :table_rows, :linter_severity_totals, :table_column_widths, :formatter, :linter_summary_report_json, :linter_full_report_json
6
+
7
+ def format_linter_output
8
+ if @linter_raw_output.strip.empty?
9
+ @table_rows = []
10
+ @linter_severity_totals = { "error" => 0, "warning" => 0, "suggestion" => 0 }
11
+ else
12
+ set_table_rows
13
+ set_linter_severity_totals_from_rows
14
+ end
15
+
16
+ set_linter_full_report
17
+ set_linter_summary_report
18
+ set_linter_summary_report_json
19
+ end
20
+
21
+ def set_linter_full_report
22
+ add_formatted_rows_to_detail_output
23
+ end
24
+
25
+ def set_linter_summary_report
26
+ if @linter_severity_totals.nil?
27
+ set_linter_severity_totals_from_rows
28
+ end
29
+
30
+ error = @linter_severity_totals["error"]
31
+ warning = @linter_severity_totals["warning"]
32
+ suggestion = @linter_severity_totals["suggestion"]
33
+
34
+ @linter_summary_report = []
35
+
36
+ @linter_summary_report << "\n#{'=' * [0, 40].max}"
37
+ @linter_summary_report << "\e[1m Vale summary\e[0m"
38
+ @linter_summary_report << "-" * [0, 40].max
39
+ @linter_summary_report << " Errors: #{error.positive? ? set_output_text_color(error, 'error') : error}"
40
+ @linter_summary_report << " Warnings: #{warning.positive? ? set_output_text_color(warning, 'warning') : warning}"
41
+ @linter_summary_report << " Suggestions: #{suggestion.positive? ? set_output_text_color(suggestion, 'suggestion') : suggestion}"
42
+ @linter_summary_report << "-" * [0, 40].max
43
+ @linter_summary_report.join("\n")
44
+ end
45
+
46
+ def set_linter_summary_report_json
47
+ if @linter_severity_totals.nil?
48
+ set_linter_severity_totals_from_rows
49
+ end
50
+ @linter_summary_report_json = JSON.generate(@linter_severity_totals)
51
+ end
52
+
53
+ private
54
+
55
+ def set_table_column_widths
56
+ if @table_rows.nil?
57
+ set_table_rows
58
+ end
59
+
60
+ @table_column_widths = %i[file line severity message rule].each_with_object({}) do |col, acc|
61
+ all_values = @table_rows.map { |row| row[col].to_s }
62
+ acc[col] = [col.to_s.length, *all_values.map(&:length)].max
63
+ end
64
+ end
65
+
66
+ def set_table_formatter
67
+ if @table_column_widths.nil?
68
+ set_table_column_widths
69
+ end
70
+ @formatter = "%-#{@table_column_widths[:file]}s | %-#{@table_column_widths[:line]}s | %-#{@table_column_widths[:severity]}s | %-#{@table_column_widths[:message]}s | %-#{@table_column_widths[:rule]}s"
71
+ end
72
+
73
+ def add_formatted_header_to_detail_output
74
+ if @linter_full_report.nil?
75
+ @linter_full_report = []
76
+ end
77
+
78
+ header = sprintf(@formatter, "File", "Line", "Severity", "Message", "Rule")
79
+ @linter_full_report << "\e[1m🔍 Vale Style Linting Report\e[0m\n\n"
80
+ @linter_full_report << "\e[1m#{header}\e[0m"
81
+ @linter_full_report << "-" * header.gsub(/\e\[[0-9;]*m/, "").length
82
+ end
83
+
84
+ def add_formatted_rows_to_detail_output
85
+ set_table_column_widths
86
+ set_table_formatter
87
+ add_formatted_header_to_detail_output
88
+
89
+ @table_rows.each do |row|
90
+ @linter_full_report << format_row(row)
91
+ end
92
+ @linter_full_report.join("\n")
93
+ end
94
+
95
+ def set_linter_severity_totals_from_rows
96
+ if @table_rows.nil?
97
+ set_table_rows
98
+ end
99
+
100
+ default_totals = { "error" => 0, "warning" => 0, "suggestion" => 0 }
101
+
102
+ @linter_severity_totals = default_totals.merge(
103
+ @table_rows
104
+ .map { |r| r[:severity] }
105
+ .compact # drops any actual nils
106
+ .tally,
107
+ )
108
+ end
109
+
110
+ def format_row(row)
111
+ colored_severity = set_output_text_color(row[:severity].upcase, row[:severity])
112
+ severity_padding = " " * (@table_column_widths[:severity] - row[:severity].length)
113
+ padded_severity = "#{colored_severity}#{severity_padding}"
114
+
115
+ sprintf(
116
+ @formatter,
117
+ row[:file], row[:line], padded_severity, row[:message], row[:rule]
118
+ )
119
+ end
120
+
121
+ def set_table_rows
122
+ begin
123
+ rows_json = JSON.parse(@linter_raw_output)
124
+ rescue JSON::ParserError
125
+ puts "\e[Error parsing Vale payload:\e[0m\n#{@linter_raw_output}"
126
+ exit 1
127
+ end
128
+
129
+ unique_rows = []
130
+
131
+ rows_json.each do |file_path, alerts|
132
+ next if alerts.empty?
133
+
134
+ seen_messages = Set.new
135
+
136
+ alerts.each do |alert|
137
+ msg = alert["Message"]
138
+ # Vale will hilghlight every instance of an infraction, sometimes this is unhelpful. For example the acronyms rule needs to highlight an acronym is not defined in the first use
139
+ # it does not need to then point out every single time it is referenced in the document, so we check for itentical messages for specific rules
140
+ if seen_messages.include?(msg) && alert["Check"].downcase == "tech-writing-style-guide.acronyms"
141
+ next
142
+ end
143
+
144
+ seen_messages.add(msg)
145
+ unique_rows << {
146
+ file: file_path,
147
+ line: alert["Line"].to_s,
148
+ severity: alert["Severity"],
149
+ message: msg,
150
+ rule: alert["Check"],
151
+ }
152
+ end
153
+ end
154
+ @table_rows = unique_rows
155
+ end
156
+ end
@@ -0,0 +1,33 @@
1
+ # Rakefile
2
+ require "json"
3
+ require "open3"
4
+ require_relative "./helpers/rake_utils"
5
+ require_relative "./helpers/vale_report"
6
+
7
+ namespace :lint do
8
+ # task vale_sync:
9
+ desc "Run tech-docs-linter to check content against GOV.UK style guide."
10
+ task :vale, [:target, :clean_build, :full_output] do |_t, args|
11
+ args.with_defaults(target: "./build", clean_build: "true", full_output: "true")
12
+
13
+ sh "bundle exec vale sync --config='#{vale_config_path}'"
14
+
15
+ if args.clean_build == "true"
16
+ Rake::Task["middleman:build"].invoke
17
+ end
18
+
19
+ stdout, = Open3.capture3("vale --config='#{vale_config_path}' --output=JSON #{args.target}")
20
+
21
+ linter_report = ValeLinterReport.new(stdout)
22
+ linter_report.format_linter_output
23
+ if args.full_output == "true"
24
+ puts linter_report.get_linter_full_report
25
+ end
26
+ puts linter_report.get_linter_summary_report
27
+
28
+ # finish with a Ci friendly json string
29
+ linter_report.linter_summary_report_json
30
+ # Always exit 0 so individual project pipelines can evaluate the data themselves
31
+ exit 0
32
+ end
33
+ end
@@ -0,0 +1,10 @@
1
+ namespace :middleman do
2
+ desc "Delete build directory and run bundle exec middleman build"
3
+ task :build do
4
+ if Dir.exist?("./build")
5
+ puts "Target directory found at ./build. Removing old build."
6
+ FileUtils.rm_rf("./build")
7
+ end
8
+ sh "bundle exec middleman build"
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ @import "settings";
2
+ @import "tools";
3
+ @import "helpers";
4
+ @import "custom-properties";
5
+ @import "components/button/settings";
6
+
@@ -1,6 +1,5 @@
1
- @import "settings/index";
2
- @import "tools/index";
3
- @import "helpers/index";
4
- @import "custom-properties/index";
1
+ @forward "settings";
2
+ @forward "tools";
3
+ @forward "helpers";
4
+ @forward "components/button/settings";
5
5
 
6
- /*# sourceMappingURL=_base.scss.map */