Skip to content

gitstq/SnapCode-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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 ๅœ‹้š›็คพ็พค 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-Powered Code Screenshot Beautifier & Social Sharing Engine

PyPI Version License Python GitHub

Themes Languages Presets Zero Dependencies

๐ŸŽ‰ Introduction

SnapCode-AI is an AI-powered code screenshot beautifier designed specifically for developers. It transforms boring code snippets into stunning visuals that you can share across social platforms with a single click.

๐Ÿค” Why SnapCode-AI?

Pain Point SnapCode-AI Solution
๐Ÿ˜ฉ Ugly, unprofessional code screenshots ๐ŸŽจ 21 beautifully crafted themes covering popular editor styles
๐Ÿ˜ซ Different size requirements per platform ๐Ÿ“ฑ 19 social platform presets with one-click optimal sizing
๐Ÿ˜ฐ Incomplete syntax highlighting ๐Ÿ’ป 20+ programming languages with precise colorization
๐Ÿ˜ญ Too many dependencies to install โšก Zero core dependencies, pure Python standard library
๐Ÿ˜ต Tools too complex to use ๐Ÿ–ฑ๏ธ Interactive Web UI + clean CLI, ready to use out of the box

๐ŸŒŸ In a Nutshell

Turn code into art, make sharing a joy.


โœจ Core Features

๐ŸŽจ 21 Beautiful Themes

From classic to trendy, there's always one that fits your style:

Category Themes
๐ŸŒ™ Dark Catppuccin Mocha, Dracula, Tokyo Night, Nord, Monokai, GitHub Dark, One Dark Pro, Gruvbox Dark, Solarized Dark, VS Code Dark, Atom One Dark, Palenight
โ˜€๏ธ Light GitHub Light, Solarized Light, One Light, VS Code Light, Atom One Light
๐ŸŒˆ Special Catppuccin Latte, Gruvbox Light, Snazzy, Ayu Dark

๐Ÿ’ป 20+ Language Syntax Highlighting

Full syntax highlighting support for the following languages:

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

๐Ÿ“ฑ 19 Social Platform Presets

Generate code screenshots optimized for each platform's ideal dimensions:

Platform Category Description
๐Ÿ‡จ๐Ÿ‡ณ WeChat Moments Domestic (CN) 1080ร—1080px, optimal for Moments
๐Ÿ“• Xiaohongshu Domestic (CN) 1080ร—1440px, 3:4 portrait card
๐Ÿ“บ Bilibili Domestic (CN) 1920ร—1080px, 16:9 landscape cover
๐ŸŽต TikTok / Douyin Domestic (CN) 1080ร—1920px, 9:16 portrait
โ“ Zhihu Domestic (CN) 1200ร—675px, 16:9 image card
๐Ÿ“ข Weibo Domestic (CN) 1080ร—1080px, square image
๐Ÿฆ X / Twitter International 1600ร—900px, Twitter optimal ratio
๐Ÿ’ผ LinkedIn International 1200ร—627px, LinkedIn article image
๐Ÿ“ธ Instagram International 1080ร—1080px, square post
๐Ÿ“˜ Facebook International 1200ร—630px, Facebook share image
๐Ÿ™ GitHub README Developer 1280ร—640px, README Banner
๐Ÿ“ DEV.to Developer 1000ร—420px, article cover
๐ŸŽฅ YouTube Video 1280ร—720px, video thumbnail
๐Ÿ“ฐ Medium Blog 1200ร—630px, article header
๐Ÿ“‹ Discord Community 1200ร—675px, Discord embed
๐Ÿ’ฌ Telegram Community 1200ร—675px, message preview
๐Ÿ”– Reddit Community 1200ร—628px, post image
๐Ÿ“ง Email Communication 800ร—400px, email signature
๐ŸŒ Generic Universal 1200ร—800px, all-purpose size

๐Ÿ–ฑ๏ธ Interactive Web UI

Built-in HTTP server with a real-time preview web interface:

# Launch Web UI on default port 8964
snapcode web

# Specify a custom port
snapcode web --port 8080

โŒจ๏ธ Powerful CLI Tool

One command is all you need:

# Basic usage: beautify a code screenshot
snapcode screenshot -f code.py

# Specify theme and platform preset
snapcode screenshot -f code.py --theme dracula --preset twitter-x

# Custom window title
snapcode screenshot -f code.py --title "My Awesome Code"

# Show line numbers
snapcode screenshot -f code.py --line-numbers

# Highlight specific lines
snapcode screenshot -f code.py --highlight 5,10,15-20

# Choose window style
snapcode screenshot -f code.py --window-style macos

โšก Zero Core Dependencies

Built entirely with the Python standard library โ€” no third-party packages required:

pip install snapcode-ai   # That's it, ready to go

๐ŸชŸ Multiple Window Styles

Supports macOS, Windows, and Linux window chrome appearances:

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

๐Ÿ“ More Customization Options

  • โœ… Show / hide line numbers
  • โœ… Highlight specific lines (supports ranges like 5,10,15-20)
  • โœ… Custom window title
  • โœ… HTML output format
  • โœ… Custom output path

๐Ÿš€ Quick Start

๐Ÿ“‹ Prerequisites

  • Python 3.8 or higher
  • pip package manager

๐Ÿ”ง Installation

Option 1: Install via PyPI (Recommended)

pip install snapcode-ai

Option 2: Install from Source

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

๐ŸŽฏ 30-Second Quick Demo

# 1. Install
pip install snapcode-ai

# 2. Create a sample code file
echo 'print("Hello, SnapCode-AI! ๐Ÿš€")' > hello.py

# 3. Generate a beautiful screenshot
snapcode screenshot -f hello.py --theme dracula --preset wechat

# 4. Check the generated screenshot
# Output file is saved in the current directory by default

๐Ÿ–ฅ๏ธ Launch the Web UI

# Start the interactive web interface
snapcode web --port 8964

# Open your browser and visit
# http://localhost:8964

๐Ÿ“– Detailed Usage Guide

๐Ÿ“ธ screenshot Command

The core command for generating code screenshots:

snapcode screenshot -f <file_path> [options]

Full Parameter List:

Parameter Short Description Default
--file -f Code file path (required) -
--theme -t Theme name dracula
--preset -p Social platform preset wechat
--output -o Output file path Auto-generated
--title -T Window title Filename
--line-numbers -n Show line numbers True
--highlight -H Highlight lines (e.g. 5,10,15-20) -
--window-style -w Window style (macos/windows/linux) macos
--format -F Output format (png/html) png
--padding -P Padding size 40

Usage Examples:

# Generate a Dracula-themed screenshot optimized for X/Twitter
snapcode screenshot -f main.py --theme dracula --preset twitter-x

# Generate a Xiaohongshu-style code card
snapcode screenshot -f app.ts --theme tokyo-night --preset xiaohongshu

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

# Highlight key code lines
snapcode screenshot -f server.go --theme nord --highlight 10-25,30

# Export as HTML format
snapcode screenshot -f style.css --theme catppuccin-mocha --format html

๐ŸŒ web Command

Launch the interactive Web UI server:

snapcode web [options]
Parameter Description Default
--port Server port 8964
--host Bind address 127.0.0.1

๐ŸŽจ themes Command

List all available themes:

snapcode themes

Sample output:

๐ŸŽจ Available Themes:
  ๐ŸŒ™ Dark:  catppuccin-mocha, dracula, tokyo-night, nord, monokai, ...
  โ˜€๏ธ Light: github-light, solarized-light, one-light, ...
  ๐ŸŒˆ Special: catppuccin-latte, gruvbox-light, snazzy, ...

๐Ÿ“ฑ presets Command

List all available platform presets:

snapcode presets

Sample output:

๐Ÿ“ฑ 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 Command

List all supported programming languages:

snapcode languages

โ„น๏ธ version Command

Show version information:

snapcode version

๐Ÿ’ก Design Philosophy & Roadmap

๐Ÿ—๏ธ Architecture Principles

SnapCode-AI is designed around the following core principles:

  1. Zero-Dependency Philosophy ๐Ÿ“ฆ

    • Core functionality is built entirely on the Python standard library
    • No third-party packages needed, reducing environment setup complexity
    • Faster startup times and reduced security surface area
  2. Decoupled Theme Engine ๐ŸŽจ

    • Themes are completely separated from the rendering engine
    • JSON-based theme definitions make community contributions easy
    • Supports user-defined custom theme extensions
  3. Flexible Preset System ๐Ÿ“ฑ

    • Social platform presets are independent from the theme system
    • Presets define dimensions, border radius, shadows, and other layout parameters
    • Adding a new platform requires only a single configuration file
  4. Dual-Mode Interaction ๐Ÿ–ฑ๏ธ

    • CLI mode: ideal for automation scripts and CI/CD integration
    • Web UI mode: perfect for interactive exploration and real-time preview
    • Both modes share the same core rendering engine

๐Ÿ—บ๏ธ Roadmap

v1.0.0 (Current Release) โœ…

  • 21 beautiful themes
  • 20+ programming language syntax highlighting
  • 19 social platform presets
  • Interactive Web UI
  • CLI command-line tool
  • Zero core dependencies
  • Multiple window styles
  • Line number show/hide, line highlighting
  • HTML output format

v1.1.0 (Planned) ๐Ÿ“‹

  • Custom theme editor (built into Web UI)
  • Batch screenshot generation mode
  • Additional language support (Scala, Elixir, Haskell, etc.)
  • Gradient backgrounds and custom watermarks

v1.2.0 (Long-term) ๐Ÿ”ฎ

  • AI-powered theme recommendations (auto-match best theme based on code content)
  • VS Code / JetBrains plugin integration
  • API service mode (remote invocation support)
  • Team theme sharing and collaboration

v2.0.0 (Vision) ๐ŸŒŸ

  • Online SaaS service
  • Code animation GIF export
  • Deep editor integration (Cursor, Windsurf, etc.)
  • Community theme marketplace

๐Ÿ“ฆ Packaging & Deployment Guide

๐Ÿ PyPI Publishing

# 1. Install build tools
pip install build twine

# 2. Build distribution packages
python -m build

# 3. Check package contents
twine check dist/*

# 4. Upload to PyPI
twine upload dist/*

๐Ÿณ Docker Deployment

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"]

Build and run:

# Build the image
docker build -t snapcode-ai .

# Run the container
docker run -p 8964:8964 snapcode-ai

๐Ÿš€ One-Click Deployment Script

#!/bin/bash
# deploy.sh - SnapCode-AI Quick Deployment Script

echo "๐Ÿš€ Deploying SnapCode-AI..."

# Install
pip install snapcode-ai

# Verify installation
snapcode version

echo "โœ… Deployment complete!"
echo "๐Ÿ’ก Run 'snapcode web' to start the Web UI"
echo "๐Ÿ’ก Run 'snapcode screenshot -f your_code.py' to generate screenshots"

๐Ÿ“ Project Structure

snapcode-ai/
โ”œโ”€โ”€ snapcode_ai/              # Core package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ cli.py                # CLI entry point
โ”‚   โ”œโ”€โ”€ web.py                # Web UI server
โ”‚   โ”œโ”€โ”€ renderer/             # Rendering engine
โ”‚   โ”‚   โ”œโ”€โ”€ screenshot.py     # Screenshot renderer
โ”‚   โ”‚   โ””โ”€โ”€ html.py           # HTML renderer
โ”‚   โ”œโ”€โ”€ themes/               # Theme definitions
โ”‚   โ”‚   โ”œโ”€โ”€ dark/             # Dark themes
โ”‚   โ”‚   โ””โ”€โ”€ light/            # Light themes
โ”‚   โ”œโ”€โ”€ presets/              # Platform presets
โ”‚   โ”œโ”€โ”€ languages/            # Syntax highlighting definitions
โ”‚   โ””โ”€โ”€ utils/                # Utility functions
โ”œโ”€โ”€ tests/                    # Tests
โ”œโ”€โ”€ setup.py                  # Installation config
โ”œโ”€โ”€ pyproject.toml            # Project config
โ”œโ”€โ”€ Dockerfile                # Docker config
โ””โ”€โ”€ README.md                 # This file

๐Ÿค Contributing Guide

We welcome and appreciate every contributor! Whether you fix a bug, add a new theme, or improve the documentation โ€” every contribution makes SnapCode-AI better.

๐Ÿ› ๏ธ How to Contribute

1. Fork and Clone the Repository

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

2. Create a Feature Branch

git checkout -b feature/your-feature-name

3. Develop and Test

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
python -m pytest tests/

# Format code
python -m black snapcode_ai/

4. Commit Your Changes

git add .
git commit -m "feat: add new feature description"
git push origin feature/your-feature-name

5. Open a Pull Request

Create a Pull Request on GitHub describing your changes.

๐ŸŽจ Contributing a New Theme

  1. Create a theme configuration file in the snapcode_ai/themes/ directory
  2. Define background color, foreground color, syntax highlight colors, etc.
  3. Submit a PR with a preview screenshot of the theme

๐Ÿ“ฑ Contributing a New Platform Preset

  1. Create a preset configuration file in the snapcode_ai/presets/ directory
  2. Define target dimensions, border radius, shadows, and other parameters
  3. Submit a PR with details about the platform adaptation

๐Ÿ“‹ Contribution Guidelines

  • Follow the Conventional Commits specification
  • Adhere to PEP 8 code style
  • Add thorough comments and documentation
  • Ensure all tests pass

๐Ÿ“„ License

This project is licensed under the 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

If you find SnapCode-AI helpful, please give it a โญ Star!

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

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages