Add new Markdown files based on h1 titles #79
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Rename and Add New Markdown Files | |
on: | |
push: | |
branches: | |
- main # main λΈλμΉμ νΈμλ λ μν¬νλ‘μ° νΈλ¦¬κ±° | |
workflow_dispatch: # μλμΌλ‘ μν¬νλ‘μ°λ₯Ό μ€νν μ μλ μ΅μ | |
jobs: | |
process-markdown: | |
runs-on: ubuntu-latest # μ΅μ Ubuntu νκ²½μμ μν¬νλ‘μ° μ€ν | |
steps: | |
- name: Checkout repository # GitHub 리ν¬μ§ν 리μ μ½λλ₯Ό 체ν¬μμ | |
uses: actions/checkout@v4 # GitHubμμ μ 곡νλ checkout μ‘μ μ μ¬μ© | |
with: | |
token: ${{ secrets.GITBOOKKEY }} # GitHub Personal Access Token μ¬μ© | |
fetch-depth: 1 # μ΅μ 컀λ°λ§ κ°μ Έμ€λλ‘ μ€μ νμ¬ μ±λ₯ μ΅μ ν | |
- name: Set UTF-8 Encoding # UTF-8 μΈμ½λ©μ μ€μ νμ¬ μΈμ½λ© λ¬Έμ λ°©μ§ | |
run: | | |
export LC_CTYPE="UTF-8" # UTF-8 μΈμ½λ© λͺ μμ μΌλ‘ μ€μ | |
- name: Rename and Add New Markdown files # Markdown νμΌμ μ΄λ¦ λ³κ²½ λ° λ³΅μ¬ | |
run: | | |
# developLog λλ ν 리μμ .md νμΌμ λͺ¨λ μ°Ύμ | |
find developLog -type f -name '*.md' | while IFS= read -r file; do | |
# README.md λ° SUMMARY.md νμΌμ 건λλ | |
if [[ "$file" == *"README.md" ]] || [[ "$file" == *"SUMMARY.md" ]]; then | |
echo "Skipping $file" # ν΄λΉ νμΌμ 건λλ | |
continue # λ€μ νμΌλ‘ μ§ν | |
fi | |
# νμΌ λ΄μ©μ 첫 λ²μ§Έ μ λͺ© μ€(H1)μ μΆμΆ | |
title=$(grep -m 1 '^#' "$file") | |
# μ ν¨ν μ λͺ©μ΄ μλ κ²½μ° | |
if [ -n "$title" ]; then | |
# 곡백μ μ μ§νλ©΄μ νΉμ λ¬Έμλ§ μΈλμ€μ½μ΄λ‘ λ³ν | |
sanitized_title=$(echo "$title" | tr -c '[:alnum:]κ°-ν£ ' '_') | |
# νμΌλͺ μλ€μ μκΈ΄ λΆνμν μΈλμ€μ½μ΄ μ κ±° | |
sanitized_title=$(echo "$sanitized_title" | sed 's/^_//;s/_$//') | |
dir=$(dirname "$file") # νμΌμ λλ ν 리 κ²½λ‘ μΆμΆ | |
new_filename="$dir/$sanitized_title.md" # μ νμΌλͺ μμ± | |
# κΈ°μ‘΄ νμΌλͺ μ μ μ§ν μ± μ νμΌλͺ μΌλ‘ λ³΅μ¬ | |
if [ "$file" != "$new_filename" ]; then | |
echo "Copying $file to $new_filename" # λ³΅μ¬ μμ λ‘κ·Έ μΆλ ₯ | |
cp "$file" "$new_filename" # μ νμΌλͺ μΌλ‘ νμΌ λ³΅μ¬ | |
else | |
echo "No need to rename $file" # νμΌλͺ μ΄ κ°μΌλ©΄ λ‘κ·Έ μΆλ ₯ | |
fi | |
else | |
echo "No valid title found in $file, skipping." # μ ν¨ν μ λͺ©μ΄ μμΌλ©΄ λ‘κ·Έ μΆλ ₯ | |
fi | |
done | |
- name: Commit changes # λ³κ²½ μ¬νμ 컀λ°νκ³ νΈμ | |
run: | | |
git add -A # λͺ¨λ λ³κ²½ μ¬ν μΆκ° | |
git config --global user.name 'github-actions[bot]' # μ»€λ° μ¬μ©μ μ΄λ¦ μ€μ | |
git config --global user.email 'github-actions[bot]@users.noreply.github.com' # μ»€λ° μ¬μ©μ μ΄λ©μΌ μ€μ | |
git diff --staged --quiet || git commit -m "Add new Markdown files based on h1 titles" # λ³κ²½ μ¬νμ΄ μμΌλ©΄ μ»€λ° | |
git push https://${{ secrets.GITBOOKKEY }}@github.com/GoldenPearls/gitBook.git # λ³κ²½ μ¬νμ μ격 리ν¬μ§ν 리μ main λΈλμΉλ‘ νΈμ |