#!/usr/bin/env bash # HedgeDoc pad management script # Usage: # pad.sh read - Read pad content # pad.sh create [file|-] - Create new pad, returns URL # pad.sh edit [file|-] - Replace pad content in-place # pad.sh info - Get pad metadata set -euo pipefail HEDGEDOC_URL="https://pad.lassul.us" SKILL_DIR="${SKILL_DIR:-$(cd "$(dirname "$0")" && pwd)}" cmd="${1:-help}" shift || true case "$cmd" in read) PADID="${1:?Usage: pad.sh read }" curl -sf "${HEDGEDOC_URL}/${PADID}/download" ;; create) if [ -n "${1:-}" ] && [ -f "$1" ]; then CONTENT=$(cat "$1") elif [ -n "${1:-}" ] && [ "$1" = "-" ]; then CONTENT=$(cat) else CONTENT=$(cat) fi PAD_URL=$(curl -s -o /dev/null -w "%{redirect_url}" \ -X POST "${HEDGEDOC_URL}/new" \ -H "Content-Type: text/markdown" \ -d "$CONTENT") echo "$PAD_URL" ;; edit) PADID="${1:?Usage: pad.sh edit [file|-]}" shift exec "$SKILL_DIR/pad-edit.py" "$PADID" "$@" ;; info) PADID="${1:?Usage: pad.sh info }" curl -sf "${HEDGEDOC_URL}/${PADID}/info" ;; help|*) echo "Usage: pad.sh [args]" echo "" echo "Commands:" echo " read Read pad content (markdown)" echo " create [file|-] Create new pad, returns URL" echo " edit [file|-] Replace pad content in-place via websocket" echo " info Get pad metadata (JSON)" ;; esac