yard-slipstream 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ /*
2
+ * jQuery Autocomplete plugin 1.1
3
+ *
4
+ * Copyright (c) 2009 Jörn Zaefferer
5
+ *
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ *
10
+ * Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $
11
+ */
12
+ eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(3($){$.2e.1u({19:3(b,d){5 c=W b=="1B";d=$.1u({},$.M.1T,{Y:c?b:P,y:c?P:b,1J:c?$.M.1T.1J:10,X:d&&!d.1D?10:48},d);d.1y=d.1y||3(a){6 a};d.1v=d.1v||d.1R;6 A.I(3(){1M $.M(A,d)})},L:3(a){6 A.11("L",a)},1k:3(a){6 A.14("1k",[a])},2b:3(){6 A.14("2b")},28:3(a){6 A.14("28",[a])},24:3(){6 A.14("24")}});$.M=3(o,r){5 t={2Y:38,2S:40,2N:46,2I:9,2E:13,2B:27,2x:3I,2v:33,2p:34,2n:8};5 u=$(o).3r("19","3o").Q(r.2Q);5 p;5 m="";5 n=$.M.3c(r);5 s=0;5 k;5 h={1F:C};5 l=$.M.32(r,o,1Z,h);5 j;$.1Y.2X&&$(o.2U).11("45.19",3(){4(j){j=C;6 C}});u.11(($.1Y.2X?"43":"42")+".19",3(a){s=1;k=a.2M;3V(a.2M){O t.2Y:a.1d();4(l.N()){l.30()}w{12(0,D)}R;O t.2S:a.1d();4(l.N()){l.2D()}w{12(0,D)}R;O t.2v:a.1d();4(l.N()){l.2C()}w{12(0,D)}R;O t.2p:a.1d();4(l.N()){l.2A()}w{12(0,D)}R;O r.17&&$.1c(r.S)==","&&t.2x:O t.2I:O t.2E:4(1Z()){a.1d();j=D;6 C}R;O t.2B:l.Z();R;3J:1P(p);p=1O(12,r.1J);R}}).2t(3(){s++}).3E(3(){s=0;4(!h.1F){2r()}}).2q(3(){4(s++>1&&!l.N()){12(0,D)}}).11("1k",3(){5 c=(1r.7>1)?1r[1]:P;3 1N(q,a){5 b;4(a&&a.7){16(5 i=0;i<a.7;i++){4(a[i].L.J()==q.J()){b=a[i];R}}}4(W c=="3")c(b);w u.14("L",b&&[b.y,b.F])}$.I(15(u.K()),3(i,a){21(a,1N,1N)})}).11("2b",3(){n.1o()}).11("28",3(){$.1u(r,1r[1]);4("y"2h 1r[1])n.1e()}).11("24",3(){l.1p();u.1p();$(o.2U).1p(".19")});3 1Z(){5 e=l.2g();4(!e)6 C;5 v=e.L;m=v;4(r.17){5 b=15(u.K());4(b.7>1){5 f=r.S.7;5 c=$(o).18().1I;5 d,1H=0;$.I(b,3(i,a){1H+=a.7;4(c<=1H){d=i;6 C}1H+=f});b[d]=v;v=b.3f(r.S)}v+=r.S}u.K(v);1l();u.14("L",[e.y,e.F]);6 D}3 12(b,c){4(k==t.2N){l.Z();6}5 a=u.K();4(!c&&a==m)6;m=a;a=1m(a);4(a.7>=r.29){u.Q(r.26);4(!r.1s)a=a.J();21(a,3a,1l)}w{1q();l.Z()}};3 15(b){4(!b)6[""];4(!r.17)6[$.1c(b)];6 $.4h(b.23(r.S),3(a){6 $.1c(b).7?$.1c(a):P})}3 1m(a){4(!r.17)6 a;5 c=15(a);4(c.7==1)6 c[0];5 b=$(o).18().1I;4(b==a.7){c=15(a)}w{c=15(a.22(a.37(b),""))}6 c[c.7-1]}3 1G(q,a){4(r.1G&&(1m(u.K()).J()==q.J())&&k!=t.2n){u.K(u.K()+a.37(1m(m).7));$(o).18(m.7,m.7+a.7)}};3 2r(){1P(p);p=1O(1l,4g)};3 1l(){5 c=l.N();l.Z();1P(p);1q();4(r.36){u.1k(3(a){4(!a){4(r.17){5 b=15(u.K()).1n(0,-1);u.K(b.3f(r.S)+(b.7?r.S:""))}w{u.K("");u.14("L",P)}}})}};3 3a(q,a){4(a&&a.7&&s){1q();l.35(a,q);1G(q,a[0].F);l.20()}w{1l()}};3 21(f,d,g){4(!r.1s)f=f.J();5 e=n.31(f);4(e&&e.7){d(f,e)}w 4((W r.Y=="1B")&&(r.Y.7>0)){5 c={4f:+1M 4e()};$.I(r.2Z,3(a,b){c[a]=W b=="3"?b():b});$.4d({4c:"4b",4a:"19"+o.49,2V:r.2V,Y:r.Y,y:$.1u({q:1m(f),47:r.X},c),44:3(a){5 b=r.1A&&r.1A(a)||1A(a);n.1i(f,b);d(f,b)}})}w{l.2T();g(f)}};3 1A(c){5 d=[];5 b=c.23("\\n");16(5 i=0;i<b.7;i++){5 a=$.1c(b[i]);4(a){a=a.23("|");d[d.7]={y:a,F:a[0],L:r.1z&&r.1z(a,a[0])||a[0]}}}6 d};3 1q(){u.1h(r.26)}};$.M.1T={2Q:"41",2P:"3Z",26:"3Y",29:1,1J:3W,1s:C,1f:D,1w:C,1g:10,X:3U,36:C,2Z:{},1X:D,1R:3(a){6 a[0]},1v:P,1G:C,E:0,17:C,S:", ",1y:3(b,a){6 b.22(1M 3T("(?![^&;]+;)(?!<[^<>]*)("+a.22(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/2K,"\\\\$1")+")(?![^<>]*>)(?![^&;]+;)","2K"),"<2J>$1</2J>")},1D:D,1E:3S};$.M.3c=3(g){5 h={};5 j=0;3 1f(s,a){4(!g.1s)s=s.J();5 i=s.2H(a);4(g.1w=="3R"){i=s.J().1k("\\\\b"+a.J())}4(i==-1)6 C;6 i==0||g.1w};3 1i(q,a){4(j>g.1g){1o()}4(!h[q]){j++}h[q]=a}3 1e(){4(!g.y)6 C;5 f={},2G=0;4(!g.Y)g.1g=1;f[""]=[];16(5 i=0,2F=g.y.7;i<2F;i++){5 c=g.y[i];c=(W c=="1B")?[c]:c;5 d=g.1v(c,i+1,g.y.7);4(d===C)1V;5 e=d.3Q(0).J();4(!f[e])f[e]=[];5 b={F:d,y:c,L:g.1z&&g.1z(c)||d};f[e].1U(b);4(2G++<g.X){f[""].1U(b)}};$.I(f,3(i,a){g.1g++;1i(i,a)})}1O(1e,25);3 1o(){h={};j=0}6{1o:1o,1i:1i,1e:1e,31:3(q){4(!g.1g||!j)6 P;4(!g.Y&&g.1w){5 a=[];16(5 k 2h h){4(k.7>0){5 c=h[k];$.I(c,3(i,x){4(1f(x.F,q)){a.1U(x)}})}}6 a}w 4(h[q]){6 h[q]}w 4(g.1f){16(5 i=q.7-1;i>=g.29;i--){5 c=h[q.3O(0,i)];4(c){5 a=[];$.I(c,3(i,x){4(1f(x.F,q)){a[a.7]=x}});6 a}}}6 P}}};$.M.32=3(e,g,f,k){5 h={H:"3N"};5 j,z=-1,y,1t="",1S=D,G,B;3 2y(){4(!1S)6;G=$("<3M/>").Z().Q(e.2P).T("3L","3K").1Q(1K.2w);B=$("<3H/>").1Q(G).3G(3(a){4(U(a).2u&&U(a).2u.3F()==\'2s\'){z=$("1L",B).1h(h.H).3D(U(a));$(U(a)).Q(h.H)}}).2q(3(a){$(U(a)).Q(h.H);f();g.2t();6 C}).3C(3(){k.1F=D}).3B(3(){k.1F=C});4(e.E>0)G.T("E",e.E);1S=C}3 U(a){5 b=a.U;3A(b&&b.3z!="2s")b=b.3y;4(!b)6[];6 b}3 V(b){j.1n(z,z+1).1h(h.H);2o(b);5 a=j.1n(z,z+1).Q(h.H);4(e.1D){5 c=0;j.1n(0,z).I(3(){c+=A.1a});4((c+a[0].1a-B.1b())>B[0].3x){B.1b(c+a[0].1a-B.3w())}w 4(c<B.1b()){B.1b(c)}}};3 2o(a){z+=a;4(z<0){z=j.1j()-1}w 4(z>=j.1j()){z=0}}3 2m(a){6 e.X&&e.X<a?e.X:a}3 2l(){B.2z();5 b=2m(y.7);16(5 i=0;i<b;i++){4(!y[i])1V;5 a=e.1R(y[i].y,i+1,b,y[i].F,1t);4(a===C)1V;5 c=$("<1L/>").3v(e.1y(a,1t)).Q(i%2==0?"3u":"3P").1Q(B)[0];$.y(c,"2k",y[i])}j=B.3t("1L");4(e.1X){j.1n(0,1).Q(h.H);z=0}4($.2e.2W)B.2W()}6{35:3(d,q){2y();y=d;1t=q;2l()},2D:3(){V(1)},30:3(){V(-1)},2C:3(){4(z!=0&&z-8<0){V(-z)}w{V(-8)}},2A:3(){4(z!=j.1j()-1&&z+8>j.1j()){V(j.1j()-1-z)}w{V(8)}},Z:3(){G&&G.Z();j&&j.1h(h.H);z=-1},N:3(){6 G&&G.3s(":N")},3q:3(){6 A.N()&&(j.2j("."+h.H)[0]||e.1X&&j[0])},20:3(){5 a=$(g).3p();G.T({E:W e.E=="1B"||e.E>0?e.E:$(g).E(),2i:a.2i+g.1a,1W:a.1W}).20();4(e.1D){B.1b(0);B.T({2L:e.1E,3n:\'3X\'});4($.1Y.3m&&W 1K.2w.3l.2L==="1x"){5 c=0;j.I(3(){c+=A.1a});5 b=c>e.1E;B.T(\'3k\',b?e.1E:c);4(!b){j.E(B.E()-2R(j.T("2O-1W"))-2R(j.T("2O-3j")))}}}},2g:3(){5 a=j&&j.2j("."+h.H).1h(h.H);6 a&&a.7&&$.y(a[0],"2k")},2T:3(){B&&B.2z()},1p:3(){G&&G.3i()}}};$.2e.18=3(b,f){4(b!==1x){6 A.I(3(){4(A.2d){5 a=A.2d();4(f===1x||b==f){a.4n("2c",b);a.3h()}w{a.4m(D);a.4l("2c",b);a.4k("2c",f);a.3h()}}w 4(A.3g){A.3g(b,f)}w 4(A.1C){A.1C=b;A.3e=f}})}5 c=A[0];4(c.2d){5 e=1K.18.4j(),3d=c.F,2a="<->",2f=e.3b.7;e.3b=2a;5 d=c.F.2H(2a);c.F=3d;A.18(d,d+2f);6{1I:d,39:d+2f}}w 4(c.1C!==1x){6{1I:c.1C,39:c.3e}}}})(4i);',62,272,'|||function|if|var|return|length|||||||||||||||||||||||||else||data|active|this|list|false|true|width|value|element|ACTIVE|each|toLowerCase|val|result|Autocompleter|visible|case|null|addClass|break|multipleSeparator|css|target|moveSelect|typeof|max|url|hide||bind|onChange||trigger|trimWords|for|multiple|selection|autocomplete|offsetHeight|scrollTop|trim|preventDefault|populate|matchSubset|cacheLength|removeClass|add|size|search|hideResultsNow|lastWord|slice|flush|unbind|stopLoading|arguments|matchCase|term|extend|formatMatch|matchContains|undefined|highlight|formatResult|parse|string|selectionStart|scroll|scrollHeight|mouseDownOnSelect|autoFill|progress|start|delay|document|li|new|findValueCallback|setTimeout|clearTimeout|appendTo|formatItem|needsInit|defaults|push|continue|left|selectFirst|browser|selectCurrent|show|request|replace|split|unautocomplete||loadingClass||setOptions|minChars|teststring|flushCache|character|createTextRange|fn|textLength|selected|in|top|filter|ac_data|fillList|limitNumberOfItems|BACKSPACE|movePosition|PAGEDOWN|click|hideResults|LI|focus|nodeName|PAGEUP|body|COMMA|init|empty|pageDown|ESC|pageUp|next|RETURN|ol|nullData|indexOf|TAB|strong|gi|maxHeight|keyCode|DEL|padding|resultsClass|inputClass|parseInt|DOWN|emptyList|form|dataType|bgiframe|opera|UP|extraParams|prev|load|Select|||display|mustMatch|substring||end|receiveData|text|Cache|orig|selectionEnd|join|setSelectionRange|select|remove|right|height|style|msie|overflow|off|offset|current|attr|is|find|ac_even|html|innerHeight|clientHeight|parentNode|tagName|while|mouseup|mousedown|index|blur|toUpperCase|mouseover|ul|188|default|absolute|position|div|ac_over|substr|ac_odd|charAt|word|180|RegExp|100|switch|400|auto|ac_loading|ac_results||ac_input|keydown|keypress|success|submit||limit|150|name|port|abort|mode|ajax|Date|timestamp|200|map|jQuery|createRange|moveEnd|moveStart|collapse|move'.split('|'),0,{}))
@@ -0,0 +1,32 @@
1
+ function searchFrameLinks() {
2
+ $('#method_list_link').unbind("click").click(function() {
3
+ toggleSearchFrame(this, '/list/' + project + '/methods');
4
+ });
5
+
6
+ $('#class_list_link').unbind("click").click(function() {
7
+ toggleSearchFrame(this, '/list/' + project + '/class');
8
+ });
9
+
10
+ $('#file_list_link').unbind("click").click(function() {
11
+ toggleSearchFrame(this, '/list/' + project + '/files');
12
+ });
13
+ }
14
+
15
+ function methodPermalinks() {
16
+ if ($($('#content h1')[0]).text().match(/^Method:/)) return;
17
+
18
+ $('#method_details .signature, #constructor_details .signature, ' +
19
+ '.method_details .signature, #method_missing_details .signature').each(function() {
20
+ var id = this.id;
21
+ var match = id.match(/^(.+?)-(class|instance)_method$/);
22
+ if (match) {
23
+ var name = match[1];
24
+ var scope = match[2] == "class" ? "." : ":";
25
+ var url = window.location.pathname + scope + escape(name);
26
+ $(this).prepend('<a class="permalink" href="' + url + '">permalink</a>');
27
+ }
28
+ });
29
+ }
30
+
31
+ $(searchFrameLinks);
32
+ $(methodPermalinks);
@@ -0,0 +1,130 @@
1
+ include Helpers::ModuleHelper
2
+
3
+ def init
4
+ options[:objects] = objects = run_verifier(options[:objects])
5
+ options[:files] = ([options[:readme]] + options[:files]).compact.map {|t| t.to_s }
6
+ options[:readme] = options[:files].first
7
+ options[:title] ||= "Documentation by YARD #{YARD::VERSION}"
8
+
9
+ generate_assets
10
+ serialize('_index.html')
11
+ options[:files].each_with_index do |file, i|
12
+ serialize_file(file, i == 0 ? options[:title] : nil)
13
+ end
14
+
15
+ options.delete(:objects)
16
+ options.delete(:files)
17
+
18
+ objects.each do |object|
19
+ begin
20
+ serialize(object)
21
+ rescue => e
22
+ path = options[:serializer].serialized_path(object)
23
+ log.error "Exception occurred while generating '#{path}'"
24
+ log.backtrace(e)
25
+ end
26
+ end
27
+ end
28
+
29
+ def serialize(object)
30
+ options[:object] = object
31
+ serialize_index(options) if object == '_index.html' && options[:files].empty?
32
+ Templates::Engine.with_serializer(object, options[:serializer]) do
33
+ T('layout').run(options)
34
+ end
35
+ end
36
+
37
+ def serialize_index(options)
38
+ Templates::Engine.with_serializer('index.html', options[:serializer]) do
39
+ T('layout').run(options)
40
+ end
41
+ end
42
+
43
+ def serialize_file(file, title = nil)
44
+ options[:object] = Registry.root
45
+ options[:file] = file
46
+ options[:page_title] = title
47
+ options[:serialized_path] = 'file.' + File.basename(file.gsub(/\.[^.]+$/, '')) + '.html'
48
+
49
+ serialize_index(options) if file == options[:readme]
50
+ Templates::Engine.with_serializer(options[:serialized_path], options[:serializer]) do
51
+ T('layout').run(options)
52
+ end
53
+ options.delete(:file)
54
+ options.delete(:serialized_path)
55
+ options.delete(:page_title)
56
+ end
57
+
58
+ def asset(path, content)
59
+ options[:serializer].serialize(path, content) if options[:serializer]
60
+ end
61
+
62
+ def generate_assets
63
+ %w( js/jquery.js js/app.js js/full_list.js js/live.js js/autocomplete.js
64
+ css/style.css css/custom.css css/full_list.css css/common.css ).each do |file|
65
+ asset(file, file(file, true))
66
+ end
67
+
68
+ @object = Registry.root
69
+ generate_method_list
70
+ generate_class_list
71
+ generate_file_list
72
+ generate_frameset
73
+ end
74
+
75
+ def generate_method_list
76
+ @items = prune_method_listing(Registry.all(:method), false)
77
+ @items = @items.reject {|m| m.name.to_s =~ /=$/ && m.is_attribute? }
78
+ @items = @items.sort_by {|m| m.name.to_s }
79
+ @list_title = "Method List"
80
+ @list_type = "methods"
81
+ asset('method_list.html', erb(:full_list))
82
+ end
83
+
84
+ def generate_class_list
85
+ @list_title = "Class List"
86
+ @list_type = "class"
87
+ asset('class_list.html', erb(:full_list))
88
+ end
89
+
90
+ def generate_file_list
91
+ @file_list = true
92
+ @items = options[:files]
93
+ @list_title = "File List"
94
+ @list_type = "files"
95
+ asset('file_list.html', erb(:full_list))
96
+ @file_list = nil
97
+ end
98
+
99
+ def generate_frameset
100
+ asset('frames.html', erb(:frames))
101
+ end
102
+
103
+ def class_list(root = Registry.root)
104
+ out = ""
105
+ children = run_verifier(root.children)
106
+ if root == Registry.root
107
+ children += Registry.all(:class, :module).select {|o| o.namespace.is_a?(CodeObjects::Proxy) }
108
+ children = run_verifier(children)
109
+ end
110
+ children.sort_by {|child| child.path }.map do |child|
111
+ if child.is_a?(CodeObjects::NamespaceObject)
112
+ name = child.namespace.is_a?(CodeObjects::Proxy) ? child.path : child.name
113
+ has_children = child.children.any? {|o| o.is_a?(CodeObjects::NamespaceObject) }
114
+ out << "<li>"
115
+ out << "<a class='toggle'></a> " if has_children
116
+ out << linkify(child, name)
117
+ out << " &lt; #{child.superclass.name}" if child.is_a?(CodeObjects::ClassObject) && child.superclass
118
+ out << "<small class='search_info'>"
119
+ if !child.namespace || child.namespace.root?
120
+ out << "Top Level Namespace"
121
+ else
122
+ out << child.namespace.path
123
+ end
124
+ out << "</small>"
125
+ out << "</li>"
126
+ out << "<ul>#{class_list(child)}</ul>" if has_children
127
+ end
128
+ end
129
+ out
130
+ end
@@ -0,0 +1,15 @@
1
+ <meta name="Content-Type" content="text/html; charset=<%= charset %>" />
2
+ <title><%= @page_title %></title>
3
+ <link rel="stylesheet" href="<%= url_for("css/style.css") %>" type="text/css" media="screen" charset="utf-8" />
4
+ <link rel="stylesheet" href="<%= url_for("css/custom.css") %>" type="text/css" media="screen" charset="utf-8" />
5
+ <% if @extra_css %>
6
+ <link rel="stylesheet" href="<%= url_for @extra_css %>" type="text/css" media="screen" charset="utf-8" />
7
+ <% end %>
8
+ <script type="text/javascript" charset="utf-8">
9
+ relpath = '<%= url_for('') %>';
10
+ if (relpath != '') relpath += '/';
11
+ </script>
12
+ <script type="text/javascript" charset="utf-8" src="<%= url_for("js/jquery.js") %>"></script>
13
+ <script type="text/javascript" charset="utf-8" src="<%= url_for("js/autocomplete.js") %>"></script>
14
+ <script type="text/javascript" charset="utf-8" src="<%= url_for("js/app.js") %>"></script>
15
+ <script type="text/javascript" charset="utf-8" src="<%= url_for("js/live.js") %>"></script>
@@ -0,0 +1,47 @@
1
+ <div id="listing">
2
+ <h1 class="noborder title"><%= options[:title] %></h1>
3
+ <h1 class="alphaindex">Alphabetic Index</h1>
4
+
5
+ <% if @files && @files.size > 0 %>
6
+ <h2>File Listing</h2>
7
+ <ul id="files_ribbon">
8
+ <% n = 1 %>
9
+ <% @files.each_with_index do |file, i| %>
10
+ <li class="r<%= n %>"><%= link_file(file, File.basename(file).gsub(/\.[^.]+$/, '')) %></li>
11
+ <% n = n == 2 ? 1 : 2 %>
12
+ <% end %>
13
+ </ul>
14
+ <% end %>
15
+ <div class="clear"></div>
16
+
17
+ <h2>Namespace Listing A-Z</h2>
18
+
19
+ <ul class="toplevel"><li><%= linkify(Registry.root) %></li></ul>
20
+
21
+ <% i = 0 %>
22
+ <table>
23
+ <tr>
24
+ <td valign='top' width="33%">
25
+ <% @objects_by_letter.sort_by {|l,o| l.to_s }.each do |letter, objects| %>
26
+ <% if (i += 1) % 8 == 0 %>
27
+ </td><td valign='top' width="33%">
28
+ <% i = 0 %>
29
+ <% end %>
30
+ <ul id="alpha_<%= letter %>" class="alpha">
31
+ <li class="letter"><%= letter %></li>
32
+ <ul>
33
+ <% objects.each do |obj| %>
34
+ <li>
35
+ <%= linkify obj, obj.name %>
36
+ <% if !obj.namespace.root? %>
37
+ <small>(<%= obj.namespace.path %>)</small>
38
+ <% end %>
39
+ </li>
40
+ <% end %>
41
+ </ul>
42
+ </ul>
43
+ <% end %>
44
+ </td>
45
+ </tr>
46
+ </table>
47
+ </div>
@@ -0,0 +1,27 @@
1
+ <div id="search2">
2
+ <% @yardoc_org = "http://yardoc.org" %>
3
+ <% @project = "yard" %>
4
+ <form class="search2" method="get" action="<%= @yardoc_org %>/search/<%= @project %>">
5
+ Search: <input name="q" type="search" placeholder="Search" id="search_box2" size="30" value="" />
6
+ </form>
7
+ <script type="text/javascript" charset="utf-8">
8
+ $('#search_box2').autocomplete('<%= @yardoc_org %>/search/<%= @project %>', {
9
+ width: 340,
10
+ formatItem: function(item) {
11
+ var values = item[0].split(",");
12
+ return values[0] + (values[1] == '' ? "" : " <small>(" + values[1] + ")</small>");
13
+ }
14
+ }).result(function(event, item) {
15
+ var values = item[0].split(",")
16
+ $('#search_box2').val(values[1]);
17
+ location.href = values[3];
18
+ return false;
19
+ });
20
+ </script>
21
+ <style>
22
+ .frames form.search2 { position: absolute; right: 14px; top: -6px; padding-top: 10px; }
23
+ .frames #menu .noframes { float: none; }
24
+ .frames #menu { float: left; }
25
+ .frames #content h1 { margin-top: 15px; }
26
+ </style>
27
+ </div>
@@ -0,0 +1,8 @@
1
+ <% scopes(attr_listing) do |list, scope| %>
2
+ <h2><%= scope.to_s.capitalize %> Attributes</h2>
3
+ <ul class="summary">
4
+ <% list.each do |meth| %>
5
+ <%= yieldall :item => meth %>
6
+ <% end %>
7
+ </ul>
8
+ <% end %>
@@ -0,0 +1,34 @@
1
+ <% n = 1 %>
2
+ <div id="info_box">
3
+ <dl class="box">
4
+ <!-- <% if CodeObjects::ClassObject === object && object.superclass %>
5
+ <dt class="r<%=n%>">Inherits:</dt>
6
+ <dd class="r<%=n%>">
7
+ <span class="inheritName"><%= linkify object.superclass %></span>
8
+ <% if object.superclass.name != :BasicObject %>
9
+ <ul class="fullTree">
10
+ <li><%= linkify P(:Object) %></li>
11
+ <% object.inheritance_tree.reverse.each_with_index do |obj, i| %>
12
+ <li class="next"><%= obj == object ? obj.path : linkify(obj) %></li>
13
+ <% end %>
14
+ </ul>
15
+ <a href="#" class="inheritanceTree">show all</a>
16
+ <% end %>
17
+ </dd>
18
+ <% n = 2 %>
19
+ <% end %> -->
20
+ <% [[:class, "Extends"], [:instance, "Includes"]].each do |scope, name| %>
21
+ <% if (mix = object.mixins(scope)).size > 0 %>
22
+ <dt class="r<%=n%>"><%= name %>:</dt>
23
+ <dd class="r<%=n%>"><%= mix.sort_by {|o| o.path }.map {|o| linkify(o) }.join(", ") %></dd>
24
+ <% n = n == 2 ? 1 : 2 %>
25
+ <% end %>
26
+ <% end %>
27
+ <% unless object.root? %>
28
+ <dt class="r<%=n%> last">Defined in:</dt>
29
+ <dd class="r<%=n%> last"><%= erb(:defines) %></dd>
30
+ <% end %>
31
+ </dl>
32
+ </div>
33
+ <div class="clear"></div>
34
+
@@ -0,0 +1,10 @@
1
+ <% scopes(localmethods) do |meths, scope| %>
2
+ <h3 class="inherited"><%= scope.to_s.capitalize %> Methods</h3>
3
+ <ul id="methods_ribbon">
4
+ <% n = 1 %>
5
+ <% meths.each do |meth| %>
6
+ <li class="r<%= n %>"><%= linkify(meth,meth.name) %></li>
7
+ <% n = n == 2 ? 1 : 2 %>
8
+ <% end %>
9
+ </ul>
10
+ <% end %>
@@ -0,0 +1,102 @@
1
+ include Helpers::ModuleHelper
2
+
3
+ def init
4
+ sections \
5
+ :box_info,
6
+ :header,
7
+ :children,
8
+ :local_methods,
9
+ :inherited_methods,
10
+ # :method_summary, [:item_summary],
11
+ :pre_docstring, T('docstring'),
12
+ :constant_summary, :inherited_constants,
13
+ :attribute_summary, [:item_summary],
14
+ :methodmissing, [T('method_details')],
15
+ # :attribute_details, [T('method_details')],
16
+ :method_details_list, [T('method_details')]
17
+ end
18
+
19
+ def localmethods(include_specials = true)
20
+ method_listing(include_specials)
21
+ end
22
+
23
+ def pre_docstring
24
+ return if object.docstring.blank?
25
+ erb(:pre_docstring)
26
+ end
27
+
28
+ def children
29
+ @inner = [[:modules, []], [:classes, []]]
30
+ object.children.each do |child|
31
+ @inner[0][1] << child if child.type == :module
32
+ @inner[1][1] << child if child.type == :class
33
+ end
34
+ @inner.map! {|v| [v[0], run_verifier(v[1].sort_by {|o| o.name.to_s })] }
35
+ return if (@inner[0][1].size + @inner[1][1].size) == 0
36
+ erb(:children)
37
+ end
38
+
39
+ def methodmissing
40
+ mms = object.meths(:inherited => true, :included => true)
41
+ return unless @mm = mms.find {|o| o.name == :method_missing && o.scope == :instance }
42
+ erb(:methodmissing)
43
+ end
44
+
45
+ def method_listing(include_specials = true)
46
+ return @smeths ||= method_listing.reject {|o| special_method?(o) } unless include_specials
47
+ return @meths if @meths
48
+ @meths = object.meths(:inherited => false, :included => false)
49
+ @meths = sort_listing(prune_method_listing(@meths))
50
+ @meths
51
+ end
52
+
53
+ def special_method?(meth)
54
+ return true if meth.name(true) == '#method_missing'
55
+ return true if meth.constructor?
56
+ false
57
+ end
58
+
59
+ def attr_listing
60
+ return @attrs if @attrs
61
+ @attrs = []
62
+ [:class, :instance].each do |scope|
63
+ object.attributes[scope].each do |name, rw|
64
+ @attrs << (rw[:read] || rw[:write])
65
+ end
66
+ end
67
+ @attrs = sort_listing(prune_method_listing(@attrs, false))
68
+ end
69
+
70
+ def constant_listing
71
+ return @constants if @constants
72
+ @constants = object.constants(:included => false, :inherited => false)
73
+ @constants += object.cvars
74
+ @constants = run_verifier(@constants)
75
+ @constants
76
+ end
77
+
78
+ def sort_listing(list)
79
+ list.sort_by {|o| [o.scope.to_s, o.name.to_s.downcase] }
80
+ end
81
+
82
+ def docstring_summary(obj)
83
+ docstring = ""
84
+ if obj.tags(:overload).size == 1 && obj.docstring.empty?
85
+ docstring = obj.tag(:overload).docstring
86
+ else
87
+ docstring = obj.docstring
88
+ end
89
+
90
+ if docstring.summary.empty? && obj.tags(:return).size == 1 && obj.tag(:return).text
91
+ docstring = Docstring.new(obj.tag(:return).text.gsub(/\A([a-z])/) {|x| x.upcase }.strip)
92
+ end
93
+
94
+ docstring.summary
95
+ end
96
+
97
+ def scopes(list)
98
+ [:class, :instance].each do |scope|
99
+ items = list.select {|m| m.scope == scope }
100
+ yield(items, scope) unless items.empty?
101
+ end
102
+ end
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yard-slipstream
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 0
9
+ version: 0.0.0
10
+ platform: ruby
11
+ authors:
12
+ - Dreamcat4
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-04-04 00:00:00 +01:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rspec
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 2
30
+ - 9
31
+ version: 1.2.9
32
+ type: :development
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: yard
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ type: :development
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: cucumber
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ version: "0"
56
+ type: :development
57
+ version_requirements: *id003
58
+ description: yard-slipstream is a yard plugin for Yard-0.5.3 and higher. Slipstream gives users an option for faster page navigation in their yard documents. We just want to optimize the most frequent lookups and remove any duplicate info. Other than that its just plain straight Yard, with all the same "look and feel" as the default template.
59
+ email: dreamcat4@gmail.com
60
+ executables: []
61
+
62
+ extensions: []
63
+
64
+ extra_rdoc_files:
65
+ - LICENSE
66
+ - README.rdoc
67
+ files:
68
+ - .document
69
+ - .gitignore
70
+ - LICENSE
71
+ - README.rdoc
72
+ - Rakefile
73
+ - VERSION
74
+ - features/step_definitions/yard-slipstream_steps.rb
75
+ - features/support/env.rb
76
+ - features/yard-slipstream.feature
77
+ - lib/yard-slipstream.rb
78
+ - lib/yard-slipstream/handler.rb
79
+ - lib/yard-slipstream/legacy.rb
80
+ - spec/spec.opts
81
+ - spec/spec_helper.rb
82
+ - spec/yard-slipstream_spec.rb
83
+ - templates/default/fulldoc/html/css/custom.css
84
+ - templates/default/fulldoc/html/css/style.css
85
+ - templates/default/fulldoc/html/css/yardoc-custom.css
86
+ - templates/default/fulldoc/html/css/yardoc.css
87
+ - templates/default/fulldoc/html/css/yardoc.html
88
+ - templates/default/fulldoc/html/js/autocomplete.js
89
+ - templates/default/fulldoc/html/js/live.js
90
+ - templates/default/fulldoc/html/setup.rb
91
+ - templates/default/layout/html/headers.erb
92
+ - templates/default/layout/html/index.erb
93
+ - templates/default/layout/html/search.erb
94
+ - templates/default/module/html/attribute_summary.erb
95
+ - templates/default/module/html/box_info.erb
96
+ - templates/default/module/html/local_methods.erb
97
+ - templates/default/module/setup.rb
98
+ has_rdoc: true
99
+ homepage: http://github.com/dreamcat4/yard-slipstream
100
+ licenses: []
101
+
102
+ post_install_message:
103
+ rdoc_options:
104
+ - --charset=UTF-8
105
+ require_paths:
106
+ - lib
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ segments:
112
+ - 0
113
+ version: "0"
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ segments:
119
+ - 0
120
+ version: "0"
121
+ requirements: []
122
+
123
+ rubyforge_project:
124
+ rubygems_version: 1.3.6
125
+ signing_key:
126
+ specification_version: 3
127
+ summary: Streamlined Navigation for the default yard template
128
+ test_files:
129
+ - spec/spec_helper.rb
130
+ - spec/yard-slipstream_spec.rb