tinkerbell / tinkerbell-docs

Tinkerbell User Documentation Website
https://tinkerbell.org
Apache License 2.0
13 stars 42 forks source link

Lots of dead links #42

Closed mmlb closed 2 years ago

mmlb commented 3 years ago

Lets collect/fix all the dead links under this issue? We should also make use of https://www.npmjs.com/package/netlify-plugin-checklinks to avoid more dead links.

Here's what I got just now:

/ # hyperlink https://docs.tinkerbell.org
Guessing --root from input files: https://docs.tinkerbell.org
TAP version 13
# Crawling internal assets
ok 1 load https://docs.tinkerbell.org
ok 2 load https://www.google-analytics.com/analytics.js
ok 3 load https://docs.tinkerbell.org/stylesheets/extra.css
ok 4 load https://docs.tinkerbell.org/stylesheets/simple-grid.css
ok 5 load https://docs.tinkerbell.org/assets/javascripts/bundle.f81dfb4d.min.js
ok 6 load https://docs.tinkerbell.org/stylesheets/font-awesome.min.css
ok 7 load https://docs.tinkerbell.org/assets/stylesheets/palette.196e0c26.min.css
ok 8 load https://docs.tinkerbell.org/assets/icon/manifest.json
ok 9 load https://docs.tinkerbell.org/assets/javascripts/vendor.0ac82a11.min.js
ok 10 load https://docs.tinkerbell.org/assets/stylesheets/main.19753c6b.min.css
not ok 11 load https://docs.tinkerbell.org/None
  ---
    operator: load
    expected: "200 https://docs.tinkerbell.org/None"
    actual:   "HTTP 404 Not Found"
    at: https://docs.tinkerbell.org (82:36) <meta property="og:url" content="None">
  ...
ok 12 load https://fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,700,700italic
not ok 13 load https://cloud.typography.com/6193438/7900212/css/fonts.css
  ---
    operator: load
    expected: "200 https://cloud.typography.com/6193438/7900212/css/fonts.css"
    actual:   "HTTP 403 Forbidden"
    at: https://docs.tinkerbell.org (95:15) <link href="https://cloud.typography.com/6193438/7900212/css/fonts.css" rel="stylesheet">
  ...
ok 14 fragment-check https://docs.tinkerbell.org --> #the-tinkerbell-docs
ok 15 fragment-check https://docs.tinkerbell.org --> #what-is-tinkerbell
ok 16 fragment-check https://docs.tinkerbell.org --> #whats-powering-tinkerbell
ok 17 fragment-check https://docs.tinkerbell.org --> #first-steps
ok 18 fragment-check https://docs.tinkerbell.org --> #get-help
ok 19 fragment-check https://docs.tinkerbell.org --> #what-is-tinkerbell
ok 20 fragment-check https://docs.tinkerbell.org --> #whats-powering-tinkerbell
ok 21 fragment-check https://docs.tinkerbell.org --> #first-steps
ok 22 fragment-check https://docs.tinkerbell.org --> #get-help
# Crawling 84 outgoing urls
ok 23 external-check https://docs.tinkerbell.org/assets/images/favicon.png
ok 24 external-check https://docs.tinkerbell.org/assets/icon/favicon-32x32.png
ok 25 external-check https://docs.tinkerbell.org/
ok 26 external-check https://docs.tinkerbell.org/assets/icon/android-icon-192x192.png
ok 27 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-72x72.png
ok 28 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-120x120.png
ok 29 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-180x180.png
ok 30 external-check https://docs.tinkerbell.org/assets/icon/favicon-16x16.png
ok 31 external-check https://docs.tinkerbell.org/assets/icon/favicon-96x96.png
ok 32 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-144x144.png
ok 33 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-76x76.png
ok 34 external-check https://docs.tinkerbell.org/assets/icon/ms-icon-144x144.png
ok 35 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-152x152.png
ok 36 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-114x114.png
ok 37 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-60x60.png
ok 38 external-check https://tinkerbell.org/images/social/tinkerbell-social-image.png
ok 39 external-check https://twitter.com/tinkerbell_oss
ok 40 external-check https://tinkerbell.org/faq/
ok 41 external-check https://docs.tinkerbell.org/assets/logo.png
ok 42 external-check https://tinkerbell.org/community/
ok 43 external-check https://docs.tinkerbell.org/hardware-data/
ok 44 external-check https://docs.tinkerbell.org/services/osie/
ok 45 external-check https://docs.tinkerbell.org/services/tink/
ok 46 external-check https://tinkerbell.org/
ok 47 external-check https://www.youtube.com/channel/UCTzWInTQPvzH21KHS8jrq7A
ok 48 external-check https://docs.tinkerbell.org/services/hegel/
ok 49 external-check https://docs.tinkerbell.org/architecture/
ok 50 external-check https://docs.tinkerbell.org/services/boots/
ok 51 external-check https://docs.tinkerbell.org/templates/
ok 52 external-check https://docs.tinkerbell.org/setup/local-vagrant/
ok 53 external-check https://tinkerbell.org/examples/
ok 54 external-check https://tinkerbell.org/community/slack/
ok 55 external-check https://docs.tinkerbell.org/cli-reference/hardware/
ok 56 external-check https://docs.tinkerbell.org/examples/hello-world-workflow/
ok 57 external-check https://docs.tinkerbell.org/cli-reference/workflow/
ok 58 external-check https://docs.tinkerbell.org/cli-reference/template/
ok 59 external-check https://docs.tinkerbell.org/workflows/
ok 60 external-check https://docs.tinkerbell.org/setup/packet-terraform/
ok 61 external-check https://docs.tinkerbell.org/setup/extending-vagrant/
ok 62 external-check https://docs.tinkerbell.org/troubleshooting/
not ok 63 external-check https://docs.tinkerbell.org/assets/icon/apple-favicon.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/assets/icon/apple-favicon.png"
    actual:   "404 https://docs.tinkerbell.org/assets/icon/apple-favicon.png"
    at: https://docs.tinkerbell.org (58:38) <link rel="apple-touch-icon" href="/assets/icon/apple-favicon.png">
  ...
not ok 64 external-check https://docs.tinkerbell.org/assets/icon/favicon.ico%27)/%3E%0A%20%20%3Clink%20rel=
  ---
    operator: external-check
    expected:
      "200 https://docs.tinkerbell.org/assets/icon/favicon.ico%27)/%3E%0A%20%20%3Clink%20rel="
    actual:
      "404 https://docs.tinkerbell.org/assets/icon/favicon.ico%27)/%3E%0A%20%20%3Clink%20rel="
    at: https://docs.tinkerbell.org (60:46) <link rel="icon" type="image/x-icon" href="/assets/icon/favicon.ico')/>\n  <link rel=" apple-touch-icon"="" sizes="57x57">
  ...
ok 65 external-check https://github.com/tinkerbell/
ok 66 external-check https://quay.io/
ok 67 external-check https://hub.docker.com/
ok 68 external-check https://www.postgresql.org/
ok 69 external-check https://hub.docker.com/_/registry
ok 70 external-check https://www.nginx.com/
ok 71 external-check https://metal.equinix.com/
ok 72 external-check https://docs.tinkerbell.org/assets/javascripts/bundle.f81dfb4d.min.js.map
not ok 73 external-redirect https://docs.tinkerbell.org/services/osie
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/osie --> 200 https://docs.tinkerbell.org/services/osie/"
    actual:
      "301 https://docs.tinkerbell.org/services/osie --> 200 https://docs.tinkerbell.org/services/osie/"
    at: https://docs.tinkerbell.org (645:13) <a href="/services/osie">...</a>
  ...
ok 74 external-check https://docs.tinkerbell.org/services/osie
ok 75 external-check https://tinkerbell.org/community/contributors/
not ok 76 external-redirect https://docs.tinkerbell.org/examples/hello-world-workflow
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/examples/hello-world-workflow --> 200 https://docs.tinkerbell.org/examples/hello-world-workflow/"
    actual:
      "301 https://docs.tinkerbell.org/examples/hello-world-workflow --> 200 https://docs.tinkerbell.org/examples/hello-world-workflow/"
    at: https://docs.tinkerbell.org (667:18) <a href="/examples/hello-world-workflow">...</a>
  ...
ok 77 external-check https://docs.tinkerbell.org/examples/hello-world-workflow
not ok 78 external-redirect https://docs.tinkerbell.org/services/tink
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/tink --> 200 https://docs.tinkerbell.org/services/tink/"
    actual:
      "301 https://docs.tinkerbell.org/services/tink --> 200 https://docs.tinkerbell.org/services/tink/"
    at: https://docs.tinkerbell.org (636:13) <a href="/services/tink">...</a>
  ...
ok 79 external-check https://docs.tinkerbell.org/services/tink
ok 80 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.woff2?v=4.6.1
ok 81 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.eot?
ok 82 external-check https://ipxe.org/
not ok 83 external-redirect https://docs.tinkerbell.org/services/boots
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/boots --> 200 https://docs.tinkerbell.org/services/boots/"
    actual:
      "301 https://docs.tinkerbell.org/services/boots --> 200 https://docs.tinkerbell.org/services/boots/"
    at: https://docs.tinkerbell.org (639:13) <a href="/services/boots">...</a>
  ...
ok 84 external-check https://docs.tinkerbell.org/services/boots
ok 85 external-check https://github.com/tinkerbell/pbnj
ok 86 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.woff?v=4.6.1
ok 87 external-check https://docs.tinkerbell.org/assets/stylesheets/palette.196e0c26.min.css.map
not ok 88 external-redirect https://docs.tinkerbell.org/services/hegel
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/hegel --> 200 https://docs.tinkerbell.org/services/hegel/"
    actual:
      "301 https://docs.tinkerbell.org/services/hegel --> 200 https://docs.tinkerbell.org/services/hegel/"
    at: https://docs.tinkerbell.org (642:13) <a href="/services/hegel">...</a>
  ...
ok 89 external-check https://docs.tinkerbell.org/services/hegel
ok 90 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.ttf?v=4.6.1
ok 91 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.svg?v=4.6.1
ok 92 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.eot?v=4.6.1
ok 93 external-check https://fonts.gstatic.com/s/lato/v17/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf
ok 94 external-check https://fonts.gstatic.com/s/lato/v17/S6u8w4BMUTPHjxsAXC-v.ttf
ok 95 external-check https://fonts.gstatic.com/s/lato/v17/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf
ok 96 external-check https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh7USSwiPHA.ttf
ok 97 external-check https://docs.tinkerbell.org/assets/javascripts/vendor.0ac82a11.min.js.map
not ok 98 external-redirect https://tinkerbell.org/terms
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms --> 200 https://tinkerbell.org/terms/"
    actual:
      "301 https://tinkerbell.org/terms --> 200 https://tinkerbell.org/terms/"
    at: https://docs.tinkerbell.org (728:38) <a href="https://tinkerbell.org/terms" title="">...</a>
  ...
ok 99 external-check https://tinkerbell.org/terms
ok 100 external-check https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wWw.ttf
ok 101 external-check https://docs.tinkerbell.org/assets/stylesheets/main.19753c6b.min.css.map
ok 102 external-check https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPHA.ttf
not ok 103 external-redirect https://tinkerbell.org/terms/contributor-guide
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/contributor-guide --> 200 https://tinkerbell.org/terms/contributor-guide/"
    actual:
      "301 https://tinkerbell.org/terms/contributor-guide --> 200 https://tinkerbell.org/terms/contributor-guide/"
    at: https://docs.tinkerbell.org (731:38) <a href="https://tinkerbell.org/terms/contributor-guide" title="">...</a>
  ...
ok 104 external-check https://tinkerbell.org/terms/contributor-guide
not ok 105 external-check https://docs.tinkerbell.org/android-icon-48x48.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-48x48.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-48x48.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (11:13) 
  ...
not ok 106 external-check https://docs.tinkerbell.org/android-icon-96x96.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-96x96.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-96x96.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (23:13) 
  ...
not ok 107 external-redirect https://tinkerbell.org/terms/license
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/license --> 200 https://tinkerbell.org/terms/license/"
    actual:
      "301 https://tinkerbell.org/terms/license --> 200 https://tinkerbell.org/terms/license/"
    at: https://docs.tinkerbell.org (729:38) <a href="https://tinkerbell.org/terms/license" title="">...</a>
  ...
ok 108 external-check https://tinkerbell.org/terms/license
not ok 109 external-redirect https://slack.packet.com/
  ---
    operator: external-redirect
    expected:
      "302 https://slack.packet.com/ --> 200 https://slack.equinixmetal.com/"
    actual:
      "301 https://slack.packet.com/ --> 200 https://slack.equinixmetal.com/"
    at: https://docs.tinkerbell.org (673:23) <a href="https://slack.packet.com/">...</a>
  ...
ok 110 external-check https://slack.packet.com/
not ok 111 external-redirect https://tinkerbell.org/terms/code-of-conduct
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/code-of-conduct --> 200 https://tinkerbell.org/terms/code-of-conduct/"
    actual:
      "301 https://tinkerbell.org/terms/code-of-conduct --> 200 https://tinkerbell.org/terms/code-of-conduct/"
    at: https://docs.tinkerbell.org (730:38) <a href="https://tinkerbell.org/terms/code-of-conduct" title="">...</a>
  ...
ok 112 external-check https://tinkerbell.org/terms/code-of-conduct
not ok 113 external-check https://docs.tinkerbell.org/android-icon-36x36.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-36x36.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-36x36.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (5:13) 
  ...
not ok 114 external-check https://docs.tinkerbell.org/android-icon-144x144.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-144x144.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-144x144.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (29:13) 
  ...
not ok 115 external-check https://docs.tinkerbell.org/android-icon-72x72.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-72x72.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-72x72.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (17:13) 
  ...
not ok 116 external-check https://docs.tinkerbell.org/android-icon-192x192.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-192x192.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-192x192.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (35:13) 
  ...
# Connecting to 0 hosts (checking <link rel="preconnect" href="...">
# Looking up 0 host names (checking <link rel="dns-prefetch" href="...">

1..116
# tests 116
# pass  96
# fail  20
mmlb commented 3 years ago

@felixwidjaja fyi

felixwidjaja commented 3 years ago

@geriadam i think it's faster if you replace the favicon attributes with the new one. Here's what I got when using https://www.favicon-generator.org/

<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192"  href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">

b5f9379f1441602faa9d77c522c5ccd3.ico.zip

Thanks.

cc @ronggur

tstromberg commented 3 years ago

I ran into a broken hyperlink today when trying to learn more about Tinkerbell, and can confirm that this is still an issue: hyperlink -i -r https://docs.tinkerbell.org/ shows that 126 of 526 hyperlinks are broken. I'll send a PR to fix the broken link I ran into https://docs.tinkerbell.org/setup/packet-terraform, and will follow-up with another broader PR to clean up the remaining ones.

felixwidjaja commented 3 years ago

Thank you very much @tstromberg

vielmetti commented 3 years ago

The page https://docs.tinkerbell.org/services/tink-cli/ has a typo that causes a hyperlink to a 404 page at https://docs.tinkerbell.org/serviecs/tink-server (instead of "services").

mmlb commented 3 years ago

This is still an issue:

/ # hyperlink https://docs.tinkerbell.org | grep -v '^ok'
Guessing --root from input files: https://docs.tinkerbell.org
TAP version 13
# Crawling internal assets
not ok 3 load https://cloud.typography.com/6193438/6190832/css/fonts.css
  ---
    operator: load
    expected: "200 https://cloud.typography.com/6193438/6190832/css/fonts.css"
    actual:   "HTTP 403 Forbidden"
    at: https://docs.tinkerbell.org (97:48) <link rel="stylesheet" type="text/css" href="https://cloud.typography.com/6193438/6190832/css/fonts.css">
  ...
# Crawling 91 outgoing urls
not ok 77 external-redirect https://docs.tinkerbell.org/services/boots
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/boots --> 200 https://docs.tinkerbell.org/services/boots/"
    actual:
      "301 https://docs.tinkerbell.org/services/boots --> 200 https://docs.tinkerbell.org/services/boots/"
    at: https://docs.tinkerbell.org (835:13) <a href="/services/boots">...</a>
  ...
not ok 81 external-redirect https://docs.tinkerbell.org/services/osie
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/osie --> 200 https://docs.tinkerbell.org/services/osie/"
    actual:
      "301 https://docs.tinkerbell.org/services/osie --> 200 https://docs.tinkerbell.org/services/osie/"
    at: https://docs.tinkerbell.org (841:13) <a href="/services/osie">...</a>
  ...
not ok 90 external-redirect https://docs.tinkerbell.org/services/hegel
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/hegel --> 200 https://docs.tinkerbell.org/services/hegel/"
    actual:
      "301 https://docs.tinkerbell.org/services/hegel --> 200 https://docs.tinkerbell.org/services/hegel/"
    at: https://docs.tinkerbell.org (838:13) <a href="/services/hegel">...</a>
  ...
not ok 94 external-redirect https://docs.tinkerbell.org/workflows/hello-world-workflow
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/workflows/hello-world-workflow --> 200 https://docs.tinkerbell.org/workflows/hello-world-workflow/"
    actual:
      "301 https://docs.tinkerbell.org/workflows/hello-world-workflow --> 200 https://docs.tinkerbell.org/workflows/hello-world-workflow/"
    at: https://docs.tinkerbell.org (434:16) <a href="workflows/hello-world-workflow">...</a>
  ...
not ok 98 external-check https://docs.tinkerbell.org/services/tink
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/services/tink"
    actual:   "404 https://docs.tinkerbell.org/services/tink"
    at: https://docs.tinkerbell.org (832:13) <a href="/services/tink">...</a>
  ...
not ok 112 external-redirect https://tinkerbell.org/community/slack/
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/community/slack/ --> 200 https://tinkerbell.org/community/contact/"
    actual:
      "301 https://tinkerbell.org/community/slack/ --> 301 https://tinkerbell.org/community/contact --> 200 https://tinkerbell.org/community/contact/"
    at: https://docs.tinkerbell.org (158:42) <a href="https://tinkerbell.org/community/slack/">...</a>
  ...
not ok 114 external-redirect https://tinkerbell.org/terms/license
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/license --> 200 https://tinkerbell.org/terms/license/"
    actual:
      "301 https://tinkerbell.org/terms/license --> 200 https://tinkerbell.org/terms/license/"
    at: https://docs.tinkerbell.org (894:38) <a href="https://tinkerbell.org/terms/license" title="">...</a>
  ...
not ok 116 external-redirect https://tinkerbell.org/terms/contributor-guide
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/contributor-guide --> 200 https://tinkerbell.org/terms/contributor-guide/"
    actual:
      "301 https://tinkerbell.org/terms/contributor-guide --> 200 https://tinkerbell.org/terms/contributor-guide/"
    at: https://docs.tinkerbell.org (896:38) <a href="https://tinkerbell.org/terms/contributor-guide" title="">...</a>
  ...
not ok 118 external-redirect https://tinkerbell.org/terms
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms --> 200 https://tinkerbell.org/terms/"
    actual:
      "301 https://tinkerbell.org/terms --> 200 https://tinkerbell.org/terms/"
    at: https://docs.tinkerbell.org (893:38) <a href="https://tinkerbell.org/terms" title="">...</a>
  ...
not ok 120 external-redirect https://tinkerbell.org/terms/code-of-conduct
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/code-of-conduct --> 200 https://tinkerbell.org/terms/code-of-conduct/"
    actual:
      "301 https://tinkerbell.org/terms/code-of-conduct --> 200 https://tinkerbell.org/terms/code-of-conduct/"
    at: https://docs.tinkerbell.org (895:38) <a href="https://tinkerbell.org/terms/code-of-conduct" title="">...</a>
  ...
# Connecting to 0 hosts (checking <link rel="preconnect" href="...">
# Looking up 0 host names (checking <link rel="dns-prefetch" href="...">

1..121
# tests 121
# pass  110
# fail  11
displague commented 2 years ago

Rather than addressing dead-links as reported and reopening this issue whenever more dead-links are found, let's target this issue to add CI to enforce that PRs do not introduce and/or correct dead links.

mmlb commented 2 years ago

@displague agree, I'm working on a bunch of documentation stuff (in prep for updating docs re TLS) and will try to get that in.