novel-tools/create_novel_project.sh

205 lines
4.7 KiB
Bash
Raw Normal View History

#!/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. 开始创作第一章"