forked from arcturo/library
/
Rakefile
38 lines (33 loc) · 874 Bytes
/
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
require "rdiscount"
require "mustache"
require "active_support/core_ext/string"
require "fileutils"
def generate(page, template = "site/page.ms")
Mustache.render(
File.read(template),
page.merge(:content => RDiscount.new(File.read(page[:src])).to_html),
)
end
task :generate do
pages = Dir["chapters/*.md"].inject([]) do |array, src|
array << ({
:src => src,
:static => File.basename(src, ".md") + ".html",
:name => File.basename(src, ".md").gsub(/\d+_/, "").titleize,
:href => File.basename(src, ".md") + ".html"
})
array
end
pages.each do |page|
File.open(page[:static], "w+") do |f|
f.write generate(page)
end
end
File.open("index.html", "w+") do |f|
f.write(Mustache.render(
File.read("site/index.ms"),
:pages => pages
))
end
end
task :default => :generate