JekyllのPost作成用Rakeタスク
Jekyllには投稿を新規作成するコマンドが標準ではないので簡単なRakeタスクを作成しました。 より汎用的な事をやりたい場合は jekyll-compose を使うと良さそうです。
# Rakefile
namespace :posts do
desc "新しい投稿を作成します。"
task :new do |task|
input = {}
puts "新しい投稿を作成します。情報を入力してください。"
print "タイトル:"
input[:title] = STDIN.gets.strip
if input[:title].length == 0
puts "タイトルは1文字以上入力してください。"
next
end
print "URLスラグ:"
input[:slug] = STDIN.gets.strip
if input[:slug].length == 0
puts "URLスラグは1文字以上入力してください。"
next
end
puts "以下の内容で投稿を作成していいですか?(Y/n)"
puts input.inspect
unless STDIN.gets.strip.downcase == 'y'
puts "キャンセルしました。"
next
end
now = Time.now
filepath = "_posts/#{now.strftime("%Y-%m-%d")}-#{input[:slug]}.md"
puts "ファイルを作成します。 #{filepath}"
File.open(filepath, 'w') do |f|
f.write(<<"POST"
---
layout: post
title: #{input[:title]}
date: #{now.strftime("%Y-%m-%d %H:%M:00 %z")}
---
PLEASE WRITE GOOD POSTS
POST
)
end
puts "ファイルを作成しました。 #{filepath}"
end
end
更新履歴
- 5d67274 2021-12-18T09:57:47+09:00 記事のディレクトリ構造を変更