novel-tools/create_novel_project.sh
唐天洛 5ae289decb 项目初始化:小说创作工具集
- 创建飞书同步工具 (Python版)
- 创建字数统计工具
- 创建章节生成器
- 创建番茄黄金三章模板
- 完善项目文档和结构
- 配置完整的工具链
2026-03-30 12:32:57 +08:00

205 lines
4.7 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 小说项目创建工具
# 用法: ./create_novel_project.sh 项目名称 "小说名称" 类型
if [ $# -lt 3 ]; then
echo "用法: $0 项目目录名 小说名称 类型"
echo "示例: $0 末日重生_囤货 \"末日重生-开局囤货十亿物资\" 末世重生"
exit 1
fi
PROJECT_DIR="$1"
NOVEL_NAME="$2"
NOVEL_TYPE="$3"
PROJECTS_ROOT="/root/.openclaw/workspace/projects"
TARGET_DIR="$PROJECTS_ROOT/$PROJECT_DIR"
# 检查是否已存在
if [ -d "$TARGET_DIR" ]; then
echo "错误: 项目目录 '$PROJECT_DIR' 已存在"
exit 1
fi
# 创建项目目录
echo "创建项目: $NOVEL_NAME"
mkdir -p "$TARGET_DIR"
cd "$TARGET_DIR"
# 初始化Git仓库
git init
git config user.name "唐天洛"
git config user.email "563415956@qq.com"
# 创建基础目录结构
mkdir -p chapters outlines assets/characters assets/settings assets/plots tools sync progress
# 创建PROJECT.md
cat > PROJECT.md << EOF
# 《$NOVEL_NAME》项目
## 项目信息
- **书名**: $NOVEL_NAME
- **类型**: $NOVEL_TYPE
- **状态**: 新项目
- **目标平台**: 番茄小说
- **作者**: 唐天洛
- **创建时间**: $(date '+%Y年%m月%d日')
## 项目结构
\`\`\`
$PROJECT_DIR/
├── PROJECT.md # 项目说明(本文件)
├── README.md # 项目详细介绍
├── chapters/ # 章节文件
├── outlines/ # 大纲和规划
├── assets/ # 资源文件
│ ├── characters/ # 人物资料
│ ├── settings/ # 世界观设定
│ └── plots/ # 情节设计
├── tools/ # 项目工具
├── sync/ # 同步配置
└── progress/ # 进度跟踪
\`\`\`
## 当前进度
- **章节**: 0章
- **字数**: 0字
- **状态**: 规划阶段
## 平台要求
- **番茄黄金三章**: 待完成
- **章节结构**: 承接→推进→高潮→钩子
- **字数要求**: 每章2500-3500字
- **更新要求**: 日更4000字全勤奖最低要求
## 创作计划
1. **第一阶段**: 人物设定和世界观构建
2. **第二阶段**: 大纲规划和爽点设计
3. **第三阶段**: 黄金三章创作
4. **第四阶段**: 持续更新
EOF
# 创建README.md
cat > README.md << EOF
# 《$NOVEL_NAME》
## 项目简介
$NOVEL_TYPE题材小说$NOVEL_NAME
## 项目状态
- 🟡 规划阶段
- 📅 创建时间: $(date '+%Y-%m-%d')
- ✍️ 作者: 唐天洛
## 快速开始
1. 在 \`outlines/\` 目录下规划大纲
2. 在 \`assets/\` 目录下创建人物和设定
3. 在 \`chapters/\` 目录下创作章节
4. 使用 \`tools/\` 中的工具进行管理
## 目录说明
- \`chapters/\` - 章节文件 (.md格式)
- \`outlines/\` - 大纲文件
- \`assets/characters/\` - 人物设定
- \`assets/settings/\` - 世界观设定
- \`assets/plots/\` - 情节设计
- \`tools/\` - 管理工具
- \`sync/\` - 同步配置
- \`progress/\` - 进度跟踪
## 更新日志
- $(date '+%Y-%m-%d'): 项目创建
EOF
# 创建.gitignore
cat > .gitignore << EOF
# 临时文件
*.tmp
*.log
*.bak
# 系统文件
.DS_Store
Thumbs.db
# 编辑器文件
.vscode/
.idea/
*.swp
# 配置文件(包含敏感信息)
config.json
*.key
*.pem
.env
# 大文件
*.zip
*.rar
*.7z
EOF
# 创建基础工具
cat > tools/章节统计.sh << 'EOF'
#!/bin/bash
# 章节统计工具
echo "=== 章节统计 ==="
echo "项目: 《'$NOVEL_NAME'》"
echo "统计时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo ""
# 统计章节数量
if [ -d "chapters" ]; then
CHAPTER_COUNT=$(find chapters -name "*.md" | wc -l)
echo "章节数量: $CHAPTER_COUNT"
# 统计总字数
TOTAL_WORDS=0
for file in chapters/*.md; do
if [ -f "$file" ]; then
WORDS=$(wc -w < "$file" 2>/dev/null || echo 0)
TOTAL_WORDS=$((TOTAL_WORDS + WORDS))
fi
done
echo "总字数: $TOTAL_WORDS"
# 显示最近章节
echo "最近章节:"
find chapters -name "*.md" -exec ls -lt {} + | head -5 | awk '{print $9}'
else
echo "chapters目录不存在"
fi
echo ""
echo "=== 统计完成 ==="
EOF
chmod +x tools/章节统计.sh
# 创建进度跟踪文件
cat > progress/更新日志.md << EOF
# 更新日志
## $(date '+%Y年%m月')
### $(date '+%Y-%m-%d')
- [x] 项目创建
- [ ] 人物设定完成
- [ ] 大纲规划完成
- [ ] 第一章完成
EOF
# 初始化提交
git add .
git commit -m "项目初始化: $NOVEL_NAME"
echo ""
echo "✅ 项目创建完成: $TARGET_DIR"
echo "📖 小说: $NOVEL_NAME"
echo "📁 目录结构已创建"
echo "🔧 Git仓库已初始化"
echo ""
echo "下一步:"
echo "1. 在 outlines/ 目录下规划大纲"
echo "2. 在 assets/ 目录下创建人物设定"
echo "3. 开始创作第一章"