#!/bin/python3

import re
import requests
from pathlib import Path

def check_links_in_mdx(directory):
    mdx_files = Path(directory).rglob("*.mdx")
    url_pattern = re.compile(r'\[.*?\]\((http[s]?://.*?)\)')

    for mdx_file in mdx_files:
        with open(mdx_file, "r", encoding="utf-8") as f:
            content = f.read()
            links = url_pattern.findall(content)

            for link in links:
                try:
                    response = requests.head(link, allow_redirects=True, timeout=5)
                    if response.status_code >= 400:
                        print(f"Broken link in {mdx_file}: {link} (Status: {response.status_code})")
                except requests.RequestException:
                    print(f"Error checking {link} in {mdx_file}")

check_links_in_mdx("content/docs")