Class: RDaux::Web::Site::Generator
- Inherits:
-
Object
- Object
- RDaux::Web::Site::Generator
- Includes:
- Notifier
- Defined in:
- lib/rdaux/web/site/generator.rb
Instance Method Summary collapse
- #generate_static(website) ⇒ Object
-
#initialize(markdown, views_dir, static_dir, ditaa_jar, target_dir) ⇒ Generator
constructor
A new instance of Generator.
Methods included from Notifier
#add_listener, #broadcast, #notifier_initialize
Constructor Details
#initialize(markdown, views_dir, static_dir, ditaa_jar, target_dir) ⇒ Generator
Returns a new instance of Generator.
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/rdaux/web/site/generator.rb', line 10 def initialize(markdown, views_dir, static_dir, ditaa_jar, target_dir) @markdown = markdown @views_dir = views_dir @static_dir = static_dir @ditaa_jar = ditaa_jar @target_dir = target_dir @cached_templates = {} notifier_initialize end |
Instance Method Details
#generate_static(website) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rdaux/web/site/generator.rb', line 21 def generate_static(website) with_duplicate_static_dir do |dir| File.open("#{dir}/index.html", 'w+') do |f| f.write(erb(:site, :locals => {:site => website})) end Dir.glob("#{dir}/img/ditaa/*.txt").each do |txt_path| Process::waitpid(POSIX::Spawn.spawn("java", '-jar', @ditaa_jar, txt_path)) File.unlink(txt_path) end if File.directory?(@target_dir) FileUtils.cp_r("#{dir}/.", @target_dir) else FileUtils.mv(dir, @target_dir) end end end |