#!/bin/bash # Soul 第9章文章上传脚本:写好文章后直接上传,id 已存在则更新(不重复) # 用法: ./scripts/upload_soul_article.sh <文章md文件路径> # 例: ./scripts/upload_soul_article.sh "/Users/karuo/Documents/个人/2、我写的书/《一场soul的创业实验》/第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.18 第105场|创业社群、直播带货与程序员.md" set -e ROOT="$(cd "$(dirname "$0")/.." && pwd)" FILE="${1:?请提供文章 md 文件路径}" if [[ ! -f "$FILE" ]]; then echo "错误: 文件不存在: $FILE" exit 1 fi # 从文件名提取 id,如 9.18 第105场|xxx.md -> 9.18 BASENAME=$(basename "$FILE" .md) ID=$(echo "$BASENAME" | sed -E 's/^([0-9]+\.[0-9]+).*/\1/') if [[ ! "$ID" =~ ^[0-9]+\.[0-9]+$ ]]; then echo "错误: 无法从文件名提取 id,格式应为: 9.xx 第X场|标题.md" exit 1 fi # 从第一行 # 9.xx 第X场|标题 提取 title TITLE=$(head -1 "$FILE" | sed 's/^# [[:space:]]*//') if [[ -z "$TITLE" ]]; then TITLE="$BASENAME" fi echo "上传: id=$ID title=$TITLE" python3 "$ROOT/content_upload.py" \ --id "$ID" \ --title "$TITLE" \ --content-file "$FILE" \ --part part-4 \ --chapter chapter-9 \ --price 1.0 # 上传成功后,按海报格式发到飞书群 if [[ $? -eq 0 ]]; then echo "发海报到飞书..." python3 "$ROOT/scripts/send_poster_to_feishu.py" "$FILE" 2>/dev/null || true fi