init
This commit is contained in:
		
						commit
						d013ece0f3
					
				
					 363 changed files with 20823 additions and 0 deletions
				
			
		
							
								
								
									
										36
									
								
								scripts/add_update_frontmatter.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								scripts/add_update_frontmatter.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Current date for the 'updated' field
 | 
			
		||||
current_date=$(date +%F)
 | 
			
		||||
 | 
			
		||||
# Recursive search for all markdown files in the content folder
 | 
			
		||||
find ../content -type f -name "*.md" | while read file; do
 | 
			
		||||
  # Check if the file has frontmatter enclosed in +++
 | 
			
		||||
  if [ "$(head -n 1 "$file")" = "+++" ]; then
 | 
			
		||||
    # Check if the 'date' field exists in the frontmatter
 | 
			
		||||
    if grep -q '^date\s*=' "$file"; then
 | 
			
		||||
      # Check if the 'updated' field is already present
 | 
			
		||||
      if grep -q '^updated\s*=' "$file"; then
 | 
			
		||||
        echo "✘ Skipped: 'updated' field already present in $file"
 | 
			
		||||
      else
 | 
			
		||||
        # Use awk to insert the 'updated' field after the 'date' field
 | 
			
		||||
        awk -v date="$current_date" '
 | 
			
		||||
        BEGIN { inserted=0 }
 | 
			
		||||
        /^date\s*=/ && inserted == 0 {
 | 
			
		||||
          print $0
 | 
			
		||||
          print "updated = " date
 | 
			
		||||
          inserted = 1
 | 
			
		||||
          next
 | 
			
		||||
        }
 | 
			
		||||
        { print }
 | 
			
		||||
        ' "$file" > "$file.tmp" && mv "$file.tmp" "$file"
 | 
			
		||||
 | 
			
		||||
        echo "✔ Inserted 'updated' after date in $file"
 | 
			
		||||
      fi
 | 
			
		||||
    else
 | 
			
		||||
      echo "✘ No date field found in the frontmatter of $file"
 | 
			
		||||
    fi
 | 
			
		||||
  else
 | 
			
		||||
    echo "✘ No frontmatter found in $file"
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue