rabid 0.0.5 → 0.0.6

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +2 -1
  3. data/bin/rabid +2 -10
  4. data/lib/bigipcookie.rb +13 -11
  5. data/lib/bigipcookie/version.rb +1 -1
  6. metadata +22 -74
  7. data/.gitignore +0 -8
  8. data/.rubocop.yml +0 -22
  9. data/.yardopts +0 -4
  10. data/.yardopts-dev +0 -6
  11. data/Gemfile +0 -6
  12. data/Gemfile.lock +0 -58
  13. data/README.md +0 -32
  14. data/Rakefile +0 -10
  15. data/bin/rabid_setup +0 -6
  16. data/docs/.nojekyll +0 -0
  17. data/docs/About.md +0 -13
  18. data/docs/CHANGELOG.md +0 -23
  19. data/docs/README.md +0 -23
  20. data/docs/_coverpage.md +0 -14
  21. data/docs/_media/logo.png +0 -0
  22. data/docs/_navbar.md +0 -2
  23. data/docs/_sidebar.md +0 -15
  24. data/docs/index.html +0 -31
  25. data/docs/pages/demo.md +0 -3
  26. data/docs/pages/documentation.md +0 -34
  27. data/docs/pages/install.md +0 -90
  28. data/docs/pages/publishing.md +0 -39
  29. data/docs/pages/quick-start.md +0 -30
  30. data/docs/pages/usage.md +0 -54
  31. data/docs/vendor/docsify.js +0 -1
  32. data/docs/vendor/plugins/emoji.min.js +0 -1
  33. data/docs/vendor/plugins/search.min.js +0 -1
  34. data/docs/vendor/prismjs/components/prism-ruby.min.js +0 -1
  35. data/docs/vendor/themes/vue.css +0 -1
  36. data/docs/why.md +0 -49
  37. data/docs/yard/BigIPCookie.html +0 -159
  38. data/docs/yard/BigIPCookie/Decode.html +0 -782
  39. data/docs/yard/Version.html +0 -126
  40. data/docs/yard/_index.html +0 -138
  41. data/docs/yard/class_list.html +0 -51
  42. data/docs/yard/css/common.css +0 -1
  43. data/docs/yard/css/full_list.css +0 -58
  44. data/docs/yard/css/style.css +0 -496
  45. data/docs/yard/file.LICENSE.html +0 -70
  46. data/docs/yard/file.README.html +0 -105
  47. data/docs/yard/file_list.html +0 -61
  48. data/docs/yard/frames.html +0 -17
  49. data/docs/yard/index.html +0 -105
  50. data/docs/yard/js/app.js +0 -303
  51. data/docs/yard/js/full_list.js +0 -216
  52. data/docs/yard/js/jquery.js +0 -4
  53. data/docs/yard/method_list.html +0 -99
  54. data/docs/yard/top-level-namespace.html +0 -112
  55. data/package-lock.json +0 -154
  56. data/test/test_bigipcookie.rb +0 -86
@@ -1,70 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- File: LICENSE
8
-
9
- &mdash; Documentation by YARD 0.9.20
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "LICENSE";
19
- relpath = '';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="file_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="_index.html">Index</a> &raquo;
40
- <span class="title">File: LICENSE</span>
41
-
42
- </div>
43
-
44
- <div id="search">
45
-
46
- <a class="full_list_link" id="class_list_link"
47
- href="class_list.html">
48
-
49
- <svg width="24" height="24">
50
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
- </svg>
54
- </a>
55
-
56
- </div>
57
- <div class="clear"></div>
58
- </div>
59
-
60
- <div id="content"><div id='filecontents'>The MIT License (MIT)<br/><br/>Copyright (c) 2019 Alexandre ZANNI<br/><br/>Permission is hereby granted, free of charge, to any person obtaining a copy<br/>of this software and associated documentation files (the &quot;Software&quot;), to deal<br/>in the Software without restriction, including without limitation the rights<br/>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br/>copies of the Software, and to permit persons to whom the Software is<br/>furnished to do so, subject to the following conditions:<br/><br/>The above copyright notice and this permission notice shall be included in<br/>all copies or substantial portions of the Software.<br/><br/>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br/>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br/>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br/>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br/>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br/>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN<br/>THE SOFTWARE.</div></div>
61
-
62
- <div id="footer">
63
- Generated on Thu Oct 3 11:49:13 2019 by
64
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
65
- 0.9.20 (ruby-2.6.2).
66
- </div>
67
-
68
- </div>
69
- </body>
70
- </html>
@@ -1,105 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- File: README
8
-
9
- &mdash; Documentation by YARD 0.9.20
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "README";
19
- relpath = '';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="file_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="_index.html">Index</a> &raquo;
40
- <span class="title">File: README</span>
41
-
42
- </div>
43
-
44
- <div id="search">
45
-
46
- <a class="full_list_link" id="class_list_link"
47
- href="class_list.html">
48
-
49
- <svg width="24" height="24">
50
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
- </svg>
54
- </a>
55
-
56
- </div>
57
- <div class="clear"></div>
58
- </div>
59
-
60
- <div id="content"><div id='filecontents'><h1>RABID</h1>
61
-
62
- <p><a href="https://badge.fury.io/rb/rabid"><img src="https://badge.fury.io/rb/rabid.svg" alt="Gem Version"></a>
63
- <img src="https://img.shields.io/github/tag/Orange-Cyberdefense/rabid" alt="GitHub tag (latest SemVer)">
64
- <a href="https://github.com/Orange-Cyberdefense/rabid/network"><img src="https://img.shields.io/github/forks/Orange-Cyberdefense/rabid" alt="GitHub forks"></a>
65
- <a href="https://github.com/Orange-Cyberdefense/rabid/stargazers"><img src="https://img.shields.io/github/stars/Orange-Cyberdefense/rabid" alt="GitHub stars"></a>
66
- <a href="https://github.com/Orange-Cyberdefense/rabid/blob/master/LICENSE.txt"><img src="https://img.shields.io/github/license/Orange-Cyberdefense/rabid" alt="GitHub license"></a></p>
67
-
68
- <p><a href="https://repology.org/project/rabid/versions"><img src="https://repology.org/badge/vertical-allrepos/rabid.svg" alt="Packaging status"></a></p>
69
-
70
- <p><img src="https://orange-cyberdefense.github.io/rabid/_media/logo.png" alt=""></p>
71
-
72
- <blockquote>
73
- <p><strong>RA</strong>pid <strong>B</strong>ig <strong>I</strong>P <strong>D</strong>ecoder</p>
74
- </blockquote>
75
-
76
- <h2>What it is</h2>
77
-
78
- <p>A CLI tool and library allowing to simply decode all kind of BigIP cookies.</p>
79
-
80
- <h2>Features</h2>
81
-
82
- <ul>
83
- <li>Support all 4 cookie formats</li>
84
- <li>CLI tool &amp; library</li>
85
- <li>Hackable</li>
86
- </ul>
87
-
88
- <h2>References</h2>
89
-
90
- <p>Homepage / Documentation: <a href="https://orange-cyberdefense.github.io/rabid/">https://orange-cyberdefense.github.io/rabid/</a></p>
91
-
92
- <h2>Author</h2>
93
-
94
- <p>Made by Alexandre ZANNI (<a href="https://github.com/noraj">@noraj</a>), pentester from Orange Cyberdefense.</p>
95
- </div></div>
96
-
97
- <div id="footer">
98
- Generated on Thu Oct 3 11:49:13 2019 by
99
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
100
- 0.9.20 (ruby-2.6.2).
101
- </div>
102
-
103
- </div>
104
- </body>
105
- </html>
@@ -1,61 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
- <meta 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
- <div id="content">
23
- <div class="fixed_header">
24
- <h1 id="full_list_header">File List</h1>
25
- <div id="full_list_nav">
26
-
27
- <span><a target="_self" href="class_list.html">
28
- Classes
29
- </a></span>
30
-
31
- <span><a target="_self" href="method_list.html">
32
- Methods
33
- </a></span>
34
-
35
- <span><a target="_self" href="file_list.html">
36
- Files
37
- </a></span>
38
-
39
- </div>
40
-
41
- <div id="search">Search: <input type="text" /></div>
42
- </div>
43
-
44
- <ul id="full_list" class="file">
45
-
46
-
47
- <li id="object_README" class="odd">
48
- <div class="item"><span class="object_link"><a href="index.html" title="README">README</a></span></div>
49
- </li>
50
-
51
-
52
- <li id="object_LICENSE" class="even">
53
- <div class="item"><span class="object_link"><a href="file.LICENSE.html" title="LICENSE">LICENSE</a></span></div>
54
- </li>
55
-
56
-
57
-
58
- </ul>
59
- </div>
60
- </body>
61
- </html>
@@ -1,17 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <title>Documentation by YARD 0.9.20</title>
6
- </head>
7
- <script type="text/javascript" charset="utf-8">
8
- var match = unescape(window.location.hash).match(/^#!(.+)/);
9
- var name = match ? match[1] : 'index.html';
10
- name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
11
- window.top.location = name;
12
- </script>
13
- <noscript>
14
- <h1>Oops!</h1>
15
- <h2>YARD requires JavaScript!</h2>
16
- </noscript>
17
- </html>
@@ -1,105 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- File: README
8
-
9
- &mdash; Documentation by YARD 0.9.20
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "README";
19
- relpath = '';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="_index.html">Index</a> &raquo;
40
- <span class="title">File: README</span>
41
-
42
- </div>
43
-
44
- <div id="search">
45
-
46
- <a class="full_list_link" id="class_list_link"
47
- href="class_list.html">
48
-
49
- <svg width="24" height="24">
50
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
- </svg>
54
- </a>
55
-
56
- </div>
57
- <div class="clear"></div>
58
- </div>
59
-
60
- <div id="content"><div id='filecontents'><h1>RABID</h1>
61
-
62
- <p><a href="https://badge.fury.io/rb/rabid"><img src="https://badge.fury.io/rb/rabid.svg" alt="Gem Version"></a>
63
- <img src="https://img.shields.io/github/tag/Orange-Cyberdefense/rabid" alt="GitHub tag (latest SemVer)">
64
- <a href="https://github.com/Orange-Cyberdefense/rabid/network"><img src="https://img.shields.io/github/forks/Orange-Cyberdefense/rabid" alt="GitHub forks"></a>
65
- <a href="https://github.com/Orange-Cyberdefense/rabid/stargazers"><img src="https://img.shields.io/github/stars/Orange-Cyberdefense/rabid" alt="GitHub stars"></a>
66
- <a href="https://github.com/Orange-Cyberdefense/rabid/blob/master/LICENSE.txt"><img src="https://img.shields.io/github/license/Orange-Cyberdefense/rabid" alt="GitHub license"></a></p>
67
-
68
- <p><a href="https://repology.org/project/rabid/versions"><img src="https://repology.org/badge/vertical-allrepos/rabid.svg" alt="Packaging status"></a></p>
69
-
70
- <p><img src="https://orange-cyberdefense.github.io/rabid/_media/logo.png" alt=""></p>
71
-
72
- <blockquote>
73
- <p><strong>RA</strong>pid <strong>B</strong>ig <strong>I</strong>P <strong>D</strong>ecoder</p>
74
- </blockquote>
75
-
76
- <h2>What it is</h2>
77
-
78
- <p>A CLI tool and library allowing to simply decode all kind of BigIP cookies.</p>
79
-
80
- <h2>Features</h2>
81
-
82
- <ul>
83
- <li>Support all 4 cookie formats</li>
84
- <li>CLI tool &amp; library</li>
85
- <li>Hackable</li>
86
- </ul>
87
-
88
- <h2>References</h2>
89
-
90
- <p>Homepage / Documentation: <a href="https://orange-cyberdefense.github.io/rabid/">https://orange-cyberdefense.github.io/rabid/</a></p>
91
-
92
- <h2>Author</h2>
93
-
94
- <p>Made by Alexandre ZANNI (<a href="https://github.com/noraj">@noraj</a>), pentester from Orange Cyberdefense.</p>
95
- </div></div>
96
-
97
- <div id="footer">
98
- Generated on Thu Oct 3 11:49:13 2019 by
99
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
100
- 0.9.20 (ruby-2.6.2).
101
- </div>
102
-
103
- </div>
104
- </body>
105
- </html>
@@ -1,303 +0,0 @@
1
- (function() {
2
-
3
- var localStorage = {}, sessionStorage = {};
4
- try { localStorage = window.localStorage; } catch (e) { }
5
- try { sessionStorage = window.sessionStorage; } catch (e) { }
6
-
7
- function createSourceLinks() {
8
- $('.method_details_list .source_code').
9
- before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
10
- $('.toggleSource').toggle(function() {
11
- $(this).parent().nextAll('.source_code').slideDown(100);
12
- $(this).text("Hide source");
13
- },
14
- function() {
15
- $(this).parent().nextAll('.source_code').slideUp(100);
16
- $(this).text("View source");
17
- });
18
- }
19
-
20
- function createDefineLinks() {
21
- var tHeight = 0;
22
- $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
23
- $('.toggleDefines').toggle(function() {
24
- tHeight = $(this).parent().prev().height();
25
- $(this).prev().css('display', 'inline');
26
- $(this).parent().prev().height($(this).parent().height());
27
- $(this).text("(less)");
28
- },
29
- function() {
30
- $(this).prev().hide();
31
- $(this).parent().prev().height(tHeight);
32
- $(this).text("more...");
33
- });
34
- }
35
-
36
- function createFullTreeLinks() {
37
- var tHeight = 0;
38
- $('.inheritanceTree').toggle(function() {
39
- tHeight = $(this).parent().prev().height();
40
- $(this).parent().toggleClass('showAll');
41
- $(this).text("(hide)");
42
- $(this).parent().prev().height($(this).parent().height());
43
- },
44
- function() {
45
- $(this).parent().toggleClass('showAll');
46
- $(this).parent().prev().height(tHeight);
47
- $(this).text("show all");
48
- });
49
- }
50
-
51
- function searchFrameButtons() {
52
- $('.full_list_link').click(function() {
53
- toggleSearchFrame(this, $(this).attr('href'));
54
- return false;
55
- });
56
- window.addEventListener('message', function(e) {
57
- if (e.data === 'navEscape') {
58
- $('#nav').slideUp(100);
59
- $('#search a').removeClass('active inactive');
60
- $(window).focus();
61
- }
62
- });
63
-
64
- $(window).resize(function() {
65
- if ($('#search:visible').length === 0) {
66
- $('#nav').removeAttr('style');
67
- $('#search a').removeClass('active inactive');
68
- $(window).focus();
69
- }
70
- });
71
- }
72
-
73
- function toggleSearchFrame(id, link) {
74
- var frame = $('#nav');
75
- $('#search a').removeClass('active').addClass('inactive');
76
- if (frame.attr('src') === link && frame.css('display') !== "none") {
77
- frame.slideUp(100);
78
- $('#search a').removeClass('active inactive');
79
- }
80
- else {
81
- $(id).addClass('active').removeClass('inactive');
82
- if (frame.attr('src') !== link) frame.attr('src', link);
83
- frame.slideDown(100);
84
- }
85
- }
86
-
87
- function linkSummaries() {
88
- $('.summary_signature').click(function() {
89
- document.location = $(this).find('a').attr('href');
90
- });
91
- }
92
-
93
- function summaryToggle() {
94
- $('.summary_toggle').click(function(e) {
95
- e.preventDefault();
96
- localStorage.summaryCollapsed = $(this).text();
97
- $('.summary_toggle').each(function() {
98
- $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
99
- var next = $(this).parent().parent().nextAll('ul.summary').first();
100
- if (next.hasClass('compact')) {
101
- next.toggle();
102
- next.nextAll('ul.summary').first().toggle();
103
- }
104
- else if (next.hasClass('summary')) {
105
- var list = $('<ul class="summary compact" />');
106
- list.html(next.html());
107
- list.find('.summary_desc, .note').remove();
108
- list.find('a').each(function() {
109
- $(this).html($(this).find('strong').html());
110
- $(this).parent().html($(this)[0].outerHTML);
111
- });
112
- next.before(list);
113
- next.toggle();
114
- }
115
- });
116
- return false;
117
- });
118
- if (localStorage.summaryCollapsed == "collapse") {
119
- $('.summary_toggle').first().click();
120
- } else { localStorage.summaryCollapsed = "expand"; }
121
- }
122
-
123
- function constantSummaryToggle() {
124
- $('.constants_summary_toggle').click(function(e) {
125
- e.preventDefault();
126
- localStorage.summaryCollapsed = $(this).text();
127
- $('.constants_summary_toggle').each(function() {
128
- $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
129
- var next = $(this).parent().parent().nextAll('dl.constants').first();
130
- if (next.hasClass('compact')) {
131
- next.toggle();
132
- next.nextAll('dl.constants').first().toggle();
133
- }
134
- else if (next.hasClass('constants')) {
135
- var list = $('<dl class="constants compact" />');
136
- list.html(next.html());
137
- list.find('dt').each(function() {
138
- $(this).addClass('summary_signature');
139
- $(this).text( $(this).text().split('=')[0]);
140
- if ($(this).has(".deprecated").length) {
141
- $(this).addClass('deprecated');
142
- };
143
- });
144
- // Add the value of the constant as "Tooltip" to the summary object
145
- list.find('pre.code').each(function() {
146
- console.log($(this).parent());
147
- var dt_element = $(this).parent().prev();
148
- var tooltip = $(this).text();
149
- if (dt_element.hasClass("deprecated")) {
150
- tooltip = 'Deprecated. ' + tooltip;
151
- };
152
- dt_element.attr('title', tooltip);
153
- });
154
- list.find('.docstring, .tags, dd').remove();
155
- next.before(list);
156
- next.toggle();
157
- }
158
- });
159
- return false;
160
- });
161
- if (localStorage.summaryCollapsed == "collapse") {
162
- $('.constants_summary_toggle').first().click();
163
- } else { localStorage.summaryCollapsed = "expand"; }
164
- }
165
-
166
- function generateTOC() {
167
- if ($('#filecontents').length === 0) return;
168
- var _toc = $('<ol class="top"></ol>');
169
- var show = false;
170
- var toc = _toc;
171
- var counter = 0;
172
- var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
173
- var i;
174
- if ($('#filecontents h1').length > 1) tags.unshift('h1');
175
- for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
176
- var lastTag = parseInt(tags[0][1], 10);
177
- $(tags.join(', ')).each(function() {
178
- if ($(this).parents('.method_details .docstring').length != 0) return;
179
- if (this.id == "filecontents") return;
180
- show = true;
181
- var thisTag = parseInt(this.tagName[1], 10);
182
- if (this.id.length === 0) {
183
- var proposedId = $(this).attr('toc-id');
184
- if (typeof(proposedId) != "undefined") this.id = proposedId;
185
- else {
186
- var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
187
- if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
188
- this.id = proposedId;
189
- }
190
- }
191
- if (thisTag > lastTag) {
192
- for (i = 0; i < thisTag - lastTag; i++) {
193
- var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
194
- }
195
- }
196
- if (thisTag < lastTag) {
197
- for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
198
- }
199
- var title = $(this).attr('toc-title');
200
- if (typeof(title) == "undefined") title = $(this).text();
201
- toc.append('<li><a href="#' + this.id + '">' + title + '</a></li>');
202
- lastTag = thisTag;
203
- });
204
- if (!show) return;
205
- html = '<div id="toc"><p class="title hide_toc"><a href="#"><strong>Table of Contents</strong></a></p></div>';
206
- $('#content').prepend(html);
207
- $('#toc').append(_toc);
208
- $('#toc .hide_toc').toggle(function() {
209
- $('#toc .top').slideUp('fast');
210
- $('#toc').toggleClass('hidden');
211
- $('#toc .title small').toggle();
212
- }, function() {
213
- $('#toc .top').slideDown('fast');
214
- $('#toc').toggleClass('hidden');
215
- $('#toc .title small').toggle();
216
- });
217
- }
218
-
219
- function navResizeFn(e) {
220
- if (e.which !== 1) {
221
- navResizeFnStop();
222
- return;
223
- }
224
-
225
- sessionStorage.navWidth = e.pageX.toString();
226
- $('.nav_wrap').css('width', e.pageX);
227
- $('.nav_wrap').css('-ms-flex', 'inherit');
228
- }
229
-
230
- function navResizeFnStop() {
231
- $(window).unbind('mousemove', navResizeFn);
232
- window.removeEventListener('message', navMessageFn, false);
233
- }
234
-
235
- function navMessageFn(e) {
236
- if (e.data.action === 'mousemove') navResizeFn(e.data.event);
237
- if (e.data.action === 'mouseup') navResizeFnStop();
238
- }
239
-
240
- function navResizer() {
241
- $('#resizer').mousedown(function(e) {
242
- e.preventDefault();
243
- $(window).mousemove(navResizeFn);
244
- window.addEventListener('message', navMessageFn, false);
245
- });
246
- $(window).mouseup(navResizeFnStop);
247
-
248
- if (sessionStorage.navWidth) {
249
- navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)});
250
- }
251
- }
252
-
253
- function navExpander() {
254
- var done = false, timer = setTimeout(postMessage, 500);
255
- function postMessage() {
256
- if (done) return;
257
- clearTimeout(timer);
258
- var opts = { action: 'expand', path: pathId };
259
- document.getElementById('nav').contentWindow.postMessage(opts, '*');
260
- done = true;
261
- }
262
-
263
- window.addEventListener('message', function(event) {
264
- if (event.data === 'navReady') postMessage();
265
- return false;
266
- }, false);
267
- }
268
-
269
- function mainFocus() {
270
- var hash = window.location.hash;
271
- if (hash !== '' && $(hash)[0]) {
272
- $(hash)[0].scrollIntoView();
273
- }
274
-
275
- setTimeout(function() { $('#main').focus(); }, 10);
276
- }
277
-
278
- function navigationChange() {
279
- // This works around the broken anchor navigation with the YARD template.
280
- window.onpopstate = function() {
281
- var hash = window.location.hash;
282
- if (hash !== '' && $(hash)[0]) {
283
- $(hash)[0].scrollIntoView();
284
- }
285
- };
286
- }
287
-
288
- $(document).ready(function() {
289
- navResizer();
290
- navExpander();
291
- createSourceLinks();
292
- createDefineLinks();
293
- createFullTreeLinks();
294
- searchFrameButtons();
295
- linkSummaries();
296
- summaryToggle();
297
- constantSummaryToggle();
298
- generateTOC();
299
- mainFocus();
300
- navigationChange();
301
- });
302
-
303
- })();