Skip to content

About

🎨 SnapCode-AI - AI-Powered Code Screenshot Beautification & Social Sharing Engine | AI驱动的代码截图美化与社交分享引擎 - 21 Themes, 20+ Languages, 19 Social Presets, Zero Dependencies, Web UI, CLI

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🚀 SnapCode-AI

AI 驱动的代码截图美化与社交分享引擎

AI-Powered Code Screenshot Beautifier & Social Sharing Engine

PyPI Version License Python GitHub

Themes Languages Presets Zero Dependencies

🎉 项目介绍

SnapCode-AI 是一款专为开发者打造的 AI 驱动代码截图美化工具,让你轻松将枯燥的代码片段转化为令人惊艳的精美图片,一键分享到各大社交平台。

🤔 为什么选择 SnapCode-AI?

痛点 SnapCode-AI 的解决方案
😩 代码截图丑陋、不专业 🎨 21 款精心设计的主题,覆盖主流编辑器风格
😫 每个平台尺寸要求不同 📱 19 个社交平台预设,一键适配最佳尺寸
😰 语法高亮不完整 💻 支持 20+ 编程语言,精准着色
😭 安装依赖太多太麻烦 ⚡ 零核心依赖,纯 Python 标准库实现
😵 工具太复杂不会用 🖱️ 交互式 Web UI + 简洁 CLI,上手即用

🌟 一句话总结

把代码变成艺术品,让分享成为一种享受。


✨ 核心特性

🎨 21 款精美主题

从经典到潮流,总有一款适合你:

分类 主题
🌙 深色系 Catppuccin Mocha、Dracula、Tokyo Night、Nord、Monokai、GitHub Dark、One Dark Pro、Gruvbox Dark、Solarized Dark、VS Code Dark、Atom One Dark、Palenight
☀️ 浅色系 GitHub Light、Solarized Light、One Light、VS Code Light、Atom One Light
🌈 特色系 Catppuccin Latte、Gruvbox Light、Snazzy、Ayu Dark

💻 20+ 编程语言语法高亮

完整支持以下语言的语法高亮:

Python · JavaScript · TypeScript · Go · Rust · Java · C · C++ · Ruby · PHP
Swift · Kotlin · HTML · CSS · JSON · SQL · Bash · Markdown · YAML · Dockerfile

📱 19 个社交平台预设

一键生成适配各平台最佳尺寸的代码截图:

平台 分类 说明
🇨🇳 微信朋友圈 国内社交 1080×1080px,朋友圈最佳展示
📕 小红书 国内社交 1080×1440px,3:4 竖版卡片
📺 B 站 国内社交 1920×1080px,16:9 横版封面
🎵 抖音 国内社交 1080×1920px,9:16 竖版
❓ 知乎 国内社交 1200×675px,16:9 图文卡片
📢 微博 国内社交 1080×1080px,正方形配图
🐦 X / Twitter 国际社交 1600×900px,Twitter 最佳比例
💼 LinkedIn 国际社交 1200×627px,LinkedIn 文章配图
📸 Instagram 国际社交 1080×1080px,正方形帖子
📘 Facebook 国际社交 1200×630px,Facebook 分享图
🐙 GitHub README 开发者 1280×640px,README Banner
📝 DEV.to 开发者 1000×420px,文章封面
🎥 YouTube 视频平台 1280×720px,视频缩略图
📰 Medium 博客平台 1200×630px,文章头图
📋 Discord 社区平台 1200×675px,Discord 嵌入
💬 Telegram 社区平台 1200×675px,消息预览
🔖 Reddit 社区平台 1200×628px,帖子配图
📧 Email 通讯工具 800×400px,邮件签名
🌐 通用 通用场景 1200×800px,万能尺寸

🖱️ 交互式 Web UI

内置 HTTP 服务器,提供实时预览的 Web 界面:

# 启动 Web UI,默认端口 8964
snapcode web

# 指定自定义端口
snapcode web --port 8080

⌨️ 强大的 CLI 工具

一行命令,搞定一切:

# 基础用法:美化代码截图
snapcode screenshot -f code.py

# 指定主题和平台预设
snapcode screenshot -f code.py --theme dracula --preset twitter-x

# 自定义窗口标题
snapcode screenshot -f code.py --title "My Awesome Code"

# 显示行号
snapcode screenshot -f code.py --line-numbers

# 高亮指定行
snapcode screenshot -f code.py --highlight 5,10,15-20

# 选择窗口样式
snapcode screenshot -f code.py --window-style macos

⚡ 零核心依赖

纯 Python 标准库实现,无需安装任何第三方依赖:

pip install snapcode-ai   # 仅此一步,开箱即用

🪟 多种窗口样式

支持 macOS、Windows、Linux 三大操作系统的窗口外观:

snapcode screenshot -f code.py --window-style macos    # macOS 风格
snapcode screenshot -f code.py --window-style windows  # Windows 风格
snapcode screenshot -f code.py --window-style linux    # Linux 风格

📐 更多自定义选项

  • ✅ 行号显示 / 隐藏
  • ✅ 指定行高亮(支持范围,如 5,10,15-20)
  • ✅ 自定义窗口标题
  • ✅ HTML 输出格式
  • ✅ 自定义输出路径

🚀 快速开始

📋 环境要求

  • Python 3.8 或更高版本
  • pip 包管理器

🔧 安装方式

方式一:通过 PyPI 安装(推荐)

pip install snapcode-ai

方式二:从源码安装

git clone https://github.com/gitstq/snapcode-ai.git
cd snapcode-ai
pip install -e .

🎯 30 秒上手体验

# 1. 安装
pip install snapcode-ai

# 2. 创建一个示例代码文件
echo 'print("Hello, SnapCode-AI! 🚀")' > hello.py

# 3. 生成精美截图
snapcode screenshot -f hello.py --theme dracula --preset wechat

# 4. 查看生成的截图
# 输出文件默认保存在当前目录

🖥️ 启动 Web UI

# 启动交互式 Web 界面
snapcode web --port 8964

# 打开浏览器访问
# http://localhost:8964

📖 详细使用指南

📸 screenshot 命令

核心命令,用于生成代码截图:

snapcode screenshot -f <文件路径> [选项]

完整参数列表:

参数 缩写 说明 默认值
--file -f 代码文件路径(必填) -
--theme -t 主题名称 dracula
--preset -p 社交平台预设 wechat
--output -o 输出文件路径 自动生成
--title -T 窗口标题 文件名
--line-numbers -n 显示行号 True
--highlight -H 高亮行(如 5,10,15-20) -
--window-style -w 窗口样式(macos/windows/linux) macos
--format -F 输出格式(png/html) png
--padding -P 内边距大小 40

使用示例:

# 生成适配 X/Twitter 的 Dracula 主题截图
snapcode screenshot -f main.py --theme dracula --preset twitter-x

# 生成小红书风格的代码卡片
snapcode screenshot -f app.ts --theme tokyo-night --preset xiaohongshu

# 生成 GitHub README Banner
snapcode screenshot -f config.json --theme github-dark --preset github-readme

# 高亮关键代码行
snapcode screenshot -f server.go --theme nord --highlight 10-25,30

# 导出为 HTML 格式
snapcode screenshot -f style.css --theme catppuccin-mocha --format html

🌐 web 命令

启动交互式 Web UI 服务器:

snapcode web [选项]
参数 说明 默认值
--port 服务端口 8964
--host 绑定地址 127.0.0.1

🎨 themes 命令

查看所有可用主题:

snapcode themes

输出示例:

🎨 Available Themes:
  🌙 Dark:  catppuccin-mocha, dracula, tokyo-night, nord, monokai, ...
  ☀️ Light: github-light, solarized-light, one-light, ...
  🌈 Special: catppuccin-latte, gruvbox-light, snazzy, ...

📱 presets 命令

查看所有可用平台预设:

snapcode presets

输出示例:

📱 Available Presets:
  🇨🇳 Domestic:  wechat, xiaohongshu, bilibili, douyin, zhihu, weibo
  🌍 Global:     twitter-x, linkedin, instagram, facebook
  👨‍💻 Developer: github-readme, dev-to
  🎥 Video:     youtube
  📰 Blog:      medium
  💬 Community:  discord, telegram, reddit
  📧 Other:     email, generic

💻 languages 命令

查看所有支持的编程语言:

snapcode languages

ℹ️ version 命令

查看版本信息:

snapcode version

💡 设计思路与迭代规划

🏗️ 架构设计理念

SnapCode-AI 的设计遵循以下核心原则:

  1. 零依赖哲学 📦

    • 核心功能完全基于 Python 标准库实现
    • 无需安装任何第三方包,降低环境配置成本
    • 提升启动速度,减少潜在的安全风险
  2. 主题引擎解耦 🎨

    • 主题与渲染引擎完全分离
    • 采用 JSON 配置定义主题,便于社区贡献
    • 支持用户自定义主题扩展
  3. 预设系统灵活 📱

    • 社交平台预设独立于主题系统
    • 预设定义了尺寸、圆角、阴影等布局参数
    • 新增平台只需添加一个配置文件
  4. 双模式交互 🖱️

    • CLI 模式:适合自动化脚本和 CI/CD 集成
    • Web UI 模式:适合交互式探索和实时预览
    • 两种模式共享同一套核心渲染引擎

🗺️ 迭代规划

v1.0.0(当前版本)✅

  • 21 款精美主题
  • 20+ 编程语言语法高亮
  • 19 个社交平台预设
  • 交互式 Web UI
  • CLI 命令行工具
  • 零核心依赖
  • 多种窗口样式
  • 行号显示/隐藏、行高亮
  • HTML 输出格式

v1.1.0(规划中)📋

  • 自定义主题编辑器(Web UI 内置)
  • 批量截图生成模式
  • 更多编程语言支持(Scala、Elixir、Haskell 等)
  • 渐变背景与自定义水印

v1.2.0(远期规划)🔮

  • AI 智能主题推荐(根据代码内容自动匹配最佳主题)
  • VS Code / JetBrains 插件集成
  • API 服务模式(支持远程调用)
  • 团队主题共享与协作

v2.0.0(愿景)🌟

  • 在线 SaaS 服务
  • 代码动画 GIF 导出
  • 深度编辑器集成(Cursor、Windsurf 等)
  • 社区主题市场

📦 打包与部署指南

🐍 PyPI 发布

# 1. 安装构建工具
pip install build twine

# 2. 构建分发包
python -m build

# 3. 检查包内容
twine check dist/*

# 4. 上传到 PyPI
twine upload dist/*

🐳 Docker 部署

FROM python:3.11-slim

WORKDIR /app
COPY . .
RUN pip install snapcode-ai

EXPOSE 8964
CMD ["snapcode", "web", "--port", "8964", "--host", "0.0.0.0"]

构建与运行:

# 构建镜像
docker build -t snapcode-ai .

# 运行容器
docker run -p 8964:8964 snapcode-ai

🚀 一键部署脚本

#!/bin/bash
# deploy.sh - SnapCode-AI 快速部署脚本

echo "🚀 正在部署 SnapCode-AI..."

# 安装
pip install snapcode-ai

# 验证安装
snapcode version

echo "✅ 部署完成!"
echo "💡 运行 'snapcode web' 启动 Web UI"
echo "💡 运行 'snapcode screenshot -f your_code.py' 生成截图"

📁 项目结构

snapcode-ai/
├── snapcode_ai/              # 核心包
│   ├── __init__.py
│   ├── cli.py                # CLI 入口
│   ├── web.py                # Web UI 服务器
│   ├── renderer/             # 渲染引擎
│   │   ├── screenshot.py     # 截图渲染
│   │   └── html.py           # HTML 渲染
│   ├── themes/               # 主题定义
│   │   ├── dark/             # 深色主题
│   │   └── light/            # 浅色主题
│   ├── presets/              # 平台预设
│   ├── languages/            # 语法高亮定义
│   └── utils/                # 工具函数
├── tests/                    # 测试
├── setup.py                  # 安装配置
├── pyproject.toml            # 项目配置
├── Dockerfile                # Docker 配置
└── README.md                 # 本文件

🤝 贡献指南

我们欢迎并感谢每一位贡献者!无论你是修复了一个 Bug、添加了一个新主题,还是改进了文档,每一份贡献都让 SnapCode-AI 变得更好。

🛠️ 如何贡献

1. Fork 并克隆项目

git clone https://github.com/gitstq/snapcode-ai.git
cd snapcode-ai

2. 创建功能分支

git checkout -b feature/your-feature-name

3. 开发与测试

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
python -m pytest tests/

# 代码格式化
python -m black snapcode_ai/

4. 提交代码

git add .
git commit -m "feat: 添加新功能描述"
git push origin feature/your-feature-name

5. 发起 Pull Request

在 GitHub 上创建 Pull Request,描述你的改动内容。

🎨 贡献新主题

  1. 在 snapcode_ai/themes/ 目录下创建主题配置文件
  2. 定义背景色、前景色、语法高亮色等参数
  3. 提交 PR 并附带主题预览截图

📱 贡献新平台预设

  1. 在 snapcode_ai/presets/ 目录下创建预设配置文件
  2. 定义目标尺寸、圆角、阴影等参数
  3. 提交 PR 并说明平台适配细节

📋 贡献规范

  • 遵循 Conventional Commits 提交规范
  • 代码风格遵循 PEP 8
  • 添加充分的注释和文档
  • 确保所有测试通过

📄 开源协议

本项目基于 MIT License 开源。

MIT License

Copyright (c) 2024 gitstq

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Made with ❤️ by gitstq

如果你觉得 SnapCode-AI 对你有帮助,请给项目一个 ⭐ Star!

⭐ Star this repo if you find it helpful!



🚀 SnapCode-AI

AI 驅動的程式碼截圖美化與社群分享引擎

AI-Powered Code Screenshot Beautifier & Social Sharing Engine

PyPI Version License Python GitHub

Themes Languages Presets Zero Dependencies

🎉 專案介紹

SnapCode-AI 是一款專為開發者打造的 AI 驅動程式碼截圖美化工具,讓你輕鬆將枯燥的程式碼片段轉化為令人驚豔的精美圖片,一鍵分享到各大社群平台。

🤔 為什麼選擇 SnapCode-AI?

痛點 SnapCode-AI 的解決方案
😩 程式碼截圖醜陋、不專業 🎨 21 款精心設計的主題,覆蓋主流編輯器風格
😫 每個平台尺寸要求不同 📱 19 個社群平台預設,一鍵適配最佳尺寸
😰 語法高亮不完整 💻 支援 20+ 程式語言,精準著色
😭 安裝依賴太多太麻煩 ⚡ 零核心依賴,純 Python 標準函式庫實作
😵 工具太複雜不會用 🖱️ 互動式 Web UI + 簡潔 CLI,上手即用

🌟 一句話總結

把程式碼變成藝術品,讓分享成為一種享受。


✨ 核心特性

🎨 21 款精美主題

從經典到潮流,總有一款適合你:

分類 主題
🌙 深色系 Catppuccin Mocha、Dracula、Tokyo Night、Nord、Monokai、GitHub Dark、One Dark Pro、Gruvbox Dark、Solarized Dark、VS Code Dark、Atom One Dark、Palenight
☀️ 淺色系 GitHub Light、Solarized Light、One Light、VS Code Light、Atom One Light
🌈 特色系 Catppuccin Latte、Gruvbox Light、Snazzy、Ayu Dark

💻 20+ 程式語言語法高亮

完整支援以下語言的語法高亮:

Python · JavaScript · TypeScript · Go · Rust · Java · C · C++ · Ruby · PHP
Swift · Kotlin · HTML · CSS · JSON · SQL · Bash · Markdown · YAML · Dockerfile

📱 19 個社群平台預設

一鍵生成適配各平台最佳尺寸的程式碼截圖:

平台 分類 說明
🇨🇳 微信朋友圈 國內社群 1080×1080px,朋友圈最佳展示
📕 小紅書 國內社群 1080×1440px,3:4 竪版卡片
📺 B 站 國內社群 1920×1080px,16:9 橫版封面
🎵 抖音 國內社群 1080×1920px,9:16 竪版
❓ 知乎 國內社群 1200×675px,16:9 圖文卡片
📢 微博 國內社群 1080×1080px,正方形配圖
🐦 X / Twitter 國際社群 1600×900px,Twitter 最佳比例
💼 LinkedIn