-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile
54 lines (47 loc) · 1.43 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
desc '開発用サーバーを起動します。'
task :dev do |task|
system "bundle exec jekyll serve --livereload --force_polling --host 0.0.0.0 --port 4000"
end
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
post_dir = "_posts/#{now.strftime("%Y")}"
Dir.mkdir(post_dir) unless Dir.exists?(post_dir)
filepath = "#{post_dir}/#{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")}
tags: []
---
PLEASE WRITE GOOD POSTS
POST
)
end
puts "ファイルを作成しました。 #{filepath}"
end
end