Class: DocsBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/docs_builder.rb

Constant Summary collapse

GITHUB_URL =
'https://github.com/ismasan/steppe'

Instance Method Summary collapse

Constructor Details

#initialize(readme_path:, output_dir:) ⇒ DocsBuilder

Returns a new instance of DocsBuilder.



10
11
12
13
14
# File 'lib/docs_builder.rb', line 10

def initialize(readme_path:, output_dir:)
  @readme_path = readme_path
  @output_dir = output_dir
  @sections = []
end

Instance Method Details

#buildObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/docs_builder.rb', line 16

def build
  puts "Reading #{@readme_path}..."
  markdown = File.read(@readme_path)

  puts "Parsing markdown..."
  doc = Kramdown::Document.new(markdown, input: 'GFM', auto_ids: true)

  puts "Extracting structure..."
  extract_structure(doc.root)

  puts "Generating HTML..."
  html = generate_html(doc)

  puts "Writing to #{@output_dir}/index.html..."
  FileUtils.mkdir_p(@output_dir)
  File.write(File.join(@output_dir, 'index.html'), html)

  puts "Done! Documentation built successfully."
end