22
33# Verbose program output
44# Accepts log level: "error", "warn", "info", "debug", "trace"
5- # verbose = "warn"
5+ verbose = " warn"
6+
7+ # Output format
8+ format = " detailed"
9+
10+ # Output display mode
11+ mode = " emoji"
612
713# Don't show interactive progress bar while checking links.
814no_progress = false
915
1016# Path to summary output file.
1117output = " .github/link_report.md"
1218
19+ # Show host statistics
20+ host_stats = true
21+
22+ # Extract links instead of checking them
23+ dump = true
24+
25+ # Dump inputs instead of doing link extraction / checking
26+ dump_inputs = true
27+
1328# ############################ Cache ###############################
1429
1530# Enable link caching. This can be helpful to avoid checking the same links on
@@ -19,8 +34,14 @@ cache = true
1934# Discard all cached requests older than this duration.
2035max_cache_age = " 1d"
2136
37+ # A list of status codes that will be ignored from the cache
38+ cache_exclude_status = " 500.."
39+
2240# ############################ Runtime #############################
2341
42+ # File to read and write cookies
43+ cookie_jar = " cookie-jar"
44+
2445# Number of threads to utilize.
2546# Defaults to number of cores available to the system if omitted.
2647threads = 2
@@ -34,6 +55,18 @@ max_retries = 2
3455# Maximum number of concurrent link checks.
3556max_concurrency = 14
3657
58+ # extension applied to files without extension
59+ default_extension = " md"
60+
61+ # GitHub API token
62+ github_token = " secret"
63+
64+ # Resolve directories to index files
65+ index_files = [" index.html" ]
66+
67+ # Preprocess input files
68+ preprocess = { command = " preprocess.sh" }
69+
3770# ############################ Requests ############################
3871
3972# User agent to send with each request.
@@ -46,14 +79,21 @@ timeout = 20
4679retry_wait_time = 2
4780
4881# Comma-separated list of accepted status codes for valid links.
49- accept = [200 , 429 ]
82+ # Supported values are:
83+ #
84+ # accept = ["200..=204", "429"]
85+ # accept = "200..=204, 429"
86+ # accept = ["200", "429"]
87+ # accept = "200, 429"
88+ accept = [" 200" , " 429" ]
5089
5190# Proceed for server connections considered insecure (invalid TLS).
5291insecure = false
5392
5493# Only test links with the given schemes (e.g. https).
55- # Omit to check links with any scheme.
56- scheme = [ " https" ]
94+ # Omit to check links with any other scheme.
95+ # At the moment, we support http, https, file, and mailto.
96+ scheme = [" https" ]
5797
5898# When links are available using HTTPS, treat HTTP links as errors.
5999require_https = false
@@ -62,45 +102,70 @@ require_https = false
62102method = " get"
63103
64104# Custom request headers
65- headers = []
105+ header = { "accept" = " text/html " , "x-custom-header" = " value " }
66106
67107# Remap URI matching pattern to different URI.
68- remap = [ " https://example.com http://example.invalid" ]
108+ remap = [" https://example.com http://example.invalid" ]
109+
110+ # Fallback extensions to apply when a URL does not specify one.
111+ # This is common in documentation tools that cross-reference files without extensions.
112+ fallback_extensions = [" md" , " html" ]
69113
70114# Base URL or website root directory to check relative URLs.
71- # base = "https://pestphp.com"
115+ base_url = " https://pestphp.com"
116+
117+ # Root path to use when checking absolute local links, must be an absolute path
118+ root_dir = " /dist"
72119
73120# HTTP basic auth support. This will be the username and password passed to the
74121# authorization HTTP header. See
75122# <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization>
76123# basic_auth = ["example.com user:pwd"]
77124
125+ # Enable the checking of fragments in links.
126+ include_fragments = true
127+
128+ # Minimum accepted TLS Version
129+ min_tls = " TLSv1_3"
130+
78131# ############################ Exclusions ##########################
79132
80133# Skip missing input files (default is to error if they don't exist).
81134skip_missing = false
82135
136+ # Do not skip hidden directories and files
137+ hidden = true
138+
139+ # Do not skip files that are ignored
140+ no_ignore = true
141+
83142# Check links inside `<code>` and `<pre>` blocks as well as Markdown code
84143# blocks.
85144include_verbatim = false
86145
87146# Ignore case of paths when matching glob patterns.
88147glob_ignore_case = false
89148
90- # Exclude URLs and mail addresses from checking (supports regex).
91- # receiving forbidden but valid link, receiving timeout but valid link
149+ # Exclude URLs and mail addresses from checking. The values are treated as regular expressions
92150exclude = [
93151 ' https://opensource.org/licenses/MIT' ,
94152 ' https://twitter.com/pestphp' ,
95153 ' ^https://laracasts.com/series/(pest-driven-laravel|pest-from-scratch)$' ,
96154 ' ^https://www.linkedin.com/learning/.*$' ,
97155]
98156
99- # Exclude these filesystem paths from getting checked.
100- # exclude_path = ["file/path/to/Ignore", "./other/file/path/to/Ignore"]
157+ # Exclude paths from getting checked. The values are treated as regular expressions
158+ # exclude_path = [
159+ # "\\.txt$", # skip .txt extensions
160+ # "(^|/)test/", # skip directories named "test"
161+ # "[aeiouAEIOU]", # exclude paths containing vowels
162+ # ]
163+
164+ # Check the specified file extensions
165+ extensions = [" md" ]
101166
102167# URLs to check (supports regex). Has preference over all excludes.
103- # include = [ 'gist\.github\.com.*' ]
168+ # include = ['gist\.github\.com.*']
104169
105170# Exclude all private IPs from checking.
106171# Equivalent to setting `exclude_private`, `exclude_link_local`, and
@@ -116,6 +181,26 @@ exclude_link_local = false
116181# Exclude loopback IP address range and localhost from checking.
117182exclude_loopback = false
118183
119- # Exclude all mail addresses from checking.
120- exclude_mail = false
184+ # Check mail addresses
185+ include_mail = false
186+
187+ # Check WikiLinks in Markdown files
188+ include_wikilinks = true
189+
190+ # Only check local files
191+ # offline = true
192+
193+ # ############################ Hosts #############################
194+
195+ # Maximum simultaneous requests to the same host
196+ host_concurrency = 5
197+
198+ # Minimum interval between requests to the same host
199+ host_request_interval = " 50ms"
121200
201+ # Overwrite `host_concurrency` for this host
202+ concurrency = 5
203+ # Overwrite `host_request_interval` for this host
204+ request_interval = " 0" # zero disables rate limiting
205+ # Merge global `header` values with the following `headers` for this host
206+ headers = { "A" = " B" }
0 commit comments