# Lychee link-check exclusion patterns. One regex per line. # for comments.
# See https://github.com/lycheeverse/lychee

# Loopback and other localhost-style references in code samples
^https?://(localhost|127\.0\.0\.1)

# Internal-only Azure hostnames that resolve inside a VNet but not on the public internet
^https?://(apim-foundry|aif-core|aif-cu|aif-spoke-multi|iq-search)(/.*)?$

# Azure resource hostnames used by SDKs as auth scopes / endpoints, not browseable pages
^https?://.*\.azure-api\.net
^https?://.*\.cognitiveservices\.azure\.com
^https?://cognitiveservices\.azure\.com
^https?://.*\.search\.windows\.net
^https?://search\.azure\.com(/.*)?$
^https?://.*\.services\.ai\.azure\.com
^https?://management\.azure\.com(/|/\.default/?)?$

# Author-deployed Azure Functions used by demo notebooks (may be deleted or slow)
^https?://func-[a-z0-9-]+\.azurewebsites\.net

# Sites that block unauthenticated automated checkers or have HTTP/2 quirks
^https?://portal\.azure\.com
^https?://platform\.openai\.com
^https?://msrc\.microsoft\.com

# Azure marketing/pricing pages, heavy JS that times out from CI runners
^https?://azure\.microsoft\.com/.*pricing/

# APT package-repository roots captured in notebook stdout (apt-get install output).
# Repository roots are not browseable web pages and return 404 to the link checker.
^https?://deb\.debian\.org
^https?://security\.debian\.org
^https?://archive\.ubuntu\.com
^https?://security\.ubuntu\.com

# URL templates with {placeholder} markers (not real URLs - meant for reader substitution).
# Lychee tests the regex against the URL-encoded form, so match both literal {name} and %7Bname%7D.
\{[a-zA-Z_-]+\}
%7B[a-zA-Z_-]+%7D

# Valid external pages/redirects the checker mis-extracts from notebook cells: a trailing
# newline or backslash gets glued onto the URL (e.g. .../user_install.html/n,
# .../issues/49196/n#, or a fwlink ending in a backslash). The pages themselves are fine.
^https?://ipywidgets\.readthedocs\.io
^https?://go\.microsoft\.com/fwlink
^https?://github\.com/Azure/azure-sdk-for-java/issues
