wechat-article-formatter
npx skills add https://github.com/solar-luna/fully-automatic-article-generation-skill --skill wechat-article-formatter
Agent 安装分布
Skill 文档
å¾®ä¿¡å ¬ä¼å·æç« æ ¼å¼åå·¥å ·ï¼Claude æ§è¡æåï¼
ç®æ : å° Markdown æç« 转æ¢ä¸ºéé å¾®ä¿¡å ¬ä¼å·çç²¾ç¾ HTMLï¼å®ç°ä¸é®åå¸ã
æ ¸å¿ä»·å¼: æçæå 15 åï¼30åé â 2åéï¼ï¼æ ¼å¼ä¸è´ä¸ä¸ã
å ¨æ°å级: ä½¿ç¨ AI ç§æä¸»é¢ï¼ä¸ä¸º AI é¢åå å®¹è®¾è®¡ï¼æ¯æä¸°å¯çè§è§ç»ä»¶åèªå®ä¹è¯æ³ã
主é¢è¯´æ
æ¬å·¥å ·ä½¿ç¨ AI ç§æä¸»é¢ï¼ai-tech-themeï¼ï¼ä¸ä¸º AI é¢åå 容设计ï¼
- æ¸è¿å¼ç´«è绿é è²ï¼ä¿çåç´«è²ï¼æ©å±è³éã绿çè¾ å©è²ï¼
- 丰å¯çè§è§ç»ä»¶ï¼ä¿¡æ¯å¡çãå¾½ç« ãè¡¨æ ¼ã代ç åçï¼
- AI é¢åä¸ç¨ç»ä»¶ï¼æ¨¡å对æ¯ãPrompt 示ä¾ãAPI è°ç¨ãæ§è½ææ ï¼
- Atom One Dark 代ç é«äº®
- ååºå¼è®¾è®¡ï¼ç§»å¨ç«¯å好
æ°å¢ç»ä»¶ä½¿ç¨
ä¿¡æ¯å¡ç
ä½¿ç¨ ::: è¯æ³å建ä¸åç±»åçä¿¡æ¯æ¡ï¼
::: info
è¿æ¯ä¸æ¡ä¿¡æ¯æç¤º
:::
::: success
æä½æåï¼æ¨¡åè®ç»å®æã
:::
::: warning
注æï¼æ¤æä½ä¼æ¶è大é tokens
:::
::: danger
é误ï¼API key æ æ
:::
::: tech
ææ¯æç¤ºï¼ä½¿ç¨ --temperature åæ°æ§å¶è¾åºéæºæ§
:::
å¾½ç« æ ç¾
ä½¿ç¨ [!TEXT] è¯æ³æ·»å å¾½ç« ï¼
GPT-4 [!NEW] æ¯æå¤æ¨¡æè¾å
¥ [!AI]
Claude Opus [!æ¨è] å
·ææå¼ºæ¨çè½å
æ¯æçå¾½ç« ç±»åï¼
[!NEW]– æ¸åç´«èå¾½ç« ï¼æ°åè½ï¼[!AI]– éè²å¾½ç« ï¼AI ç¸å ³ï¼[!æ¨è]– ç´«è²å¾½ç« ï¼æ¨èå 容ï¼[!æå]– 绿è²å¾½ç« ï¼æåç¶æï¼[!è¦å]– é»è²å¾½ç« ï¼è¦åæç¤ºï¼
â¡ æ§è¡æµç¨ï¼ä¸¥æ ¼éµå®ï¼
æ¥éª¤1ï¼è·åè¾å ¥æä»¶
åºæ¯å¤æï¼
| åºæ¯ | å¦ä½å¤ç |
|---|---|
| ç¨æ·æä¾æä»¶è·¯å¾ | ç´æ¥ä½¿ç¨è¯¥è·¯å¾ |
| ç¨æ·ç²è´´ Markdown å 容 | å ä½¿ç¨ Write å·¥å ·ä¿å为 .md æä»¶ |
| å使ç¨è¿ wechat-tech-writer | èªå¨æ¥æ¾ææ°çæç .md æä»¶ï¼è§éææå¯¼ï¼ |
| ç¨æ·åªè¯´”ç¾åæç« “ | 询é®ç¨æ·ï¼æä»¶è·¯å¾æç²è´´å 容 |
èªå¨æ£æµææ°æç« ï¼ä¸ wechat-tech-writer éæï¼ï¼
# æ¥æ¾å½åç®å½ææ°ç .md æä»¶
latest_md=$(ls -t *.md 2>/dev/null | head -1)
if [ -n "$latest_md" ]; then
echo "æ£æµå°ææ°æç« ï¼$latest_md"
fi
æ¥éª¤2ï¼æ§è¡è½¬æ¢
æ å转æ¢å½ä»¤ï¼
cd /root/.claude/skills/wechat-article-formatter
python3 scripts/markdown_to_html.py \
--input "{æä»¶è·¯å¾}" \
--output "{è¾åºè·¯å¾}" \
--preview
åæ°è¯´æï¼
--inputï¼Markdown æä»¶è·¯å¾ï¼å¿ éï¼--outputï¼HTML è¾åºè·¯å¾ï¼å¯éï¼é»è®¤åå .htmlï¼--themeï¼ä¸»é¢éæ©ï¼ç°å¨åªæ ai-techï¼å¯çç¥ï¼--previewï¼è½¬æ¢åèªå¨å¨æµè§å¨æå¼é¢è§ï¼æ¨èï¼
示ä¾ï¼
# æå¸¸ç¨ï¼è½¬æ¢å¹¶é¢è§
python3 scripts/markdown_to_html.py \
--input "Claude_Sonnet_4ä»ç».md" \
--preview
éè¦æéï¼
- å¾®ä¿¡å ¬ä¼å·æç¬ç«çæ é¢è¾å ¥æ¡ï¼HTML ä¸å·²èªå¨ç§»é¤ H1 æ é¢
- 转æ¢åç HTML å
嫿³¨éï¼
<!-- â ï¸ æ é¢è¯·å¨å¾®ä¿¡å ¬ä¼å·ç¼è¾å¨ä¸åç¬å¡«å -->
æ¥éª¤3ï¼è´¨éæ£æ¥
转æ¢å®æåï¼å¿ é¡»æ£æ¥ï¼
ä½¿ç¨ Read å·¥å ·è¯»åçæç HTML æä»¶ï¼å 50 è¡ï¼ï¼æ£æ¥ï¼
| æ£æ¥é¡¹ | å¦ä½éªè¯ | 常è§é®é¢ |
|---|---|---|
| æ 颿 ·å¼ | æ¥ç <h2>, <h3> æ ç¾ç style 屿§ |
æ ·å¼ä¸¢å¤± â éæ°è½¬æ¢ |
| 代ç é«äº® | æ¥ç <pre><code> æ¯å¦æè¯æ³é«äº®æ ·å¼ |
æ é«äº® â æ£æ¥ Markdown æ¯å¦æå®è¯è¨ |
| ä¿¡æ¯å¡ç | æ¥çæ¯å¦å
å« class="alert alert-info" ç |
æªè½¬æ¢ â æ£æ¥ ::: è¯æ³æ ¼å¼ |
| å¾½ç« | æ¥çæ¯å¦å
å« class="badge badge-new" ç |
æªè½¬æ¢ â æ£æ¥ [!] è¯æ³æ ¼å¼ |
| å¾çè·¯å¾ | æ¥ç <img src=""> çè·¯å¾ |
æ¬å°è·¯å¾ â æéç¨æ·éä¸ä¼ å°å¾®ä¿¡ |
| è¡¨æ ¼æ ¼å¼ | æ¥ç <table> æ¯å¦æå
èæ ·å¼ |
æ ¼å¼æ··ä¹± â ç®åè¡¨æ ¼åæ° |
å¿«éæ£æ¥å½ä»¤ï¼
# æ¥ç HTML æä»¶å 50 è¡
head -50 output.html
# æ£æ¥æ¯å¦å
å«ä¿¡æ¯å¡ç
grep -o 'class="alert alert-[^"]*"' output.html
# æ£æ¥æ¯å¦å
å«å¾½ç«
grep -o 'class="badge [^"]*"' output.html
æ¥éª¤4ï¼é¢è§ååé¦
询é®ç¨æ·ï¼
â
è½¬æ¢æåï¼å·²çæï¼{è¾åºæä»¶è·¯å¾}
é¢è§ææï¼
- 已卿µè§å¨æå¼é¢è§
- æè®¿é®ï¼file://{ç»å¯¹è·¯å¾}
è¯·æ£æ¥ææï¼æ»¡æåï¼
- 满æ â è¿å
¥æ¥éª¤5ï¼å叿坼ï¼
- éè¦è°æ´ â å¯ä»¥ä¿®æ¹ Markdown åéæ°è½¬æ¢
å¦æç¨æ·ä¸æ»¡æï¼
| é®é¢ | è§£å³æ¹æ¡ |
|---|---|
| “ä¿¡æ¯æ¡æ²¡æ¾ç¤º” | æ£æ¥æ¯å¦ä½¿ç¨äºæ£ç¡®ç ::: è¯æ³ |
| “å¾½ç« æ²¡æ¾ç¤º” | æ£æ¥æ¯å¦ä½¿ç¨äºæ£ç¡®ç [!] è¯æ³ |
| “代ç åæ²¡é«äº®” | æ£æ¥ Markdown 代ç 忝妿å®è¯è¨ï¼“`pythonï¼ |
| “å¾çæ¾ç¤ºä¸æ£å¸¸” | æéï¼æ¬å°å¾çéä¸ä¼ å°å¾®ä¿¡ç¼è¾å¨ |
| “è¡¨æ ¼å¤ªå®½” | 建议ç®åè¡¨æ ¼ï¼â¤4åï¼ææ¥åæ¨ªåæ»å¨ |
æ¥éª¤5ï¼å叿坼
è¾åºç»ç¨æ·ç宿´æå¯¼ï¼
ð åå¸å°å¾®ä¿¡å
¬ä¼å·æ¥éª¤ï¼
1. æå¼å¾®ä¿¡å
¬ä¼å·ç¼è¾å¨
2. â
卿 颿 å¡«åæç« æ é¢ï¼{ä» Markdown æåçæ é¢}
3. æå¼çæç HTML æä»¶ï¼{æä»¶è·¯å¾}
4. 卿µè§å¨ä¸æ Ctrl+Aï¼å
¨éï¼â Ctrl+Cï¼å¤å¶ï¼
5. ç²è´´å°ç¼è¾å¨æ£æåºï¼Ctrl+Vï¼
6. å¤çå¾çï¼
- å 餿 æ³æ¾ç¤ºçæ¬å°å¾çå¼ç¨
- éæ°ä¸ä¼ å¾çå°å¾®ä¿¡ç¼è¾å¨
7. æåæ£æ¥ï¼æ é¢å±çº§ã段è½é´è·ã代ç åãä¿¡æ¯å¡çãå¾½ç«
8. 使ç¨å¾®ä¿¡ç¼è¾å¨ç"é¢è§"åè½å¨ææºæ¥ç
9. 确认æ 误ååå¸
â ï¸ æ³¨æäºé¡¹ï¼
- æ ·å¼å·²å
èï¼å¯ç´æ¥ç²è´´
- æ¬å°å¾çééæ°ä¸ä¼
- ç²è´´å微信ç¼è¾å¨å¯è½å¾®è°é¨åæ ·å¼ï¼æ£å¸¸ï¼
- ä¿¡æ¯å¡çåå¾½ç« çé¢è²èæ¯ä¼ä¿ç
ð ä¸ wechat-tech-writer éæ
åºæ¯ï¼åç¨ wechat-tech-writer çææç«
è¯å«æ å¿ï¼
- ç¨æ·å说返åä¸ç¯å ³äºXXXçæç« “
- å½åç®å½ææ°çæç .md æä»¶
èªå¨åæµç¨ï¼
# 1. æ¥æ¾ææ°æç«
latest_article=$(ls -t *.md 2>/dev/null | head -1)
# 2. 确认æ¯å¦æ¯ç®æ æç«
echo "æ£æµå°ææ°æç« ï¼$latest_article"
echo "æ¯å¦è¦è½¬æ¢è¿ç¯æç« ï¼(y/n)"
# 3. èªå¨è½¬æ¢ï¼AI ç§æä¸»é¢ï¼
python3 scripts/markdown_to_html.py \
--input "$latest_article" \
--preview
æ ç¼è¡æ¥è¯æ¯ï¼
æ£æµå°ä½ åç¨ wechat-tech-writer çæäºæç« ï¼{æä»¶å}
ç°å¨ä¸ºä½ ç¾åæ ¼å¼ï¼ä½¿ç¨ AI ç§æä¸»é¢...
â é误å¤ç表
| éè¯¯ä¿¡æ¯ | åå | Claude åºè¯¥åä»ä¹ |
|---|---|---|
FileNotFoundError: Input file not found |
æä»¶è·¯å¾é误 | 询é®ç¨æ·æ£ç¡®çæä»¶è·¯å¾ |
Unknown theme: xxx |
主é¢åé误 | æç¤ºç°å¨åªæ ai-tech ä¸»é¢ |
Theme CSS file not found |
ä¸»é¢æä»¶ç¼ºå¤± | æ£æ¥æä»¶æ¯å¦åå¨ï¼éæ°å®è£ |
| è½¬æ¢æåä½ä»£ç æ é«äº® | Markdown æªæå®è¯è¨ | æéç¨æ·ä¿®æ¹ä»£ç å3`pythonï¼ |
| ä¿¡æ¯æ¡æªè½¬æ¢ | ::: è¯æ³æ ¼å¼é误 | æ£æ¥æ¯å¦ææ£ç¡®çå¼å§åç»ææ è®° |
| å¾½ç« æªè½¬æ¢ | [!] è¯æ³æ ¼å¼é误 | æ£æ¥æ¯å¦ä½¿ç¨äºæ¯æçå¾½ç« ç±»å |
| å¾çæ æ³æ¾ç¤º | æ¬å°è·¯å¾æå¤é¾å¤±æ | æéç¨æ·å¨å¾®ä¿¡ç¼è¾å¨éæ°ä¸ä¼ |
| è¡¨æ ¼æ ¼å¼æ··ä¹± | è¡¨æ ¼è¿å®½ | 建议ç®åè¡¨æ ¼æè½¬ä¸ºå¾ç |
ð å¿«éåè
æå¸¸ç¨å½ä»¤
æ å转æ¢ï¼æå¸¸ç¨ï¼ï¼
python3 scripts/markdown_to_html.py --input article.md --preview
æå®è¾åºè·¯å¾ï¼
python3 scripts/markdown_to_html.py --input article.md --output output.html --preview
常è§é®é¢å¿«éè§£ç
Q: ç²è´´å°å¾®ä¿¡åæ ·å¼ä¸¢å¤±ï¼ A: 使稔ç²è´´”èé”ç²è´´å¹¶å¹é æ ·å¼”ï¼ææ¸ ç©ºç¼è¾å¨åéæ°ç²è´´ã
Q: 代ç åæ²¡æé«äº®ï¼ A: ç¡®ä¿ Markdown 䏿å®äºè¯è¨ï¼“`pythonï¼ä¸æ¯ “`ï¼
Q: ä¿¡æ¯å¡çæ²¡ææ¾ç¤ºï¼ A: æ£æ¥ ::: è¯æ³æ ¼å¼ï¼ç¡®ä¿æå¼å§åç»ææ è®°ï¼ä¸ç±»åæ£ç¡®ï¼info/success/warning/danger/techï¼
Q: å¾½ç« æ²¡ææ¾ç¤ºï¼ A: æ£æ¥ [!] è¯æ³æ ¼å¼ï¼ç¡®ä¿ä½¿ç¨äºæ¯æçå¾½ç« ç±»åï¼NEW/AI/æ¨è/æå/è¦åï¼
Q: å¦ä½èªå®ä¹é¢è²ï¼
A: ä¿®æ¹ templates/ai-tech-theme.css ä¸ç CSS åéï¼:root é¨åï¼
â æ§è¡æ£æ¥æ¸ åï¼æ¯æ¬¡æ§è¡å®æ¯å确认ï¼
- å·²è·åè¾å ¥æä»¶ï¼è·¯å¾æå 容ï¼
- å·²æ§è¡è½¬æ¢å½ä»¤
- å·²æ£æ¥çæç HTML æä»¶ï¼æ é¢ã代ç ãä¿¡æ¯å¡çãå¾½ç« ãå¾çï¼
- 已询é®ç¨æ·é¢è§æææ¯å¦æ»¡æ
- å·²æä¾å®æ´çå叿坼
- å·²å¤çå¯è½åºç°çé误
è®°ä½ï¼è¿ä¸ª skill çæ ¸å¿æ¯èªå¨å + ä¸ä¸åï¼è®©ç¨æ· 2 åé宿忬 30 åéçå·¥ä½ï¼