41 lines
1.2 KiB
Bash
Executable File
41 lines
1.2 KiB
Bash
Executable File
#!/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."
|