import os import re import sys def add_alt_text_to_images(directory): md_files = [f for f in os.listdir(directory) if f.endswith((".md", ".mdx"))] image_pattern = re.compile(r'!\[([^\]]*)\]\(([^\)]+)\)') for md_file in md_files: md_path = os.path.join(directory, md_file) with open(md_path, "r", encoding="utf-8") as file: content = file.read() def replace_alt(match): alt_text, image_path = match.groups() if alt_text.strip(): return match.group(0) image_name = os.path.basename(image_path) alt_text = os.path.splitext(image_name)[0].replace("_", " ").replace("-", " ") return f'![{alt_text}]({image_path})' new_content = image_pattern.sub(replace_alt, content) with open(md_path, "w", encoding="utf-8") as file: file.write(new_content) print(f"Processed: {md_file}") if __name__ == "__main__": if len(sys.argv) != 2: print("Usage: python script.py ") sys.exit(1) directory = sys.argv[1] if not os.path.isdir(directory): print("Error: Directory does not exist.") sys.exit(1) add_alt_text_to_images(directory)