doc/Rakefile in ruby-vpi-16.0.1 vs doc/Rakefile in ruby-vpi-17.0.0
- old
+ new
@@ -6,31 +6,44 @@
require 'rake/clean'
$: << File.join(File.dirname(__FILE__), '..', 'lib')
require 'ruby-vpi'
-include RubyVpi::Config
+include RubyVPI
+
HISTORY_URL = WEBSITE_URL + "/history.html"
RSS_URL = WEBSITE_URL + '/rss.xml'
RSS_INFO = "RSS feed for this project."
require 'ruby-vpi/erb'
+include ERB::Util
$: << File.join(File.dirname(__FILE__), 'lib')
require 'doc_proxy'
+def resolve_includes aFilePath
+ input = File.read(aFilePath)
+
+ input.gsub! %r{<doc_proxy_include *(.*?)>} do
+ resolve_includes($1)
+ end
+
+ input
+end
+
+
FileList['*.doc'].each do |src|
prefix = File.basename(src, File.extname(src))
helper = prefix + '.rb'
dst = prefix + '.html'
deps = FileList[prefix + '*'].exclude(src, dst)
desc "Process file #{src.inspect}."
file dst => [src, 'common.tpl', *deps] do |t|
- String.reset_anchors
+ puts src
content = DocProxy.new.instance_eval do
# default output configuration
insert_toc = true
page_title = nil
@@ -39,21 +52,24 @@
if File.exist? helper
instance_eval File.read(helper)
end
# evaluate the documentation file
- template = ERB.new(File.read(src))
+ input = resolve_includes(src)
+ File.open('input', 'w') {|f| f << input} if $DEBUG
+
+ template = ERB.new(input)
content = template.result(binding)
toc, content = post_process(content)
+
# fit result into common HTML format
template = ERB.new(File.read(t.prerequisites[1]))
template.result(binding)
end
File.open(dst, 'w') do |f|
f << content
- puts f.path
end
end
task :default => dst
CLOBBER.include dst