jeremylightsmith / blog

my blog

blog / Rakefile
100644 76 lines (63 sloc) 2.255 kb
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
76
require File.dirname(__FILE__) + "/lib/blog"
require 'spec/rake/spectask'
load 'tasks/db.rake'
 
task :default => [:spec, :generate, :patterns, "test:links"]
 
Spec::Rake::SpecTask.new(:spec) do |t|
  t.spec_files = FileList['spec/**/*_spec.rb']
end
 
desc "generate the site"
task :generate do
  ActionSite::RESOURCE_EXTENSIONS << "pdf"
  
  Dir.chdir(File.dirname(__FILE__)) do
    sites = {
      "blues_hero" => "public/blues_hero",
      "brenda" => "public/jeremy_and_karissa/brenda",
      "challenge" => "public/jeremy_and_karissa/challenge",
      "jeremy_and_karissa" => "public/jeremy_and_karissa/",
      "jklbx" => "public/jeremy_and_karissa/exchange",
      "wedding" => "public/jeremy_and_karissa/wedding",
      "bernardo_fresquez" => "public/onemanswalk/bernardo_fresquez",
    }
    sites = sites.find_all {|name, target| name == ENV["SITE"]} if ENV["SITE"]
    raise "don't know about site : #{ENV["SITE"]}" if sites.empty?
      
    sites.each do |name, target|
      ActionSite::Site.new("web/#{name}", "#{target}").generate
    end
  end
end
 
desc "generate the facilitation_patterns site"
task :patterns do
  Dir.chdir(File.dirname(__FILE__)) do
    site = ActionSite::Site.new("web/facilitation_patterns", "public/facilitation_patterns")
    
    site.generators["pattern"] = Generators::PatternGenerator.new
    site.generators["red"] = Generators::RedclothWithPatternsGenerator.new
    
    site.context.patterns = Patterns.load("web/facilitation_patterns")
    site.context.patterns_by_category = {}
    site.context.patterns.each do |pattern|
      (site.context.patterns_by_category[pattern.category] ||= []) << pattern
    end
    
    site.generate
  end
end
 
SITES = %w(blues_hero
jeremy_and_karissa
jeremy_and_karissa/brenda
jeremy_and_karissa/challenge
jeremy_and_karissa/exchange
jeremy_and_karissa/wedding
onemanswalk/bernardo_fresquez
facilitation_patterns)
 
desc "test links"
task "test:links" do
  links = ActionSite::LinkChecker.new
  SITES.each do |path|
    links.check("http://localhost/#{path}/")
  end
end
 
desc "test links"
task "test:local_links" do
  links = ActionSite::LinkChecker.new(:local => true)
  SITES.each do |path|
    links.check("http://localhost/#{path}/")
  end
end