ymdp 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. data/Gemfile +2 -1
  2. data/VERSION +1 -1
  3. data/doc/ActionView.html +175 -0
  4. data/doc/ActionView/Helpers.html +175 -0
  5. data/doc/ActionView/Helpers/TagHelper.html +439 -0
  6. data/doc/Application.html +295 -0
  7. data/doc/LICENSE.html +158 -0
  8. data/doc/Object.html +218 -0
  9. data/doc/README_rdoc.html +147 -0
  10. data/doc/YMDP.html +232 -0
  11. data/doc/YMDP/ApplicationView.html +563 -0
  12. data/doc/YMDP/AssetTagHelper.html +235 -0
  13. data/doc/YMDP/Base.html +560 -0
  14. data/doc/YMDP/Compiler.html +178 -0
  15. data/doc/YMDP/Compiler/Base.html +1181 -0
  16. data/doc/YMDP/Compiler/Domains.html +493 -0
  17. data/doc/YMDP/Compiler/Options.html +265 -0
  18. data/doc/YMDP/Compiler/Template.html +175 -0
  19. data/doc/YMDP/Compiler/Template/Base.html +911 -0
  20. data/doc/YMDP/Compiler/Template/CoffeeScript.html +236 -0
  21. data/doc/YMDP/Compiler/Template/JavaScript.html +237 -0
  22. data/doc/YMDP/Compiler/Template/View.html +495 -0
  23. data/doc/YMDP/Compiler/Template/YRB.html +469 -0
  24. data/doc/YMDP/Configuration.html +175 -0
  25. data/doc/YMDP/Configuration/Base.html +426 -0
  26. data/doc/YMDP/Configuration/Config.html +553 -0
  27. data/doc/YMDP/Configuration/Servers.html +265 -0
  28. data/doc/YMDP/Configuration/Setter.html +580 -0
  29. data/doc/YMDP/FormTagHelper.html +298 -0
  30. data/doc/YMDP/GitHelper.html +298 -0
  31. data/doc/YMDP/LinkTagHelper.html +299 -0
  32. data/doc/YMDP/View.html +239 -0
  33. data/doc/created.rid +18 -0
  34. data/doc/images/add.png +0 -0
  35. data/doc/images/brick.png +0 -0
  36. data/doc/images/brick_link.png +0 -0
  37. data/doc/images/bug.png +0 -0
  38. data/doc/images/bullet_black.png +0 -0
  39. data/doc/images/bullet_toggle_minus.png +0 -0
  40. data/doc/images/bullet_toggle_plus.png +0 -0
  41. data/doc/images/date.png +0 -0
  42. data/doc/images/delete.png +0 -0
  43. data/doc/images/find.png +0 -0
  44. data/doc/images/loadingAnimation.gif +0 -0
  45. data/doc/images/macFFBgHack.png +0 -0
  46. data/doc/images/package.png +0 -0
  47. data/doc/images/page_green.png +0 -0
  48. data/doc/images/page_white_text.png +0 -0
  49. data/doc/images/page_white_width.png +0 -0
  50. data/doc/images/plugin.png +0 -0
  51. data/doc/images/ruby.png +0 -0
  52. data/doc/images/tag_blue.png +0 -0
  53. data/doc/images/tag_green.png +0 -0
  54. data/doc/images/transparent.png +0 -0
  55. data/doc/images/wrench.png +0 -0
  56. data/doc/images/wrench_orange.png +0 -0
  57. data/doc/images/zoom.png +0 -0
  58. data/doc/index.html +134 -0
  59. data/doc/js/darkfish.js +153 -0
  60. data/doc/js/jquery.js +18 -0
  61. data/doc/js/navigation.js +142 -0
  62. data/doc/js/search.js +94 -0
  63. data/doc/js/search_index.js +1 -0
  64. data/doc/js/searcher.js +228 -0
  65. data/doc/rdoc.css +543 -0
  66. data/doc/table_of_contents.html +401 -0
  67. data/lib/ymdp/compiler/template.rb +5 -1
  68. data/lib/ymdp/view/application_view.rb +10 -5
  69. data/ymdp.gemspec +69 -2
  70. metadata +120 -42
@@ -0,0 +1,94 @@
1
+ Search = function(data, input, result) {
2
+ this.data = data;
3
+ this.$input = $(input);
4
+ this.$result = $(result);
5
+
6
+ this.$current = null;
7
+ this.$view = this.$result.parent();
8
+ this.searcher = new Searcher(data.index);
9
+ this.init();
10
+ }
11
+
12
+ Search.prototype = $.extend({}, Navigation, new function() {
13
+ var suid = 1;
14
+
15
+ this.init = function() {
16
+ var _this = this;
17
+ var observer = function() {
18
+ _this.search(_this.$input[0].value);
19
+ };
20
+ this.$input.keyup(observer);
21
+ this.$input.click(observer); // mac's clear field
22
+
23
+ this.searcher.ready(function(results, isLast) {
24
+ _this.addResults(results, isLast);
25
+ })
26
+
27
+ this.initNavigation();
28
+ this.setNavigationActive(false);
29
+ }
30
+
31
+ this.search = function(value, selectFirstMatch) {
32
+ value = jQuery.trim(value).toLowerCase();
33
+ if (value) {
34
+ this.setNavigationActive(true);
35
+ } else {
36
+ this.setNavigationActive(false);
37
+ }
38
+
39
+ if (value == '') {
40
+ this.lastQuery = value;
41
+ this.$result.empty();
42
+ this.setNavigationActive(false);
43
+ } else if (value != this.lastQuery) {
44
+ this.lastQuery = value;
45
+ this.firstRun = true;
46
+ this.searcher.find(value);
47
+ }
48
+ }
49
+
50
+ this.addResults = function(results, isLast) {
51
+ var target = this.$result.get(0);
52
+ if (this.firstRun && (results.length > 0 || isLast)) {
53
+ this.$current = null;
54
+ this.$result.empty();
55
+ }
56
+
57
+ for (var i=0, l = results.length; i < l; i++) {
58
+ target.appendChild(this.renderItem.call(this, results[i]));
59
+ };
60
+
61
+ if (this.firstRun && results.length > 0) {
62
+ this.firstRun = false;
63
+ this.$current = $(target.firstChild);
64
+ this.$current.addClass('current');
65
+ }
66
+ if (jQuery.browser.msie) this.$element[0].className += '';
67
+ }
68
+
69
+ this.move = function(isDown) {
70
+ if (!this.$current) return;
71
+ var $next = this.$current[isDown ? 'next' : 'prev']();
72
+ if ($next.length) {
73
+ this.$current.removeClass('current');
74
+ $next.addClass('current');
75
+ this.scrollIntoView($next[0], this.$view[0]);
76
+ this.$current = $next;
77
+ }
78
+ return true;
79
+ }
80
+
81
+ this.hlt = function(html) {
82
+ return this.escapeHTML(html).
83
+ replace(/\u0001/g, '<em>').
84
+ replace(/\u0002/g, '</em>');
85
+ }
86
+
87
+ this.escapeHTML = function(html) {
88
+ return html.replace(/[&<>]/g, function(c) {
89
+ return '&#' + c.charCodeAt(0) + ';';
90
+ });
91
+ }
92
+
93
+ });
94
+
@@ -0,0 +1 @@
1
+ var search_data = {"index":{"searchIndex":["actionview","helpers","taghelper","application","object","ymdp","applicationview","assettaghelper","base","compiler","base","domains","options","template","base","coffeescript","javascript","view","yrb","configuration","base","config","servers","setter","formtaghelper","githelper","linktaghelper","view","[]()","add_content_variable()","add_path()","all_domains()","app_path()","assets_path()","base_filename()","base_filename()","base_path()","base_path()","build()","build?()","build_file()","cdata_section()","clean_domain()","clean_tmp_dir()","combo()","commit()","compile()","compress?()","config_path()","configuration()","configuration()","configure()","content_tag()","content_variables()","convert_filename()","copy_auth()","copy_config()","copy_config_files()","copy_images()","create_directory()","current_view()","current_view=()","current_view?()","destination()","destination_path()","destination_path()","directory()","display_path()","display_path()","do_commit()","each()","english_languages()","escape_once()","exists?()","file_not_found()","get_current_branch()","get_hash()","growl?()","image_tag()","images_path()","include_firebug_lite()","javascript_include()","jquery()","label()","layout?()","link_to()","link_to_function()","link_to_unless_current()","load_content_variables()","log()","new()","new()","new()","new()","new()","new()","new()","obfuscate?()","options()","parse()","partial?()","partial?()","password()","password_field()","paths()","process_all()","process_all_files()","process_all_translations()","process_coffee()","process_domains()","process_each_yrb()","process_haml()","process_path()","process_template()","process_template()","processed_template()","processed_template()","prototype()","render()","server_path()","servers()","servers()","servers_path()","servers_path()","set_content_variables()","supported_languages()","tag()","text_field()","to_hash()","to_json()","to_yaml()","username()","validate()","validate_embedded_js?()","validate_html?()","validate_js_assets?()","validate_json_assets?()","validator()","verbose()","verbose?()","verbose?()","write_template()","write_template()","write_template()","write_template()","write_template_with_layout()","write_template_without_layout()","yrb()","yrb_path()","license","readme"],"longSearchIndex":["actionview","actionview::helpers","actionview::helpers::taghelper","application","object","ymdp","ymdp::applicationview","ymdp::assettaghelper","ymdp::base","ymdp::compiler","ymdp::compiler::base","ymdp::compiler::domains","ymdp::compiler::options","ymdp::compiler::template","ymdp::compiler::template::base","ymdp::compiler::template::coffeescript","ymdp::compiler::template::javascript","ymdp::compiler::template::view","ymdp::compiler::template::yrb","ymdp::configuration","ymdp::configuration::base","ymdp::configuration::config","ymdp::configuration::servers","ymdp::configuration::setter","ymdp::formtaghelper","ymdp::githelper","ymdp::linktaghelper","ymdp::view","ymdp::configuration::base#[]()","ymdp::configuration::setter#add_content_variable()","ymdp::configuration::setter#add_path()","ymdp::compiler::domains#all_domains()","ymdp::compiler::base#app_path()","ymdp::compiler::base#assets_path()","ymdp::compiler::template::base#base_filename()","ymdp::compiler::template::view#base_filename()","ymdp::base#base_path()","ymdp::base::base_path()","ymdp::compiler::template::base#build()","ymdp::compiler::base#build?()","ymdp::compiler::base#build_file()","actionview::helpers::taghelper#cdata_section()","ymdp::compiler::base#clean_domain()","ymdp::compiler::domains#clean_tmp_dir()","ymdp::applicationview#combo()","ymdp::compiler::domains#commit()","ymdp::compiler::domains#compile()","ymdp::configuration::config#compress?()","ymdp::compiler::base#config_path()","ymdp::base::configuration()","ymdp::base#configuration()","ymdp::base::configure()","actionview::helpers::taghelper#content_tag()","ymdp::base#content_variables()","ymdp::compiler::template::view#convert_filename()","ymdp::compiler::base#copy_auth()","ymdp::compiler::base#copy_config()","ymdp::compiler::base#copy_config_files()","ymdp::compiler::base#copy_images()","ymdp::compiler::base#create_directory()","application::current_view()","application::current_view=()","application::current_view?()","ymdp::compiler::base#destination()","ymdp::compiler::template::base#destination_path()","ymdp::compiler::template::yrb#destination_path()","ymdp::compiler::template::yrb#directory()","ymdp::base#display_path()","ymdp::base::display_path()","ymdp::githelper#do_commit()","ymdp::configuration::base#each()","ymdp::applicationview#english_languages()","actionview::helpers::taghelper#escape_once()","ymdp::configuration::base#exists?()","ymdp::configuration::base#file_not_found()","ymdp::githelper#get_current_branch()","ymdp::githelper#get_hash()","ymdp::configuration::config#growl?()","ymdp::assettaghelper#image_tag()","ymdp::compiler::base#images_path()","ymdp::applicationview#include_firebug_lite()","ymdp::applicationview#javascript_include()","ymdp::configuration::setter#jquery()","ymdp::formtaghelper#label()","ymdp::compiler::base#layout?()","ymdp::linktaghelper#link_to()","ymdp::linktaghelper#link_to_function()","ymdp::linktaghelper#link_to_unless_current()","ymdp::configuration::setter#load_content_variables()","ymdp::compiler::base#log()","ymdp::compiler::base::new()","ymdp::compiler::domains::new()","ymdp::compiler::template::base::new()","ymdp::configuration::base::new()","ymdp::configuration::config::new()","ymdp::configuration::servers::new()","ymdp::view::new()","ymdp::configuration::config#obfuscate?()","ymdp::configuration::base#options()","ymdp::compiler::options::parse()","ymdp::compiler::base#partial?()","ymdp::compiler::template::base#partial?()","ymdp::configuration::config#password()","ymdp::formtaghelper#password_field()","ymdp::base#paths()","ymdp::compiler::base#process_all()","ymdp::compiler::base#process_all_files()","ymdp::compiler::base#process_all_translations()","ymdp::compiler::template::view#process_coffee()","ymdp::compiler::domains#process_domains()","ymdp::compiler::base#process_each_yrb()","ymdp::compiler::template::view#process_haml()","ymdp::compiler::base#process_path()","ymdp::compiler::template::base#process_template()","ymdp::compiler::template::view#process_template()","ymdp::compiler::template::base#processed_template()","ymdp::compiler::template::yrb#processed_template()","ymdp::configuration::setter#prototype()","ymdp::applicationview#render()","ymdp::compiler::template::base#server_path()","ymdp::base#servers()","ymdp::configuration::servers#servers()","ymdp::compiler::base#servers_path()","ymdp::compiler::template::base#servers_path()","ymdp::compiler::template::base#set_content_variables()","ymdp::applicationview#supported_languages()","actionview::helpers::taghelper#tag()","ymdp::formtaghelper#text_field()","ymdp::compiler::template::yrb#to_hash()","ymdp::compiler::template::yrb#to_json()","ymdp::compiler::template::yrb#to_yaml()","ymdp::configuration::config#username()","ymdp::compiler::template::yrb#validate()","ymdp::configuration::config#validate_embedded_js?()","ymdp::configuration::config#validate_html?()","ymdp::configuration::config#validate_js_assets?()","ymdp::configuration::config#validate_json_assets?()","ymdp::compiler::template::view#validator()","ymdp::compiler::template::base#verbose()","ymdp::compiler::template::base#verbose?()","ymdp::configuration::config#verbose?()","ymdp::compiler::template::base#write_template()","ymdp::compiler::template::coffeescript#write_template()","ymdp::compiler::template::javascript#write_template()","ymdp::compiler::template::view#write_template()","ymdp::compiler::template::base#write_template_with_layout()","ymdp::compiler::template::base#write_template_without_layout()","ymdp::compiler::template::yrb#yrb()","ymdp::compiler::base#yrb_path()","",""],"info":[["ActionView","","ActionView.html","",""],["ActionView::Helpers","","ActionView/Helpers.html","",""],["ActionView::Helpers::TagHelper","","ActionView/Helpers/TagHelper.html","","<p>Provides methods to generate HTML tags programmatically when you can’t\nuse a Builder. By default, they …\n"],["Application","","Application.html","","<p>Provides an interface for helper methods to know which view is being\nrendered so they can branch conditionally. …\n"],["Object","","Object.html","",""],["YMDP","","YMDP.html","","<p>Compiles the source code for an individual domain.\n<p>Examples\n\n<pre>@compiler = YMDP::Compiler::Base.new('staging', ...</pre>\n"],["YMDP::ApplicationView","","YMDP/ApplicationView.html","","<p>Contains all the functions which are available from inside a view file,\nwhether that view is HTML, JavaScript …\n"],["YMDP::AssetTagHelper","","YMDP/AssetTagHelper.html","",""],["YMDP::Base","","YMDP/Base.html","","<p>Defines the global configuration options for all YMDP classes. This is the\nclass that knows about local …\n"],["YMDP::Compiler","","YMDP/Compiler.html","",""],["YMDP::Compiler::Base","","YMDP/Compiler/Base.html","",""],["YMDP::Compiler::Domains","","YMDP/Compiler/Domains.html","","<p>Covers all the domains and the actions that are taken on all domains at\nonce.\n"],["YMDP::Compiler::Options","","YMDP/Compiler/Options.html","","<p>Command-line options processor for Compiler module.\n"],["YMDP::Compiler::Template","","YMDP/Compiler/Template.html","",""],["YMDP::Compiler::Template::Base","","YMDP/Compiler/Template/Base.html","","<p>Process source files into usable code.\n<p>Source files can be HTML, Haml, ERB, JavaScript, or CSS files. …\n"],["YMDP::Compiler::Template::CoffeeScript","","YMDP/Compiler/Template/CoffeeScript.html","",""],["YMDP::Compiler::Template::JavaScript","","YMDP/Compiler/Template/JavaScript.html","","<p>Process templates for JavaScript files.\n<p>JavaScript files support ERB tags.\n"],["YMDP::Compiler::Template::View","","YMDP/Compiler/Template/View.html","",""],["YMDP::Compiler::Template::YRB","","YMDP/Compiler/Template/YRB.html","","<p>Process Yahoo! Resource Bundle format translation files.\n<p>Convert them to a hash and write the hash to …\n"],["YMDP::Configuration","","YMDP/Configuration.html","",""],["YMDP::Configuration::Base","","YMDP/Configuration/Base.html","",""],["YMDP::Configuration::Config","","YMDP/Configuration/Config.html","",""],["YMDP::Configuration::Servers","","YMDP/Configuration/Servers.html","",""],["YMDP::Configuration::Setter","","YMDP/Configuration/Setter.html","","<p>Provides an interface to set global configuration variables inside a block.\n<p>Used by the YMDP::Base <code>configure</code> …\n"],["YMDP::FormTagHelper","","YMDP/FormTagHelper.html","",""],["YMDP::GitHelper","","YMDP/GitHelper.html","",""],["YMDP::LinkTagHelper","","YMDP/LinkTagHelper.html","",""],["YMDP::View","","YMDP/View.html","",""],["[]","YMDP::Configuration::Base","YMDP/Configuration/Base.html#method-i-5B-5D","(key)",""],["add_content_variable","YMDP::Configuration::Setter","YMDP/Configuration/Setter.html#method-i-add_content_variable","(name, value)","<p>Adds an entry to the <code>content_variables</code> hash.\n"],["add_path","YMDP::Configuration::Setter","YMDP/Configuration/Setter.html#method-i-add_path","(name, value)","<p>Adds an entry to the <code>paths</code> hash.\n"],["all_domains","YMDP::Compiler::Domains","YMDP/Compiler/Domains.html#method-i-all_domains","()","<p>Returns all domains.\n"],["app_path","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-app_path","()",""],["assets_path","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-assets_path","()",""],["base_filename","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-base_filename","(filename)",""],["base_filename","YMDP::Compiler::Template::View","YMDP/Compiler/Template/View.html#method-i-base_filename","(filename)","<p>Filename without its extension:\n<p>“authorize.html.haml” becomes “authorize”\n\n"],["base_path","YMDP::Base","YMDP/Base.html#method-i-base_path","()",""],["base_path","YMDP::Base","YMDP/Base.html#method-c-base_path","()",""],["build","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-build","()","<p>Compile this view unless it is a partial.\n"],["build?","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-build-3F","(file)","<p>Build if it’s not a partial and not a layout.\n"],["build_file","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-build_file","(file)","<p>Build this file if it’s either:\n<p>a view, but not a partial or layout, or\n<p>a JavaScript file.\n"],["cdata_section","ActionView::Helpers::TagHelper","ActionView/Helpers/TagHelper.html#method-i-cdata_section","(content)","<p>Returns a CDATA section with the given <code>content</code>. CDATA\nsections are used to escape blocks of text containing …\n"],["clean_domain","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-clean_domain","()","<p>Creates a fresh destination directory structure for the code to be compiled\ninto.\n"],["clean_tmp_dir","YMDP::Compiler::Domains","YMDP/Compiler/Domains.html#method-i-clean_tmp_dir","()","<p>Perform a block, starting with a clean ‘tmp’ directory and ending with\none.\n"],["combo","YMDP::ApplicationView","YMDP/ApplicationView.html#method-i-combo","(filenames, options={})",""],["commit","YMDP::Compiler::Domains","YMDP/Compiler/Domains.html#method-i-commit","()","<p>Commit to git and store the hash of the commit.\n"],["compile","YMDP::Compiler::Domains","YMDP/Compiler/Domains.html#method-i-compile","()","<p>Compile the source code for all domains into their usable destination\nfiles.\n"],["compress?","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-compress-3F","()",""],["config_path","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-config_path","()",""],["configuration","YMDP::Base","YMDP/Base.html#method-c-configuration","()",""],["configuration","YMDP::Base","YMDP/Base.html#method-i-configuration","()",""],["configure","YMDP::Base","YMDP/Base.html#method-c-configure","()","<p>Configures global YMDP settings. Sends a YMDP::Configuration::Setter\ninstance to the block, which is …\n"],["content_tag","ActionView::Helpers::TagHelper","ActionView/Helpers/TagHelper.html#method-i-content_tag","(name, content_or_options_with_block = nil, options = nil, escape = true, &block)","<p>Returns an HTML block tag of type <code>name</code> surrounding the\n<code>content</code>. Add HTML attributes by passing an attributes …\n"],["content_variables","YMDP::Base","YMDP/Base.html#method-i-content_variables","()",""],["convert_filename","YMDP::Compiler::Template::View","YMDP/Compiler/Template/View.html#method-i-convert_filename","(filename)","<p>Filename without its extension:\n<p>“authorize.html.haml” becomes “authorize”\n\n"],["copy_auth","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-copy_auth","()",""],["copy_config","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-copy_config","()",""],["copy_config_files","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-copy_config_files","()","<p>Copy the appropriate version of the configuration files (config.xml,\nauth.xml) into the compiled source …\n"],["copy_images","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-copy_images","()","<p>Images don’t require any processing, just copy them over into this\ndomain’s assets directory.\n"],["create_directory","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-create_directory","(path)","<p>If this directory doesn’t exist, create it and print that it’s being\ncreated.\n"],["current_view","Application","Application.html#method-c-current_view","()","<p>Returns the name of the current view.\n"],["current_view=","Application","Application.html#method-c-current_view-3D","(view)","<p>Sets the name of the current view.\n"],["current_view?","Application","Application.html#method-c-current_view-3F","(view)","<p>Returns true if <code>view</code> is the current view which is being\nrendered.\n"],["destination","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-destination","(path)","<p>Convert a file’s path from its source to its destination.\n<p>The source directory is in the ‘app’ directory. …\n"],["destination_path","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-destination_path","()","<p>Produces the destination path of this template, in the servers directory\nfor the given domain.\n<p>Examples …\n"],["destination_path","YMDP::Compiler::Template::YRB","YMDP/Compiler/Template/YRB.html#method-i-destination_path","()","<p>The destination of the compiled JSON file.\n"],["directory","YMDP::Compiler::Template::YRB","YMDP/Compiler/Template/YRB.html#method-i-directory","()","<p>Base directory for translations for this domain.\n"],["display_path","YMDP::Base","YMDP/Base.html#method-i-display_path","(path)",""],["display_path","YMDP::Base","YMDP/Base.html#method-c-display_path","(path)","<p>Parses out the <code>base_path</code> setting from a path to display it in\na less verbose way.\n"],["do_commit","YMDP::GitHelper","YMDP/GitHelper.html#method-i-do_commit","(message)",""],["each","YMDP::Configuration::Base","YMDP/Configuration/Base.html#method-i-each","()",""],["english_languages","YMDP::ApplicationView","YMDP/ApplicationView.html#method-i-english_languages","()","<p>Returns an array of country codes of English-speaking countries supported\nby the application, based on …\n"],["escape_once","ActionView::Helpers::TagHelper","ActionView/Helpers/TagHelper.html#method-i-escape_once","(html)","<p>Returns an escaped version of <code>html</code> without affecting existing\nescaped entities.\n<p>Examples\n\n<pre>escape_once(&quot;1 ...</pre>\n"],["exists?","YMDP::Configuration::Base","YMDP/Configuration/Base.html#method-i-exists-3F","(*args)",""],["file_not_found","YMDP::Configuration::Base","YMDP/Configuration/Base.html#method-i-file_not_found","(filename)",""],["get_current_branch","YMDP::GitHelper","YMDP/GitHelper.html#method-i-get_current_branch","()",""],["get_hash","YMDP::GitHelper","YMDP/GitHelper.html#method-i-get_hash","(branch)",""],["growl?","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-growl-3F","()",""],["image_tag","YMDP::AssetTagHelper","YMDP/AssetTagHelper.html#method-i-image_tag","(source, options = {})",""],["images_path","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-images_path","()",""],["include_firebug_lite","YMDP::ApplicationView","YMDP/ApplicationView.html#method-i-include_firebug_lite","()","<p>Renders a link to include Firebug Lite for debugging JavaScript in Internet\nExplorer.\n"],["javascript_include","YMDP::ApplicationView","YMDP/ApplicationView.html#method-i-javascript_include","(filename, options={})","<p>Includes a JavaScript file in a view. If the filename is a full path, the \nJavaScript file will be linked …\n"],["jquery","YMDP::Configuration::Setter","YMDP/Configuration/Setter.html#method-i-jquery","()",""],["label","YMDP::FormTagHelper","YMDP/FormTagHelper.html#method-i-label","(name, content_or_options = nil, options = {})",""],["layout?","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-layout-3F","(file)","<p>A file in the layouts directory is a layout.\n"],["link_to","YMDP::LinkTagHelper","YMDP/LinkTagHelper.html#method-i-link_to","(text, url_or_view, options={})",""],["link_to_function","YMDP::LinkTagHelper","YMDP/LinkTagHelper.html#method-i-link_to_function","(text, function, options={})",""],["link_to_unless_current","YMDP::LinkTagHelper","YMDP/LinkTagHelper.html#method-i-link_to_unless_current","(text, url_or_view, options={})",""],["load_content_variables","YMDP::Configuration::Setter","YMDP/Configuration/Setter.html#method-i-load_content_variables","(filename)","<p>Loads the <code>content_variables</code> hash from a Yaml file.\n"],["log","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-log","(text)","<p>Format text in a standard way for output to the screen.\n"],["new","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-c-new","(domain, git_hash, options={})","<p>A TemplateCompiler instance covers a single domain, handling all the\nprocessing necessary to convert …\n"],["new","YMDP::Compiler::Domains","YMDP/Compiler/Domains.html#method-c-new","(options=nil)",""],["new","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-c-new","(params)",""],["new","YMDP::Configuration::Base","YMDP/Configuration/Base.html#method-c-new","(filename, base)",""],["new","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-c-new","()",""],["new","YMDP::Configuration::Servers","YMDP/Configuration/Servers.html#method-c-new","()",""],["new","YMDP::View","YMDP/View.html#method-c-new","(assets_directory)",""],["obfuscate?","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-obfuscate-3F","()",""],["options","YMDP::Configuration::Base","YMDP/Configuration/Base.html#method-i-options","(*args)",""],["parse","YMDP::Compiler::Options","YMDP/Compiler/Options.html#method-c-parse","()","<p>Parse command line options into an options hash.\n"],["partial?","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-partial-3F","(file)","<p>A filename beginning with an underscore is a partial.\n"],["partial?","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-partial-3F","()","<p>If the filename begins with a <code>_</code> it’s a partial.\n"],["password","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-password","()",""],["password_field","YMDP::FormTagHelper","YMDP/FormTagHelper.html#method-i-password_field","(name, options={})",""],["paths","YMDP::Base","YMDP/Base.html#method-i-paths","()","<p>Returns the paths definition hash as an instance variable, making it\navailable to instances of any class …\n"],["process_all","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-process_all","()","<p>Perform all the processing for a single domain.\n<p>This is the main method on this object.\n"],["process_all_files","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-process_all_files","(path)","<p>Process all code files (HTML and JavaScript) into usable, complete HTML\nfiles.\n"],["process_all_translations","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-process_all_translations","()","<p>Convert all YRB translation files from YRB “.pres” format into a single\nJSON file per language. …\n"],["process_coffee","YMDP::Compiler::Template::View","YMDP/Compiler/Template/View.html#method-i-process_coffee","(template, filename=nil)",""],["process_domains","YMDP::Compiler::Domains","YMDP/Compiler/Domains.html#method-i-process_domains","()","<p>Process source code for each domain in turn.\n"],["process_each_yrb","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-process_each_yrb","(lang)","<p>Convert the YRB translation files of a single language for this domain into\na single JSON file.\n"],["process_haml","YMDP::Compiler::Template::View","YMDP/Compiler/Template/View.html#method-i-process_haml","(template, filename=nil)","<p>Process this template with Haml.\n"],["process_path","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-process_path","(path)","<p>Do all the processing necessary to convert all the application source code\nfrom the given path into usable …\n"],["process_template","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-process_template","(template)","<p>Implemented in child classes, this defines what must be done to process a\ntemplate.\n"],["process_template","YMDP::Compiler::Template::View","YMDP/Compiler/Template/View.html#method-i-process_template","(template)","<p>Process this template with ERB.\n"],["processed_template","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-processed_template","()","<p>Returns the compiled template code after its Haml or ERB has been\nprocessed.\n"],["processed_template","YMDP::Compiler::Template::YRB","YMDP/Compiler/Template/YRB.html#method-i-processed_template","()","<p>This function is the file which is written to the destination–in this\ncase, the JSON file.\n"],["prototype","YMDP::Configuration::Setter","YMDP/Configuration/Setter.html#method-i-prototype","()",""],["render","YMDP::ApplicationView","YMDP/ApplicationView.html#method-i-render","(params)","<p>Renders a partial into the current view. HTML partial names must be\npreceded with an underscore.\n<p>Rendering …\n"],["server_path","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-server_path","()","<p>Path to the servers directory for the current domain.\n"],["servers","YMDP::Base","YMDP/Base.html#method-i-servers","()","<p>Returns the server definition hash as an instance variable, making it\navailable to instances of any class …\n"],["servers","YMDP::Configuration::Servers","YMDP/Configuration/Servers.html#method-i-servers","()",""],["servers_path","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-servers_path","()",""],["servers_path","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-servers_path","()",""],["set_content_variables","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-set_content_variables","()","<p>Parsed from the file ‘content.yml’ each of its keys is added to the\nenvironment as an instance variable, …\n"],["supported_languages","YMDP::ApplicationView","YMDP/ApplicationView.html#method-i-supported_languages","()","<p>Returns an array of the country codes of all languages supported by the\napplication, which is determined …\n"],["tag","ActionView::Helpers::TagHelper","ActionView/Helpers/TagHelper.html#method-i-tag","(name, options = nil, open = false, escape = true)","<p>Returns an empty HTML tag of type <code>name</code> which by default is\nXHTML compliant. Set <code>open</code> to true to create …\n"],["text_field","YMDP::FormTagHelper","YMDP/FormTagHelper.html#method-i-text_field","(name, options={})",""],["to_hash","YMDP::Compiler::Template::YRB","YMDP/Compiler/Template/YRB.html#method-i-to_hash","()","<p>Turn it back into a hash.\n"],["to_json","YMDP::Compiler::Template::YRB","YMDP/Compiler/Template/YRB.html#method-i-to_json","()","<p>JSON values of the compiled translations.\n"],["to_yaml","YMDP::Compiler::Template::YRB","YMDP/Compiler/Template/YRB.html#method-i-to_yaml","()","<p>Convert the hash to Yaml if you should want to do that.\n"],["username","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-username","()",""],["validate","YMDP::Compiler::Template::YRB","YMDP/Compiler/Template/YRB.html#method-i-validate","()","<p>Validate the JSON file.\n"],["validate_embedded_js?","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-validate_embedded_js-3F","()",""],["validate_html?","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-validate_html-3F","()",""],["validate_js_assets?","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-validate_js_assets-3F","()",""],["validate_json_assets?","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-validate_json_assets-3F","()",""],["validator","YMDP::Compiler::Template::View","YMDP/Compiler/Template/View.html#method-i-validator","()",""],["verbose","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-verbose","(message)","<p>Outputs a message if @verbose is on.\n"],["verbose?","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-verbose-3F","()","<p>Is the verbose setting on?\n"],["verbose?","YMDP::Configuration::Config","YMDP/Configuration/Config.html#method-i-verbose-3F","()",""],["write_template","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-write_template","(result)","<p>Write this processed template to its destination file.\n<p>Overwrite this method in child class to define …\n"],["write_template","YMDP::Compiler::Template::CoffeeScript","YMDP/Compiler/Template/CoffeeScript.html#method-i-write_template","(result)","<p>Compile CoffeeScript into JavaScript and write it\n"],["write_template","YMDP::Compiler::Template::JavaScript","YMDP/Compiler/Template/JavaScript.html#method-i-write_template","(result)","<p>Write the processed template without any layout.\n<p>Run the JavaScript compressor on the file if that option …\n"],["write_template","YMDP::Compiler::Template::View","YMDP/Compiler/Template/View.html#method-i-write_template","(result)","<p>Write this template with the application layout applied.\n<p>Validate the resulting HTML file if that option …\n"],["write_template_with_layout","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-write_template_with_layout","(result)","<p>Writes the input string to the destination file, passing it through the\napplication template.\n<p>The application …\n"],["write_template_without_layout","YMDP::Compiler::Template::Base","YMDP/Compiler/Template/Base.html#method-i-write_template_without_layout","(result)","<p>Writes the input string to the destination file without adding any layout.\n"],["yrb","YMDP::Compiler::Template::YRB","YMDP/Compiler/Template/YRB.html#method-i-yrb","()","<p>Parse YRB file\n"],["yrb_path","YMDP::Compiler::Base","YMDP/Compiler/Base.html#method-i-yrb_path","()",""],["LICENSE","","LICENSE.html","","<p>Copyright © 2010 Capital Thought\n<p>Permission is hereby granted, free of charge, to any person obtaining …\n"],["README","","README_rdoc.html","","<p>ymdp\n<p>Framework for developing applications in the Yahoo! Mail Development\nPlatform.\n<p>Copyright\n"]]}}
@@ -0,0 +1,228 @@
1
+ Searcher = function(data) {
2
+ this.data = data;
3
+ this.handlers = [];
4
+ }
5
+
6
+ Searcher.prototype = new function() {
7
+ // search is performed in chunks of 1000 for non-blocking user input
8
+ var CHUNK_SIZE = 1000;
9
+ // do not try to find more than 100 results
10
+ var MAX_RESULTS = 100;
11
+ var huid = 1;
12
+ var suid = 1;
13
+ var runs = 0;
14
+
15
+ this.find = function(query) {
16
+ var queries = splitQuery(query);
17
+ var regexps = buildRegexps(queries);
18
+ var highlighters = buildHilighters(queries);
19
+ var state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++};
20
+ var _this = this;
21
+
22
+ this.currentSuid = state.n;
23
+
24
+ if (!query) return;
25
+
26
+ var run = function() {
27
+ // stop current search thread if new search started
28
+ if (state.n != _this.currentSuid) return;
29
+
30
+ var results =
31
+ performSearch(_this.data, regexps, queries, highlighters, state);
32
+ var hasMore = (state.limit > 0 && state.pass < 4);
33
+
34
+ triggerResults.call(_this, results, !hasMore);
35
+ if (hasMore) {
36
+ setTimeout(run, 2);
37
+ }
38
+ runs++;
39
+ };
40
+ runs = 0;
41
+
42
+ // start search thread
43
+ run();
44
+ }
45
+
46
+ /* ----- Events ------ */
47
+ this.ready = function(fn) {
48
+ fn.huid = huid;
49
+ this.handlers.push(fn);
50
+ }
51
+
52
+ /* ----- Utilities ------ */
53
+ function splitQuery(query) {
54
+ return jQuery.grep(query.split(/(\s+|::?|\(\)?)/), function(string) {
55
+ return string.match(/\S/)
56
+ });
57
+ }
58
+
59
+ function buildRegexps(queries) {
60
+ return jQuery.map(queries, function(query) {
61
+ return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i')
62
+ });
63
+ }
64
+
65
+ function buildHilighters(queries) {
66
+ return jQuery.map(queries, function(query) {
67
+ return jQuery.map(query.split(''), function(l, i) {
68
+ return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2);
69
+ }).join('');
70
+ });
71
+ }
72
+
73
+ // function longMatchRegexp(index, longIndex, regexps) {
74
+ // for (var i = regexps.length - 1; i >= 0; i--){
75
+ // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false;
76
+ // };
77
+ // return true;
78
+ // }
79
+
80
+
81
+ /* ----- Mathchers ------ */
82
+
83
+ /*
84
+ * This record matches if the index starts with queries[0] and the record
85
+ * matches all of the regexps
86
+ */
87
+ function matchPassBeginning(index, longIndex, queries, regexps) {
88
+ if (index.indexOf(queries[0]) != 0) return false;
89
+ for (var i=1, l = regexps.length; i < l; i++) {
90
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
91
+ return false;
92
+ };
93
+ return true;
94
+ }
95
+
96
+ /*
97
+ * This record matches if the longIndex starts with queries[0] and the
98
+ * longIndex matches all of the regexps
99
+ */
100
+ function matchPassLongIndex(index, longIndex, queries, regexps) {
101
+ if (longIndex.indexOf(queries[0]) != 0) return false;
102
+ for (var i=1, l = regexps.length; i < l; i++) {
103
+ if (!longIndex.match(regexps[i]))
104
+ return false;
105
+ };
106
+ return true;
107
+ }
108
+
109
+ /*
110
+ * This record matches if the index contains queries[0] and the record
111
+ * matches all of the regexps
112
+ */
113
+ function matchPassContains(index, longIndex, queries, regexps) {
114
+ if (index.indexOf(queries[0]) == -1) return false;
115
+ for (var i=1, l = regexps.length; i < l; i++) {
116
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
117
+ return false;
118
+ };
119
+ return true;
120
+ }
121
+
122
+ /*
123
+ * This record matches if regexps[0] matches the index and the record
124
+ * matches all of the regexps
125
+ */
126
+ function matchPassRegexp(index, longIndex, queries, regexps) {
127
+ if (!index.match(regexps[0])) return false;
128
+ for (var i=1, l = regexps.length; i < l; i++) {
129
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
130
+ return false;
131
+ };
132
+ return true;
133
+ }
134
+
135
+
136
+ /* ----- Highlighters ------ */
137
+ function highlightRegexp(info, queries, regexps, highlighters) {
138
+ var result = createResult(info);
139
+ for (var i=0, l = regexps.length; i < l; i++) {
140
+ result.title = result.title.replace(regexps[i], highlighters[i]);
141
+ result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
142
+ };
143
+ return result;
144
+ }
145
+
146
+ function hltSubstring(string, pos, length) {
147
+ return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length);
148
+ }
149
+
150
+ function highlightQuery(info, queries, regexps, highlighters) {
151
+ var result = createResult(info);
152
+ var pos = 0;
153
+ var lcTitle = result.title.toLowerCase();
154
+
155
+ pos = lcTitle.indexOf(queries[0]);
156
+ if (pos != -1) {
157
+ result.title = hltSubstring(result.title, pos, queries[0].length);
158
+ }
159
+
160
+ result.namespace = result.namespace.replace(regexps[0], highlighters[0]);
161
+ for (var i=1, l = regexps.length; i < l; i++) {
162
+ result.title = result.title.replace(regexps[i], highlighters[i]);
163
+ result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
164
+ };
165
+ return result;
166
+ }
167
+
168
+ function createResult(info) {
169
+ var result = {};
170
+ result.title = info[0];
171
+ result.namespace = info[1];
172
+ result.path = info[2];
173
+ result.params = info[3];
174
+ result.snippet = info[4];
175
+ return result;
176
+ }
177
+
178
+ /* ----- Searching ------ */
179
+ function performSearch(data, regexps, queries, highlighters, state) {
180
+ var searchIndex = data.searchIndex;
181
+ var longSearchIndex = data.longSearchIndex;
182
+ var info = data.info;
183
+ var result = [];
184
+ var i = state.from;
185
+ var l = searchIndex.length;
186
+ var togo = CHUNK_SIZE;
187
+ var matchFunc, hltFunc;
188
+
189
+ while (state.pass < 4 && state.limit > 0 && togo > 0) {
190
+ if (state.pass == 0) {
191
+ matchFunc = matchPassBeginning;
192
+ hltFunc = highlightQuery;
193
+ } else if (state.pass == 1) {
194
+ matchFunc = matchPassLongIndex;
195
+ hltFunc = highlightQuery;
196
+ } else if (state.pass == 2) {
197
+ matchFunc = matchPassContains;
198
+ hltFunc = highlightQuery;
199
+ } else if (state.pass == 3) {
200
+ matchFunc = matchPassRegexp;
201
+ hltFunc = highlightRegexp;
202
+ }
203
+
204
+ for (; togo > 0 && i < l && state.limit > 0; i++, togo--) {
205
+ if (info[i].n == state.n) continue;
206
+ if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) {
207
+ info[i].n = state.n;
208
+ result.push(hltFunc(info[i], queries, regexps, highlighters));
209
+ state.limit--;
210
+ }
211
+ };
212
+ if (searchIndex.length <= i) {
213
+ state.pass++;
214
+ i = state.from = 0;
215
+ } else {
216
+ state.from = i;
217
+ }
218
+ }
219
+ return result;
220
+ }
221
+
222
+ function triggerResults(results, isLast) {
223
+ jQuery.each(this.handlers, function(i, fn) {
224
+ fn.call(this, results, isLast)
225
+ })
226
+ }
227
+ }
228
+
@@ -0,0 +1,543 @@
1
+ /*
2
+ * "Darkfish" Rdoc CSS
3
+ * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $
4
+ *
5
+ * Author: Michael Granger <ged@FaerieMUD.org>
6
+ *
7
+ */
8
+
9
+ /* Base Green is: #6C8C22 */
10
+
11
+ * { padding: 0; margin: 0; }
12
+
13
+ body {
14
+ background: #efefef;
15
+ font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif;
16
+ margin-left: 40px;
17
+ }
18
+ body.file-popup {
19
+ font-size: 90%;
20
+ margin-left: 0;
21
+ }
22
+
23
+ h1 {
24
+ font-size: 300%;
25
+ text-shadow: rgba(135,145,135,0.65) 2px 2px 3px;
26
+ color: #6C8C22;
27
+ }
28
+ h2,h3,h4 { margin-top: 1.5em; }
29
+
30
+ :link,
31
+ :visited {
32
+ color: #6C8C22;
33
+ text-decoration: none;
34
+ }
35
+ :link:hover,
36
+ :visited:hover {
37
+ border-bottom: 1px dotted #6C8C22;
38
+ }
39
+
40
+ pre {
41
+ background: #ddd;
42
+ padding: 0.5em 0;
43
+ }
44
+
45
+ /* @group Generic Classes */
46
+
47
+ .initially-hidden {
48
+ display: none;
49
+ }
50
+
51
+ #search-field {
52
+ width: 98%;
53
+ background: #eee;
54
+ border: none;
55
+ height: 1.5em;
56
+ -webkit-border-radius: 4px;
57
+ }
58
+ #search-field:focus {
59
+ background: #f1edba;
60
+ }
61
+ #search-field:-moz-placeholder,
62
+ #search-field::-webkit-input-placeholder {
63
+ font-weight: bold;
64
+ color: #666;
65
+ }
66
+
67
+ .missing-docs {
68
+ font-size: 120%;
69
+ background: white url(images/wrench_orange.png) no-repeat 4px center;
70
+ color: #ccc;
71
+ line-height: 2em;
72
+ border: 1px solid #d00;
73
+ opacity: 1;
74
+ padding-left: 20px;
75
+ text-indent: 24px;
76
+ letter-spacing: 3px;
77
+ font-weight: bold;
78
+ -webkit-border-radius: 5px;
79
+ -moz-border-radius: 5px;
80
+ }
81
+
82
+ .target-section {
83
+ border: 2px solid #dcce90;
84
+ border-left-width: 8px;
85
+ padding: 0 1em;
86
+ background: #fff3c2;
87
+ }
88
+
89
+ /* @end */
90
+
91
+ /* @group Index Page, Standalone file pages */
92
+ .indexpage ul {
93
+ line-height: 160%;
94
+ list-style: none;
95
+ }
96
+ .indexpage ul :link,
97
+ .indexpage ul :visited {
98
+ font-size: 16px;
99
+ }
100
+
101
+ .indexpage li {
102
+ padding-left: 20px;
103
+ }
104
+
105
+ .indexpage ul > li {
106
+ background: url(images/bullet_black.png) no-repeat left 4px;
107
+ }
108
+ .indexpage li.method {
109
+ background: url(images/plugin.png) no-repeat left 4px;
110
+ }
111
+ .indexpage li.module {
112
+ background: url(images/package.png) no-repeat left 4px;
113
+ }
114
+ .indexpage li.class {
115
+ background: url(images/ruby.png) no-repeat left 4px;
116
+ }
117
+ .indexpage li.file {
118
+ background: url(images/page_white_text.png) no-repeat left 4px;
119
+ }
120
+ .indexpage li li {
121
+ background: url(images/tag_blue.png) no-repeat left 4px;
122
+ }
123
+ .indexpage li .toc-toggle {
124
+ width: 16px;
125
+ height: 16px;
126
+ background: url(images/add.png) no-repeat;
127
+ }
128
+
129
+ .indexpage li .toc-toggle.open {
130
+ background: url(images/delete.png) no-repeat;
131
+ }
132
+
133
+ /* @end */
134
+
135
+ /* @group Top-Level Structure */
136
+
137
+ #metadata {
138
+ float: left;
139
+ width: 260px;
140
+ }
141
+
142
+ #documentation {
143
+ margin: 2em 1em 5em 300px;
144
+ min-width: 340px;
145
+ }
146
+
147
+ #validator-badges {
148
+ clear: both;
149
+ margin: 1em 1em 2em;
150
+ font-size: smaller;
151
+ }
152
+
153
+ /* @end */
154
+
155
+ /* @group Metadata Section */
156
+ #metadata .section {
157
+ background-color: #dedede;
158
+ -moz-border-radius: 5px;
159
+ -webkit-border-radius: 5px;
160
+ border: 1px solid #aaa;
161
+ margin: 0 8px 8px;
162
+ font-size: 90%;
163
+ overflow: hidden;
164
+ }
165
+ #metadata h3.section-header {
166
+ margin: 0;
167
+ padding: 2px 8px;
168
+ background: #ccc;
169
+ color: #666;
170
+ -moz-border-radius-topleft: 4px;
171
+ -moz-border-radius-topright: 4px;
172
+ -webkit-border-top-left-radius: 4px;
173
+ -webkit-border-top-right-radius: 4px;
174
+ border-bottom: 1px solid #aaa;
175
+ }
176
+ #metadata #home-section h3.section-header {
177
+ border-bottom: 0;
178
+ }
179
+
180
+ #metadata ul,
181
+ #metadata dl,
182
+ #metadata p {
183
+ padding: 8px;
184
+ list-style: none;
185
+ }
186
+
187
+ #file-metadata {
188
+ margin-top: 2em;
189
+ }
190
+
191
+ #file-metadata ul {
192
+ padding-left: 28px;
193
+ list-style-image: url(images/page_green.png);
194
+ }
195
+
196
+ dl.svninfo {
197
+ color: #666;
198
+ margin: 0;
199
+ }
200
+ dl.svninfo dt {
201
+ font-weight: bold;
202
+ }
203
+
204
+ ul.link-list li {
205
+ white-space: nowrap;
206
+ }
207
+ ul.link-list .type {
208
+ font-size: 8px;
209
+ text-transform: uppercase;
210
+ color: white;
211
+ background: #969696;
212
+ padding: 2px 4px;
213
+ -webkit-border-radius: 5px;
214
+ }
215
+
216
+ /* @end */
217
+
218
+ /* @group Class Metadata Section */
219
+ #class-metadata {
220
+ margin-top: 2em;
221
+ }
222
+ /* @end */
223
+
224
+ /* @group Project Metadata Section */
225
+ #project-metadata {
226
+ margin-top: 2em;
227
+ }
228
+
229
+ #project-metadata .section {
230
+ border: 1px solid #aaa;
231
+ }
232
+ #project-metadata h3.section-header {
233
+ border-bottom: 1px solid #aaa;
234
+ position: relative;
235
+ }
236
+
237
+ #project-metadata form {
238
+ color: #777;
239
+ background: #ccc;
240
+ }
241
+
242
+ /* @end */
243
+
244
+ /* @group Documentation Section */
245
+ .description {
246
+ font-size: 100%;
247
+ color: #333;
248
+ }
249
+
250
+ .description p {
251
+ margin: 1em 0.4em;
252
+ }
253
+
254
+ .description li p {
255
+ margin: 0;
256
+ }
257
+
258
+ .description ol,
259
+ .description ul {
260
+ margin-left: 1.5em;
261
+ }
262
+ .description ol li,
263
+ .description ul li {
264
+ line-height: 1.4em;
265
+ }
266
+
267
+ .note-list {
268
+ margin: 8px 0;
269
+ }
270
+
271
+ .label-list {
272
+ margin: 8px 1.5em;
273
+ border: 1px solid #ccc;
274
+ }
275
+ .description .label-list {
276
+ font-size: 14px;
277
+ }
278
+
279
+ .note-list dt {
280
+ font-weight: bold;
281
+ }
282
+ .note-list dd {
283
+ padding: 0 12px;
284
+ }
285
+
286
+ .label-list dt {
287
+ padding: 2px 4px;
288
+ font-weight: bold;
289
+ background: #ddd;
290
+ }
291
+ .label-list dd {
292
+ padding: 2px 12px;
293
+ }
294
+ .label-list dd + dt,
295
+ .note-list dd + dt {
296
+ margin-top: 0.7em;
297
+ }
298
+
299
+ #documentation .section {
300
+ font-size: 90%;
301
+ }
302
+
303
+ #documentation h2.section-header {
304
+ margin-top: 1em;
305
+ padding: 0.25em 0.5em;
306
+ background: #ccc;
307
+ color: #333;
308
+ font-size: 175%;
309
+ border: 1px solid #bbb;
310
+ -moz-border-radius: 3px;
311
+ -webkit-border-radius: 3px;
312
+ }
313
+
314
+ .documentation-section-title {
315
+ position: relative;
316
+ }
317
+ .documentation-section-title .section-click-top {
318
+ position: absolute;
319
+ top: 6px;
320
+ right: 12px;
321
+ font-size: 10px;
322
+ color: #9b9877;
323
+ visibility: hidden;
324
+ padding-right: 0.5px;
325
+ }
326
+
327
+ .documentation-section-title:hover .section-click-top {
328
+ visibility: visible;
329
+ }
330
+
331
+ #documentation h3.section-header {
332
+ margin-top: 1em;
333
+ padding: 0.25em 0.5em;
334
+ background-color: #dedede;
335
+ color: #333;
336
+ font-size: 150%;
337
+ border: 1px solid #bbb;
338
+ -moz-border-radius: 3px;
339
+ -webkit-border-radius: 3px;
340
+ }
341
+
342
+ #constants-list > dl,
343
+ #attributes-list > dl {
344
+ margin: 1em 0 2em;
345
+ border: 0;
346
+ }
347
+ #constants-list > dl dt,
348
+ #attributes-list > dl dt {
349
+ padding-left: 0;
350
+ font-weight: bold;
351
+ font-family: Monaco, "Andale Mono";
352
+ background: inherit;
353
+ }
354
+ #constants-list > dl dt a,
355
+ #attributes-list > dl dt a {
356
+ color: inherit;
357
+ }
358
+ #constants-list > dl dd,
359
+ #attributes-list > dl dd {
360
+ margin: 0 0 1em 0;
361
+ padding: 0;
362
+ color: #666;
363
+ }
364
+
365
+ .documentation-section h2 {
366
+ position: relative;
367
+ }
368
+
369
+ .documentation-section h2 a {
370
+ position: absolute;
371
+ top: 8px;
372
+ right: 10px;
373
+ font-size: 12px;
374
+ color: #9b9877;
375
+ visibility: hidden;
376
+ }
377
+
378
+ .documentation-section h2:hover a {
379
+ visibility: visible;
380
+ }
381
+
382
+ /* @group Method Details */
383
+
384
+ #documentation .method-source-code {
385
+ display: none;
386
+ }
387
+
388
+ #documentation .method-detail {
389
+ margin: 0.5em 0;
390
+ padding: 0.5em 0;
391
+ cursor: pointer;
392
+ }
393
+ #documentation .method-detail:hover {
394
+ background-color: #f1edba;
395
+ }
396
+ #documentation .method-heading {
397
+ position: relative;
398
+ padding: 2px 4px 0 20px;
399
+ font-size: 125%;
400
+ font-weight: bold;
401
+ color: #333;
402
+ background: url(images/brick.png) no-repeat left bottom;
403
+ }
404
+ #documentation .method-heading :link,
405
+ #documentation .method-heading :visited {
406
+ color: inherit;
407
+ }
408
+ #documentation .method-click-advice {
409
+ position: absolute;
410
+ top: 2px;
411
+ right: 5px;
412
+ font-size: 10px;
413
+ color: #9b9877;
414
+ visibility: hidden;
415
+ padding-right: 20px;
416
+ line-height: 20px;
417
+ background: url(images/zoom.png) no-repeat right top;
418
+ }
419
+ #documentation .method-heading:hover .method-click-advice {
420
+ visibility: visible;
421
+ }
422
+
423
+ #documentation .method-alias .method-heading {
424
+ color: #666;
425
+ background: url(images/brick_link.png) no-repeat left bottom;
426
+ }
427
+
428
+ #documentation .method-description,
429
+ #documentation .aliases {
430
+ margin: 0 20px;
431
+ color: #666;
432
+ }
433
+
434
+ #documentation .method-description p,
435
+ #documentation .aliases p {
436
+ line-height: 1.2em;
437
+ }
438
+
439
+ #documentation .aliases {
440
+ padding-top: 4px;
441
+ font-style: italic;
442
+ cursor: default;
443
+ }
444
+ #documentation .method-description p {
445
+ margin-bottom: 0.5em;
446
+ }
447
+ #documentation .method-description ul {
448
+ margin-left: 1.5em;
449
+ }
450
+ pre {
451
+ margin: 0.5em 0;
452
+ }
453
+
454
+ #documentation .attribute-method-heading {
455
+ background: url(images/tag_green.png) no-repeat left bottom;
456
+ }
457
+ #documentation #attribute-method-details .method-detail:hover {
458
+ background-color: transparent;
459
+ cursor: default;
460
+ }
461
+ #documentation .attribute-access-type {
462
+ font-size: 60%;
463
+ text-transform: uppercase;
464
+ vertical-align: super;
465
+ padding: 0 2px;
466
+ }
467
+ /* @end */
468
+
469
+ /* @end */
470
+
471
+ /* @group Source Code */
472
+
473
+ pre {
474
+ overflow: auto;
475
+ background: #262626;
476
+ color: white;
477
+ border: 1px dashed #999;
478
+ padding: 0.5em;
479
+ }
480
+
481
+ .description pre {
482
+ margin: 0 0.4em;
483
+ }
484
+
485
+ .ruby-constant { color: #7fffd4; background: transparent; }
486
+ .ruby-keyword { color: #00ffff; background: transparent; }
487
+ .ruby-ivar { color: #eedd82; background: transparent; }
488
+ .ruby-operator { color: #00ffee; background: transparent; }
489
+ .ruby-identifier { color: #ffdead; background: transparent; }
490
+ .ruby-node { color: #ffa07a; background: transparent; }
491
+ .ruby-comment { color: #dc0000; font-weight: bold; background: transparent; }
492
+ .ruby-regexp { color: #ffa07a; background: transparent; }
493
+ .ruby-value { color: #7fffd4; background: transparent; }
494
+
495
+ /* @end */
496
+
497
+
498
+ /* @group search results */
499
+ #search-results h1 {
500
+ font-size: 1em;
501
+ font-weight: normal;
502
+ text-shadow: none;
503
+ }
504
+
505
+ #search-results .current {
506
+ background: #ccc;
507
+ border-bottom: 1px solid transparent;
508
+ }
509
+
510
+ #search-results li {
511
+ list-style: none;
512
+ border-bottom: 1px solid #aaa;
513
+ -moz-border-radius: 4px;
514
+ -webkit-border-radius: 4px;
515
+ border-radius: 4px;
516
+ margin-bottom: 0.5em;
517
+ }
518
+
519
+ #search-results li:last-child {
520
+ border-bottom: none;
521
+ margin-bottom: 0;
522
+ }
523
+
524
+ #search-results li p {
525
+ padding: 0;
526
+ margin: 0.5em;
527
+ }
528
+
529
+ #search-results .search-namespace {
530
+ font-weight: bold;
531
+ }
532
+
533
+ #search-results li em {
534
+ background: yellow;
535
+ font-style: normal;
536
+ }
537
+
538
+ #search-results pre {
539
+ margin: 0.5em;
540
+ }
541
+
542
+ /* @end */
543
+