start on user guide html generator

This commit is contained in:
Josh Holtrop 2019-06-05 00:13:27 -04:00
parent 26a9307533
commit 6328ceee2a
3 changed files with 47 additions and 0 deletions

1
.gitignore vendored
View File

@ -4,6 +4,7 @@
/build_test_run/
/coverage/
/dist/
/gen/
/large_project/
/pkg/
/test/

View File

@ -0,0 +1,13 @@
<html>
<head>
<title>RScons User Guide - Version <%= version %></title>
<style>
body {
max-width: 140ex;
}
</style>
</head>
<body>
<%= body %>
</body>
</html>

33
rb/gen_user_guide.rb Normal file
View File

@ -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