You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by he...@apache.org on 2012/04/05 21:02:11 UTC
[12/38] docs commit: Update lib/ references from Cordova to PhoneGap.
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 <mi...@michaelbrooks.ca>
Authored: Thu Mar 29 15:24:56 2012 -0700
Committer: hermwong <he...@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'