diff --git a/.gitignore b/.gitignore
index a20704be..d1ce3dc8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -384,8 +384,5 @@ ARCHITECTURE.md
_DEAD/
# Build artifacts
-docs/build/
-docs/.vitepress/dist/
-docs/.vitepress/cache/
-assets/build/
-assets/dist/
+docs/
+assets/
diff --git a/README.md b/README.md
index d9bdaae0..6111df8d 100644
--- a/README.md
+++ b/README.md
@@ -7,11 +7,11 @@
> **上传一部电影 → AI 自动完成语义拆条、解说稿、配音、字幕、合成导出**
> 从「几天一条」变成「一天十条」。
-[](LICENSE)
-[](https://www.python.org/)
-[](https://qt.io/)
-[](https://github.com/Agions/scene-fab/releases)
-[](https://github.com/Agions/scene-fab/releases)
+[](LICENSE)
+[](https://www.python.org/)
+[](https://qt.io/)
+[](https://github.com/Agions/scene-fab/releases)
+[](https://github.com/Agions/scene-fab/releases)
[**在线文档**](https://agions.github.io/scene-fab/) · [**下载安装**](https://github.com/Agions/scene-fab/releases) · [**报告问题**](https://github.com/Agions/scene-fab/issues/new) · [**功能建议**](https://github.com/Agions/scene-fab/discussions)
@@ -239,13 +239,3 @@ SceneFab 的诞生离不开以下开源项目:
⭐ 如果 SceneFab 对你有帮助,请给一个 Star · 🐛 遇到问题请提交 [Issue](https://github.com/Agions/scene-fab/issues)
-
-
diff --git a/assets/badges/license-mit.svg b/assets/badges/license-mit.svg
deleted file mode 100644
index 9266130a..00000000
--- a/assets/badges/license-mit.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/assets/badges/platform.svg b/assets/badges/platform.svg
deleted file mode 100644
index 1e62f0e4..00000000
--- a/assets/badges/platform.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/assets/badges/pyside6.svg b/assets/badges/pyside6.svg
deleted file mode 100644
index a3dc340f..00000000
--- a/assets/badges/pyside6.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/assets/badges/python.svg b/assets/badges/python.svg
deleted file mode 100644
index 33b7b438..00000000
--- a/assets/badges/python.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/assets/badges/version.svg b/assets/badges/version.svg
deleted file mode 100644
index fd606dc1..00000000
--- a/assets/badges/version.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/docs/public/badges/license-mit.svg b/docs/public/badges/license-mit.svg
deleted file mode 100644
index 9266130a..00000000
--- a/docs/public/badges/license-mit.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/docs/public/badges/platform.svg b/docs/public/badges/platform.svg
deleted file mode 100644
index 1e62f0e4..00000000
--- a/docs/public/badges/platform.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/docs/public/badges/pyside6.svg b/docs/public/badges/pyside6.svg
deleted file mode 100644
index a3dc340f..00000000
--- a/docs/public/badges/pyside6.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/docs/public/badges/python.svg b/docs/public/badges/python.svg
deleted file mode 100644
index 33b7b438..00000000
--- a/docs/public/badges/python.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/docs/public/badges/version.svg b/docs/public/badges/version.svg
deleted file mode 100644
index fd606dc1..00000000
--- a/docs/public/badges/version.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/scripts/generate_badges.py b/scripts/generate_badges.py
deleted file mode 100644
index 1003e66f..00000000
--- a/scripts/generate_badges.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python3
-"""Generate SceneFab version badge SVG from pyproject.toml.
-
-Usage:
- python scripts/generate_badges.py
- python scripts/generate_badges.py --version 1.2.0
- python scripts/generate_badges.py --check # CI check (fail if drift)
-"""
-
-from __future__ import annotations
-
-import argparse
-import re
-import sys
-from pathlib import Path
-
-ROOT = Path(__file__).resolve().parent.parent
-PYPROJECT = ROOT / "pyproject.toml"
-BADGE_PATH = ROOT / "assets" / "badges" / "version.svg"
-
-
-def read_pyproject_version() -> str:
- """Extract `version = "X.Y.Z"` from pyproject.toml."""
- if not PYPROJECT.exists():
- sys.exit(f"❌ pyproject.toml not found at {PYPROJECT}")
- content = PYPROJECT.read_text(encoding="utf-8")
- match = re.search(r'^version\s*=\s*"([^"]+)"', content, re.MULTILINE)
- if not match:
- sys.exit(f"❌ No version field found in {PYPROJECT}")
- return match.group(1)
-
-
-def render_version_badge(version: str) -> str:
- """Render the version badge SVG with the given version string."""
- svg = f'''
-
-'''
- return svg
-
-
-def main() -> int:
- parser = argparse.ArgumentParser(description="Generate SceneFab version badge.")
- parser.add_argument(
- "--version", help="Override version (default: read from pyproject.toml)"
- )
- parser.add_argument(
- "--check",
- action="store_true",
- help="CI check: exit 1 if badge is out of sync with pyproject.toml",
- )
- args = parser.parse_args()
-
- version = args.version or read_pyproject_version()
-
- if args.check:
- if not BADGE_PATH.exists():
- print(f"❌ Badge not found at {BADGE_PATH}")
- return 1
- existing = BADGE_PATH.read_text(encoding="utf-8")
- expected = render_version_badge(version)
- if existing == expected:
- print(f"✅ Badge in sync (v{version})")
- return 0
- print(f"❌ Badge drift: expected v{version}, file is out of sync")
- print(f" Run: python scripts/generate_badges.py")
- return 1
-
- BADGE_PATH.parent.mkdir(parents=True, exist_ok=True)
- BADGE_PATH.write_text(render_version_badge(version), encoding="utf-8")
- print(f"✅ Wrote {BADGE_PATH} (v{version})")
- return 0
-
-
-if __name__ == "__main__":
- sys.exit(main())