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