Class: Docco::DocsBuilder
- Inherits:
-
Object
- Object
- Docco::DocsBuilder
- Defined in:
- lib/docco.rb
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(readme_path:, output_dir:, gemspec_path: nil) ⇒ DocsBuilder
constructor
A new instance of DocsBuilder.
Constructor Details
#initialize(readme_path:, output_dir:, gemspec_path: nil) ⇒ DocsBuilder
Returns a new instance of DocsBuilder.
29 30 31 32 33 34 35 |
# File 'lib/docco.rb', line 29 def initialize(readme_path:, output_dir:, gemspec_path: nil) @readme_path = readme_path @output_dir = output_dir @sections = [] @gemspec_path = gemspec_path || find_gemspec load_gemspec_info end |
Instance Method Details
#build ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/docco.rb', line 37 def build css = File.join(@output_dir, STYLES) if !File.exist?(css) CopyStyles.(@output_dir) end 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 |