diff options
author | Nick Mathewson <nickm@torproject.org> | 2023-11-07 16:55:16 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2023-11-07 16:55:16 +0000 |
commit | cb7c8e6faaff71c77239cf51d8b7ed5061a99663 (patch) | |
tree | 03ade02ccff6b32b92a2209394f3d130634e066b /bin | |
parent | 0ce2e4099a8f91f90b6da2bf43049abcb8763149 (diff) | |
parent | 6ed053a4ce491495b1dda7106f22bb1949c70ebc (diff) | |
download | torspec-cb7c8e6faaff71c77239cf51d8b7ed5061a99663.tar.gz torspec-cb7c8e6faaff71c77239cf51d8b7ed5061a99663.zip |
Merge branch 'linklint' into 'main'
Fix broken links and check in CI that we don't introduce new ones
Closes #238
See merge request tpo/core/torspec!194
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/check_links | 40 | ||||
-rwxr-xr-x | bin/make_redirects | 2 |
2 files changed, 41 insertions, 1 deletions
diff --git a/bin/check_links b/bin/check_links new file mode 100755 index 0000000..890ac30 --- /dev/null +++ b/bin/check_links @@ -0,0 +1,40 @@ +#!/bin/bash +# +# Check rustdoc HTML links and anchors +# bin/build_html must have been run first. +# +# Adapted from +# https://gitlab.torproject.org/Diziet/rust-derive-adhoc/-/blob/main/maint/check-doc-links?ref_type=heads + +set -e +set -o pipefail + +# nailing-cargo --no-nail --- bin/build_html +# nailing-cargo --preclean=no --- bin/check_links + +chk_dir=html.link-check + +rm -rf html.link-check +cp -al html $chk_dir + +# Fix up https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=425632 + +find $chk_dir -name \*.html -print0 | +xargs -0r -- perl -i~ -pe ' + s{\bid=("[^"]+")[^<>]*\>}{$&<a name=$1>}g; +' + +linklint -out linklint.errors -error -root $chk_dir / + +cat linklint.errors + +set +e +grep ERROR linklint.errors +rc=$? +set -e + +case $rc in +0) echo >&2 '** found linkcheck errors **'; exit 1;; +1) ;; +*) echo >&2 "linkcheck failed $rc"; exit 1;; +esac diff --git a/bin/make_redirects b/bin/make_redirects index ea8ea3b..4cd4e05 100755 --- a/bin/make_redirects +++ b/bin/make_redirects @@ -43,7 +43,7 @@ def readme_redirects(rs): for kwd, info in rs.items(): target = info['target'] desc = info['description'] - lines.append(f'<dt><a href="/{kwd}"><code>/{kwd}</code></a></dt>\n') + lines.append(f'<dt><code>/{kwd}</code></dt>\n') lines.append(f'<dd><a href="{target}"><code>{target}</code> ({desc})</a></dt>\n') lines.append("</dl>\n") |