shravanngoswamii/HTML Link Processor
Post-process a static HTML site: add rel=nofollow/noopener/noreferrer, target=_blank, strip tracking, check links.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| site-dir | Path to the generated static site directory | no | __site |
| nofollow | Add rel="nofollow" to links | no | false |
| noopener | Add rel="noopener" to links | no | false |
| noreferrer | Add rel="noreferrer" to links | no | false |
| external-only | When true (default), rel/target modifications only apply to external links (href starting with http:// or https://). Set to false to apply to all links. | no | true |
| external-target-blank | Add target="_blank" to external links | no | false |
| strip-tracking-params | Strip common tracking query parameters from external URLs (utm_*, fbclid, gclid, msclkid, twclid, mc_eid, ref). | no | false |
| check-links | Check external links with browser-like HTTP requests and report broken or blocked URLs | no | false |
| fail-on-broken | Exit with error code if any broken links are found (requires check-links: true) | no | false |
| fail-on-blocked | Exit with error code if any links are blocked by remote anti-bot or auth defenses | no | false |
| ignore-patterns | Comma-separated list of regex patterns. Matching URLs are skipped during link checking. Example: "localhost,example\\.com,staging\\." | no | "" |
| timeout | Timeout in milliseconds for each link-check request | no | 5000 |
| concurrency | Maximum number of concurrent link-check requests | no | 20 |
| user-agent | User-Agent header used for link-check requests | no | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 |
| accept-language | Accept-Language header used for link-check requests | no | en-US,en;q=0.9 |
| retry-with-get-statuses | Comma-separated HTTP status codes that should retry with GET after an initial HEAD request | no | 401,403,405,406,999 |
| blocked-statuses | Comma-separated HTTP status codes that should be classified as blocked instead of broken | no | 401,403,429,999 |
| max-redirects | Maximum number of redirects to follow per external URL | no | 5 |
Outputs
| name | description |
|---|---|
| modified-files | Number of HTML files that were modified |
| broken-links | JSON array of broken link objects { url, status } (empty array when check-links is false) |
| blocked-links | JSON array of blocked link objects { url, status } (empty array when check-links is false) |
| checked-links | Total number of unique external links checked |