用途:管理基于 blog 模板搭建的博客,覆盖写作或导入草稿、格式化文章、设置标题与首图、添加 SEO 结构、构建、预览与发布的全流程。
项目结构:config.py 存放站点常量(SITE_URL、SITE_NAME、CTA、UTM、OG 颜色);build.py 为生成器,含 --check、--drafts 选项;scripts/ 下含 import_article.py(导入任意 HTML 文章为草稿)、import_x_articles.py(导入 X 文章)、og_image.py(按标题自动生成 OG 卡片);templates/、assets/、content/posts/(YYYY-MM-DD-<slug>.md)、public/(构建输出)。
主要能力:config.py 为唯一配置源,缺失时回退 config.example.py 默认值。文章 frontmatter 支持 title(必填)、slug、date、author、description、tags、draft、og_image、source_url。正文为标准 Markdown;导入的原始 HTML 文章可含内联 style 与 script,导入器将 CSS 作用域限定在 .sr-article 下,并重写 Chart.js CDN 为本地副本、去除原 h1。无 og_image 时自动生成 1200x630 PNG 卡片。构建时对站外链接自动打 UTM 标记(nav、footer、article_cta),内部链接、资源、RSS 与 JSON-LD 不打标。
使用方式:写文章后执行 python3 build.py;仅校验用 python3 build.py --check;草稿构建用 python3 build.py --drafts。导入 HTML 文章:python3 scripts/import_article.py "URL" --date YYYY-MM-DD --slug S --title "T" --author "Author" --tags a,b --description "..."。导入 X 文章:python3 scripts/import_x_articles.py。本地预览:python3 -m http.server 8000 -d public/。发布可将 public/ 部署到任意静态托管(GitHub Pages、Netlify/Vercel、rsync/SCP 等)。
适用场景:需要以静态站点方式运营博客、并希望由 AI 代理完成写作到发布全链路的场景。限制与注意:草稿默认渲染到 public/drafts/<slug>/,并从首页、RSS、sitemap 排除,需设 draft: false 才公开。标题含 : 或 # 需加引号以免 YAML 解析错误;图表空白通常是 CDN script 未替换,应确认引用 vendor/chart.umd.min.js;导入文章字体异常或乱码需重跑导入器,勿手改 public/;Telegram/X 无预览图多因首图为 RGBA PNG,需转 RGB 并补充 og:image:secure_url 与 og:image:type。发布前建议核对校验清单:构建检查通过、frontmatter 含 title 与 description、draft: false、首图存在、预览 /posts/<slug>/ 渲染正常、feed.xml 与 sitemap.xml 已收录。