todo/scripts/publish-safe.sh
loop-uh bcfabe4340 Закрыт раздел VPS/ от публикации, добавлен безопасный скрипт публикации
Раздел VPS содержит IP, пароли и детали инфраструктуры: 66 страниц и
вложений сняты с сайта, всем 41 заметке проставлен publish: false.
На вложения это свойство не действует, поэтому 25 картинок из
VPS/Провайдеры/attachments остаются в очереди публикации навсегда —
для этого добавлен scripts/publish-safe.sh, который публикует очередь
с фильтром закрытых разделов.

Заодно восстановлена пропавшая картинка Zapret/home.md — после этого
битых wikilinks в хранилище не осталось (было 28).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-25 01:39:04 +03:00

27 lines
1.3 KiB
Shell
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
# Публикация в Obsidian Publish всего, что изменилось, КРОМЕ закрытых разделов.
# Заметки исключаются свойством `publish: false` во frontmatter, но на вложения
# (png и прочие ассеты) оно не действует — поэтому папки из EXCLUDE фильтруются здесь.
set -uo pipefail
OBS="${OBSIDIAN_CLI:-$HOME/.local/bin/obsidian}"
VAULT="${OBSIDIAN_VAULT:-Privacy}"
EXCLUDE_RE='^VPS/' # закрытые разделы: их вложения не публикуем никогда
queue=$("$OBS" vault="$VAULT" publish:status </dev/null 2>&1)
if [ "$queue" = "No changes." ]; then
echo "Нечего публиковать."; exit 0
fi
published=0; skipped=0
while IFS=$'\t' read -r state path; do
[ -n "${path:-}" ] || continue
if printf '%s' "$path" | grep -qE "$EXCLUDE_RE"; then
echo "пропуск (закрытый раздел): $path"; skipped=$((skipped+1)); continue
fi
out=$("$OBS" vault="$VAULT" publish:add path="$path" </dev/null 2>&1 | tail -1)
echo "$state$path: $out"; published=$((published+1))
done <<< "$queue"
echo "Опубликовано: $published, пропущено: $skipped"
"$OBS" vault="$VAULT" publish:status </dev/null 2>&1 | tail -3