summaryrefslogtreecommitdiff
path: root/.scripts/ws
diff options
context:
space:
mode:
Diffstat (limited to '.scripts/ws')
-rwxr-xr-x.scripts/ws45
1 files changed, 45 insertions, 0 deletions
diff --git a/.scripts/ws b/.scripts/ws
new file mode 100755
index 0000000..b85e073
--- /dev/null
+++ b/.scripts/ws
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# Prerequisite tools check
+[[ ! $(command -v brave) ]] && { echo "Error: 'brave' is not installed. Please install Brave Browser."; [[ $(command -v notify-send) ]] && notify-send "Error" "'brave' is not installed. Please install Brave Browser."; exit 1; }
+[[ ! $(command -v monolith) ]] && { echo "Error: 'monolith' is not installed. Please install Monolith."; [[ $(command -v notify-send) ]] && notify-send "Error" "'monolith' is not installed. Please install Monolith."; exit 1; }
+[[ ! $(command -v notify-send) ]] && echo "Warning: 'notify-send' is not installed. Notifications will not work."
+
+# Check if website URL is provided as an argument
+if [ -z "$1" ]; then
+ echo "Usage: $0 <website-url>"
+ exit 1
+fi
+
+# Get the website URL from arguments
+WEBSITE_URL="$1"
+
+# Define the output file name
+OUTPUT_FILE="$(basename "$WEBSITE_URL").html"
+
+TOPIC="$2"
+
+# Add later
+USER_AGENT=
+
+# Define the directory where the HTML files will be saved
+OUTPUT_DIR="$HOME/read/"$TOPIC""
+
+# Create the directory if it doesn't exist
+mkdir -p "$OUTPUT_DIR"
+
+# Check if the output file already exists
+if [ -e "$OUTPUT_DIR/$OUTPUT_FILE" ]; then
+ # If file exists, add a suffix
+ COUNTER=1
+ while [ -e "${OUTPUT_FILE%.html}_$COUNTER.html" ]; do
+ COUNTER=$((COUNTER + 1))
+ done
+ OUTPUT_FILE="${OUTPUT_FILE%.html}_$COUNTER.html"
+fi
+
+# Use Brave in headless mode and pipe it to Monolith
+brave --headless --window-size=1920,1080 --run-all-compositor-stages-before-draw --virtual-time-budget=9000 --incognito --dump-dom "$WEBSITE_URL" | monolith - -I -b "$WEBSITE_URL" -o "$OUTPUT_DIR/$OUTPUT_FILE"
+
+echo "HTML file saved as $OUTPUT_DIR/$OUTPUT_FILE"
+notify-send "Website saved" "HTML file saved successfully as $OUTPUT_DIR/$OUTPUT_FILE"