mathjax-yard 0.1.0 → 1.0.1

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.
@@ -0,0 +1,196 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <script type="text/x-mathjax-config">
6
+ MathJax.Hub.Config({
7
+ tex2jax:{
8
+ inlineMath: [ ['$','$'], ["\(","\)"] ],
9
+ displayMath: [ ['$$','$$'], ["\[","\]"] ]
10
+ }
11
+ });
12
+ </script>
13
+ <script type="text/javascript"
14
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
15
+ </script>
16
+ <meta http-equiv="X-UA-Compatible" CONTENT="IE=EmulateIE7" />
17
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
18
+ <title>
19
+ File: potential2
20
+
21
+ &mdash; Documentation by YARD 0.8.7.6
22
+
23
+ </title>
24
+
25
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
26
+
27
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
28
+
29
+ <script type="text/javascript" charset="utf-8">
30
+ hasFrames = window.top.frames.main ? true : false;
31
+ relpath = '';
32
+ framesUrl = "frames.html#!file.potential2.html";
33
+ </script>
34
+
35
+
36
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
37
+
38
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
39
+
40
+
41
+ </head>
42
+ <body>
43
+ <div id="header">
44
+ <div id="menu">
45
+
46
+ <a href="_index.html">Index</a> &raquo;
47
+ <span class="title">File: potential2</span>
48
+
49
+
50
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
51
+ </div>
52
+
53
+ <div id="search">
54
+
55
+ <a class="full_list_link" id="class_list_link"
56
+ href="class_list.html">
57
+ Class List
58
+ </a>
59
+
60
+ <a class="full_list_link" id="method_list_link"
61
+ href="method_list.html">
62
+ Method List
63
+ </a>
64
+
65
+ <a class="full_list_link" id="file_list_link"
66
+ href="file_list.html">
67
+ File List
68
+ </a>
69
+
70
+ </div>
71
+ <div class="clear"></div>
72
+ </div>
73
+
74
+ <iframe id="search_frame"></iframe>
75
+
76
+ <div id="content"><div id='filecontents'><h1>lj0</h1>
77
+
78
+ <p>標準的なLennard-Jonesポテンシャルの表式</p>
79
+
80
+ <p>$$ F(s)=\int_{0}^{\infty}f(t)e^{-st}dt $$</p>
81
+
82
+ <pre class="code ruby"><code class="ruby">bob% cat POTCAR
83
+ ---
84
+ :type: lj0
85
+ :element: Al
86
+ :a0: 1.587401051*0.7071067812/2.857701314;
87
+ :e0: -1*4.0/12.0;
88
+ :a: 18.19007708
89
+ :b: 89.22765864
90
+ :p: 3.0
91
+ :q: 5.0
92
+ :cut_off: 4.0*0.8
93
+ :energy: -a*(1/r**p)+b*(1/r**q)
94
+ :dedr: (p*a/r**(p+1.0))-(q*b/r**(q+1.0))
95
+ </code></pre>
96
+
97
+ <h1>lj_jindo</h1>
98
+
99
+ <p>神藤先生あるいはVu Van Huangが使っていたLennard-Jonesポテンシャルの表式.</p>
100
+
101
+ <pre class="code ruby"><code class="ruby">bob% cat POTCAR_jindo_Cu
102
+ ---
103
+ :type: lj_jindo
104
+ :element: Cu
105
+ :d0: 4125.70
106
+ :n: 9.00
107
+ :m: 5.50
108
+ :r0: 2.5487e-8
109
+ :alat: 3.6153e-8
110
+ :atom_mass: 63.5460/6.023e23
111
+ :energy: d0*((r/r0)^(-n)*m-(r/r0)^(-m)*n)/(m-n)
112
+ :dedr: d0*m*n*((r/r0)^(-m)-(r/r0)^(-n))/(r*(m-n))
113
+ </code></pre>
114
+
115
+ <pre class="code ruby"><code class="ruby">Cu
116
+ d0 := 4125.70;
117
+ vn := 9.00;
118
+ vm := 5.50;
119
+ r0 := 2.5487e-8;
120
+ rh:=r0/rr;
121
+ dedr:=unapply(-d0*vm*vn / ((vn-vm)*rr) * (rh**vn - rh**vm),rr);
122
+ eq1:=int(dedr(r),r);
123
+ func:=unapply(eq1,rr);
124
+ r1:=2.5487*10^(-8)*0.8;
125
+ r2:=2.5487*10^(-8)*1.5;
126
+ plot(8.617385e-05*func(r),r=r1..r2);
127
+ </code></pre>
128
+
129
+ <pre class="code ruby"><code class="ruby"> dedr:=unapply(-d0*vm*vn / ((vn-vm)*rr) * (rh**vn - rh**vm),rr);
130
+ eq1:=int(dedr(r),r);
131
+ -{ 1.821482757\times 10^{-38}} r{-5.5}+
132
+ { 2.942122564\times 10^{-65}} r^{-9}
133
+ </code></pre>
134
+
135
+ <pre class="code ruby"><code class="ruby">rh:=r0/rr;
136
+ dedr:=normal(expand(d0*vm*vn / ((vn-vm)*rr) * (rh**vn - rh**vm)));
137
+ eq1:=simplify(int(dedr,rr));
138
+ </code></pre>
139
+
140
+ <p>$$
141
+ r_1=r/r_0
142
+
143
+ \frac{ d_0 \left( r_1^{-n}m- r_1^{-m} n \right) }{ -n + m }
144
+ $$</p>
145
+
146
+ <h1>ポテンシャル選択機構</h1>
147
+
148
+ <p>module LJに記述</p>
149
+
150
+ <pre class="code ruby"><code class="ruby"> <span class='kw'>def</span> <span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>POTCAR</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
151
+ <span class='comment'># p src = YAML.load_file(ARGV[0])
152
+ </span> <span class='id identifier rubyid_p'>p</span> <span class='id identifier rubyid_src'>src</span> <span class='op'>=</span> <span class='const'>YAML</span><span class='period'>.</span><span class='id identifier rubyid_load_file'>load_file</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span><span class='rparen'>)</span>
153
+ <span class='cvar'>@@potential</span><span class='op'>=</span><span class='kw'>case</span> <span class='id identifier rubyid_src'>src</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span>
154
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>lj0</span><span class='tstring_end'>&#39;</span></span>
155
+ <span class='const'>LJ0</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_src'>src</span><span class='rparen'>)</span>
156
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>lj_jindo</span><span class='tstring_end'>&#39;</span></span>
157
+ <span class='const'>LJ_Jindo</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_src'>src</span><span class='rparen'>)</span>
158
+ <span class='kw'>end</span>
159
+ <span class='kw'>end</span>
160
+ </code></pre>
161
+
162
+ <ul>
163
+ <li>委譲による選択
164
+
165
+ <ul>
166
+ <li>pseudovasp.rbにLJ.select(&#39;POTCAR&#39;)がある.</li>
167
+ <li>LJ0あるいはLJ_Jindoをclassとして用意.</li>
168
+ </ul></li>
169
+ <li>POTCARへのYAMLでの記述</li>
170
+ <li>クラス変数によるクラス共通の変数定義</li>
171
+ </ul>
172
+
173
+ <p>EAMとの統一を考えたが,energy, forceのmethodの選択を
174
+ どっかでしないとダメで,その綺麗なやり方が思いつかず,
175
+ そのままにした.</p>
176
+
177
+ <pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>EAMAtom</span> <span class='op'>&lt;</span> <span class='const'>Atom</span>
178
+ <span class='id identifier rubyid_include'>include</span> <span class='const'>EAM</span>
179
+ <span class='kw'>end</span>
180
+
181
+ <span class='kw'>class</span> <span class='const'>LJAtom</span> <span class='op'>&lt;</span> <span class='const'>Atom</span>
182
+ <span class='id identifier rubyid_include'>include</span> <span class='const'>LJ</span>
183
+ <span class='kw'>end</span>
184
+ </code></pre>
185
+
186
+ <p>となっており,ほぼ元どおり.</p>
187
+ </div></div>
188
+
189
+ <div id="footer">
190
+ Generated on Thu Jun 23 14:03:52 2016 by
191
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
192
+ 0.8.7.6 (ruby-2.2.2).
193
+ </div>
194
+
195
+ </body>
196
+ </html>
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+
7
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
+
9
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
10
+
11
+
12
+
13
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
+
17
+
18
+ <title>File List</title>
19
+ <base id="base_target" target="_parent" />
20
+ </head>
21
+ <body>
22
+ <script type="text/javascript" charset="utf-8">
23
+ var hasFrames = false;
24
+ try {
25
+ hasFrames = window.top.frames.main ? true : false;
26
+ } catch (e) { }
27
+ if (hasFrames) {
28
+ document.getElementById('base_target').target = 'main';
29
+ document.body.className = 'frames';
30
+ }
31
+ </script>
32
+ <div id="content">
33
+ <h1 id="full_list_header">File List</h1>
34
+ <div id="nav">
35
+
36
+ <span><a target="_self" href="class_list.html">
37
+ Classes
38
+ </a></span>
39
+
40
+ <span><a target="_self" href="method_list.html">
41
+ Methods
42
+ </a></span>
43
+
44
+ <span><a target="_self" href="file_list.html">
45
+ Files
46
+ </a></span>
47
+
48
+ </div>
49
+ <div id="search">Search: <input type="text" /></div>
50
+
51
+ <ul id="full_list" class="file">
52
+
53
+
54
+ <li class="r1"><span class="object_link"><a href="index.html" title="README">README</a></a></li>
55
+
56
+
57
+ <li class="r2"><span class="object_link"><a href="file.atom.html" title="atom">atom</a></a></li>
58
+
59
+
60
+ <li class="r1"><span class="object_link"><a href="file.Home.html" title="Home">Home</a></a></li>
61
+
62
+
63
+ <li class="r2"><span class="object_link"><a href="file.potential2.html" title="potential2">potential2</a></a></li>
64
+
65
+
66
+ <li class="r1"><span class="object_link"><a href="file.README_ja.html" title="README_ja">README_ja</a></a></li>
67
+
68
+
69
+ </ul>
70
+ </div>
71
+ </body>
72
+ </html>
data/doc/frames.html ADDED
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
+ <title>Documentation by YARD 0.8.7.6</title>
8
+ </head>
9
+ <script type="text/javascript" charset="utf-8">
10
+ window.onload = function() {
11
+ var match = unescape(window.location.hash).match(/^#!(.+)/);
12
+ var name = match ? match[1] : 'index.html';
13
+ name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
14
+ document.writeln('<frameset cols="20%,*">' +
15
+ '<frame name="list" src="class_list.html" />' +
16
+ '<frame name="main" src="' + escape(name) + '" />' +
17
+ '</frameset>');
18
+ }
19
+ </script>
20
+ <noscript>
21
+ <frameset cols="20%,*">
22
+ <frame name="list" src="class_list.html" />
23
+ <frame name="main" src="index.html" />
24
+ </frameset>
25
+ </noscript>
26
+ </html>
data/doc/index.html ADDED
@@ -0,0 +1,144 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <script type="text/x-mathjax-config">
6
+ MathJax.Hub.Config({
7
+ tex2jax:{
8
+ inlineMath: [ ['$','$'], ["\(","\)"] ],
9
+ displayMath: [ ['$$','$$'], ["\[","\]"] ]
10
+ }
11
+ });
12
+ </script>
13
+ <script type="text/javascript"
14
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
15
+ </script>
16
+ <meta http-equiv="X-UA-Compatible" CONTENT="IE=EmulateIE7" />
17
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
18
+ <title>
19
+ File: README
20
+
21
+ &mdash; Documentation by YARD 0.8.7.6
22
+
23
+ </title>
24
+
25
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
26
+
27
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
28
+
29
+ <script type="text/javascript" charset="utf-8">
30
+ hasFrames = window.top.frames.main ? true : false;
31
+ relpath = '';
32
+ framesUrl = "frames.html#!file.README.html";
33
+ </script>
34
+
35
+
36
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
37
+
38
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
39
+
40
+
41
+ </head>
42
+ <body>
43
+ <div id="header">
44
+ <div id="menu">
45
+
46
+ <a href="_index.html">Index</a> &raquo;
47
+ <span class="title">File: README</span>
48
+
49
+
50
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
51
+ </div>
52
+
53
+ <div id="search">
54
+
55
+ <a class="full_list_link" id="class_list_link"
56
+ href="class_list.html">
57
+ Class List
58
+ </a>
59
+
60
+ <a class="full_list_link" id="method_list_link"
61
+ href="method_list.html">
62
+ Method List
63
+ </a>
64
+
65
+ <a class="full_list_link" id="file_list_link"
66
+ href="file_list.html">
67
+ File List
68
+ </a>
69
+
70
+ </div>
71
+ <div class="clear"></div>
72
+ </div>
73
+
74
+ <iframe id="search_frame"></iframe>
75
+
76
+ <div id="content"><div id='filecontents'><h1>MathJaxYard</h1>
77
+
78
+ <p>mathjax-yard is a mathjax extension for markdown in yard.</p>
79
+
80
+ <h2>Installation</h2>
81
+
82
+ <p>Add this line to your application&#39;s Gemfile:</p>
83
+
84
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>mathjax-yard</span><span class='tstring_end'>&#39;</span></span>
85
+ </code></pre>
86
+
87
+ <p>And then execute:</p>
88
+
89
+ <pre class="code ruby"><code class="ruby">$ bundle
90
+ </code></pre>
91
+
92
+ <p>Or install it yourself as:</p>
93
+
94
+ <pre class="code ruby"><code class="ruby">$ gem install mathjax-yard
95
+ </code></pre>
96
+
97
+ <h2>Usage</h2>
98
+
99
+ <p>mathjax-yard is intended to be a command line tool, using in Rakefile as follows.</p>
100
+
101
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_desc'>desc</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>make documents by yard</span><span class='tstring_end'>&quot;</span></span>
102
+ <span class='id identifier rubyid_task'>task</span> <span class='symbol'>:yard</span> <span class='kw'>do</span>
103
+ <span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>mathjax-yard</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
104
+ <span class='const'>YARD</span><span class='op'>::</span><span class='const'>Rake</span><span class='op'>::</span><span class='const'>YardocTask</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
105
+ <span class='kw'>end</span>
106
+
107
+ <span class='id identifier rubyid_desc'>desc</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>make documents with yardmath</span><span class='tstring_end'>&quot;</span></span>
108
+ <span class='id identifier rubyid_task'>task</span> <span class='symbol'>:mathjax</span> <span class='kw'>do</span>
109
+ <span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>mathjax-yard --post</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
110
+ <span class='kw'>end</span>
111
+ </code></pre>
112
+
113
+ <p>mathjax-yard search ./<em>/</em>.md and replace &#39;$...$&#39; or &#39;$$...$$&#39; to $MATHJAX*<em>$ tags, and make &#39;mathjax.yml&#39; for storing these relations. After the normal YARD operation has done, &#39;mathjax-yard --post&#39; replacement will be done on &#39;doc/file.</em>.html&#39;. The yard options are</p>
114
+
115
+ <pre class="code ruby"><code class="ruby">-t mathjax -p templates
116
+ -
117
+ spec/*.md
118
+ </code></pre>
119
+
120
+ <p>The mathjax layout should be included in yard layout.</p>
121
+
122
+ <h2>Development</h2>
123
+
124
+ <p>After checking out the repo, run <code>bin/setup</code> to install dependencies. Then, run <code>rake spec</code> to run the tests. You can also run <code>bin/console</code> for an interactive prompt that will allow you to experiment. Run <code>bundle exec mathjax-yard</code> to use the gem in this directory, ignoring other installed copies of this gem.</p>
125
+
126
+ <p>To install this gem onto your local machine, run <code>bundle exec rake install</code>. To release a new version, update the version number in <code>version.rb</code>, and then run <code>bundle exec rake release</code>, which will create a git tag for the version, push git commits and tags, and push the <code>.gem</code> file to <a href="https://rubygems.org">rubygems.org</a>.</p>
127
+
128
+ <h2>Contributing</h2>
129
+
130
+ <p>Bug reports and pull requests are welcome on GitHub at <a href="https://github.com/%5BUSERNAME%5D/mathjax-yard">https://github.com/[USERNAME]/mathjax-yard</a>. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the <a href="http://contributor-covenant.org">Contributor Covenant</a> code of conduct.</p>
131
+
132
+ <h2>License</h2>
133
+
134
+ <p>The gem is available as open source under the terms of the <a href="http://opensource.org/licenses/MIT">MIT License</a>.</p>
135
+ </div></div>
136
+
137
+ <div id="footer">
138
+ Generated on Thu Jun 23 14:03:52 2016 by
139
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
140
+ 0.8.7.6 (ruby-2.2.2).
141
+ </div>
142
+
143
+ </body>
144
+ </html>
data/doc/js/app.js ADDED
@@ -0,0 +1,219 @@
1
+ function createSourceLinks() {
2
+ $('.method_details_list .source_code').
3
+ before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
4
+ $('.toggleSource').toggle(function() {
5
+ $(this).parent().nextAll('.source_code').slideDown(100);
6
+ $(this).text("Hide source");
7
+ },
8
+ function() {
9
+ $(this).parent().nextAll('.source_code').slideUp(100);
10
+ $(this).text("View source");
11
+ });
12
+ }
13
+
14
+ function createDefineLinks() {
15
+ var tHeight = 0;
16
+ $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
17
+ $('.toggleDefines').toggle(function() {
18
+ tHeight = $(this).parent().prev().height();
19
+ $(this).prev().show();
20
+ $(this).parent().prev().height($(this).parent().height());
21
+ $(this).text("(less)");
22
+ },
23
+ function() {
24
+ $(this).prev().hide();
25
+ $(this).parent().prev().height(tHeight);
26
+ $(this).text("more...");
27
+ });
28
+ }
29
+
30
+ function createFullTreeLinks() {
31
+ var tHeight = 0;
32
+ $('.inheritanceTree').toggle(function() {
33
+ tHeight = $(this).parent().prev().height();
34
+ $(this).parent().toggleClass('showAll');
35
+ $(this).text("(hide)");
36
+ $(this).parent().prev().height($(this).parent().height());
37
+ },
38
+ function() {
39
+ $(this).parent().toggleClass('showAll');
40
+ $(this).parent().prev().height(tHeight);
41
+ $(this).text("show all");
42
+ });
43
+ }
44
+
45
+ function fixBoxInfoHeights() {
46
+ $('dl.box dd.r1, dl.box dd.r2').each(function() {
47
+ $(this).prev().height($(this).height());
48
+ });
49
+ }
50
+
51
+ function searchFrameLinks() {
52
+ $('.full_list_link').click(function() {
53
+ toggleSearchFrame(this, $(this).attr('href'));
54
+ return false;
55
+ });
56
+ }
57
+
58
+ function toggleSearchFrame(id, link) {
59
+ var frame = $('#search_frame');
60
+ $('#search a').removeClass('active').addClass('inactive');
61
+ if (frame.attr('src') == link && frame.css('display') != "none") {
62
+ frame.slideUp(100);
63
+ $('#search a').removeClass('active inactive');
64
+ }
65
+ else {
66
+ $(id).addClass('active').removeClass('inactive');
67
+ frame.attr('src', link).slideDown(100);
68
+ }
69
+ }
70
+
71
+ function linkSummaries() {
72
+ $('.summary_signature').click(function() {
73
+ document.location = $(this).find('a').attr('href');
74
+ });
75
+ }
76
+
77
+ function framesInit() {
78
+ if (hasFrames) {
79
+ document.body.className = 'frames';
80
+ $('#menu .noframes a').attr('href', document.location);
81
+ try {
82
+ window.top.document.title = $('html head title').text();
83
+ } catch(error) {
84
+ // some browsers will not allow this when serving from file://
85
+ // but we don't want to stop the world.
86
+ }
87
+ }
88
+ else {
89
+ $('#menu .noframes a').text('frames').attr('href', framesUrl);
90
+ }
91
+ }
92
+
93
+ function keyboardShortcuts() {
94
+ if (window.top.frames.main) return;
95
+ $(document).keypress(function(evt) {
96
+ if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) return;
97
+ if (typeof evt.target !== "undefined" &&
98
+ (evt.target.nodeName == "INPUT" ||
99
+ evt.target.nodeName == "TEXTAREA")) return;
100
+ switch (evt.charCode) {
101
+ case 67: case 99: $('#class_list_link').click(); break; // 'c'
102
+ case 77: case 109: $('#method_list_link').click(); break; // 'm'
103
+ case 70: case 102: $('#file_list_link').click(); break; // 'f'
104
+ default: break;
105
+ }
106
+ });
107
+ }
108
+
109
+ function summaryToggle() {
110
+ $('.summary_toggle').click(function() {
111
+ if (localStorage) {
112
+ localStorage.summaryCollapsed = $(this).text();
113
+ }
114
+ $('.summary_toggle').each(function() {
115
+ $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
116
+ var next = $(this).parent().parent().nextAll('ul.summary').first();
117
+ if (next.hasClass('compact')) {
118
+ next.toggle();
119
+ next.nextAll('ul.summary').first().toggle();
120
+ }
121
+ else if (next.hasClass('summary')) {
122
+ var list = $('<ul class="summary compact" />');
123
+ list.html(next.html());
124
+ list.find('.summary_desc, .note').remove();
125
+ list.find('a').each(function() {
126
+ $(this).html($(this).find('strong').html());
127
+ $(this).parent().html($(this)[0].outerHTML);
128
+ });
129
+ next.before(list);
130
+ next.toggle();
131
+ }
132
+ });
133
+ return false;
134
+ });
135
+ if (localStorage) {
136
+ if (localStorage.summaryCollapsed == "collapse") {
137
+ $('.summary_toggle').first().click();
138
+ }
139
+ else localStorage.summaryCollapsed = "expand";
140
+ }
141
+ }
142
+
143
+ function fixOutsideWorldLinks() {
144
+ $('a').each(function() {
145
+ if (window.location.host != this.host) this.target = '_parent';
146
+ });
147
+ }
148
+
149
+ function generateTOC() {
150
+ if ($('#filecontents').length === 0) return;
151
+ var _toc = $('<ol class="top"></ol>');
152
+ var show = false;
153
+ var toc = _toc;
154
+ var counter = 0;
155
+ var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
156
+ var i;
157
+ if ($('#filecontents h1').length > 1) tags.unshift('h1');
158
+ for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
159
+ var lastTag = parseInt(tags[0][1], 10);
160
+ $(tags.join(', ')).each(function() {
161
+ if ($(this).parents('.method_details .docstring').length != 0) return;
162
+ if (this.id == "filecontents") return;
163
+ show = true;
164
+ var thisTag = parseInt(this.tagName[1], 10);
165
+ if (this.id.length === 0) {
166
+ var proposedId = $(this).attr('toc-id');
167
+ if (typeof(proposedId) != "undefined") this.id = proposedId;
168
+ else {
169
+ var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
170
+ if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
171
+ this.id = proposedId;
172
+ }
173
+ }
174
+ if (thisTag > lastTag) {
175
+ for (i = 0; i < thisTag - lastTag; i++) {
176
+ var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
177
+ }
178
+ }
179
+ if (thisTag < lastTag) {
180
+ for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
181
+ }
182
+ var title = $(this).attr('toc-title');
183
+ if (typeof(title) == "undefined") title = $(this).text();
184
+ toc.append('<li><a href="#' + this.id + '">' + title + '</a></li>');
185
+ lastTag = thisTag;
186
+ });
187
+ if (!show) return;
188
+ html = '<div id="toc"><p class="title"><a class="hide_toc" href="#"><strong>Table of Contents</strong></a> <small>(<a href="#" class="float_toc">left</a>)</small></p></div>';
189
+ $('#content').prepend(html);
190
+ $('#toc').append(_toc);
191
+ $('#toc .hide_toc').toggle(function() {
192
+ $('#toc .top').slideUp('fast');
193
+ $('#toc').toggleClass('hidden');
194
+ $('#toc .title small').toggle();
195
+ }, function() {
196
+ $('#toc .top').slideDown('fast');
197
+ $('#toc').toggleClass('hidden');
198
+ $('#toc .title small').toggle();
199
+ });
200
+ $('#toc .float_toc').toggle(function() {
201
+ $(this).text('float');
202
+ $('#toc').toggleClass('nofloat');
203
+ }, function() {
204
+ $(this).text('left');
205
+ $('#toc').toggleClass('nofloat');
206
+ });
207
+ }
208
+
209
+ $(framesInit);
210
+ $(createSourceLinks);
211
+ $(createDefineLinks);
212
+ $(createFullTreeLinks);
213
+ $(fixBoxInfoHeights);
214
+ $(searchFrameLinks);
215
+ $(linkSummaries);
216
+ $(keyboardShortcuts);
217
+ $(summaryToggle);
218
+ $(fixOutsideWorldLinks);
219
+ $(generateTOC);