Commit be455285 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Separate out guides parsing and writing stages.

parent 03fa8124
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -86,6 +86,11 @@ module JsDuck
      warn_globals(relations)
      warn_unnamed(relations)

      guides = Guides.new(get_doc_formatter(relations))
      if @guides_dir
        @timer.time(:parsing) { guides.parse_dir(@guides_dir) }
      end

      clear_dir(@output_dir)
      if @export == :json
        FileUtils.mkdir(@output_dir)
@@ -104,9 +109,7 @@ module JsDuck
        @timer.time(:generating) { write_members(@output_dir+"/output/members.js", relations) }
        @timer.time(:generating) { write_class(@output_dir+"/output", relations) }
        @timer.time(:generating) { write_overview(@output_dir+"/output/overviewData.js", relations) }
        if @guides_dir
          @timer.time(:generating) { write_guides(@guides_dir, @output_dir+"/guides", relations) }
        end
        @timer.time(:generating) { guides.write(@output_dir+"/guides") }
      end

      @timer.report
@@ -261,13 +264,6 @@ module JsDuck
      end
    end

    # Writes JsonP export file for each guide
    def write_guides(in_path, out_path, relations)
      guides = Guides.new(get_doc_formatter(relations))
      guides.parse_dir(in_path)
      guides.write(out_path)
    end

    # Creates and initializes DocFormatter
    def get_doc_formatter(relations)
      formatter = DocFormatter.new
+4 −2
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ module JsDuck
      @formatter = formatter
    end

    # Looks for guide in each subdir of given directory
    # Looks for guide in each subdir of given directory.
    def parse_dir(guides_dir)
      Dir.glob(guides_dir + "/*").each do |dir|
        if File.directory?(dir)
@@ -47,7 +47,9 @@ module JsDuck

    # Writes all guides to given dir in JsonP format
    def write(dir)
      FileUtils.mkdir(dir)
      # Skip it all when we have no guides
      FileUtils.mkdir(dir) if @guides.length > 0

      @guides.each do |guide|
        out_dir = dir+"/"+guide[:name]
        FileUtils.cp_r(guide[:dir], out_dir)