govuk_tech_docs 1.0.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 (98) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +29 -0
  3. data/.gitignore +34 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +5 -0
  6. data/CHANGELOG.md +36 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE +21 -0
  9. data/README.md +47 -0
  10. data/Rakefile +9 -0
  11. data/example/.ruby-version +1 -0
  12. data/example/Gemfile +3 -0
  13. data/example/config.rb +3 -0
  14. data/example/config/tech-docs.yml +23 -0
  15. data/example/source/index.html.md.erb +17 -0
  16. data/example/source/javascripts/application.js +1 -0
  17. data/example/source/stylesheets/print.css.scss +3 -0
  18. data/example/source/stylesheets/screen-old-ie.css.scss +4 -0
  19. data/example/source/stylesheets/screen.css.scss +1 -0
  20. data/govuk_tech_docs.gemspec +38 -0
  21. data/lib/assets/javascripts/_analytics.js +31 -0
  22. data/lib/assets/javascripts/_govuk/modules.js +57 -0
  23. data/lib/assets/javascripts/_modules/anchored-headings.js +18 -0
  24. data/lib/assets/javascripts/_modules/in-page-navigation.js +124 -0
  25. data/lib/assets/javascripts/_modules/navigation.js +34 -0
  26. data/lib/assets/javascripts/_modules/table-of-contents.js +103 -0
  27. data/lib/assets/javascripts/_start-modules.js +9 -0
  28. data/lib/assets/javascripts/_vendor/fixedsticky.js +194 -0
  29. data/lib/assets/javascripts/_vendor/jquery.js +5 -0
  30. data/lib/assets/javascripts/_vendor/lodash.js +613 -0
  31. data/lib/assets/javascripts/_vendor/modernizr.js +3 -0
  32. data/lib/assets/javascripts/govuk_tech_docs.js +10 -0
  33. data/lib/assets/stylesheets/_accessibility.scss +9 -0
  34. data/lib/assets/stylesheets/_core.scss +62 -0
  35. data/lib/assets/stylesheets/_fonts.scss +29 -0
  36. data/lib/assets/stylesheets/_govuk_tech_docs.scss +2 -0
  37. data/lib/assets/stylesheets/_syntax-highlighting.scss +196 -0
  38. data/lib/assets/stylesheets/govuk_frontend_toolkit/_colours.scss +2 -0
  39. data/lib/assets/stylesheets/govuk_frontend_toolkit/_conditionals.scss +81 -0
  40. data/lib/assets/stylesheets/govuk_frontend_toolkit/_css3.scss +90 -0
  41. data/lib/assets/stylesheets/govuk_frontend_toolkit/_device-pixels.scss +10 -0
  42. data/lib/assets/stylesheets/govuk_frontend_toolkit/_font_stack.scss +19 -0
  43. data/lib/assets/stylesheets/govuk_frontend_toolkit/_grid_layout.scss +136 -0
  44. data/lib/assets/stylesheets/govuk_frontend_toolkit/_helpers.scss +16 -0
  45. data/lib/assets/stylesheets/govuk_frontend_toolkit/_measurements.scss +14 -0
  46. data/lib/assets/stylesheets/govuk_frontend_toolkit/_shims.scss +55 -0
  47. data/lib/assets/stylesheets/govuk_frontend_toolkit/_typography.scss +249 -0
  48. data/lib/assets/stylesheets/govuk_frontend_toolkit/_url-helpers.scss +16 -0
  49. data/lib/assets/stylesheets/govuk_frontend_toolkit/colours/_organisation.scss +103 -0
  50. data/lib/assets/stylesheets/govuk_frontend_toolkit/colours/_palette.scss +77 -0
  51. data/lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_alpha-beta.scss +66 -0
  52. data/lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_breadcrumbs.scss +53 -0
  53. data/lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_buttons.scss +141 -0
  54. data/lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_media-player.scss +242 -0
  55. data/lib/assets/stylesheets/modules/_anchored-heading.scss +54 -0
  56. data/lib/assets/stylesheets/modules/_app-pane.scss +64 -0
  57. data/lib/assets/stylesheets/modules/_footer.scss +130 -0
  58. data/lib/assets/stylesheets/modules/_govuk-logo.scss +47 -0
  59. data/lib/assets/stylesheets/modules/_header.scss +289 -0
  60. data/lib/assets/stylesheets/modules/_phase-banner.scss +22 -0
  61. data/lib/assets/stylesheets/modules/_skip-link.scss +31 -0
  62. data/lib/assets/stylesheets/modules/_technical-documentation.scss +236 -0
  63. data/lib/assets/stylesheets/modules/_toc.scss +221 -0
  64. data/lib/assets/stylesheets/palette/_syntax-highlighting.scss +23 -0
  65. data/lib/assets/stylesheets/utilities/_fonts.scss +29 -0
  66. data/lib/assets/stylesheets/utilities/_printable.scss +13 -0
  67. data/lib/assets/stylesheets/vendor/_fixedsticky.scss +22 -0
  68. data/lib/govuk_tech_docs.rb +54 -0
  69. data/lib/govuk_tech_docs/table_of_contents/heading.rb +29 -0
  70. data/lib/govuk_tech_docs/table_of_contents/heading_tree.rb +27 -0
  71. data/lib/govuk_tech_docs/table_of_contents/heading_tree_builder.rb +41 -0
  72. data/lib/govuk_tech_docs/table_of_contents/heading_tree_renderer.rb +46 -0
  73. data/lib/govuk_tech_docs/table_of_contents/headings_builder.rb +37 -0
  74. data/lib/govuk_tech_docs/table_of_contents/helpers.rb +20 -0
  75. data/lib/govuk_tech_docs/tech_docs_html_renderer.rb +24 -0
  76. data/lib/govuk_tech_docs/unique_identifier_extension.rb +13 -0
  77. data/lib/govuk_tech_docs/unique_identifier_generator.rb +72 -0
  78. data/lib/govuk_tech_docs/version.rb +3 -0
  79. data/lib/source/favicon.ico +0 -0
  80. data/lib/source/images/anchored-heading-icon-2x.png +0 -0
  81. data/lib/source/images/anchored-heading-icon.png +0 -0
  82. data/lib/source/images/gov.uk_logotype_crown-2x.png +0 -0
  83. data/lib/source/images/gov.uk_logotype_crown.png +0 -0
  84. data/lib/source/images/gov.uk_logotype_crown_invert_trans.png +0 -0
  85. data/lib/source/images/govuk-crest-2x.png +0 -0
  86. data/lib/source/images/govuk-crest.png +0 -0
  87. data/lib/source/images/govuk-icn-close.png +0 -0
  88. data/lib/source/images/govuk-icn-close@2x.png +0 -0
  89. data/lib/source/images/govuk-icn-numbered-list.png +0 -0
  90. data/lib/source/images/govuk-icn-numbered-list@2x.png +0 -0
  91. data/lib/source/images/open-government-licence.png +0 -0
  92. data/lib/source/images/open-government-licence_2x.png +0 -0
  93. data/lib/source/layouts/_analytics.erb +14 -0
  94. data/lib/source/layouts/_footer.erb +10 -0
  95. data/lib/source/layouts/_header.erb +46 -0
  96. data/lib/source/layouts/core.erb +59 -0
  97. data/lib/source/layouts/layout.erb +16 -0
  98. metadata +323 -0
@@ -0,0 +1,46 @@
1
+ module GovukTechDocs
2
+ module TableOfContents
3
+ class HeadingTreeRenderer
4
+ DEFAULT_MAX_LEVEL = Float::INFINITY
5
+ DEFAULT_INDENTATION = ''.freeze
6
+ INDENTATION_INCREMENT = ' '.freeze
7
+
8
+ def initialize(heading_tree, max_level: nil)
9
+ @heading_tree = heading_tree
10
+ @max_level = max_level || DEFAULT_MAX_LEVEL
11
+ end
12
+
13
+ def html
14
+ render_tree(@heading_tree, level: 0)
15
+ end
16
+
17
+ private
18
+
19
+ def render_tree(tree, indentation: DEFAULT_INDENTATION, level: nil)
20
+ output = ''
21
+
22
+ if tree.heading
23
+ output += indentation + %{<a href="#{tree.heading.href}">#{tree.heading.title}</a>\n}
24
+ end
25
+
26
+ if tree.children.any? && level < @max_level
27
+ output += indentation + "<ul>\n"
28
+
29
+ tree.children.each do |child|
30
+ output += indentation + INDENTATION_INCREMENT + "<li>\n"
31
+ output += render_tree(
32
+ child,
33
+ indentation: indentation + INDENTATION_INCREMENT * 2,
34
+ level: level + 1
35
+ )
36
+ output += indentation + INDENTATION_INCREMENT + "</li>\n"
37
+ end
38
+
39
+ output += indentation + "</ul>\n"
40
+ end
41
+
42
+ output
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,37 @@
1
+ module GovukTechDocs
2
+ module TableOfContents
3
+ class HeadingsBuilder
4
+ def initialize(html)
5
+ @html = html
6
+ end
7
+
8
+ def headings
9
+ heading_elements.map do |element|
10
+ Heading.new(
11
+ element_name: element.node_name,
12
+ text: element.content,
13
+ attributes: convert_nokogiri_attr_objects_to_hashes(element.attributes)
14
+ )
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ def page
21
+ @_page ||= Nokogiri::HTML(@html)
22
+ end
23
+
24
+ def heading_elements
25
+ page.search('h1, h2, h3, h4, h5, h6')
26
+ end
27
+
28
+ def convert_nokogiri_attr_objects_to_hashes(attributes)
29
+ attributes.tap do |hash|
30
+ hash.each do |k, v|
31
+ hash[k] = v.value
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,20 @@
1
+ require 'govuk_tech_docs/table_of_contents/heading_tree_builder'
2
+ require 'govuk_tech_docs/table_of_contents/heading_tree_renderer'
3
+ require 'govuk_tech_docs/table_of_contents/heading_tree'
4
+ require 'govuk_tech_docs/table_of_contents/heading'
5
+ require 'govuk_tech_docs/table_of_contents/headings_builder'
6
+
7
+ module GovukTechDocs
8
+ module TableOfContents
9
+ module Helpers
10
+ def table_of_contents(html, max_level: nil)
11
+ HeadingTreeRenderer.new(
12
+ HeadingTreeBuilder.new(
13
+ HeadingsBuilder.new(html).headings
14
+ ).tree,
15
+ max_level: max_level
16
+ ).html
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ require 'middleman-core/renderers/redcarpet'
2
+
3
+ module GovukTechDocs
4
+ class TechDocsHTMLRenderer < Middleman::Renderers::MiddlemanRedcarpetHTML
5
+ include Redcarpet::Render::SmartyPants
6
+
7
+ def header(text, level)
8
+ anchor = UniqueIdentifierGenerator.instance.create(text, level)
9
+ %(<h#{level} id="#{anchor}">#{text}</h#{level}>)
10
+ end
11
+
12
+ def image(link, *args)
13
+ %(<a href="#{link}" target="_blank" rel="noopener noreferrer">#{super}</a>)
14
+ end
15
+
16
+ def table(header, body)
17
+ %(<div class="table-container">
18
+ <table>
19
+ #{header}#{body}
20
+ </table>
21
+ </div>)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,13 @@
1
+ module GovukTechDocs
2
+ class UniqueIdentifierExtension < Middleman::Extension
3
+ def initialize(app, options_hash = {}, &block)
4
+ super
5
+
6
+ app.before do
7
+ UniqueIdentifierGenerator.instance.reset
8
+ end
9
+ end
10
+ end
11
+ end
12
+
13
+ ::Middleman::Extensions.register(:unique_identifier, GovukTechDocs::UniqueIdentifierExtension)
@@ -0,0 +1,72 @@
1
+ require 'singleton'
2
+
3
+ module GovukTechDocs
4
+ class UniqueIdentifierGenerator
5
+ include Singleton
6
+
7
+ Anchor = Struct.new(:id, :level)
8
+
9
+ attr_reader :anchors
10
+
11
+ def initialize
12
+ reset
13
+ end
14
+
15
+ def create(id, level)
16
+ anchor = heading_slug(id)
17
+
18
+ unless unique?(anchor)
19
+ anchor = prefixed_by_parent(anchor, level)
20
+ end
21
+
22
+ unless unique?(anchor)
23
+ anchor = suffixed_with_number(anchor)
24
+ end
25
+
26
+ @anchors << Anchor.new(anchor, level)
27
+
28
+ anchor
29
+ end
30
+
31
+ def reset
32
+ @anchors = []
33
+ end
34
+
35
+ private
36
+
37
+ def prefixed_by_parent(anchor, level)
38
+ closest_parent = @anchors.reverse.find { |a| a.level < level }
39
+ if closest_parent.nil?
40
+ anchor
41
+ else
42
+ [closest_parent.id, anchor].join("-")
43
+ end
44
+ end
45
+
46
+ def suffixed_with_number(text)
47
+ number = 2
48
+ anchor = "#{text}-#{number}"
49
+
50
+ until unique?(anchor)
51
+ anchor = "#{text}-#{number}"
52
+ number += 1
53
+ end
54
+
55
+ anchor
56
+ end
57
+
58
+ def unique?(value)
59
+ @anchors.none? { |a| a.id == value }
60
+ end
61
+
62
+ # https://github.com/vmg/redcarpet/blob/820dadb98b3720811cc20c5570a5d43c796c85fc/ext/redcarpet/html.c#L274-L305
63
+ def heading_slug(text)
64
+ text
65
+ .downcase
66
+ .strip
67
+ .gsub(%r{</?[^>]+?>}, '') # Remove HTML tags
68
+ .gsub(/[^0-9a-z]+/, '-') # Replace non-alphanumeric characters with dashes
69
+ .gsub(/\A-+|-+\z/, '') # Remove trailing dashes
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,3 @@
1
+ module GovukTechDocs
2
+ VERSION = "1.0.0"
3
+ end
Binary file
@@ -0,0 +1,14 @@
1
+ <% if config[:tech_docs][:ga_tracking_id].is_a?(String) && !config[:tech_docs][:ga_tracking_id].empty? %>
2
+ <script>
3
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
4
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
5
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
6
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
7
+
8
+ ga('create', '<%= config[:tech_docs][:ga_tracking_id] %>', 'auto');
9
+ ga('set', 'anonymizeIp', true);
10
+ ga('set', 'displayFeaturesTask', null);
11
+ ga('set', 'transport', 'beacon');
12
+ ga('send', 'pageview');
13
+ </script>
14
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <footer class="footer">
2
+ <div class="footer__licence">
3
+ <a class="footer__licence-logo" href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/" rel="license">Open Government Licence</a>
4
+ <p class="footer__licence-description">All content is available under the <a href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/" rel="license">Open Government Licence v3.0</a>, except where otherwise stated</p>
5
+ </div>
6
+
7
+ <div class="footer__copyright">
8
+ <a class="footer__copyright-logo" href="http://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/">© Crown copyright</a>
9
+ </div>
10
+ </footer>
@@ -0,0 +1,46 @@
1
+ <header class="header header--full-width">
2
+ <div class="header__container">
3
+ <div class="header__brand">
4
+ <% if config[:tech_docs][:service_link] %>
5
+ <a href="<%= config[:tech_docs][:service_link] %>">
6
+ <% else %>
7
+ <span>
8
+ <% end %>
9
+ <% if config[:tech_docs][:show_govuk_logo] %>
10
+ <span class="govuk-logo">
11
+ <img class="govuk-logo__printable-crown" src="/images/gov.uk_logotype_crown_invert_trans.png" height="32" width="36">
12
+ GOV.UK
13
+ </span>
14
+ <% end %>
15
+ <span class="header__title">
16
+ <%= config[:tech_docs][:service_name] %>
17
+ <% if config[:tech_docs][:phase] %>
18
+ <span class="phase-banner"><%= config[:tech_docs][:phase] %></span>
19
+ <% end %>
20
+ </span>
21
+ <% if config[:tech_docs][:service_link] %>
22
+ </a>
23
+ <% else %>
24
+ </span>
25
+ <% end %>
26
+ </div>
27
+
28
+ <% if config[:tech_docs][:header_links] %>
29
+ <div data-module="navigation">
30
+ <button type="button" class="header__navigation-toggle js-nav-toggle" aria-controls="navigation" aria-label="Show or hide top level navigation">Menu</button>
31
+
32
+ <nav id="navigation" class="header__navigation js-nav" aria-label="Top Level Navigation" aria-hidden="true">
33
+ <ul>
34
+ <% config[:tech_docs][:header_links].each do |title, url| %>
35
+ <li<% if url == current_page.url %> class="active"<% end %>>
36
+ <a href="<%= url %>">
37
+ <%= title %>
38
+ </a>
39
+ </li>
40
+ <% end %>
41
+ </ul>
42
+ </nav>
43
+ </div>
44
+ <% end %>
45
+ </div>
46
+ </header>
@@ -0,0 +1,59 @@
1
+ <!doctype html>
2
+ <html lang="en" class="no-js">
3
+ <head>
4
+ <meta content="IE=edge" http-equiv="X-UA-Compatible">
5
+ <meta charset="utf-8">
6
+ <meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
7
+ <% if config[:tech_docs][:prevent_indexing] %>
8
+ <meta name="robots" content="noindex">
9
+ <% end %>
10
+
11
+ <!-- Use title if it's in the page YAML frontmatter -->
12
+ <title><%= current_page.data.title || "GOV.UK Documentation" %></title>
13
+
14
+ <!--[if gt IE 8]><!--><%= stylesheet_link_tag :screen, media: 'screen' %><!--<![endif]-->
15
+ <!--[if lte IE 8]><%= stylesheet_link_tag 'screen-old-ie', media: 'screen' %><![endif]-->
16
+
17
+ <link rel="canonical" href="<%= config[:tech_docs][:host] %><%= current_page.url %>">
18
+
19
+ <%= stylesheet_link_tag :print, media: 'print' %>
20
+ <%= javascript_include_tag :application %>
21
+ </head>
22
+
23
+ <body>
24
+ <div class="app-pane">
25
+ <div class="app-pane__header toc-open-disabled">
26
+ <a href="#content" class="skip-link">Skip to main content</a>
27
+
28
+ <%= partial 'layouts/header' %>
29
+ </div>
30
+
31
+ <div id="toc-heading" class="toc-show fixedsticky">
32
+ <a href="#toc" class="toc-show__label js-toc-show" aria-controls="toc">
33
+ Table of contents <span class="toc-show__icon"></span>
34
+ </a>
35
+ </div>
36
+
37
+ <div class="app-pane__body"<%= " data-module=\"#{yield_content(:toc_module)}\"" if content_for? :toc_module %>>
38
+ <div class="app-pane__toc">
39
+ <div class="toc" data-module="table-of-contents">
40
+ <a href="#" class="toc__close js-toc-close" aria-controls="toc" aria-label="Hide table of contents"></a>
41
+ <nav id="toc" class="js-toc-list toc__list" aria-labelledby="toc-heading">
42
+ <%= yield_content :sidebar %>
43
+ </nav>
44
+ </div>
45
+ </div>
46
+
47
+ <div class="app-pane__content toc-open-disabled">
48
+ <main id="content" class="technical-documentation" data-module="anchored-headings">
49
+ <%= yield %>
50
+ </main>
51
+
52
+ <%= partial "layouts/footer" %>
53
+ </div>
54
+ </div>
55
+ </div>
56
+
57
+ <%= partial 'layouts/analytics' %>
58
+ </body>
59
+ </html>
@@ -0,0 +1,16 @@
1
+ <%
2
+ wrap_layout :core do
3
+ html = yield
4
+
5
+ content_for(:toc_module, "in-page-navigation")
6
+
7
+ content_for :sidebar do
8
+ table_of_contents(
9
+ html,
10
+ max_level: config[:tech_docs][:max_toc_heading_level]
11
+ )
12
+ end
13
+
14
+ html
15
+ end
16
+ %>
metadata ADDED
@@ -0,0 +1,323 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: govuk_tech_docs
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Government Digital Service
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-03-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: middleman
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: middleman-autoprefixer
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.7.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.7.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: middleman-compass
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 4.0.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 4.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: middleman-livereload
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: middleman-sprockets
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 4.0.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 4.0.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: middleman-syntax
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 3.0.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 3.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: nokogiri
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: redcarpet
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 3.3.2
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 3.3.2
125
+ - !ruby/object:Gem::Dependency
126
+ name: bundler
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.15'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.15'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '10.0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '10.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: capybara
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 2.18.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 2.18.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: jasmine
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 3.1.0
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 3.1.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: rspec
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 3.7.0
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 3.7.0
195
+ description: Gem to distribute the GOV.UK Tech Docs Template. See https://github.com/alphagov/govuk-tech-docs
196
+ for the project.
197
+ email:
198
+ - govuk-dev@digital.cabinet-office.gov.uk
199
+ executables: []
200
+ extensions: []
201
+ extra_rdoc_files: []
202
+ files:
203
+ - ".editorconfig"
204
+ - ".gitignore"
205
+ - ".rspec"
206
+ - ".travis.yml"
207
+ - CHANGELOG.md
208
+ - Gemfile
209
+ - LICENSE
210
+ - README.md
211
+ - Rakefile
212
+ - example/.ruby-version
213
+ - example/Gemfile
214
+ - example/config.rb
215
+ - example/config/tech-docs.yml
216
+ - example/source/index.html.md.erb
217
+ - example/source/javascripts/application.js
218
+ - example/source/stylesheets/print.css.scss
219
+ - example/source/stylesheets/screen-old-ie.css.scss
220
+ - example/source/stylesheets/screen.css.scss
221
+ - govuk_tech_docs.gemspec
222
+ - lib/assets/javascripts/_analytics.js
223
+ - lib/assets/javascripts/_govuk/modules.js
224
+ - lib/assets/javascripts/_modules/anchored-headings.js
225
+ - lib/assets/javascripts/_modules/in-page-navigation.js
226
+ - lib/assets/javascripts/_modules/navigation.js
227
+ - lib/assets/javascripts/_modules/table-of-contents.js
228
+ - lib/assets/javascripts/_start-modules.js
229
+ - lib/assets/javascripts/_vendor/fixedsticky.js
230
+ - lib/assets/javascripts/_vendor/jquery.js
231
+ - lib/assets/javascripts/_vendor/lodash.js
232
+ - lib/assets/javascripts/_vendor/modernizr.js
233
+ - lib/assets/javascripts/govuk_tech_docs.js
234
+ - lib/assets/stylesheets/_accessibility.scss
235
+ - lib/assets/stylesheets/_core.scss
236
+ - lib/assets/stylesheets/_fonts.scss
237
+ - lib/assets/stylesheets/_govuk_tech_docs.scss
238
+ - lib/assets/stylesheets/_syntax-highlighting.scss
239
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_colours.scss
240
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_conditionals.scss
241
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_css3.scss
242
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_device-pixels.scss
243
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_font_stack.scss
244
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_grid_layout.scss
245
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_helpers.scss
246
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_measurements.scss
247
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_shims.scss
248
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_typography.scss
249
+ - lib/assets/stylesheets/govuk_frontend_toolkit/_url-helpers.scss
250
+ - lib/assets/stylesheets/govuk_frontend_toolkit/colours/_organisation.scss
251
+ - lib/assets/stylesheets/govuk_frontend_toolkit/colours/_palette.scss
252
+ - lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_alpha-beta.scss
253
+ - lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_breadcrumbs.scss
254
+ - lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_buttons.scss
255
+ - lib/assets/stylesheets/govuk_frontend_toolkit/design-patterns/_media-player.scss
256
+ - lib/assets/stylesheets/modules/_anchored-heading.scss
257
+ - lib/assets/stylesheets/modules/_app-pane.scss
258
+ - lib/assets/stylesheets/modules/_footer.scss
259
+ - lib/assets/stylesheets/modules/_govuk-logo.scss
260
+ - lib/assets/stylesheets/modules/_header.scss
261
+ - lib/assets/stylesheets/modules/_phase-banner.scss
262
+ - lib/assets/stylesheets/modules/_skip-link.scss
263
+ - lib/assets/stylesheets/modules/_technical-documentation.scss
264
+ - lib/assets/stylesheets/modules/_toc.scss
265
+ - lib/assets/stylesheets/palette/_syntax-highlighting.scss
266
+ - lib/assets/stylesheets/utilities/_fonts.scss
267
+ - lib/assets/stylesheets/utilities/_printable.scss
268
+ - lib/assets/stylesheets/vendor/_fixedsticky.scss
269
+ - lib/govuk_tech_docs.rb
270
+ - lib/govuk_tech_docs/table_of_contents/heading.rb
271
+ - lib/govuk_tech_docs/table_of_contents/heading_tree.rb
272
+ - lib/govuk_tech_docs/table_of_contents/heading_tree_builder.rb
273
+ - lib/govuk_tech_docs/table_of_contents/heading_tree_renderer.rb
274
+ - lib/govuk_tech_docs/table_of_contents/headings_builder.rb
275
+ - lib/govuk_tech_docs/table_of_contents/helpers.rb
276
+ - lib/govuk_tech_docs/tech_docs_html_renderer.rb
277
+ - lib/govuk_tech_docs/unique_identifier_extension.rb
278
+ - lib/govuk_tech_docs/unique_identifier_generator.rb
279
+ - lib/govuk_tech_docs/version.rb
280
+ - lib/source/favicon.ico
281
+ - lib/source/images/anchored-heading-icon-2x.png
282
+ - lib/source/images/anchored-heading-icon.png
283
+ - lib/source/images/gov.uk_logotype_crown-2x.png
284
+ - lib/source/images/gov.uk_logotype_crown.png
285
+ - lib/source/images/gov.uk_logotype_crown_invert_trans.png
286
+ - lib/source/images/govuk-crest-2x.png
287
+ - lib/source/images/govuk-crest.png
288
+ - lib/source/images/govuk-icn-close.png
289
+ - lib/source/images/govuk-icn-close@2x.png
290
+ - lib/source/images/govuk-icn-numbered-list.png
291
+ - lib/source/images/govuk-icn-numbered-list@2x.png
292
+ - lib/source/images/open-government-licence.png
293
+ - lib/source/images/open-government-licence_2x.png
294
+ - lib/source/layouts/_analytics.erb
295
+ - lib/source/layouts/_footer.erb
296
+ - lib/source/layouts/_header.erb
297
+ - lib/source/layouts/core.erb
298
+ - lib/source/layouts/layout.erb
299
+ homepage: https://github.com/alphagov/govuk-tech-docs
300
+ licenses:
301
+ - MIT
302
+ metadata: {}
303
+ post_install_message:
304
+ rdoc_options: []
305
+ require_paths:
306
+ - lib
307
+ required_ruby_version: !ruby/object:Gem::Requirement
308
+ requirements:
309
+ - - ">="
310
+ - !ruby/object:Gem::Version
311
+ version: '0'
312
+ required_rubygems_version: !ruby/object:Gem::Requirement
313
+ requirements:
314
+ - - ">="
315
+ - !ruby/object:Gem::Version
316
+ version: '0'
317
+ requirements: []
318
+ rubyforge_project:
319
+ rubygems_version: 2.5.1
320
+ signing_key:
321
+ specification_version: 4
322
+ summary: Gem to distribute the GOV.UK Tech Docs Template
323
+ test_files: []