diff --git a/Gemfile b/Gemfile index d36511e4..c9da2f51 100644 --- a/Gemfile +++ b/Gemfile @@ -12,4 +12,4 @@ gem 'tzinfo-data', platforms: [:mswin, :mingw, :jruby] gem 'govuk_tech_docs' # Include linter to check for dead internal links -gem 'html-proofer' +gem 'html-proofer', '~> 3.19.4' diff --git a/Gemfile.lock b/Gemfile.lock index 80b407c5..78f214b2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,23 +1,23 @@ GEM remote: https://rubygems.org/ specs: - activesupport (5.2.8.1) + activesupport (7.0.4.3) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.8.1) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) - autoprefixer-rails (10.4.7.0) + autoprefixer-rails (10.4.13.0) execjs (~> 2) - backports (3.23.0) + backports (3.24.1) chronic (0.10.2) chunky_png (1.4.0) coffee-script (2.4.1) coffee-script-source execjs coffee-script-source (1.12.2) - commonmarker (0.23.7) + commonmarker (0.23.9) compass (1.0.3) chunky_png (~> 1.2) compass-core (~> 1.0.2) @@ -30,19 +30,21 @@ GEM sass (>= 3.3.0, < 3.5) compass-import-once (1.0.5) sass (>= 3.2, < 3.5) - concurrent-ruby (1.2.0) - contracts (0.13.0) + concurrent-ruby (1.2.2) + contracts (0.16.1) dotenv (2.8.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) erubis (2.7.0) + ethon (0.16.0) + ffi (>= 1.15.0) eventmachine (1.2.7) execjs (2.8.1) fast_blank (1.0.1) fastimage (2.2.6) ffi (1.15.5) - govuk_tech_docs (3.3.0) + govuk_tech_docs (3.3.1) autoprefixer-rails (~> 10.2) chronic (~> 0.10.2) middleman (~> 4.0) @@ -61,35 +63,44 @@ GEM hamster (3.0.0) concurrent-ruby (~> 1.0) hashie (3.6.0) + html-proofer (3.19.4) + addressable (~> 2.3) + mercenary (~> 0.3) + nokogiri (~> 1.13) + parallel (~> 1.10) + rainbow (~> 3.0) + typhoeus (~> 1.3) + yell (~> 2.0) http_parser.rb (0.8.0) - i18n (0.9.5) + i18n (1.6.0) concurrent-ruby (~> 1.0) kramdown (2.4.0) rexml - listen (3.0.8) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) memoist (0.16.2) - middleman (4.3.11) + mercenary (0.4.0) + middleman (4.4.3) coffee-script (~> 2.2) - haml (>= 4.0.5) + haml (>= 4.0.5, < 6.0) kramdown (>= 2.3.0) - middleman-cli (= 4.3.11) - middleman-core (= 4.3.11) + middleman-cli (= 4.4.3) + middleman-core (= 4.4.3) middleman-autoprefixer (2.10.0) autoprefixer-rails (>= 9.1.4) middleman-core (>= 3.3.3) - middleman-cli (4.3.11) + middleman-cli (4.4.3) thor (>= 0.17.0, < 2.0) middleman-compass (4.0.1) compass (>= 1.0.0, < 2.0.0) middleman-core (>= 4.0.0) - middleman-core (4.3.11) - activesupport (>= 4.2, < 6.0) - addressable (~> 2.3) + middleman-core (4.4.3) + activesupport (>= 6.1, < 7.1) + addressable (~> 2.4) backports (~> 3.6) - bundler - contracts (~> 0.13.0) + bundler (~> 2.0) + contracts (~> 0.13) dotenv erubis execjs (~> 2.0) @@ -97,21 +108,23 @@ GEM fastimage (~> 2.0) hamster (~> 3.0) hashie (~> 3.4) - i18n (~> 0.9.0) - listen (~> 3.0.0) + i18n (~> 1.6.0) + listen (~> 3.0) memoist (~> 0.14) - padrino-helpers (~> 0.13.0) + padrino-helpers (~> 0.15.0) parallel rack (>= 1.4.5, < 3) sassc (~> 2.0) servolux tilt (~> 2.0.9) + toml uglifier (~> 3.0) + webrick middleman-livereload (3.4.7) em-websocket (~> 0.5.1) middleman-core (>= 3.3) rack-livereload (~> 0.3.15) - middleman-search-gds (0.11.1) + middleman-search-gds (0.11.2) execjs (~> 2.6) middleman-core (>= 3.2) nokogiri (~> 1.6) @@ -122,25 +135,26 @@ GEM middleman-core (>= 3.2) rouge (~> 3.2) mini_portile2 (2.8.1) - minitest (5.17.0) + minitest (5.18.0) multi_json (1.15.0) - nokogiri (1.14.0) + nokogiri (1.14.3) mini_portile2 (~> 2.8.0) racc (~> 1.4) openapi3_parser (0.9.2) commonmarker (~> 0.17) - padrino-helpers (0.13.3.4) - i18n (~> 0.6, >= 0.6.7) - padrino-support (= 0.13.3.4) + padrino-helpers (0.15.3) + i18n (>= 0.6.7, < 2) + padrino-support (= 0.15.3) tilt (>= 1.4.1, < 3) - padrino-support (0.13.3.4) - activesupport (>= 3.1) - parallel (1.22.1) + padrino-support (0.15.3) + parallel (1.23.0) + parslet (2.0.0) public_suffix (5.0.1) racc (1.6.2) - rack (2.2.6.4) + rack (2.2.7) rack-livereload (0.3.17) rack + rainbow (3.1.1) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) @@ -156,17 +170,26 @@ GEM rack (>= 2.2.4, < 4) temple (0.10.0) thor (1.2.1) - thread_safe (0.3.6) tilt (2.0.11) - tzinfo (1.2.10) - thread_safe (~> 0.1) + toml (0.3.0) + parslet (>= 1.8.0, < 3.0.0) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) uglifier (3.2.0) execjs (>= 0.3.0, < 3) + webrick (1.8.1) + yell (2.2.2) PLATFORMS ruby DEPENDENCIES govuk_tech_docs + html-proofer (~> 3.19.4) tzinfo-data wdm (~> 0.1.0) + +BUNDLED WITH + 2.1.4 diff --git a/config.rb b/config.rb index bac1e301..d8a30eb3 100644 --- a/config.rb +++ b/config.rb @@ -17,15 +17,13 @@ /search/ # Provided by tech-docs gem but has a "broken" link from html-proofer's point of view ], :url_ignore => [ - "https://github.com/alphagov/centralised-security-logging-service" + "https://github.com/alphagov/centralised-security-logging-service", + "https://gdshelpdesk.digital.cabinet-office.gov.uk", + "https://gds-way.cloudapps.digital/standards/secrets-acl.html", + /https:\/\/github.com\// ] }) - proofer.before_request do |request| - # We get rate-limited by GitHub so pause between checking GitHub links - sleep 2 if request.base_url == "https://github.com/" - end - proofer.run rescue RuntimeError => e abort e.to_s diff --git a/config/tech-docs.yml b/config/tech-docs.yml index 405e48ad..ff5993fd 100644 --- a/config/tech-docs.yml +++ b/config/tech-docs.yml @@ -38,6 +38,5 @@ owner_slack_workspace: gds redirects: /standards/publish-opensource-code.html: /standards/source-code/index.html#publish-open-source-code /standards/git.html: /standards/source-code/working-with-git.html - /standards/cyber-security-overview.html: /standards/cdio-pillars.html#cdio-security /standards/testing-with-rspec.html: /manuals/programming-languages/ruby.html#testing-with-rspec /standards/secrets-ACL.html: /standards/secrets-acl.html