Loading lib/jsduck/app.rb +7 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ require 'jsduck/lint' require 'jsduck/template_dir' require 'jsduck/class_writer' require 'jsduck/source_writer' require 'jsduck/app_data' require 'fileutils' module JsDuck Loading Loading @@ -65,10 +66,14 @@ module JsDuck template.welcome = @welcome template.categories = @categories template.guides = @guides template.videos = @videos template.examples = @examples template.write app_data = AppData.new(@relations, @opts) app_data.guides = @guides app_data.videos = @videos app_data.examples = @examples app_data.write(@opts.output_dir+"/data.js") # class-formatting is done in parallel which breaks the links # between source files and classes. Therefore it MUST to be done # after writing sources which needs the links to work. Loading lib/jsduck/app_data.rb 0 → 100644 +34 −0 Original line number Diff line number Diff line require 'jsduck/json_duck' require 'jsduck/icons' require 'jsduck/search_data' require 'jsduck/stats' module JsDuck # Creates big JS file with data for Docs app. class AppData attr_accessor :guides attr_accessor :videos attr_accessor :examples def initialize(relations, opts) @relations = relations @opts = opts end # Writes classes, guides, videos, and search data to one big .js file def write(filename) js = "Docs.data = " + JsonDuck.generate({ :classes => Icons.new.create(@relations.classes), :guides => @guides.to_array, :videos => @videos.to_array, :examples => @examples.to_array, :search => SearchData.new.create(@relations.classes), :stats => @opts.stats ? Stats.new.create(@relations.classes) : [], }) + ";\n" File.open(filename, 'w') {|f| f.write(js) } end end end lib/jsduck/template_dir.rb +0 −22 Original line number Diff line number Diff line require 'jsduck/class_writer' require 'jsduck/logger' require 'jsduck/source_writer' require 'jsduck/json_duck' require 'jsduck/icons' require 'jsduck/search_data' require 'jsduck/stats' require 'fileutils' module JsDuck Loading @@ -14,8 +9,6 @@ module JsDuck attr_accessor :welcome attr_accessor :categories attr_accessor :guides attr_accessor :videos attr_accessor :examples def initialize(relations, opts) @relations = relations Loading @@ -41,8 +34,6 @@ module JsDuck FileUtils.rm(@opts.output_dir+"/eg-iframe.html") FileUtils.cp(@opts.eg_iframe, @opts.output_dir+"/eg-iframe.html") end write_app_data end def copy_template Loading Loading @@ -95,19 +86,6 @@ module JsDuck File.open(out_file, 'w') {|f| f.write(html) } end # Writes classes, guides, videos, and search data to one big .js file def write_app_data js = "Docs.data = " + JsonDuck.generate({ :classes => Icons.new.create(@relations.classes), :guides => @guides.to_array, :videos => @videos.to_array, :examples => @examples.to_array, :search => SearchData.new.create(@relations.classes), :stats => @opts.stats ? Stats.new.create(@relations.classes) : [], }) + ";\n" File.open(@opts.output_dir+"/data.js", 'w') {|f| f.write(js) } end end end Loading
lib/jsduck/app.rb +7 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ require 'jsduck/lint' require 'jsduck/template_dir' require 'jsduck/class_writer' require 'jsduck/source_writer' require 'jsduck/app_data' require 'fileutils' module JsDuck Loading Loading @@ -65,10 +66,14 @@ module JsDuck template.welcome = @welcome template.categories = @categories template.guides = @guides template.videos = @videos template.examples = @examples template.write app_data = AppData.new(@relations, @opts) app_data.guides = @guides app_data.videos = @videos app_data.examples = @examples app_data.write(@opts.output_dir+"/data.js") # class-formatting is done in parallel which breaks the links # between source files and classes. Therefore it MUST to be done # after writing sources which needs the links to work. Loading
lib/jsduck/app_data.rb 0 → 100644 +34 −0 Original line number Diff line number Diff line require 'jsduck/json_duck' require 'jsduck/icons' require 'jsduck/search_data' require 'jsduck/stats' module JsDuck # Creates big JS file with data for Docs app. class AppData attr_accessor :guides attr_accessor :videos attr_accessor :examples def initialize(relations, opts) @relations = relations @opts = opts end # Writes classes, guides, videos, and search data to one big .js file def write(filename) js = "Docs.data = " + JsonDuck.generate({ :classes => Icons.new.create(@relations.classes), :guides => @guides.to_array, :videos => @videos.to_array, :examples => @examples.to_array, :search => SearchData.new.create(@relations.classes), :stats => @opts.stats ? Stats.new.create(@relations.classes) : [], }) + ";\n" File.open(filename, 'w') {|f| f.write(js) } end end end
lib/jsduck/template_dir.rb +0 −22 Original line number Diff line number Diff line require 'jsduck/class_writer' require 'jsduck/logger' require 'jsduck/source_writer' require 'jsduck/json_duck' require 'jsduck/icons' require 'jsduck/search_data' require 'jsduck/stats' require 'fileutils' module JsDuck Loading @@ -14,8 +9,6 @@ module JsDuck attr_accessor :welcome attr_accessor :categories attr_accessor :guides attr_accessor :videos attr_accessor :examples def initialize(relations, opts) @relations = relations Loading @@ -41,8 +34,6 @@ module JsDuck FileUtils.rm(@opts.output_dir+"/eg-iframe.html") FileUtils.cp(@opts.eg_iframe, @opts.output_dir+"/eg-iframe.html") end write_app_data end def copy_template Loading Loading @@ -95,19 +86,6 @@ module JsDuck File.open(out_file, 'w') {|f| f.write(html) } end # Writes classes, guides, videos, and search data to one big .js file def write_app_data js = "Docs.data = " + JsonDuck.generate({ :classes => Icons.new.create(@relations.classes), :guides => @guides.to_array, :videos => @videos.to_array, :examples => @examples.to_array, :search => SearchData.new.create(@relations.classes), :stats => @opts.stats ? Stats.new.create(@relations.classes) : [], }) + ";\n" File.open(@opts.output_dir+"/data.js", 'w') {|f| f.write(js) } end end end