-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy pathlychee.toml
More file actions
67 lines (60 loc) · 2.31 KB
/
lychee.toml
File metadata and controls
67 lines (60 loc) · 2.31 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
67
# Lychee link checker configuration
# https://lychee.cli.rs/#/usage/config
#
# Run locally with:
# lychee './**/*.md' './**/*.rst' './maxminddb/**/*.py' './pyproject.toml'
# 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+$',
# 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 = [
'(^|/)node_modules/',
'(^|/)\.venv/',
'(^|/)venv/',
'(^|/)build/',
'(^|/)dist/',
'(^|/)\.eggs/',
'(^|/)[^/]*\.egg-info/',
'(^|/)docs/_build/',
# Vendored git submodules (upstream C library and shared test fixtures)
'(^|/)extension/libmaxminddb/',
'(^|/)tests/data/',
# Changelog: historical entries are preserved as-is, not rewritten
'(^|/)HISTORY\.rst$',
]
# 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