Update lib/ references from Cordova to PhoneGap.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/commit/21e511f7 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/tree/21e511f7 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/diff/21e511f7 Branch: refs/heads/master Commit: 21e511f761bde3ca7fa70049c63e5aac5adf1993 Parents: 09f25a4 Author: Michael Brooks <mich...@michaelbrooks.ca> Authored: Thu Mar 29 15:24:56 2012 -0700 Committer: hermwong <herm.w...@gmail.com> Committed: Thu Apr 5 10:52:04 2012 -0700 ---------------------------------------------------------------------- lib/cordova/add_title.rb | 19 ++++++++ lib/cordova/file_merger.rb | 47 ++++++++++++++++++ lib/cordova/jodoc.rb | 51 ++++++++++++++++++++ lib/cordova/navigation_menu.rb | 61 ++++++++++++++++++++++++ lib/cordova/prettify.rb | 16 ++++++ lib/cordova/quirks_merger.rb | 48 +++++++++++++++++++ lib/cordova/table_of_contents.rb | 59 +++++++++++++++++++++++ lib/cordova/update_index.rb | 29 +++++++++++ lib/cordova/update_keyword_index.rb | 34 +++++++++++++ lib/cordova/version_menu.rb | 65 ++++++++++++++++++++++++++ lib/cordova/yaml_front_matter.rb | 26 ++++++++++ lib/docs_generator.rb | 4 +- lib/phonegap/add_title.rb | 19 -------- lib/phonegap/file_merger.rb | 47 ------------------ lib/phonegap/jodoc.rb | 51 -------------------- lib/phonegap/navigation_menu.rb | 61 ------------------------ lib/phonegap/prettify.rb | 16 ------ lib/phonegap/quirks_merger.rb | 47 ------------------ lib/phonegap/table_of_contents.rb | 59 ----------------------- lib/phonegap/update_index.rb | 29 ----------- lib/phonegap/update_keyword_index.rb | 34 ------------- lib/phonegap/version_menu.rb | 65 -------------------------- lib/phonegap/yaml_front_matter.rb | 26 ---------- spec/phonegap/add_title_spec.rb | 2 +- spec/phonegap/prettify_spec.rb | 2 +- spec/phonegap/table_of_contents_spec.rb | 2 +- spec/spec_helpers.rb | 2 +- 27 files changed, 461 insertions(+), 460 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/add_title.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/add_title.rb b/lib/cordova/add_title.rb new file mode 100644 index 0000000..10aae9a --- /dev/null +++ b/lib/cordova/add_title.rb @@ -0,0 +1,19 @@ +require 'rubygems' +require 'nokogiri' + +class AddTitle + def run(filename) + doc = Nokogiri::HTML(File.read(filename)) + + title_source = doc.css('#content > h1')[0] + return nil if title_source.nil? + + title_target = doc.css('#subheader > h1')[0] + return nil if title_target.nil? + + title_target.content = title_source.content + File.open(filename, 'w') { |file| file.write doc.to_html } + + return title_source.content + end +end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/file_merger.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/file_merger.rb b/lib/cordova/file_merger.rb new file mode 100644 index 0000000..1508698 --- /dev/null +++ b/lib/cordova/file_merger.rb @@ -0,0 +1,47 @@ +require 'fileutils' +require 'rubygems' +require 'json' + +class FileMerger + def initialize + end + + def run(file_path) + # partial files are deleted after being merged, so they may not exist + return unless File.exists? file_path + + root_name = File.basename file_path + @root_dir ||= File.dirname file_path + @json ||= config_json(@root_dir)['merge'] + + @json.each do |name, files| + if name == root_name + File.open file_path, 'a' do |file| + files.each do |filename| + # skip the file that is opened for appending + next if File.basename(filename) == root_name + + filename = File.join @root_dir, filename + next unless file_exists? filename + + file.write "\n\n---\n" + file.write File.read(filename).strip + FileUtils.rm filename unless name == File.basename(filename) + end + end + end + end + end + + def config_json(basename) + file = File.join basename, 'config.json' + return JSON.parse IO.read(file) + end + + def file_exists?(file_path) + return true if File.exists? file_path + + puts "Missing: #{file_path}" + return false + end +end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/jodoc.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/jodoc.rb b/lib/cordova/jodoc.rb new file mode 100644 index 0000000..19c63b4 --- /dev/null +++ b/lib/cordova/jodoc.rb @@ -0,0 +1,51 @@ +class JoDoc + JO_DOC_CLI = 'jodoc' + TEMPLATE_PATH = File.expand_path File.join(File.dirname(__FILE__), '..', '..', 'template', 'docs' ) + + attr_accessor :input_directory + attr_accessor :output_directory + + def initialize(input_directory, output_directory, options) + @input_directory = input_directory + @output_directory = output_directory + @template_directories = [ File.join TEMPLATE_PATH, 'default' ] + + # add custom language template + if options[:lang] + @template_directories.push(File.join TEMPLATE_PATH, options[:lang]) + end + + check_dependencies + end + + def run + # Copy HTML template assets + @template_directories.each do |template| + next unless File.directory? template + FileUtils.cp_r File.join(template, '.'), @output_directory + end + + # Run joDoc + FileUtils.cd @input_directory do + `jodoc --output #{@output_directory} --title "Cordova API Documentation" --template #{@output_directory}/index.html ./ 2> /dev/null` + end + end + + protected + + def check_dependencies + die 'The jodoc script is not in your path' unless command_exists?(JO_DOC_CLI) + + [@input_directory, @template_directories[0]].each do |directory| + die "The directory #{directory}/ should exist." unless File.directory? directory + end + end + + def command_exists?(command) + system("which #{command} > /dev/null 2> /dev/null") + end + + def die(message) + raise StandardError, message + end +end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/navigation_menu.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/navigation_menu.rb b/lib/cordova/navigation_menu.rb new file mode 100644 index 0000000..14cdd5b --- /dev/null +++ b/lib/cordova/navigation_menu.rb @@ -0,0 +1,61 @@ +$: << File.join(File.dirname(__FILE__)) +require 'rubygems' +require 'nokogiri' +require 'fileutils' +require 'file_helpers' + +class NavigationMenu + include FileHelpers + + def initialize(options = {}) + @sections = [] + + filename = Dir.glob(File.join tmp_directory, '**', 'index.md.html')[0] + doc = Nokogiri::HTML(File.read(filename)) + + h1_set = doc.css('#home > h1') + ul_set = doc.css('#home > ul') + count = h1_set.length + + count.times do |index| + links = [] + ul_set[index].css('li > h2 > a').each { |a| links.push(a) } + + @sections.push({ + 'title' => h1_set[index].text, + 'links' => links + }) + end + end + + def run(filename) + doc = Nokogiri::HTML(File.read(filename)) + + @sections.each do |section| + insert_title(section['title'], doc) + insert_links(section['links'], doc) + end + + File.open(filename, 'w') { |file| file.write doc.to_html } + + return doc.to_html + end + + def insert_title(title, doc) + h1 = Nokogiri::XML::Node.new 'h1', doc + h1.content = title + doc.css('#sidebar').first.add_child(h1) + end + + def insert_links(links, doc) + ul = Nokogiri::XML::Node.new 'ul', doc + + links.each do |link| + li = Nokogiri::XML::Node.new 'li', doc + li.add_child(link) + ul.add_child(li) + end + + doc.css('#sidebar').first.add_child(ul) + end +end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/prettify.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/prettify.rb b/lib/cordova/prettify.rb new file mode 100644 index 0000000..d34bb72 --- /dev/null +++ b/lib/cordova/prettify.rb @@ -0,0 +1,16 @@ +require 'rubygems' +require 'nokogiri' + +class Prettify + def run(filename) + doc = Nokogiri::HTML(File.read(filename)) + + code_tags = doc.css('#content pre').each do |tag| + tag['class'] = 'prettyprint' + end + + File.open(filename, 'w') { |file| file.write doc.to_html } + + return code_tags + end +end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/quirks_merger.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/quirks_merger.rb b/lib/cordova/quirks_merger.rb new file mode 100644 index 0000000..bdaee95 --- /dev/null +++ b/lib/cordova/quirks_merger.rb @@ -0,0 +1,48 @@ +require 'fileutils' + +class QuirksMerger + attr_accessor :cordova_path + + def run(file_path) + @cordova_path = nil + + platform_directory = find_directory_containing(file_path, 'phonegap') + platform_directory = find_directory_containing(file_path, 'cordova') if platform_directory.nil? + return if platform_directory.nil? + return if ['phonegap', 'cordova'].include?(File.basename(platform_directory).downcase) + + @cordova_path = generate_cordova_path(file_path, platform_directory) + return unless File.file? @cordova_path + + cordova_data = File.read(@cordova_path).strip + partial_data = File.read(file_path).strip + + File.open(@cordova_path, 'w') { |file| file.write(cordova_data + "\n\n" + partial_data) } + FileUtils.rm file_path + end + + protected + + def find_directory_containing(directory, directory_to_find) + platform_name = nil + + until File.exists? File.join(directory, directory_to_find) + return nil if File.dirname(directory) == directory + + platform_name = File.basename(directory) + directory = File.dirname(directory) + end + + File.join directory, platform_name + end + + def generate_cordova_path(full_path, platform_path) + path = { + :prefix => File.dirname(platform_path), + :platform => File.basename(platform_path), + :postfix => full_path.sub(platform_path, '') + } + + "#{path[:prefix]}/#{path[:platform]}/#{path[:postfix]}".gsub(/\/+/, '/') + end +end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/table_of_contents.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/table_of_contents.rb b/lib/cordova/table_of_contents.rb new file mode 100644 index 0000000..4e62270 --- /dev/null +++ b/lib/cordova/table_of_contents.rb @@ -0,0 +1,59 @@ +require 'rubygems' +require 'nokogiri' +require 'uri' + +class TableOfContents + def run(filename) + doc = Nokogiri::HTML(File.read(filename)) + option_set = Nokogiri::XML::NodeSet.new(doc) + + # Find all the H1 and H2 elements in the content area + # + current_h1 = "" + indentation = " " * 6 + + doc.xpath("id('content')/h1 | id('content')/h2").each do |tag| + if (tag.name == 'h1' && tag.child[:name]) then + current_h1 = tag.content + + option = Nokogiri::XML::Node.new 'option', doc + option['value'] = URI.escape(tag.child[:name]) + option.content = tag.content + option_set.push option + else + # Remove all leading and trailing non-word characters + # Replace all inner non-word characters with an underscore + s = tag.content.gsub(/^\W+|\W+$/, '').gsub(/\W+/, '_').downcase + + option = Nokogiri::XML::Node.new 'option', doc + option['value'] = URI.escape("#{current_h1}_#{s}") + option.content = "#{indentation}- #{tag.content}" + option_set.push option + + a = Nokogiri::XML::Node.new 'a', doc + a['name'] = "#{current_h1}_#{s}" + a.content = tag.content + + tag.content = '' + tag.add_child a + end + end + + # Return if one or less elments found (useless selection box) + # + return nil if option_set.length <= 1 + + # Add select menu to the subheader + # + select = Nokogiri::XML::Node.new 'select', doc + select.add_child option_set + subheader = doc.css('#subheader > small')[0] + subheader.add_child select + + # Save Table of Contents + # Add Nokogiri hack to properly render spaces + File.open(filename, 'w') { |file| file.write doc.to_html.gsub('&nbsp;', ' ') } + + return option_set + end +end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/update_index.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/update_index.rb b/lib/cordova/update_index.rb new file mode 100644 index 0000000..28b38f9 --- /dev/null +++ b/lib/cordova/update_index.rb @@ -0,0 +1,29 @@ +require 'rubygems' +require 'nokogiri' +require 'fileutils' + +class UpdateIndex + attr_accessor :header_title + attr_accessor :filename + + def initialize + @input_filename = 'index.md.html' + @output_filename = 'index.html' + @header_title = 'Home' + end + + def run(filename) + return false unless File.basename(filename) == @input_filename + + doc = Nokogiri::HTML(File.read(filename)) + + element = doc.css('#subheader > h1')[0] + element.content = @header_title unless element.nil? + + File.open(filename, 'w') { |file| file.write doc.to_html } + + FileUtils.mv(filename, File.join(File.dirname(filename), @output_filename)) + + return true + end +end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/update_keyword_index.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/update_keyword_index.rb b/lib/cordova/update_keyword_index.rb new file mode 100644 index 0000000..3e3643a --- /dev/null +++ b/lib/cordova/update_keyword_index.rb @@ -0,0 +1,34 @@ +require 'rubygems' +require 'nokogiri' +require 'fileutils' + +class UpdateKeywordIndex + attr_accessor :header_title + attr_accessor :content_title + attr_accessor :filename + + def initialize + @header_title = 'Keyword Index' + @content_title = 'Keyword Index' + end + + def run(filename) + return false unless File.basename(filename) == '_index.html' + + doc = Nokogiri::HTML(File.read(filename)) + + element = doc.css('#subheader > h1')[0] + element.content = @header_title unless element.nil? + + element = doc.css('#content > h1')[0] + element.content = @content_title unless element.nil? + + element = doc.css('#content > hr')[0] + element.remove unless element.nil? + + # Update referenced to index.md.html + # Then save + File.open(filename, 'w') { |file| file.write doc.to_html.gsub('"index.md.html', '"index.html') } + return true + end +end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/version_menu.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/version_menu.rb b/lib/cordova/version_menu.rb new file mode 100644 index 0000000..24ba19f --- /dev/null +++ b/lib/cordova/version_menu.rb @@ -0,0 +1,65 @@ +require 'rubygems' +require 'json' +require 'nokogiri' +require 'fileutils' + +class VersionMenu + def initialize(options = {}) + @version = options[:version] + @language = options[:lang] + end + + def run(filename) + doc = Nokogiri::HTML(File.read(filename)) + + select = doc.css('#header small select')[0] + select.add_child generate_set(doc) + + File.open(filename, 'w') { |file| file.write doc.to_html } + + return doc.to_html + end + + private + + def generate_set doc + optgroup_set = Nokogiri::XML::NodeSet.new doc + docs_path = File.expand_path File.join(__FILE__, '..', '..', '..', 'docs') + versions = {} + languages = {} + html = [] + + # build hash of languages and versions + Dir.glob(File.join docs_path, '**', 'config.json').each do |file| + version = File.basename(File.dirname file) + lang = File.basename(File.dirname(File.dirname file)) + language = JSON.parse(IO.read(file))['language'] + + if language + versions[language] ||= [] + versions[language].push version + languages[language] = lang + else + puts "Warning: The key 'language' was not defined in #{file}" + end + end + + # generate HTML <select> output + versions.keys.sort.each do |language| + optgroup = Nokogiri::XML::Node.new 'optgroup', doc + optgroup['label'] = language + optgroup['value'] = languages[language] + optgroup_set.push optgroup + + versions[language].sort.reverse.each do |v| + option = Nokogiri::XML::Node.new 'option', doc + option['selected'] = 'selected' if @version == v && @language == languages[language] + option['value'] = v; + option.content = v + optgroup.add_child option + end + end + + return optgroup_set + end +end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/cordova/yaml_front_matter.rb ---------------------------------------------------------------------- diff --git a/lib/cordova/yaml_front_matter.rb b/lib/cordova/yaml_front_matter.rb new file mode 100644 index 0000000..f86947c --- /dev/null +++ b/lib/cordova/yaml_front_matter.rb @@ -0,0 +1,26 @@ +require 'yaml' + +class YamlFrontMatter + def initialize + end + + def run(file_path) + content = IO.read(file_path) + yaml = {} + + # This will also strip out any leading whitespace + # Copied the RegEx from [Jekyll](http://github.com/mojombo/jekyll) + # + if content =~ /^(---\s*\n.*?\n?)^(---\s*$\n?)/m + content = content[($1.size + $2.size)..-1] + yaml = YAML.load($1) + + # Save the file + File.open(file_path, 'w+') do |file| + file.write content + end + end + + yaml + end +end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/docs_generator.rb ---------------------------------------------------------------------- diff --git a/lib/docs_generator.rb b/lib/docs_generator.rb index d2d529b..9eeb852 100644 --- a/lib/docs_generator.rb +++ b/lib/docs_generator.rb @@ -1,5 +1,5 @@ $: << File.join(File.dirname(__FILE__)) -$: << File.join(File.dirname(__FILE__), 'phonegap') +$: << File.join(File.dirname(__FILE__), 'cordova') require 'file_helpers' require 'yaml_front_matter' require 'quirks_merger' @@ -26,7 +26,7 @@ class DocsGenerator @working_directory = File.join tmp_directory, 'docs' end - # PhoneGap Build-Time Steps + # Cordova Build-Time Steps # - For each version of the documentation # - Create a work space for the docs processing # - Pre-file processing http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/add_title.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/add_title.rb b/lib/phonegap/add_title.rb deleted file mode 100644 index 10aae9a..0000000 --- a/lib/phonegap/add_title.rb +++ /dev/null @@ -1,19 +0,0 @@ -require 'rubygems' -require 'nokogiri' - -class AddTitle - def run(filename) - doc = Nokogiri::HTML(File.read(filename)) - - title_source = doc.css('#content > h1')[0] - return nil if title_source.nil? - - title_target = doc.css('#subheader > h1')[0] - return nil if title_target.nil? - - title_target.content = title_source.content - File.open(filename, 'w') { |file| file.write doc.to_html } - - return title_source.content - end -end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/file_merger.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/file_merger.rb b/lib/phonegap/file_merger.rb deleted file mode 100644 index 1508698..0000000 --- a/lib/phonegap/file_merger.rb +++ /dev/null @@ -1,47 +0,0 @@ -require 'fileutils' -require 'rubygems' -require 'json' - -class FileMerger - def initialize - end - - def run(file_path) - # partial files are deleted after being merged, so they may not exist - return unless File.exists? file_path - - root_name = File.basename file_path - @root_dir ||= File.dirname file_path - @json ||= config_json(@root_dir)['merge'] - - @json.each do |name, files| - if name == root_name - File.open file_path, 'a' do |file| - files.each do |filename| - # skip the file that is opened for appending - next if File.basename(filename) == root_name - - filename = File.join @root_dir, filename - next unless file_exists? filename - - file.write "\n\n---\n" - file.write File.read(filename).strip - FileUtils.rm filename unless name == File.basename(filename) - end - end - end - end - end - - def config_json(basename) - file = File.join basename, 'config.json' - return JSON.parse IO.read(file) - end - - def file_exists?(file_path) - return true if File.exists? file_path - - puts "Missing: #{file_path}" - return false - end -end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/jodoc.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/jodoc.rb b/lib/phonegap/jodoc.rb deleted file mode 100644 index 19c63b4..0000000 --- a/lib/phonegap/jodoc.rb +++ /dev/null @@ -1,51 +0,0 @@ -class JoDoc - JO_DOC_CLI = 'jodoc' - TEMPLATE_PATH = File.expand_path File.join(File.dirname(__FILE__), '..', '..', 'template', 'docs' ) - - attr_accessor :input_directory - attr_accessor :output_directory - - def initialize(input_directory, output_directory, options) - @input_directory = input_directory - @output_directory = output_directory - @template_directories = [ File.join TEMPLATE_PATH, 'default' ] - - # add custom language template - if options[:lang] - @template_directories.push(File.join TEMPLATE_PATH, options[:lang]) - end - - check_dependencies - end - - def run - # Copy HTML template assets - @template_directories.each do |template| - next unless File.directory? template - FileUtils.cp_r File.join(template, '.'), @output_directory - end - - # Run joDoc - FileUtils.cd @input_directory do - `jodoc --output #{@output_directory} --title "Cordova API Documentation" --template #{@output_directory}/index.html ./ 2> /dev/null` - end - end - - protected - - def check_dependencies - die 'The jodoc script is not in your path' unless command_exists?(JO_DOC_CLI) - - [@input_directory, @template_directories[0]].each do |directory| - die "The directory #{directory}/ should exist." unless File.directory? directory - end - end - - def command_exists?(command) - system("which #{command} > /dev/null 2> /dev/null") - end - - def die(message) - raise StandardError, message - end -end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/navigation_menu.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/navigation_menu.rb b/lib/phonegap/navigation_menu.rb deleted file mode 100644 index 14cdd5b..0000000 --- a/lib/phonegap/navigation_menu.rb +++ /dev/null @@ -1,61 +0,0 @@ -$: << File.join(File.dirname(__FILE__)) -require 'rubygems' -require 'nokogiri' -require 'fileutils' -require 'file_helpers' - -class NavigationMenu - include FileHelpers - - def initialize(options = {}) - @sections = [] - - filename = Dir.glob(File.join tmp_directory, '**', 'index.md.html')[0] - doc = Nokogiri::HTML(File.read(filename)) - - h1_set = doc.css('#home > h1') - ul_set = doc.css('#home > ul') - count = h1_set.length - - count.times do |index| - links = [] - ul_set[index].css('li > h2 > a').each { |a| links.push(a) } - - @sections.push({ - 'title' => h1_set[index].text, - 'links' => links - }) - end - end - - def run(filename) - doc = Nokogiri::HTML(File.read(filename)) - - @sections.each do |section| - insert_title(section['title'], doc) - insert_links(section['links'], doc) - end - - File.open(filename, 'w') { |file| file.write doc.to_html } - - return doc.to_html - end - - def insert_title(title, doc) - h1 = Nokogiri::XML::Node.new 'h1', doc - h1.content = title - doc.css('#sidebar').first.add_child(h1) - end - - def insert_links(links, doc) - ul = Nokogiri::XML::Node.new 'ul', doc - - links.each do |link| - li = Nokogiri::XML::Node.new 'li', doc - li.add_child(link) - ul.add_child(li) - end - - doc.css('#sidebar').first.add_child(ul) - end -end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/prettify.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/prettify.rb b/lib/phonegap/prettify.rb deleted file mode 100644 index d34bb72..0000000 --- a/lib/phonegap/prettify.rb +++ /dev/null @@ -1,16 +0,0 @@ -require 'rubygems' -require 'nokogiri' - -class Prettify - def run(filename) - doc = Nokogiri::HTML(File.read(filename)) - - code_tags = doc.css('#content pre').each do |tag| - tag['class'] = 'prettyprint' - end - - File.open(filename, 'w') { |file| file.write doc.to_html } - - return code_tags - end -end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/quirks_merger.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/quirks_merger.rb b/lib/phonegap/quirks_merger.rb deleted file mode 100644 index f582069..0000000 --- a/lib/phonegap/quirks_merger.rb +++ /dev/null @@ -1,47 +0,0 @@ -require 'fileutils' - -class QuirksMerger - attr_accessor :phonegap_path - - def run(file_path) - @phonegap_path = nil - - platform_directory = find_directory_containing(file_path, 'phonegap') - return if platform_directory.nil? - return if File.basename(platform_directory).downcase == 'phonegap' - - @phonegap_path = generate_phonegap_path(file_path, platform_directory) - return unless File.file? @phonegap_path - - phonegap_data = File.read(@phonegap_path).strip - partial_data = File.read(file_path).strip - - File.open(@phonegap_path, 'w') { |file| file.write(phonegap_data + "\n\n" + partial_data) } - FileUtils.rm file_path - end - - protected - - def find_directory_containing(directory, directory_to_find) - platform_name = nil - - until File.exists? File.join(directory, directory_to_find) - return nil if File.dirname(directory) == directory - - platform_name = File.basename(directory) - directory = File.dirname(directory) - end - - File.join directory, platform_name - end - - def generate_phonegap_path(full_path, platform_path) - path = { - :prefix => File.dirname(platform_path), - :platform => File.basename(platform_path), - :postfix => full_path.sub(platform_path, '') - } - - "#{path[:prefix]}/phonegap/#{path[:postfix]}".gsub(/\/+/, '/') - end -end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/table_of_contents.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/table_of_contents.rb b/lib/phonegap/table_of_contents.rb deleted file mode 100644 index 4e62270..0000000 --- a/lib/phonegap/table_of_contents.rb +++ /dev/null @@ -1,59 +0,0 @@ -require 'rubygems' -require 'nokogiri' -require 'uri' - -class TableOfContents - def run(filename) - doc = Nokogiri::HTML(File.read(filename)) - option_set = Nokogiri::XML::NodeSet.new(doc) - - # Find all the H1 and H2 elements in the content area - # - current_h1 = "" - indentation = " " * 6 - - doc.xpath("id('content')/h1 | id('content')/h2").each do |tag| - if (tag.name == 'h1' && tag.child[:name]) then - current_h1 = tag.content - - option = Nokogiri::XML::Node.new 'option', doc - option['value'] = URI.escape(tag.child[:name]) - option.content = tag.content - option_set.push option - else - # Remove all leading and trailing non-word characters - # Replace all inner non-word characters with an underscore - s = tag.content.gsub(/^\W+|\W+$/, '').gsub(/\W+/, '_').downcase - - option = Nokogiri::XML::Node.new 'option', doc - option['value'] = URI.escape("#{current_h1}_#{s}") - option.content = "#{indentation}- #{tag.content}" - option_set.push option - - a = Nokogiri::XML::Node.new 'a', doc - a['name'] = "#{current_h1}_#{s}" - a.content = tag.content - - tag.content = '' - tag.add_child a - end - end - - # Return if one or less elments found (useless selection box) - # - return nil if option_set.length <= 1 - - # Add select menu to the subheader - # - select = Nokogiri::XML::Node.new 'select', doc - select.add_child option_set - subheader = doc.css('#subheader > small')[0] - subheader.add_child select - - # Save Table of Contents - # Add Nokogiri hack to properly render spaces - File.open(filename, 'w') { |file| file.write doc.to_html.gsub('&nbsp;', ' ') } - - return option_set - end -end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/update_index.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/update_index.rb b/lib/phonegap/update_index.rb deleted file mode 100644 index 28b38f9..0000000 --- a/lib/phonegap/update_index.rb +++ /dev/null @@ -1,29 +0,0 @@ -require 'rubygems' -require 'nokogiri' -require 'fileutils' - -class UpdateIndex - attr_accessor :header_title - attr_accessor :filename - - def initialize - @input_filename = 'index.md.html' - @output_filename = 'index.html' - @header_title = 'Home' - end - - def run(filename) - return false unless File.basename(filename) == @input_filename - - doc = Nokogiri::HTML(File.read(filename)) - - element = doc.css('#subheader > h1')[0] - element.content = @header_title unless element.nil? - - File.open(filename, 'w') { |file| file.write doc.to_html } - - FileUtils.mv(filename, File.join(File.dirname(filename), @output_filename)) - - return true - end -end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/update_keyword_index.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/update_keyword_index.rb b/lib/phonegap/update_keyword_index.rb deleted file mode 100644 index 3e3643a..0000000 --- a/lib/phonegap/update_keyword_index.rb +++ /dev/null @@ -1,34 +0,0 @@ -require 'rubygems' -require 'nokogiri' -require 'fileutils' - -class UpdateKeywordIndex - attr_accessor :header_title - attr_accessor :content_title - attr_accessor :filename - - def initialize - @header_title = 'Keyword Index' - @content_title = 'Keyword Index' - end - - def run(filename) - return false unless File.basename(filename) == '_index.html' - - doc = Nokogiri::HTML(File.read(filename)) - - element = doc.css('#subheader > h1')[0] - element.content = @header_title unless element.nil? - - element = doc.css('#content > h1')[0] - element.content = @content_title unless element.nil? - - element = doc.css('#content > hr')[0] - element.remove unless element.nil? - - # Update referenced to index.md.html - # Then save - File.open(filename, 'w') { |file| file.write doc.to_html.gsub('"index.md.html', '"index.html') } - return true - end -end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/version_menu.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/version_menu.rb b/lib/phonegap/version_menu.rb deleted file mode 100644 index 24ba19f..0000000 --- a/lib/phonegap/version_menu.rb +++ /dev/null @@ -1,65 +0,0 @@ -require 'rubygems' -require 'json' -require 'nokogiri' -require 'fileutils' - -class VersionMenu - def initialize(options = {}) - @version = options[:version] - @language = options[:lang] - end - - def run(filename) - doc = Nokogiri::HTML(File.read(filename)) - - select = doc.css('#header small select')[0] - select.add_child generate_set(doc) - - File.open(filename, 'w') { |file| file.write doc.to_html } - - return doc.to_html - end - - private - - def generate_set doc - optgroup_set = Nokogiri::XML::NodeSet.new doc - docs_path = File.expand_path File.join(__FILE__, '..', '..', '..', 'docs') - versions = {} - languages = {} - html = [] - - # build hash of languages and versions - Dir.glob(File.join docs_path, '**', 'config.json').each do |file| - version = File.basename(File.dirname file) - lang = File.basename(File.dirname(File.dirname file)) - language = JSON.parse(IO.read(file))['language'] - - if language - versions[language] ||= [] - versions[language].push version - languages[language] = lang - else - puts "Warning: The key 'language' was not defined in #{file}" - end - end - - # generate HTML <select> output - versions.keys.sort.each do |language| - optgroup = Nokogiri::XML::Node.new 'optgroup', doc - optgroup['label'] = language - optgroup['value'] = languages[language] - optgroup_set.push optgroup - - versions[language].sort.reverse.each do |v| - option = Nokogiri::XML::Node.new 'option', doc - option['selected'] = 'selected' if @version == v && @language == languages[language] - option['value'] = v; - option.content = v - optgroup.add_child option - end - end - - return optgroup_set - end -end http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/lib/phonegap/yaml_front_matter.rb ---------------------------------------------------------------------- diff --git a/lib/phonegap/yaml_front_matter.rb b/lib/phonegap/yaml_front_matter.rb deleted file mode 100644 index f86947c..0000000 --- a/lib/phonegap/yaml_front_matter.rb +++ /dev/null @@ -1,26 +0,0 @@ -require 'yaml' - -class YamlFrontMatter - def initialize - end - - def run(file_path) - content = IO.read(file_path) - yaml = {} - - # This will also strip out any leading whitespace - # Copied the RegEx from [Jekyll](http://github.com/mojombo/jekyll) - # - if content =~ /^(---\s*\n.*?\n?)^(---\s*$\n?)/m - content = content[($1.size + $2.size)..-1] - yaml = YAML.load($1) - - # Save the file - File.open(file_path, 'w+') do |file| - file.write content - end - end - - yaml - end -end \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/spec/phonegap/add_title_spec.rb ---------------------------------------------------------------------- diff --git a/spec/phonegap/add_title_spec.rb b/spec/phonegap/add_title_spec.rb index 33e0788..0f87870 100644 --- a/spec/phonegap/add_title_spec.rb +++ b/spec/phonegap/add_title_spec.rb @@ -1,5 +1,5 @@ $: << File.join(File.dirname(__FILE__), '..') -$: << File.join(File.dirname(__FILE__), '..', '..', 'lib', 'phonegap') +$: << File.join(File.dirname(__FILE__), '..', '..', 'lib', 'cordova') require 'spec_helpers' require 'add_title' require 'nokogiri' # Nokogiri may not be the best way to test this suite. Any thoughts? http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/spec/phonegap/prettify_spec.rb ---------------------------------------------------------------------- diff --git a/spec/phonegap/prettify_spec.rb b/spec/phonegap/prettify_spec.rb index b9564e4..b31cb51 100644 --- a/spec/phonegap/prettify_spec.rb +++ b/spec/phonegap/prettify_spec.rb @@ -1,5 +1,5 @@ $: << File.join(File.dirname(__FILE__), '..', '..', 'lib') -$: << File.join(File.dirname(__FILE__), '..', '..', 'lib', 'phonegap') +$: << File.join(File.dirname(__FILE__), '..', '..', 'lib', 'cordova') require 'prettify' require 'spec_helpers' http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/spec/phonegap/table_of_contents_spec.rb ---------------------------------------------------------------------- diff --git a/spec/phonegap/table_of_contents_spec.rb b/spec/phonegap/table_of_contents_spec.rb index 205f808..2105672 100644 --- a/spec/phonegap/table_of_contents_spec.rb +++ b/spec/phonegap/table_of_contents_spec.rb @@ -1,5 +1,5 @@ $: << File.join(File.dirname(__FILE__), '..', '..', 'lib') -$: << File.join(File.dirname(__FILE__), '..', '..', 'lib', 'phonegap') +$: << File.join(File.dirname(__FILE__), '..', '..', 'lib', 'cordova') require 'table_of_contents' require 'spec_helpers' http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/21e511f7/spec/spec_helpers.rb ---------------------------------------------------------------------- diff --git a/spec/spec_helpers.rb b/spec/spec_helpers.rb index 23aa3a1..da9952a 100644 --- a/spec/spec_helpers.rb +++ b/spec/spec_helpers.rb @@ -1,5 +1,5 @@ $:.unshift File.join(File.dirname(__FILE__), '..', 'lib') -$:.unshift File.join(File.dirname(__FILE__), '..', 'lib', 'phonegap') +$:.unshift File.join(File.dirname(__FILE__), '..', 'lib', 'cordova') require 'file_helpers' require 'fileutils'