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