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