diff --git a/.gitignore b/.gitignore index d1c571f..e94bc30 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ /build_test_run/ /coverage/ /dist/ +/gen/ /large_project/ /pkg/ /test/ diff --git a/rb/assets/user_guide.html.erb b/rb/assets/user_guide.html.erb new file mode 100644 index 0000000..bc02028 --- /dev/null +++ b/rb/assets/user_guide.html.erb @@ -0,0 +1,13 @@ + + + RScons User Guide - Version <%= version %> + + + + <%= body %> + + diff --git a/rb/gen_user_guide.rb b/rb/gen_user_guide.rb new file mode 100644 index 0000000..806c3a3 --- /dev/null +++ b/rb/gen_user_guide.rb @@ -0,0 +1,33 @@ +#!/usr/bin/env ruby + +require "erb" +require "fileutils" +require "redcarpet" +require "syntax" +require "rscons/version" + +renderer = Redcarpet::Render::HTML.new +markdown = Redcarpet::Markdown.new(renderer) + +def load_file(file_name) + contents = File.read(file_name) + contents.gsub(/\$\{include (.*?)\}/) do |match| + include_file_name = $1 + File.read(include_file_name) + end +end + +input = load_file("doc/user_guide.md") + +version = Rscons::VERSION +body = markdown.render(input) +template = File.read("rb/assets/user_guide.html.erb") + +erb = ERB.new(template, nil, "<>") +html_result = erb.result + +FileUtils.rm_rf("gen/user_guide") +FileUtils.mkdir_p("gen/user_guide") +File.open("gen/user_guide/user_guide.html", "w") do |fh| + fh.write(html_result) +end