Class: Maliq::Create
- Inherits:
-
Object
- Object
- Maliq::Create
- Defined in:
- lib/maliq/create.rb
Overview
Maliq::Create receive markdown filename(s) and create xhtml file(s).
Instance Method Summary collapse
-
#initialize(files, opts = {}) ⇒ Create
constructor
A new instance of Create.
- #run! ⇒ Object
Constructor Details
#initialize(files, opts = {}) ⇒ Create
Returns a new instance of Create.
5 6 7 8 9 |
# File 'lib/maliq/create.rb', line 5 def initialize(files, opts={}) @opts = opts @nav = opts.delete(:toc) || opts.delete(:nav) @mdfiles = get_markdown_files(files) end |
Instance Method Details
#run! ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/maliq/create.rb', line 21 def run! lastname = nil dirname = nil nav_list = [] @mdfiles.each_with_index do |filename, fno| dirname = File.dirname(filename) if @opts[:seq] && lastname seq_fname = Maliq::FileUtils.create_filename(lastname) end # Split a file at split markers to several chapters, # each of which become a file. chapters = Maliq::FileUtils.split(filename) chapters.each do |fname, content| #this change filenames with sequential names. if @opts[:seq] && !fno.zero? fname = seq_fname.tap { |s| seq_fname = seq_fname.next } end dest = File.join(dirname, fname.basename_with(:xhtml)) convert_and_save(content, dest) nav_list << [fname, content] lastname = fname end end create_nav_page(nav_list, File.join(dirname, 'nav.xhtml')) if @nav end |