Initial import of Hugo site to Forgejo
This commit is contained in:
commit
cb1ba0317f
1259 changed files with 236349 additions and 0 deletions
49
append_sigdl.sh
Executable file
49
append_sigdl.sh
Executable file
|
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env bash
|
||||
# append_sigdl.sh — Append {{< sigdl >}} to posts (idempotent).
|
||||
# Usage:
|
||||
# ./append_sigdl.sh [-c content] [-i "posts PhD_journey"] [-n]
|
||||
# Options:
|
||||
# -c content directory (default: content)
|
||||
# -i space-separated subdirs under content (default: "posts PhD_journey")
|
||||
# -n dry run
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
CONTENT_DIR="content"
|
||||
INCLUDE_DIRS=("posts" "PhD_journey" "about")
|
||||
DRYRUN=0
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-c) CONTENT_DIR="${2:-content}"; shift 2 ;;
|
||||
-i) IFS=' ' read -r -a INCLUDE_DIRS <<< "${2:-}"; shift 2 ;;
|
||||
-n) DRYRUN=1; shift ;;
|
||||
-h|--help)
|
||||
echo "append_sigdl.sh [-c content] [-i \"posts PhD_journey\"] [-n]"; exit 0 ;;
|
||||
*) echo "Unknown arg: $1"; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
TOTAL=0
|
||||
UPDATED=0
|
||||
|
||||
for sub in "${INCLUDE_DIRS[@]}"; do
|
||||
ROOT="$CONTENT_DIR/$sub"
|
||||
[[ -d "$ROOT" ]] || { echo "skip missing: $ROOT"; continue; }
|
||||
while IFS= read -r -d '' md; do
|
||||
TOTAL=$((TOTAL+1))
|
||||
if grep -q '{{< *sigdl' "$md"; then
|
||||
echo "exists: $md"
|
||||
continue
|
||||
fi
|
||||
echo "append: $md"
|
||||
UPDATED=$((UPDATED+1))
|
||||
if [[ $DRYRUN -eq 0 ]]; then
|
||||
printf "\n\n---\n\n{{< sigdl >}}\n" >> "$md"
|
||||
fi
|
||||
done < <(find "$ROOT" -type f -name '*.md' -print0)
|
||||
done
|
||||
|
||||
echo "Done. Files seen: $TOTAL, appended: $UPDATED."
|
||||
[[ $DRYRUN -eq 1 ]] && echo "(dry run: no changes)"
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue