-
Notifications
You must be signed in to change notification settings - Fork 99
Expand file tree
/
Copy path.lychee.toml
More file actions
62 lines (57 loc) · 2.77 KB
/
Copy path.lychee.toml
File metadata and controls
62 lines (57 loc) · 2.77 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
# Lychee link checker configuration
# https://lychee.cli.rs/usage/config/
# Skip fragment/anchor checking (Docusaurus generates dynamic IDs)
# lychee >= 0.18 expects a string enum here (none|anchor-only|text-only|full),
# not a boolean — "none" disables fragment checking.
include_fragments = "none"
# Timeout and retry settings
timeout = 20
max_retries = 3
retry_wait_time = 2
# Accept these HTTP status codes as "OK"
# 429 = rate limited (GitHub, JetBrains) — not a real broken link
accept = [200, 303, 429]
# Skip these URLs (crawlers blocked or known false positives)
exclude = [
# Twitter/X blocks automated crawlers
"https://x.com/.*",
"https://twitter.com/.*",
# LinkedIn blocks automated crawlers
"https://www.linkedin.com/.*",
# localhost / local dev URLs
"^http://localhost",
# Ignore mailto links
"^mailto:",
# Docusaurus internal .md links — resolved incorrectly by lychee against --base.
# These relative links are validated by Docusaurus build, not lychee.
"https://genie\\.devoxx\\.com/.*\\.md",
# Static images served by Docusaurus. Markdown references them as /img/... (the
# /static/ prefix is stripped at build time), so lychee resolves them against
# --base-url and fetches them from the live site — which 404s for any image added
# before the deploy lands, failing every PR that introduces one. Nothing is lost by
# skipping them: the Docusaurus build itself hard-errors on a markdown image that
# has no matching file under static/, so it already covers the real failure case.
"https://genie\\.devoxx\\.com/img/.*",
"https://genie\\.devoxx\\.com/static/img/.*",
# New doc pages added in this PR — will exist on the live site after next deploy.
# TODO(post-deploy): remove these two lines once the renamed/new pages are live.
"https://genie\\.devoxx\\.com/docs/features/commands$",
"https://genie\\.devoxx\\.com/docs/features/skills$",
# Placeholder/example URLs used in documentation snippets.
"https://github\\.com/myproject/.*",
"https://wiki\\.example\\.com/.*",
# OpenAI blocks automated crawlers with 403
"https://openai\\.com/.*",
"https://platform\\.openai\\.com/.*",
# JetBrains support blocks automated crawlers with 403
"https://intellij-support\\.jetbrains\\.com/.*",
# Intel support blocks automated crawlers with 403
"https://www\\.intel\\.com/.*",
# Cloudflare dashboard is behind auth + bot protection, intermittently 403s crawlers
"https://dash\\.cloudflare\\.com/.*",
# Mistral console sends unauthenticated crawlers into an infinite auth redirect
# loop (auth.mistral.ai <-> v2.auth.mistral.ai, new flow id each hop), so lychee
# exhausts its redirect budget and reports the last hop as a 307.
"https://console\\.mistral\\.ai/.*",
]
# GitHub token is passed via GITHUB_TOKEN env var (set by lychee-action)