-
Notifications
You must be signed in to change notification settings - Fork 58
/
rakefile
executable file
·72 lines (68 loc) · 2.58 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
def edit_config(name, value)
config = File.read('_config.yml')
regexp = Regexp.new('(^\s*' + name + '\s*:\s*)(\S+)(\s*)$')
config.sub!(regexp,'\1'+value+'\3')
File.open('_config.yml', 'w') {|f| f.write(config)}
end
# namespace :env do
# desc 'Sets the configuration for development mode.'
# task :dev do
# edit_config 'url', 'http://localhost:4000'
# end
# desc 'Sets the configuration for production mode.'
# task :pro do
# edit_config 'url', 'http://blog.championswimmer.in'
# end
# end
# adapted from https://github.com/imathis/octopress/blob/master/Rakefile
# usage rake new_post['My New Post'] or rake new_post (defaults to "My New Post")
desc "Start a new post"
task :new_post, :title do |t, args|
args.with_defaults(:title => 'My New Post')
title = args.title
filename = "_posts/#{Time.now.strftime('%Y-%m-%d')}-#{title.downcase.gsub(/&/,'and').gsub(/[,'":\?!\(\)\[\]]/,'').gsub(/[\W\.]/, '-').gsub(/-+$/,'')}.md"
puts "Creating new post: #{filename}"
open(filename, 'w') do |post|
post.puts "---"
post.puts "layout: post"
post.puts "title: \"#{title.gsub(/&/,'&')}\""
post.puts "description: "
post.puts "headline: "
post.puts "modified: #{Time.now.strftime('%Y-%m-%d %H:%M:%S %z')}"
post.puts "category: personal"
post.puts "tags: []"
post.puts "feature-img: "
post.puts "mathjax: "
post.puts "chart: "
post.puts "comments: true"
post.puts "featured: false"
post.puts "---"
end
end
# adapted from https://github.com/imathis/octopress/blob/master/Rakefile
# usage rake new_page['My New Post'] or rake new_post (defaults to "My New page")
desc "Start a new page"
task :new_page, :title do |t, args|
args.with_defaults(:title => 'My New page')
title = args.title
filename = "#{title.downcase.gsub(/&/,'and').gsub(/[,'":\?!\(\)\[\]]/,'').gsub(/[\W\.]/, '-').gsub(/-+$/,'')}.md"
puts "Creating new page: #{filename}"
open(filename, 'w') do |post|
post.puts "---"
post.puts "layout: page"
post.puts "permalink: #{title.downcase.gsub(/&/,'and').gsub(/[,'":\?!\(\)\[\]]/,'').gsub(/[\W\.]/, '-').gsub(/-+$/,'')}/index.html"
post.puts "title: \"#{title.gsub(/&/,'&')}\""
post.puts "description: "
post.puts "headline: "
post.puts "modified: #{Time.now.strftime('%Y-%m-%d %H:%M:%S %z')}"
post.puts "tags: []"
post.puts "imagefeature: "
post.puts "mathjax: "
post.puts "chart: "
post.puts "comments: true"
post.puts "author: "
post.puts "sitemap:"
post.puts " include: "
post.puts "---"
end
end