-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpublish.sh
More file actions
executable file
·80 lines (67 loc) · 2.37 KB
/
Copy pathpublish.sh
File metadata and controls
executable file
·80 lines (67 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
# Blog-Maker Publish Script
# S3からテキストを取得 → HTML生成 → GitHub Pagesにpush
set -e
# .env読み込み
if [ -f "$(dirname "$0")/.env" ]; then
source "$(dirname "$0")/.env"
fi
BUCKET="${S3_BUCKET:-}"
REGION="${AWS_REGION:-ap-northeast-1}"
CONTENT_DIR="$(dirname "$0")/content"
OUTPUT_DIR="$(dirname "$0")/output"
PAGES_DIR="${PAGES_DIR:-}"
GENERATE="$(dirname "$0")/tools/generate.py"
# 設定チェック
if [ -z "$BUCKET" ]; then
echo "Error: S3_BUCKET が設定されていません。.env を確認してください。"
exit 1
fi
if [ -z "$PAGES_DIR" ]; then
echo "Error: PAGES_DIR が設定されていません。.env を確認してください。"
exit 1
fi
# 引数チェック
if [ $# -eq 0 ]; then
echo "使い方: ./publish.sh <S3ファイル名> [デプロイ先HTMLファイル名]"
echo ""
echo "例:"
echo " ./publish.sh mike-viola-palimpsest"
echo " ./publish.sh mike-viola---the-magic-of-palimpsest mike-viola-palimpsest"
echo ""
echo " 第2引数を指定すると、そのファイル名でデプロイします。"
echo " 省略するとS3のファイル名がそのまま使われます。"
echo ""
echo "S3に保存されたファイル一覧:"
aws s3 ls "s3://$BUCKET/content/" --region $REGION | awk '{print " " $4}' | sed 's/\.txt$//'
exit 0
fi
S3_NAME="${1%.txt}"
DEPLOY_NAME="${2:-$S3_NAME}"
DEPLOY_NAME="${DEPLOY_NAME%.html}"
echo "========================================="
echo "Blog-Maker Publish"
echo "========================================="
echo "S3ファイル: ${S3_NAME}.txt"
echo "デプロイ先: ${DEPLOY_NAME}.html"
echo ""
# S3からダウンロード
echo "📥 S3からダウンロード: ${S3_NAME}.txt"
aws s3 cp "s3://$BUCKET/content/${S3_NAME}.txt" "$CONTENT_DIR/${S3_NAME}.txt" --region $REGION
# HTML生成
echo "🔨 HTML生成"
python3 "$GENERATE" "$CONTENT_DIR/${S3_NAME}.txt" -o "$OUTPUT_DIR/${DEPLOY_NAME}.html"
# github-pagesにコピー
echo "📋 デプロイ先にコピー: ${DEPLOY_NAME}.html"
cp "$OUTPUT_DIR/${DEPLOY_NAME}.html" "$PAGES_DIR/${DEPLOY_NAME}.html"
# push
echo ""
echo "🚀 GitHub Pagesにpush"
cd "$PAGES_DIR"
git add -A
git commit -m "Update: ${DEPLOY_NAME}"
git push
echo ""
echo "========================================="
echo "✅ 公開完了! → ${DEPLOY_NAME}.html"
echo "========================================="