rdoc-generator-fivefish 0.0.1.pre30 → 0.0.1.pre34

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  @import url(bootstrap.min.css);
2
2
  @import url(bootstrap-responsive.min.css);
3
- @font-face{font-family:'Istok Web';font-style:normal;font-weight:400;src:local('Istok Web Regular'),local('IstokWeb-Regular'),url('../fonts/IstokWeb-Regular.woff') format('woff');}@font-face{font-family:'Istok Web';font-style:italic;font-weight:400;src:local('Istok Web Italic'),local('IstokWeb-Italic'),url('../fonts/IstokWeb-Italic.woff') format('woff');}@font-face{font-family:'Istok Web';font-style:normal;font-weight:700;src:local('Istok Web Bold'),local('IstokWeb-Bold'),url('../fonts/IstokWeb-Bold.woff') format('woff');}body{font-family:'Istok Web';padding-top:45px;}
4
- h2.namespace{color:#666;}
3
+ body{font-family:'Istok Web';padding-top:45px;}
4
+ @font-face{font-family:'Istok Web';font-style:normal;font-weight:400;src:local('Istok Web Regular'),local('IstokWeb-Regular'),url('../fonts/IstokWeb-Regular.woff') format('woff');}@font-face{font-family:'Istok Web';font-style:italic;font-weight:400;src:local('Istok Web Italic'),local('IstokWeb-Italic'),url('../fonts/IstokWeb-Italic.woff') format('woff');}@font-face{font-family:'Istok Web';font-style:normal;font-weight:700;src:local('Istok Web Bold'),local('IstokWeb-Bold'),url('../fonts/IstokWeb-Bold.woff') format('woff');}h2.namespace{color:#666;}
5
5
  div.container>header.hero-unit{background-image:-webkit-gradient(linear, left bottom, left top, from(#c9c9c9), color-stop(0.701, #d8d8d8), to(#c6c6c6));background-image:-moz-linear-gradient(90deg, #c9c9c9 0%, #d8d8d8 70.1%, #c6c6c6 100%);}
6
6
  div.container>header.hero-unit h1{display:inline-block;text-shadow:1px 1px 3px rgba(25, 25, 25, 0.2);}
7
7
  section#indexes{max-height:460px;}
@@ -24,6 +24,12 @@ div.method+div.method{margin-top:1em;}
24
24
  div.method header,dl.rdoc-list dt,section.constants-list dt,section.attributes-list dt{font-weight:bold;font-size:1.2em;background:#eee;}
25
25
  div.method header span.method-args{color:#666;}
26
26
  div.method div.method-description p{color:#666;}
27
+ #incremental-search header{background:#eee;border-radius:3px;padding:2px;}
28
+ #incremental-search .search-string{padding:0 0 1em;}
29
+ #incremental-search .search-input{background-color:rgba(153, 203, 255, 0.64);font:22px monospace;padding:1px 4px;display:inline-block;}
30
+ #incremental-search .search-input-label{vertical-align:baseline;}
31
+ #incremental-search header h4{font-size:14px;}
32
+ #incremental-search ul{list-style:none;padding:0;margin:0 0 1em;}
27
33
  div.method-source-code{display:none;}
28
34
  div.method-source-code pre,pre.ruby{overflow:auto;background:-moz-linear-gradient(90deg, #424242 0%, #363636 100%),#262626;color:#ccc;padding:0.5em;border-radius:5px;background:-webkit-gradient(linear, left bottom, left top, from(#424242), to(#363636)),#262626;border-style:inset;border-width:3px;}
29
35
  .description pre{margin:0 0.4em;}
@@ -16,4 +16,251 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  * ========================================================== */
19
- !function(a){a(function(){"use strict",a.support.transition=function(){var b=document.body||document.documentElement,c=b.style,d=c.transition!==undefined||c.WebkitTransition!==undefined||c.MozTransition!==undefined||c.MsTransition!==undefined||c.OTransition!==undefined;return d&&{end:function(){var b="TransitionEnd";return a.browser.webkit?b="webkitTransitionEnd":a.browser.mozilla?b="transitionend":a.browser.opera&&(b="oTransitionEnd"),b}()}}()})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(f,this)):f.call(this)):b&&b()}function f(){this.$backdrop.remove(),this.$backdrop=null}function g(){var b=this;this.isShown&&this.options.keyboard?a(document).on("keyup.dismiss.modal",function(a){a.which==27&&b.hide()}):this.isShown||a(document).off("keyup.dismiss.modal")}"use strict";var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this))};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this;if(this.isShown)return;a("body").addClass("modal-open"),this.isShown=!0,this.$element.trigger("show"),g.call(this),e.call(this,function(){var c=a.support.transition&&b.$element.hasClass("fade");!b.$element.parent().length&&b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in"),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&&b.preventDefault();if(!this.isShown)return;var e=this;this.isShown=!1,a("body").removeClass("modal-open"),g.call(this),this.$element.trigger("hide").removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?c.call(this):d.call(this)}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&&c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&&e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({},e.data(),c.data());b.preventDefault(),e.modal(f)})})}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);!c.options.delay||!c.options.delay.show?c.show():(c.hoverState="in",setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show))},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);!c.options.delay||!c.options.delay.hide?c.hide():(c.hoverState="out",setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide))},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip();a.find(".tooltip-inner").html(this.getTitle()),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a=(a||"").toString().replace(/(^\s*|\s*$)/,""),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,delay:0,selector:!1,placement:"top",trigger:"hover",title:"",template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'}}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var b=this.tip(),c=this.getTitle(),d=this.getContent();b.find(".popover-title")[a.type(c)=="object"?"append":"html"](c),b.find(".popover-content > *")[a.type(d)=="object"?"append":"html"](d),b.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a=a.toString().replace(/(^\s*|\s*$)/,""),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.$menu=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(a),this.$element.change(),this.hide()},show:function(){var b=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c=this,d,e;return this.query=this.$element.val(),this.query?(d=a.grep(this.source,function(a){if(c.matcher(a))return a}),d=this.sorter(d),d.length?this.render(d.slice(0,this.options.items)).show():this.shown?this.hide():this):this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){return a.replace(new RegExp("("+this.query+")","ig"),function(a,b){return"<strong>"+b+"</strong>"})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keypress,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},keyup:function(a){switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.stopPropagation(),a.preventDefault()},keypress:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:a.preventDefault(),this.prev();break;case 40:a.preventDefault(),this.next()}a.stopPropagation()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>'},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery);
19
+ !function(a) {
20
+ a(function() {
21
+ "use strict", a.support.transition = function() {
22
+ var b = document.body || document.documentElement, c = b.style, d = c.transition !== undefined || c.WebkitTransition !== undefined || c.MozTransition !== undefined || c.MsTransition !== undefined || c.OTransition !== undefined;
23
+ return d && {
24
+ end: function() {
25
+ var b = "TransitionEnd";
26
+ return a.browser.webkit ? b = "webkitTransitionEnd" : a.browser.mozilla ? b = "transitionend" : a.browser.opera && (b = "oTransitionEnd"), b;
27
+ }()
28
+ };
29
+ }();
30
+ });
31
+ }(window.jQuery), !function(a) {
32
+ function c() {
33
+ var b = this, c = setTimeout(function() {
34
+ b.$element.off(a.support.transition.end), d.call(b);
35
+ }, 500);
36
+ this.$element.one(a.support.transition.end, function() {
37
+ clearTimeout(c), d.call(b);
38
+ });
39
+ }
40
+ function d(a) {
41
+ this.$element.hide().trigger("hidden"), e.call(this);
42
+ }
43
+ function e(b) {
44
+ var c = this, d = this.$element.hasClass("fade") ? "fade" : "";
45
+ if (this.isShown && this.options.backdrop) {
46
+ var e = a.support.transition && d;
47
+ this.$backdrop = a('<div class="modal-backdrop ' + d + '" />').appendTo(document.body), this.options.backdrop != "static" && this.$backdrop.click(a.proxy(this.hide, this)), e && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), e ? this.$backdrop.one(a.support.transition.end, b) : b();
48
+ } else !this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one(a.support.transition.end, a.proxy(f, this)) : f.call(this)) : b && b();
49
+ }
50
+ function f() {
51
+ this.$backdrop.remove(), this.$backdrop = null;
52
+ }
53
+ function g() {
54
+ var b = this;
55
+ this.isShown && this.options.keyboard ? a(document).on("keyup.dismiss.modal", function(a) {
56
+ a.which == 27 && b.hide();
57
+ }) : this.isShown || a(document).off("keyup.dismiss.modal");
58
+ }
59
+ "use strict";
60
+ var b = function(b, c) {
61
+ this.options = c, this.$element = a(b).delegate('[data-dismiss="modal"]', "click.dismiss.modal", a.proxy(this.hide, this));
62
+ };
63
+ b.prototype = {
64
+ constructor: b,
65
+ toggle: function() {
66
+ return this[this.isShown ? "hide" : "show"]();
67
+ },
68
+ show: function() {
69
+ var b = this;
70
+ if (this.isShown) return;
71
+ a("body").addClass("modal-open"), this.isShown = !0, this.$element.trigger("show"), g.call(this), e.call(this, function() {
72
+ var c = a.support.transition && b.$element.hasClass("fade");
73
+ !b.$element.parent().length && b.$element.appendTo(document.body), b.$element.show(), c && b.$element[0].offsetWidth, b.$element.addClass("in"), c ? b.$element.one(a.support.transition.end, function() {
74
+ b.$element.trigger("shown");
75
+ }) : b.$element.trigger("shown");
76
+ });
77
+ },
78
+ hide: function(b) {
79
+ b && b.preventDefault();
80
+ if (!this.isShown) return;
81
+ var e = this;
82
+ this.isShown = !1, a("body").removeClass("modal-open"), g.call(this), this.$element.trigger("hide").removeClass("in"), a.support.transition && this.$element.hasClass("fade") ? c.call(this) : d.call(this);
83
+ }
84
+ }, a.fn.modal = function(c) {
85
+ return this.each(function() {
86
+ var d = a(this), e = d.data("modal"), f = a.extend({}, a.fn.modal.defaults, d.data(), typeof c == "object" && c);
87
+ e || d.data("modal", e = new b(this, f)), typeof c == "string" ? e[c]() : f.show && e.show();
88
+ });
89
+ }, a.fn.modal.defaults = {
90
+ backdrop: !0,
91
+ keyboard: !0,
92
+ show: !0
93
+ }, a.fn.modal.Constructor = b, a(function() {
94
+ a("body").on("click.modal.data-api", '[data-toggle="modal"]', function(b) {
95
+ var c = a(this), d, e = a(c.attr("data-target") || (d = c.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, "")), f = e.data("modal") ? "toggle" : a.extend({}, e.data(), c.data());
96
+ b.preventDefault(), e.modal(f);
97
+ });
98
+ });
99
+ }(window.jQuery), !function(a) {
100
+ "use strict";
101
+ var b = function(a, b) {
102
+ this.init("tooltip", a, b);
103
+ };
104
+ b.prototype = {
105
+ constructor: b,
106
+ init: function(b, c, d) {
107
+ var e, f;
108
+ this.type = b, this.$element = a(c), this.options = this.getOptions(d), this.enabled = !0, this.options.trigger != "manual" && (e = this.options.trigger == "hover" ? "mouseenter" : "focus", f = this.options.trigger == "hover" ? "mouseleave" : "blur", this.$element.on(e, this.options.selector, a.proxy(this.enter, this)), this.$element.on(f, this.options.selector, a.proxy(this.leave, this))), this.options.selector ? this._options = a.extend({}, this.options, {
109
+ trigger: "manual",
110
+ selector: ""
111
+ }) : this.fixTitle();
112
+ },
113
+ getOptions: function(b) {
114
+ return b = a.extend({}, a.fn[this.type].defaults, b, this.$element.data()), b.delay && typeof b.delay == "number" && (b.delay = {
115
+ show: b.delay,
116
+ hide: b.delay
117
+ }), b;
118
+ },
119
+ enter: function(b) {
120
+ var c = a(b.currentTarget)[this.type](this._options).data(this.type);
121
+ !c.options.delay || !c.options.delay.show ? c.show() : (c.hoverState = "in", setTimeout(function() {
122
+ c.hoverState == "in" && c.show();
123
+ }, c.options.delay.show));
124
+ },
125
+ leave: function(b) {
126
+ var c = a(b.currentTarget)[this.type](this._options).data(this.type);
127
+ !c.options.delay || !c.options.delay.hide ? c.hide() : (c.hoverState = "out", setTimeout(function() {
128
+ c.hoverState == "out" && c.hide();
129
+ }, c.options.delay.hide));
130
+ },
131
+ show: function() {
132
+ var a, b, c, d, e, f, g;
133
+ if (this.hasContent() && this.enabled) {
134
+ a = this.tip(), this.setContent(), this.options.animation && a.addClass("fade"), f = typeof this.options.placement == "function" ? this.options.placement.call(this, a[0], this.$element[0]) : this.options.placement, b = /in/.test(f), a.remove().css({
135
+ top: 0,
136
+ left: 0,
137
+ display: "block"
138
+ }).appendTo(b ? this.$element : document.body), c = this.getPosition(b), d = a[0].offsetWidth, e = a[0].offsetHeight;
139
+ switch (b ? f.split(" ")[1] : f) {
140
+ case "bottom":
141
+ g = {
142
+ top: c.top + c.height,
143
+ left: c.left + c.width / 2 - d / 2
144
+ };
145
+ break;
146
+ case "top":
147
+ g = {
148
+ top: c.top - e,
149
+ left: c.left + c.width / 2 - d / 2
150
+ };
151
+ break;
152
+ case "left":
153
+ g = {
154
+ top: c.top + c.height / 2 - e / 2,
155
+ left: c.left - d
156
+ };
157
+ break;
158
+ case "right":
159
+ g = {
160
+ top: c.top + c.height / 2 - e / 2,
161
+ left: c.left + c.width
162
+ };
163
+ }
164
+ a.css(g).addClass(f).addClass("in");
165
+ }
166
+ },
167
+ setContent: function() {
168
+ var a = this.tip();
169
+ a.find(".tooltip-inner").html(this.getTitle()), a.removeClass("fade in top bottom left right");
170
+ },
171
+ hide: function() {
172
+ function d() {
173
+ var b = setTimeout(function() {
174
+ c.off(a.support.transition.end).remove();
175
+ }, 500);
176
+ c.one(a.support.transition.end, function() {
177
+ clearTimeout(b), c.remove();
178
+ });
179
+ }
180
+ var b = this, c = this.tip();
181
+ c.removeClass("in"), a.support.transition && this.$tip.hasClass("fade") ? d() : c.remove();
182
+ },
183
+ fixTitle: function() {
184
+ var a = this.$element;
185
+ (a.attr("title") || typeof a.attr("data-original-title") != "string") && a.attr("data-original-title", a.attr("title") || "").removeAttr("title");
186
+ },
187
+ hasContent: function() {
188
+ return this.getTitle();
189
+ },
190
+ getPosition: function(b) {
191
+ return a.extend({}, b ? {
192
+ top: 0,
193
+ left: 0
194
+ } : this.$element.offset(), {
195
+ width: this.$element[0].offsetWidth,
196
+ height: this.$element[0].offsetHeight
197
+ });
198
+ },
199
+ getTitle: function() {
200
+ var a, b = this.$element, c = this.options;
201
+ return a = b.attr("data-original-title") || (typeof c.title == "function" ? c.title.call(b[0]) : c.title), a = (a || "").toString().replace(/(^\s*|\s*$)/, ""), a;
202
+ },
203
+ tip: function() {
204
+ return this.$tip = this.$tip || a(this.options.template);
205
+ },
206
+ validate: function() {
207
+ this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null);
208
+ },
209
+ enable: function() {
210
+ this.enabled = !0;
211
+ },
212
+ disable: function() {
213
+ this.enabled = !1;
214
+ },
215
+ toggleEnabled: function() {
216
+ this.enabled = !this.enabled;
217
+ },
218
+ toggle: function() {
219
+ this[this.tip().hasClass("in") ? "hide" : "show"]();
220
+ }
221
+ }, a.fn.tooltip = function(c) {
222
+ return this.each(function() {
223
+ var d = a(this), e = d.data("tooltip"), f = typeof c == "object" && c;
224
+ e || d.data("tooltip", e = new b(this, f)), typeof c == "string" && e[c]();
225
+ });
226
+ }, a.fn.tooltip.Constructor = b, a.fn.tooltip.defaults = {
227
+ animation: !0,
228
+ delay: 0,
229
+ selector: !1,
230
+ placement: "top",
231
+ trigger: "hover",
232
+ title: "",
233
+ template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
234
+ };
235
+ }(window.jQuery), !function(a) {
236
+ "use strict";
237
+ var b = function(a, b) {
238
+ this.init("popover", a, b);
239
+ };
240
+ b.prototype = a.extend({}, a.fn.tooltip.Constructor.prototype, {
241
+ constructor: b,
242
+ setContent: function() {
243
+ var b = this.tip(), c = this.getTitle(), d = this.getContent();
244
+ b.find(".popover-title")[a.type(c) == "object" ? "append" : "html"](c), b.find(".popover-content > *")[a.type(d) == "object" ? "append" : "html"](d), b.removeClass("fade top bottom left right in");
245
+ },
246
+ hasContent: function() {
247
+ return this.getTitle() || this.getContent();
248
+ },
249
+ getContent: function() {
250
+ var a, b = this.$element, c = this.options;
251
+ return a = b.attr("data-content") || (typeof c.content == "function" ? c.content.call(b[0]) : c.content), a = a.toString().replace(/(^\s*|\s*$)/, ""), a;
252
+ },
253
+ tip: function() {
254
+ return this.$tip || (this.$tip = a(this.options.template)), this.$tip;
255
+ }
256
+ }), a.fn.popover = function(c) {
257
+ return this.each(function() {
258
+ var d = a(this), e = d.data("popover"), f = typeof c == "object" && c;
259
+ e || d.data("popover", e = new b(this, f)), typeof c == "string" && e[c]();
260
+ });
261
+ }, a.fn.popover.Constructor = b, a.fn.popover.defaults = a.extend({}, a.fn.tooltip.defaults, {
262
+ placement: "right",
263
+ content: "",
264
+ template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
265
+ });
266
+ }(window.jQuery);;
@@ -27,5 +27,12 @@ jQuery&&function(a){function b(b){var d=a(this),e=a(a(this).attr("data-dropdown"
27
27
  *
28
28
  * @author Michael Granger <ged@FaerieMUD.org>
29
29
  *
30
+ */
31
+ /**
32
+ * A Bootstrap component for the index search interface. Inherits from Bootstrap's
33
+ * modal component, and borrows a bunch of code from the typeahead component.
34
+ *
35
+ * @version $Rev$
36
+ * @requires bootstrap.modal.js
30
37
  */
31
- function initFivefish(){console.debug("Loaded. Waiting for DOM to be ready."),$(document).ready(onReady)}function hookTooltips(){$("header.hero-unit h1").popover({placement:"right"})}function hookKeyboardShortcuts(){$.each(keyboardShortcuts,function(a,b){console.debug("Registering shortcut: %s -> %o",a,b),$("body").bind("keyup",a,b)})}function hookSourceToggles(){$("div.method header i").click(function(a){var b=a.target,c=$(b).parents("div").get(0),d=$(c).find("div.method-source-code");console.debug("Toggling: %o",d),d.fadeToggle()})}function findPathToIndex(){var a=$("script[src*=fivefish]").attr("src"),b=/^(.*?)\/js\//.exec(a);return b[1]}function hookSearchInput(){var a=findPathToIndex();$.getJSON(a+"/search_index.json").success(function(a){console.debug("Setting up search."),searchIndex=a;var b=$(a).map(function(a,b){return console.debug("Mapping %s.",b.name),b.name});$("input.search-query").typeahead({source:b,matcher:function(a){var b=new RegExp(this.query,"i");return console.debug("Matching %s",a),b.test(a)}})})}function onReady(){console.debug("Ready!"),hookTooltips(),hookKeyboardShortcuts(),hookSourceToggles(),hookSearchInput()}var searchIndex=[],keyboardShortcuts={"/":function(a){$(".navbar-search input").focus()},"shift+/":function(a){$("#shortcut-help").modal()}};
38
+ function initFivefish(){console.debug("Loaded. Waiting for DOM to be ready."),$(document).ready(onReady)}function hookTooltips(){$("header.hero-unit h1").popover({placement:"right"})}function hookKeyboardShortcuts(){$.each(keyboardShortcuts,function(a,b){console.debug("Registering shortcut: %s -> %o",a,b),$("body").bind("keyup",a,b)})}function hookSourceToggles(){$("div.method header i").click(function(a){var b=a.target,c=$(b).parents("div").get(0),d=$(c).find("div.method-source-code");console.debug("Toggling: %o",d),d.fadeToggle()})}function doIncrementalSearch(){}function hookSearchOverlay(){console.debug("Setting up searchbox"),$("#incremental-search").searchbox(SearchIndex),$("#search-button").click(function(){$("#incremental-search").searchbox("show")})}function onReady(){console.debug("Ready!"),hookTooltips(),hookKeyboardShortcuts(),hookSourceToggles(),hookSearchOverlay()}(function(a){"use strict";var b=function(a,b){this.init("searchbox",a,b)};b.prototype=a.extend({},a.fn.modal.Constructor.prototype,{constructor:b,init:function(b,c,d){this.$element=a(b),this.$input=this.$element.find(".search-input"),this.$meth_list=this.$element.find(".method-search-results dl"),this.$mod_list=this.$element.find(".module-search-results dl"),this.$file_list=this.$element.find(".file-search-results dl"),this.options=d,this.data(c),this.listen()},data:function(a){return a&&(console.debug("Populating searchbox with index data: %o",a),this.data=a),this.data},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keypress,this))},keyup:function(a){var b=a.which;console.debug("Keycode: %d",b),b===27&&this.hide(),a.stopPropagation(),a.preventDefault()},keypress:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:a.preventDefault(),this.prev();break;case 40:a.preventDefault(),this.next()}a.stopPropagation()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()}}),a.fn.searchbox=function(c,d){return this.each(function(){var e=a(this),f=e.data("searchbox"),g=typeof c=="object"?c:[],h=a.extend({},a.fn.modal.defaults,e.data(),typeof d=="object"&&d);f||(console.debug("Creating a new searchbox for data: %s",typeof g),f=new b(this,g,h),e.data("searchbox",f)),typeof c=="string"&&f[c]()})},a.fn.searchbox.Constructor=b,a.fn.searchbox.defaults=a.extend({},a.fn.modal.defaults)})(window.jQuery);var keyboardShortcuts={"/":function(a){$("#incremental-search").searchbox("show")},"shift+/":function(a){$("#shortcut-help").modal()}};
@@ -31,6 +31,8 @@
31
31
  defer="defer" charset="utf-8"></script>
32
32
  <script src="[?attr rel_prefix ?]/js/bootstrap.min.js" type="text/javascript"
33
33
  defer="defer" charset="utf-8"></script>
34
+ <script src="[?attr rel_prefix ?]/js/searchindex.js" type="text/javascript"
35
+ defer="defer" charset="utf-8"></script>
34
36
  <script src="[?attr rel_prefix ?]/js/fivefish.min.js" type="text/javascript"
35
37
  defer="defer" charset="utf-8" onload="initFivefish()"></script>
36
38
  </head>
@@ -69,8 +71,11 @@
69
71
  </li>
70
72
  </ul>
71
73
  </div><!--/.nav-collapse -->
72
- <form class="navbar-search pull-right">
73
- <input type="text" class="search-query" placeholder="Search">
74
+ <span class="pull-right">
75
+ <button id="search-button" class="btn">
76
+ <i class="icon-search"></i>
77
+ Search
78
+ </button>
74
79
  </form>
75
80
  </div>
76
81
  </div>
@@ -131,5 +136,36 @@
131
136
  </div>
132
137
  </div>
133
138
 
139
+ <div class="modal" id="incremental-search">
140
+ <div class="modal-header">
141
+ <a class="close" data-dismiss="modal">×</a>
142
+ <h3>Search Index</h3>
143
+ </div>
144
+
145
+ <div class="modal-body">
146
+ <section class="search-string">
147
+ <span class="search-input-label">Searching for:</span>
148
+ <span class="search-input">inde</span>
149
+ </section>
150
+
151
+ <section class="search-results method-search-results">
152
+ <header><h4>Methods</h4></header>
153
+ <dl></dl>
154
+ </section>
155
+ <section class="search-results module-search-results">
156
+ <header><h4>Classes/Modules</h4></header>
157
+ <dl></dl>
158
+ </section>
159
+ <section class="search-results file-search-results">
160
+ <header><h4>Files</h4></header>
161
+ <dl></dl>
162
+ </section>
163
+ </div>
164
+
165
+ <div class="modal-footer">
166
+ <a href="#" class="btn">Close</a>
167
+ </div>
168
+ </div>
169
+
134
170
  </body>
135
171
  </html>
@@ -32,8 +32,8 @@ class RDoc::Generator::Fivefish
32
32
 
33
33
  ### Set up some instance variables
34
34
  def initialize( options )
35
- @options = options
36
- $DEBUG_RDOC = true
35
+ @options = options
36
+ $DEBUG_RDOC = $VERBOSE || $DEBUG
37
37
 
38
38
  extend( FileUtils::Verbose ) if $DEBUG_RDOC
39
39
  extend( FileUtils::DryRun ) if options.dry_run
@@ -300,7 +300,7 @@ class RDoc::Generator::Fivefish
300
300
 
301
301
  ### Generate a JSON search index for the quicksearch blank.
302
302
  def generate_search_index
303
- out_file = self.output_dir + 'search_index.json'
303
+ out_file = self.output_dir + 'js/searchindex.js'
304
304
 
305
305
  self.debug_msg "Generating search index (%s)." % [ out_file ]
306
306
  index = []
@@ -317,8 +317,12 @@ class RDoc::Generator::Fivefish
317
317
  end
318
318
 
319
319
  self.debug_msg " dumping JSON..."
320
+ out_file.dirname.mkpath
320
321
  ofh = out_file.open( 'w:utf-8', 0644 )
321
- Yajl::Encoder.encode( index, ofh, pretty: true, indent: "\t" )
322
+
323
+ json = Yajl.dump( index, pretty: true, indent: "\t" )
324
+
325
+ ofh.puts( 'var SearchIndex = ', json, ';' )
322
326
  end
323
327
 
324
328
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdoc-generator-fivefish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre30
4
+ version: 0.0.1.pre34
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -36,11 +36,11 @@ cert_chain:
36
36
  YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
37
37
  Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
38
38
  cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
39
- date: 2012-04-04 00:00:00.000000000 Z
39
+ date: 2012-04-06 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: inversion
43
- requirement: &70344973007640 !ruby/object:Gem::Requirement
43
+ requirement: &70304626086940 !ruby/object:Gem::Requirement
44
44
  none: false
45
45
  requirements:
46
46
  - - ~>
@@ -48,10 +48,10 @@ dependencies:
48
48
  version: '0.8'
49
49
  type: :runtime
50
50
  prerelease: false
51
- version_requirements: *70344973007640
51
+ version_requirements: *70304626086940
52
52
  - !ruby/object:Gem::Dependency
53
53
  name: yajl-ruby
54
- requirement: &70344972989080 !ruby/object:Gem::Requirement
54
+ requirement: &70304626085860 !ruby/object:Gem::Requirement
55
55
  none: false
56
56
  requirements:
57
57
  - - ~>
@@ -59,10 +59,10 @@ dependencies:
59
59
  version: '1.1'
60
60
  type: :runtime
61
61
  prerelease: false
62
- version_requirements: *70344972989080
62
+ version_requirements: *70304626085860
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: rdoc
65
- requirement: &70344972955700 !ruby/object:Gem::Requirement
65
+ requirement: &70304626085120 !ruby/object:Gem::Requirement
66
66
  none: false
67
67
  requirements:
68
68
  - - ~>
@@ -70,10 +70,10 @@ dependencies:
70
70
  version: '3.12'
71
71
  type: :runtime
72
72
  prerelease: false
73
- version_requirements: *70344972955700
73
+ version_requirements: *70304626085120
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: hoe-mercurial
76
- requirement: &70344972711000 !ruby/object:Gem::Requirement
76
+ requirement: &70304626100820 !ruby/object:Gem::Requirement
77
77
  none: false
78
78
  requirements:
79
79
  - - ~>
@@ -81,10 +81,10 @@ dependencies:
81
81
  version: 1.3.1
82
82
  type: :development
83
83
  prerelease: false
84
- version_requirements: *70344972711000
84
+ version_requirements: *70304626100820
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: hoe-highline
87
- requirement: &70344972659720 !ruby/object:Gem::Requirement
87
+ requirement: &70304626100040 !ruby/object:Gem::Requirement
88
88
  none: false
89
89
  requirements:
90
90
  - - ~>
@@ -92,10 +92,10 @@ dependencies:
92
92
  version: 0.0.1
93
93
  type: :development
94
94
  prerelease: false
95
- version_requirements: *70344972659720
95
+ version_requirements: *70304626100040
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: uglifier
98
- requirement: &70344972633680 !ruby/object:Gem::Requirement
98
+ requirement: &70304626099040 !ruby/object:Gem::Requirement
99
99
  none: false
100
100
  requirements:
101
101
  - - ~>
@@ -103,10 +103,10 @@ dependencies:
103
103
  version: '1.2'
104
104
  type: :development
105
105
  prerelease: false
106
- version_requirements: *70344972633680
106
+ version_requirements: *70304626099040
107
107
  - !ruby/object:Gem::Dependency
108
108
  name: less
109
- requirement: &70344972648900 !ruby/object:Gem::Requirement
109
+ requirement: &70304626098140 !ruby/object:Gem::Requirement
110
110
  none: false
111
111
  requirements:
112
112
  - - ~>
@@ -114,10 +114,10 @@ dependencies:
114
114
  version: '2.1'
115
115
  type: :development
116
116
  prerelease: false
117
- version_requirements: *70344972648900
117
+ version_requirements: *70304626098140
118
118
  - !ruby/object:Gem::Dependency
119
119
  name: hoe
120
- requirement: &70344972653260 !ruby/object:Gem::Requirement
120
+ requirement: &70304626097480 !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
123
123
  - - ~>
@@ -125,7 +125,7 @@ dependencies:
125
125
  version: '2.16'
126
126
  type: :development
127
127
  prerelease: false
128
- version_requirements: *70344972653260
128
+ version_requirements: *70304626097480
129
129
  description: ! 'A(nother) HTML(5) generator for RDoc.
130
130
 
131
131