diff --git a/docs/src/main/ruby/generate_readme.sh b/docs/src/main/ruby/generate_readme.sh index b232502c..fc5b7f1a 100755 --- a/docs/src/main/ruby/generate_readme.sh +++ b/docs/src/main/ruby/generate_readme.sh @@ -2,11 +2,11 @@ base_dir = File.join(File.dirname(__FILE__),'../../..') src_dir = File.join(base_dir, "/src/main/asciidoc") -require File.join(File.dirname(__FILE__), 'readme.rb') +require 'asciidoctor' require 'optparse' options = {} -input = "#{src_dir}/README.adoc" +file = "#{src_dir}/README.adoc" OptionParser.new do |o| o.on('-o OUTPUT_FILE', 'Output file (default is stdout)') { |file| options[:to_file] = file unless file=='-' } @@ -14,6 +14,17 @@ OptionParser.new do |o| o.parse! end -input = ARGV[0] if ARGV.length>0 +file = ARGV[0] if ARGV.length>0 -SpringCloud::Build.render_file(input, options) +srcDir = File.dirname(file) +out = "// Do not edit this file (e.g. go instead to src/main/asciidoc)\n\n" +doc = Asciidoctor.load_file file, safe: :safe, parse: false +out << doc.reader.read + +unless options[:to_file] + puts out +else + File.open(options[:to_file],'w+') do |file| + file.write(out) + end +end diff --git a/docs/src/main/ruby/readme.rb b/docs/src/main/ruby/readme.rb deleted file mode 100644 index d39e0d54..00000000 --- a/docs/src/main/ruby/readme.rb +++ /dev/null @@ -1,54 +0,0 @@ -require 'open-uri' - -module SpringCloud - module Build - - IncludeDirectiveRx = /^\\?include::([^\[]+)\[(.*?)\]$/ - - class << self - - def process_include out, src, target, attrs - unless target.include?(':') || target.start_with?('/') - target = File.join(src, target) - end - open(target) do |file| - file.each do |line| - self.process(out, File.dirname(target), line) - end - end - end - - def process out, src, line - if ((escaped = line.start_with?('\\include::')) || line.start_with?('include::')) && (match = IncludeDirectiveRx.match(line)) - if escaped - out << line[1..-1] - else - self.process_include out, src, match[1], match[2].strip - end - else - out << line - end - end - - def render_file file, options = {} - - srcDir = File.dirname(file) - out = ["// Do not edit this file (e.g. go instead to src/main/asciidoc)\n","\n"] - File.new(file).each do |line| - self.process(out, srcDir, line) - end - - unless options[:to_file] - puts out - else - File.open(options[:to_file],'w+') do |file| - out.each { |line| file.write(line) } - end - end - - end - - end - - end -end