kcl-digital-humanities-garden/_plugins/empty_front_matter_note_injector.rb
2021-04-11 13:04:24 -04:00

22 lines
569 B
Ruby

# frozen_string_literal: true
front_matter_date = DateTime.now.strftime('%Y-%m-%d')
EMPTY_FRONT_MATTER = <<~JEKYLL
---
date: #{front_matter_date}
---
JEKYLL
# Inject empty front matter in notes that don't have any
Jekyll::Hooks.register :site, :after_init do |site|
Dir.glob("#{site.collections['notes'].relative_directory}/**/*.md").each do |filename|
raw_note_content = File.read(filename)
unless raw_note_content.start_with?('---')
raw_note_content.prepend(EMPTY_FRONT_MATTER)
File.write(filename, raw_note_content)
end
end
end