forked from schuchert/mfweb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rakefile
75 lines (52 loc) · 1.96 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
73
74
75
# modify the following line to point to the location of mfweb
MFWEB_DIR = '../'
BUILD_DIR = 'build/' # location of html output
CSS_PATHS = %w[css ../css] # path for finding SCSS files
$: << MFWEB_DIR + 'lib' << 'lib' # add mfweb and local lib to ruby search path
verbose(true)
# define clobber task to delete output directory
require 'rake/clean'
CLOBBER.include BUILD_DIR
# default task deletes build directory and rebuilds it
task :default => [:clobber, :articles]
# replace default task with following line to avoid clean rebuilds of output
# task :default => [:articles]
# define the articles task
desc "build articles"
task :articles
require 'mfweb/article'
require 'sampleSite'
Mfweb::Core::Site.init(SampleSite.new)
# build article css file from sass source
sassTask '../css/article.scss', 'articles', :articles
# For simple articles, you need the following block in the rakefile
build_simple_articles
# For flexible articles you need something like this, modified to suit.
FileList['articles/flexible/flexible-article.xml'].each do |src|
target = File.join(BUILD_DIR + 'articles', 'flexible.html')
file target => [src] do
skeleton = Mfweb::Core::Site.skeleton.with_css('flexible.css')
transformer = './articles/flexible/flexible.rb'
require transformer
maker = Mfweb::Article::ArticleMaker.new(src, target, skeleton, FlexibleTr)
maker.code_server = Mfweb::Article::CodeServer.new 'articles/flexible/code/'
# need to set up the demonstration of these
#maker.bib_server = Bibliography.new 'bib.xml'
#footnotes
# images
maker.run
end
task :articles => target
sassTask 'articles/flexible/flexible.scss', 'articles', :articles
copyGraphicsTask 'articles/flexible', 'articles/flexible', :articles
end
task :test do
require 'rake/runtest'
Rake.run_tests "../test/**/*Tester.rb"
end
task :diff do
cd "../mfweb"
Dir['*.rb'].each do |f|
system "diff -q #{f} ~/active/web/lib/#{f.pathmap('%f')}"
end
end