Files
soul/scripts/upload_soul_article.sh

43 lines
1.4 KiB
Bash
Raw Normal View History

#!/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