diff --git a/.gitignore b/.gitignore index 5e24fb0..8665d05 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ # npm assets node_modules/ package-lock.json + +/tmp diff --git a/.htmltest.yml b/.htmltest.yml new file mode 100644 index 0000000..8594ce7 --- /dev/null +++ b/.htmltest.yml @@ -0,0 +1,12 @@ +# cSpell:ignore github +CacheExpires: 9000h # ~ 12 months +DirectoryPath: build +TestFilesConcurrently: true +IgnoreDirs: +IgnoreInternalURLs: # list of paths +IgnoreURLs: # list of regexes of URLs or path to be ignored + - \?no-link-check + # FIXME: temporary ignore rules + - assistance\.md + - LICENSE + - /analyses/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..709eb92 --- /dev/null +++ b/Makefile @@ -0,0 +1,56 @@ +# cSpell:ignore htmltest refcache +# Set REFCACHE to another value to disable htmltest refcache-file manipulation +REFCACHE?=refcache +HTMLTEST_DIR=tmp +HTMLTEST?=htmltest # Specify as make arg if different +HTMLTEST_ARGS?=--log-level 1 +LINK_CACHE_FILE?=refcache.json +LINK_CACHE_FILE_DEST_DIR?=static +LINK_CACHE_FILE_SRC_DIR?=$(HTMLTEST_DIR)/.htmltest + +# Use $(HTMLTEST) in PATH, if available; otherwise, we'll get a copy +ifeq (, $(shell which $(HTMLTEST))) +override HTMLTEST=$(HTMLTEST_DIR)/bin/htmltest +ifeq (, $(shell which $(HTMLTEST))) +GET_LINK_CHECKER_IF_NEEDED=get-link-checker +endif +endif + +default: + @echo "Make what? Target list:\n" + @make -rpn | grep '^[a-z]\S*:' | sed 's/://' | sort + +$(LINK_CACHE_FILE_SRC_DIR): + mkdir -p $(LINK_CACHE_FILE_SRC_DIR) + +$(LINK_CACHE_FILE_DEST_DIR)/$(LINK_CACHE_FILE): + mkdir -p $(LINK_CACHE_FILE_DEST_DIR) + echo '{}' > $(LINK_CACHE_FILE_DEST_DIR)/$(LINK_CACHE_FILE) + +refcache-restore: $(LINK_CACHE_FILE_DEST_DIR)/$(LINK_CACHE_FILE) $(LINK_CACHE_FILE_SRC_DIR) +ifeq (refcache, $(REFCACHE)) + cp $(LINK_CACHE_FILE_DEST_DIR)/$(LINK_CACHE_FILE) $(LINK_CACHE_FILE_SRC_DIR)/ +else + @echo "SKIPPING refcache-restore" +endif + +refcache-save: +ifeq (refcache, $(REFCACHE)) + cp $(LINK_CACHE_FILE_SRC_DIR)/$(LINK_CACHE_FILE) $(LINK_CACHE_FILE_DEST_DIR)/ + npx prettier --prose-wrap=always --write $(LINK_CACHE_FILE_DEST_DIR)/$(LINK_CACHE_FILE) +else + @echo "SKIPPING refcache-save" +endif + +check-links: $(GET_LINK_CHECKER_IF_NEEDED) \ + refcache-restore check-links-only refcache-save + +check-links-only: + $(HTMLTEST) $(HTMLTEST_ARGS) + +clean: + rm -rf $(HTMLTEST_DIR) public/* resources + +get-link-checker: + rm -Rf $(HTMLTEST_DIR)/bin + curl https://htmltest.wjdp.uk | bash -s -- -b $(HTMLTEST_DIR)/bin diff --git a/docs/analysis/howto.md b/docs/analysis/howto.md index 22018b5..aea4e93 100644 --- a/docs/analysis/howto.md +++ b/docs/analysis/howto.md @@ -217,5 +217,5 @@ Create issues in the project documentation GitHub repository for: [analyses]: ../../analyses/ [criteria]: ./criteria.md [project maturity level]: https://www.cncf.io/project-metrics -[templates]: ./templates/ +[templates]: ./templates/README.md [issues list]: ./templates/issues-list.md diff --git a/docusaurus.config.ts b/docusaurus.config.ts index b21d362..96b5c27 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -24,6 +24,8 @@ const config: Config = { onBrokenLinks: 'warn', // TODO: 'error' or 'throw' once we've fixed all links onBrokenMarkdownLinks: 'warn', + trailingSlash: true, + i18n: { defaultLocale: 'en', locales: ['en'], diff --git a/package.json b/package.json index fa7cfe8..cf6d672 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "_check:format:any": "npx prettier --check --ignore-path ''", "_check:format:delta": "npm run _check:format:any -- $(npm run -s _list:git:delta)", "_check:format": "npx prettier --check .", - "_check:links": "npx markdown-link-check --config .markdown-link-check.json", + "_check:links": "make --keep-going check-links", + "_check:links-md": "bash -c 'for f in *.md `find analyses -name \"*.md\"`; do npx markdown-link-check@3.12.2 --config .markdown-link-check.json -p -v $f || exit 1; done'", "_check:markdown:all": "npm run -s _list:check:md | xargs -I {} -P 4 npx -p markdownlint-cli markdownlint -c .markdownlint.yaml {}", "_check:markdown:delta": "npm run -s _list:git:delta | xargs -I {} npx -p markdownlint-cli markdownlint -c .markdownlint.yaml {}", "_check:markdown:1": "npx -p markdownlint-cli markdownlint -c .markdownlint.yaml", @@ -16,12 +17,13 @@ "_list:check:*": "npm run --loglevel=warn | grep -Ee '^\\s*check:[^:]+$'", "_list:fix:*": "npm run --loglevel=warn | grep -Ee '^\\s*fix:[^:]+$' | grep -v 'fix:all'", "check:format": "npm run _check:format || (echo '[help] Run: npm run fix:format'; exit 1)", - "check:links": "bash -c 'for f in *.md `find docs analyses -name \"*.md\"`; do npx markdown-link-check@3.12.2 --config .markdown-link-check.json -p -v $f || exit 1; done'", + "check:links": "npm run _check:links", "check:markdown": "npm run _check:markdown:all", "check:spelling": "npx cspell --no-progress -c .cspell.yml analyses docs *.md", "check": "npm run seq -- $(npm run -s _list:check:*)", "fix:format": "npm run _check:format -- --write", "fix": "npm run seq -- $(npm -s run _list:fix:*)", + "precheck:links": "npm run build", "seq": "bash -c 'for cmd in \"$@\"; do npm run $cmd || exit 1; done' - ", "test": "npm run check", "update:pkgs": "npx npm-check-updates -u", diff --git a/static/refcache.json b/static/refcache.json new file mode 100644 index 0000000..1a96d40 --- /dev/null +++ b/static/refcache.json @@ -0,0 +1,630 @@ +{ + "https://analytics.google.com": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:43.150103-04:00" + }, + "https://blog.rook.io/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:43.211822-04:00" + }, + "https://cloud-native.slack.com": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:42.798322-04:00" + }, + "https://cloud-native.slack.com/archives/C057F81GFUG": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:43.065916-04:00" + }, + "https://cncf-techdocs.netlify.app/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.431682-04:00" + }, + "https://cncf-techdocs.netlify.app/404.html/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.427726-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.330152-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analysis/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.41211-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analysis/criteria/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.22135-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analysis/howto/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.303713-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analysis/templates/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.412104-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analysis/templates/analysis/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.332743-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analysis/templates/implementation/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.415932-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analysis/templates/issue/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.335492-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analysis/templates/issues-list/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.396202-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/analytics/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.338019-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/assistance/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.314312-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/hugo-and-docsy/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.327468-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/localization/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.379686-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/localization/ja/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.38741-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/netlify-domains-setup/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.311731-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/repo-setup/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.326156-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/sandbox-doc-primer/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.499941-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/searching-documentation/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.231922-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/services/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.337983-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/tags/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.400262-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/tags/project/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.507721-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/versioning-documentation/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.391897-04:00" + }, + "https://cncf-techdocs.netlify.app/docs/website-guidelines-checklist/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.404818-04:00" + }, + "https://creativecommons.org/licenses/by/4.0/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.210818-04:00" + }, + "https://developer.mozilla.org/en-US/docs/Web/Accessibility": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.847102-04:00" + }, + "https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Responsive/Mobile_first": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.5755-04:00" + }, + "https://developers.google.com": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:40.68391-04:00" + }, + "https://developers.google.com/analytics/devguides/collection/gtagjs/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:45.186799-04:00" + }, + "https://developers.google.com/analytics/devguides/migration": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:40.365597-04:00" + }, + "https://developers.google.com/analytics/devguides/migration/measurement/add-ga4": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:41.008153-04:00" + }, + "https://developers.google.com/custom-search/docs/overview": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:38.568984-04:00" + }, + "https://developers.google.com/tech-writing": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:41.235297-04:00" + }, + "https://discourse.gohugo.io/t/audit-your-published-site-for-problems/35184": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:38.673658-04:00" + }, + "https://docs.github.com/en/get-started": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.550448-04:00" + }, + "https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.974872-04:00" + }, + "https://docs.google.com/document/d/1roexHTLCrErYjNT2NEoRsVnn_YNbQzZ1gyXNK8hXR4Q/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:40.556759-04:00" + }, + "https://docs.google.com/spreadsheets/d/1Mx4LhdI2Un-rvGMI73SlHxQH9D2HABAJclMB3dd6lnA": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:43.824829-04:00" + }, + "https://docs.netlify.com/domains-https/custom-domains/multiple-domains/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.56912-04:00" + }, + "https://docs.netlify.com/domains-https/netlify-dns/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.528687-04:00" + }, + "https://docsearch.algolia.com/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.903227-04:00" + }, + "https://docsfordevelopers.com/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:41.327555-04:00" + }, + "https://docusaurus.io/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:44.454182-04:00" + }, + "https://expertsupport.com/library/quick-and-easy-document-specifications/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:39.609931-04:00" + }, + "https://falco.org/docs/getting-started/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.973046-04:00" + }, + "https://git-scm.com/book/en/v2/Git-Tools-Submodules": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.523542-04:00" + }, + "https://github.com/Okabe-Junya": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.433444-04:00" + }, + "https://github.com/apps/dco": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.188531-04:00" + }, + "https://github.com/brianpursley": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.819634-04:00" + }, + "https://github.com/caniszczyk": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.673482-04:00" + }, + "https://github.com/carlisia": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.066678-04:00" + }, + "https://github.com/celestehorgan": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:43.110802-04:00" + }, + "https://github.com/chalin": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.933773-04:00" + }, + "https://github.com/cncf/foundation/blob/main/website-guidelines.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.855574-04:00" + }, + "https://github.com/cncf/foundation/blob/master/charter.md#11-ip-policy": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.789697-04:00" + }, + "https://github.com/cncf/foundation/blob/master/code-of-conduct.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.580775-04:00" + }, + "https://github.com/cncf/foundation/blob/master/copyright-notices.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.954463-04:00" + }, + "https://github.com/cncf/glossary": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.470017-04:00" + }, + "https://github.com/cncf/project-template": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.95612-04:00" + }, + "https://github.com/cncf/tag-app-delivery": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.942477-04:00" + }, + "https://github.com/cncf/tag-env-sustainability": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.676592-04:00" + }, + "https://github.com/cncf/tag-runtime": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.337715-04:00" + }, + "https://github.com/cncf/techdocs": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.275112-04:00" + }, + "https://github.com/cncf/techdocs/blob/main/README.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.693644-04:00" + }, + "https://github.com/cncf/techdocs/issues": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.599716-04:00" + }, + "https://github.com/cncf/techdocs/issues/108": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.252231-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/analyses": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.795255-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.864864-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/README.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.922953-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analysis/README.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.974284-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analysis/criteria.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:43.815453-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analysis/howto.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.024236-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analysis/templates/README.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.741629-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analysis/templates/analysis.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.39977-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analysis/templates/implementation.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.456702-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analysis/templates/issue.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.436841-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analysis/templates/issues-list.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.988671-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/analytics.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:45.656684-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/assistance.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.893706-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/hugo-and-docsy.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.50712-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/localization/README.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.987962-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/localization/ja/README.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:44.349096-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/netlify-domains-setup.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:43.133184-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/repo-setup.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.933772-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/sandbox-doc-primer.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.2199-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/searching-documentation.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.23122-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/services.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.891135-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/versioning-documentation.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:44.813994-04:00" + }, + "https://github.com/cncf/techdocs/tree/main/docs/website-guidelines-checklist.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.016034-04:00" + }, + "https://github.com/cncf/toc/tree/main/process#ii-stages---definitions--expectations": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.885666-04:00" + }, + "https://github.com/envoyproxy/envoy/blob/main/GOVERNANCE.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.779403-04:00" + }, + "https://github.com/etcd-io/website/pull/403": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.702767-04:00" + }, + "https://github.com/helm/community": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.421105-04:00" + }, + "https://github.com/hhiroshell": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.164426-04:00" + }, + "https://github.com/jonasrosland": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.826771-04:00" + }, + "https://github.com/kaitoii11": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.0703-04:00" + }, + "https://github.com/kenta-iijima": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.574544-04:00" + }, + "https://github.com/kubernetes/website/blob/072d4b41b45f5311538c24d375432a755f9e3f4c/layouts/partials/navbar-version-selector.html": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:43.580609-04:00" + }, + "https://github.com/kubernetes/website/blob/7462297ee388332a7b0d27625929fbf44d0c1ea9/config.toml": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:44.346332-04:00" + }, + "https://github.com/kubernetes/website/blob/main/hugo.toml": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.655723-04:00" + }, + "https://github.com/kubernetes/website/blob/main/layouts/partials/navbar-version-selector.html": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.193851-04:00" + }, + "https://github.com/longhorn/website": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.512339-04:00" + }, + "https://github.com/naonishijima": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.75709-04:00" + }, + "https://github.com/nate-double-u": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.185856-04:00" + }, + "https://github.com/nate-double-u/technical-documentation-versioning": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.615197-04:00" + }, + "https://github.com/nats-io/nats-site/blob/master/MAINTAINERS.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.966203-04:00" + }, + "https://github.com/nrb": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.535931-04:00" + }, + "https://github.com/opentracing/opentracing.io/issues": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.018763-04:00" + }, + "https://github.com/sftim": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:43.805308-04:00" + }, + "https://github.com/tbatard": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.80753-04:00" + }, + "https://github.com/thisisobate": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.199875-04:00" + }, + "https://github.com/vitessio/website/pull/1119": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.751462-04:00" + }, + "https://github.com/vmware-tanzu/velero/blob/1fd49f4fd66ecf6cd959ce258efbd9a549d8902b/site/config.yaml": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.43175-04:00" + }, + "https://github.com/vmware-tanzu/velero/blob/db403c6c54b0048fada2b5db628c44be4ac0fd79/site/layouts/docs/versions.html": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.206262-04:00" + }, + "https://goharbor.io/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.657248-04:00" + }, + "https://helm.sh/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.065332-04:00" + }, + "https://inclusivenaming.org": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.397055-04:00" + }, + "https://kubernetes.io": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:43.368612-04:00" + }, + "https://kubernetes.io/docs/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.362238-04:00" + }, + "https://kubernetes.io/ja/docs/contribute/localization/#style-guide": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.933919-04:00" + }, + "https://lunrjs.com/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.138198-04:00" + }, + "https://prometheus.io/community/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.51314-04:00" + }, + "https://prometheus.io/docs": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.57018-04:00" + }, + "https://servicedesk.cncf.io": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:40.355292-04:00" + }, + "https://servicedesk.cncf.io/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:39.39085-04:00" + }, + "https://slack.cncf.io": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:43.836734-04:00" + }, + "https://support.google.com/analytics/answer/10089681": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:39.160574-04:00" + }, + "https://support.google.com/analytics/answer/10220869": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:43.011475-04:00" + }, + "https://support.google.com/analytics/answer/10268458": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:42.671721-04:00" + }, + "https://support.google.com/analytics/answer/10759417": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:41.212361-04:00" + }, + "https://support.google.com/analytics/answer/11583528": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:38.647647-04:00" + }, + "https://support.google.com/analytics/answer/9973999": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:44.228594-04:00" + }, + "https://support.linuxfoundation.org/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:42.307171-04:00" + }, + "https://technical-documentation-versioning.netlify.app/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.032013-04:00" + }, + "https://thanos.io/tip/contributing/how-to-contribute-to-docs.md": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:40.391896-04:00" + }, + "https://tockify.com/cncf.public.events/monthly": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:39.549384-04:00" + }, + "https://training.linuxfoundation.org/training/creating-effective-documentation-for-developers-lfc112/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:39.488425-04:00" + }, + "https://training.linuxfoundation.org/training/open-source-technical-documentation-essentials-lfc111/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:39.399607-04:00" + }, + "https://velero.io/": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.584554-04:00" + }, + "https://www.apache.org/licenses/LICENSE-2.0": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.424491-04:00" + }, + "https://www.cncf.io/project-metrics": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:38.392657-04:00" + }, + "https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/favicon.ico": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.164465-04:00" + }, + "https://www.docsy.dev": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.471331-04:00" + }, + "https://www.docsy.dev/docs/adding-content/feedback/#adding-analytics": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.700718-04:00" + }, + "https://www.fluentd.org/testimonials": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:42.498739-04:00" + }, + "https://www.git-scm.com/book/en/v2/Git-Tools-Submodules": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:41.942795-04:00" + }, + "https://www.linuxfoundation.org/legal/privacy-policy": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:38.777636-04:00" + }, + "https://www.linuxfoundation.org/legal/trademark-usage": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:39.262344-04:00" + }, + "https://www.linuxfoundation.org/trademark-usage/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:40.189267-04:00" + }, + "https://www.lios.ca/en/blogue/concept-task-reference/": { + "StatusCode": 200, + "LastSeen": "2025-03-19T11:52:39.320251-04:00" + }, + "https://www.rfc-editor.org/rfc/rfc2119": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:38.675317-04:00" + }, + "https://zoom-lfx.platform.linuxfoundation.org/meeting/95471930872": { + "StatusCode": 206, + "LastSeen": "2025-03-19T11:52:39.706039-04:00" + } +}