Add scripts
This commit is contained in:
parent
20a4ca534b
commit
1a9b2d3508
|
@ -0,0 +1,59 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Debugging: Print commands as they are executed
|
||||
set -x
|
||||
|
||||
# Define source and destination directories
|
||||
SOURCE_DIR=~/obsidian
|
||||
DEST_DIR=/home/ac1dburn/obsidian-site/content
|
||||
IMAGE_DIR=$DEST_DIR/images
|
||||
|
||||
# Ensure destination directories exist
|
||||
mkdir -p "$DEST_DIR"
|
||||
mkdir -p "$IMAGE_DIR"
|
||||
|
||||
# Temporary log for copied files
|
||||
LOG_FILE=/tmp/copied_files.log
|
||||
|
||||
# Clear the log file
|
||||
> "$LOG_FILE"
|
||||
|
||||
# Find Markdown files with "publish: true" and process them
|
||||
find -L "$SOURCE_DIR" -type f -name "*.md" -exec grep -q "publish: true" {} \; -exec grep -l "publish: true" {} + | while read -r markdown_file; do
|
||||
# Extract relative path from the source directory
|
||||
relative_path="${markdown_file#$SOURCE_DIR/}"
|
||||
|
||||
# Destination path
|
||||
dest_path="$DEST_DIR/$relative_path"
|
||||
|
||||
# Copy the Markdown file
|
||||
cp "$markdown_file" "$dest_path"
|
||||
echo "Copied $markdown_file to $dest_path" >> "$LOG_FILE"
|
||||
|
||||
# Extract and copy referenced images
|
||||
grep -o '\!\[\[.*\]\]' "$markdown_file" | sed 's/\!\[\[\(.*\)\]\]/\1/' | while IFS= read -r image_ref; do
|
||||
# Check if image_ref is a relative path
|
||||
if [[ ! "$image_ref" =~ ^/ ]]; then
|
||||
image_ref="$SOURCE_DIR/$image_ref"
|
||||
fi
|
||||
|
||||
# Try to find the image recursively within SOURCE_DIR
|
||||
image_path=$(find -L "$SOURCE_DIR" -type f -name "$(basename "$image_ref")" -print -quit)
|
||||
|
||||
# Debugging: Print image_path
|
||||
echo "Checking image_path: $image_path" >> "$LOG_FILE"
|
||||
|
||||
if [ -f "$image_path" ]; then
|
||||
cp "$image_path" "$IMAGE_DIR/"
|
||||
echo "Copied image $image_ref to $IMAGE_DIR/" >> "$LOG_FILE"
|
||||
else
|
||||
echo "Image reference $image_ref in $markdown_file does not exist." >> "$LOG_FILE"
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
# Print the log file
|
||||
cat "$LOG_FILE"
|
||||
|
||||
# Debugging: Indicate completion
|
||||
echo "Script execution completed."
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Debugging: Print commands as they are executed
|
||||
set -x
|
||||
|
||||
# Define source and destination directories
|
||||
SOURCE_DIR=~/obsidian
|
||||
DEST_DIR=/home/ac1dburn/obsidian-site/content
|
||||
|
||||
# Check if source directory exists
|
||||
if [ ! -d "$SOURCE_DIR" ]; then
|
||||
echo "Source directory $SOURCE_DIR does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if destination directory exists, if not create it
|
||||
if [ ! -d "$DEST_DIR" ]; then
|
||||
mkdir -p "$DEST_DIR"
|
||||
fi
|
||||
|
||||
# Find markdown files where publish: true exists in the YAML front matter
|
||||
find -L "$SOURCE_DIR" -type f -name "*.md" -exec grep -q "publish: true" {} \; -exec grep -l "publish: true" {} + | while read -r markdown_file; do
|
||||
# Extract relative path from the source directory
|
||||
relative_path="${markdown_file#$SOURCE_DIR/}"
|
||||
|
||||
# Extract directory path
|
||||
dir_path=$(dirname "$relative_path")
|
||||
|
||||
# Create the corresponding directory structure in the destination directory
|
||||
mkdir -p "$DEST_DIR/$dir_path"
|
||||
|
||||
# Copy markdown file to the destination directory
|
||||
cp "$markdown_file" "$DEST_DIR/$relative_path"
|
||||
|
||||
# Debugging: Log the operations being performed
|
||||
echo "Copied $markdown_file to $DEST_DIR/$relative_path"
|
||||
done
|
||||
|
||||
# Debugging: Indicate completion
|
||||
echo "Script execution completed."
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Debugging: Print commands as they are executed
|
||||
set -x
|
||||
|
||||
# Define source and destination directories
|
||||
SOURCE_DIR=~/obsidian
|
||||
DEST_DIR=/home/ac1dburn/obsidian-site/content
|
||||
IMAGE_DIR=$DEST_DIR/images
|
||||
|
||||
# Ensure destination directories exist
|
||||
mkdir -p "$DEST_DIR"
|
||||
mkdir -p "$IMAGE_DIR"
|
||||
|
||||
# Temporary log for copied files
|
||||
LOG_FILE=/tmp/copied_files.log
|
||||
|
||||
# Clear the log file
|
||||
> "$LOG_FILE"
|
||||
|
||||
# Find Markdown files with "publish: true" and process them
|
||||
find -L "$SOURCE_DIR" -type f -name "*.md" -exec grep -q "publish: true" {} \; -exec grep -l "publish: true" {} + | while read -r markdown_file; do
|
||||
# Extract relative path from the source directory
|
||||
relative_path="${markdown_file#$SOURCE_DIR/}"
|
||||
|
||||
# Destination path
|
||||
dest_path="$DEST_DIR/$relative_path"
|
||||
|
||||
# Copy the Markdown file
|
||||
cp "$markdown_file" "$dest_path"
|
||||
echo "Copied $markdown_file to $dest_path" >> "$LOG_FILE"
|
||||
|
||||
# Extract and copy referenced images
|
||||
grep -o '\!\[\[.*\]\]' "$markdown_file" | sed 's/\!\[\[\(.*\)\]\]/\1/' | while IFS= read -r image_ref; do
|
||||
image_path="$SOURCE_DIR/$image_ref"
|
||||
|
||||
# Debugging: Print image_path
|
||||
echo "Checking image_path: $image_path" >> "$LOG_FILE"
|
||||
|
||||
if [ -f "$image_path" ]; then
|
||||
cp "$image_path" "$IMAGE_DIR/"
|
||||
echo "Copied image $image_ref to $IMAGE_DIR/" >> "$LOG_FILE"
|
||||
else
|
||||
echo "Image reference $image_ref in $markdown_file does not exist." >> "$LOG_FILE"
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
# Print the log file
|
||||
cat "$LOG_FILE"
|
||||
|
||||
# Debugging: Indicate completion
|
||||
echo "Script execution completed."
|
Loading…
Reference in New Issue