-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathlychee.toml
More file actions
61 lines (54 loc) · 2.14 KB
/
Copy pathlychee.toml
File metadata and controls
61 lines (54 loc) · 2.14 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
# Lychee link checker configuration
# https://lychee.cli.rs/#/usage/config
#
# Run locally with:
# lychee './**/*.md' './src/**/*.php' './composer.json'
# Include URL fragments in checks. Lychee 0.24 replaced the old boolean
# with a `none|anchor-only|text-only|full` enum; `full` checks both anchor
# fragments (e.g. `#section`) and text fragments (e.g. `#:~:text=example`).
include_fragments = "full"
# Don't allow any redirects, so links that have moved are surfaced and 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 = [
'^file://',
# Live / auth-gated endpoints that appear as string literals or require login
'^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',
# The minFraud API responses doc renders its schema anchors client-side, so
# lychee cannot verify the #fragment even though the page and anchor exist.
'^https://dev\.maxmind\.com/minfraud/api-documentation/responses/#',
# Placeholders / local
'^https?://example\.(com|org|net)',
'^http://localhost',
'127\.0\.0\.1',
]
# Exclude file paths from getting checked (treated as regular expressions)
exclude_path = [
'(^|/)node_modules/',
'(^|/)vendor/',
# Generated Hugo docs site committed under docs/public
'(^|/)docs/public/',
'(^|/)\.git/',
# 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