-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathlychee.toml
More file actions
66 lines (59 loc) · 2.49 KB
/
Copy pathlychee.toml
File metadata and controls
66 lines (59 loc) · 2.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Lychee link checker configuration
# https://lychee.cli.rs/#/usage/config
#
# Run locally with:
# lychee './**/*.md' './lib/**/*.rb' './*.gemspec'
# Include URL fragments in checks
include_fragments = true
# Don't allow any redirects, so links that have moved are surfaced and can be
# updated to their canonical destination.
max_redirects = 0
# Accept these HTTP status codes
# 100-103: Informational responses
# 200-299: Success responses
# 403: Forbidden (some sites use this for rate limiting)
# 429: Too Many Requests
# 500-599: Server errors (temporary issues shouldn't fail CI)
# 999: LinkedIn's custom status code
accept = ["100..=103", "200..=299", "403", "429", "500..=599", "999"]
# Exclude URL patterns from checking (treated as regular expressions)
exclude = [
# GitHub blob URLs with line-number fragments (not parseable as page anchors)
'^https://github\.com/[^/]+/[^/]+/blob/[0-9a-fA-F]+/.+#L\d+$',
# dev.maxmind.com API docs render their schema anchors client-side, so the
# fragment is absent from the static HTML lychee fetches. The page itself is
# a 200; only the fragment check is a false negative. This is the canonical
# URL used across all minFraud client libraries.
'^https://dev\.maxmind\.com/minfraud/api-documentation/responses/#schema--response--risk-score-reason--multiplier-reason$',
# Live / auth-gated MaxMind endpoints: appear as code string literals or
# require login, so they can't be verified by an anonymous request.
'^https://geoip\.maxmind\.com',
'^https://geolite\.info',
'^https://minfraud\.maxmind\.com',
'^https://sandbox\.maxmind\.com',
'^https://updates\.maxmind\.com',
'^https://www\.maxmind\.com/en/accounts/',
'^https://www\.maxmind\.com/en/account/login',
# Local / placeholder URLs (e.g. the proxy example in docstrings)
'^file://',
'^https?://example\.(com|org|net)',
'^http://localhost',
'127\.0\.0\.1',
]
# Exclude file paths from getting checked (regular expressions, matched against
# the path relative to the working directory). Patterns are segment-anchored
# with (^|/) so short names like "build" don't match unintended paths.
exclude_path = [
'(^|/)vendor/',
'(^|/)pkg/',
'(^|/)doc/',
'(^|/)\.yardoc/',
'(^|/)coverage/',
# Changelog: historical entries are preserved as-is, not rewritten
'(^|/)CHANGELOG\.md$',
]
# Cache results for 1 day to speed up repeated checks
cache = true
max_cache_age = "1d"
# Skip missing input files instead of erroring
skip_missing = true