项目文件夹

文件
wehub-resource-sync 4e0f4422d0
build-docs / deploy (push) Has been cancelled
Check Markdown links / markdown-link-check (push) Has been cancelled
Pytest / test (3.11) (push) Has been cancelled
Pytest / test (3.12) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:25:42 +08:00

37 行
1.0 KiB
Python
可执行文件

#!/usr/bin/env python3
# view_image – view an image file as a base64-encoded markdown image
import base64
import mimetypes
import pathlib
import sys
VALID_MIME_TYPES = {
"image/png",
"image/jpeg",
"image/webp",
}
if len(sys.argv) != 2:
sys.exit(f"usage: {pathlib.Path(sys.argv[0]).name} <image-file>")
img_path = pathlib.Path(sys.argv[1])
if not img_path.exists():
sys.exit(f"Error: File '{img_path}' does not exist")
if not img_path.is_file():
sys.exit(f"Error: '{img_path}' is not a file")
try:
mime = mimetypes.guess_type(img_path.name)[0]
if mime not in VALID_MIME_TYPES:
sys.exit(f"Error: Unsupported image type: {mime}. Valid types are: {', '.join(VALID_MIME_TYPES)}")
# read the file, base64-encode, and convert bytes → str
b64 = base64.b64encode(img_path.read_bytes()).decode("ascii")
# write the exact markdown snippet to stdout
print(f"![{img_path.as_posix()}](data:{mime};base64,{b64})")
except Exception as e:
sys.exit(f"Error processing image: {e}")