rorvswild_theme_rdoc 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +29 -0
  3. data/README.md +27 -0
  4. data/lib/rdoc/discover.rb +1 -0
  5. data/lib/rdoc/generator/template/rorvswild/_dialog_search.rhtml +16 -0
  6. data/lib/rdoc/generator/template/rorvswild/_footer.rhtml +4 -0
  7. data/lib/rdoc/generator/template/rorvswild/_head.rhtml +25 -0
  8. data/lib/rdoc/generator/template/rorvswild/_navigation.rhtml +5 -0
  9. data/lib/rdoc/generator/template/rorvswild/_sidebar_VCS_info.rhtml +19 -0
  10. data/lib/rdoc/generator/template/rorvswild/_sidebar_classes.rhtml +48 -0
  11. data/lib/rdoc/generator/template/rorvswild/_sidebar_constants.rhtml +10 -0
  12. data/lib/rdoc/generator/template/rorvswild/_sidebar_extends.rhtml +15 -0
  13. data/lib/rdoc/generator/template/rorvswild/_sidebar_in_files.rhtml +8 -0
  14. data/lib/rdoc/generator/template/rorvswild/_sidebar_includes.rhtml +15 -0
  15. data/lib/rdoc/generator/template/rorvswild/_sidebar_installed.rhtml +15 -0
  16. data/lib/rdoc/generator/template/rorvswild/_sidebar_methods.rhtml +21 -0
  17. data/lib/rdoc/generator/template/rorvswild/_sidebar_pages.rhtml +34 -0
  18. data/lib/rdoc/generator/template/rorvswild/_sidebar_parent.rhtml +41 -0
  19. data/lib/rdoc/generator/template/rorvswild/_sidebar_sections.rhtml +11 -0
  20. data/lib/rdoc/generator/template/rorvswild/_sidebar_table_of_contents.rhtml +40 -0
  21. data/lib/rdoc/generator/template/rorvswild/_sidebar_toggle.rhtml +3 -0
  22. data/lib/rdoc/generator/template/rorvswild/_topbar.rhtml +12 -0
  23. data/lib/rdoc/generator/template/rorvswild/class.rhtml +164 -0
  24. data/lib/rdoc/generator/template/rorvswild/css/fonts.css +34 -0
  25. data/lib/rdoc/generator/template/rorvswild/css/rdoc.css +855 -0
  26. data/lib/rdoc/generator/template/rorvswild/fonts/Inter-Bold.woff2 +0 -0
  27. data/lib/rdoc/generator/template/rorvswild/fonts/Inter-Italic.woff2 +0 -0
  28. data/lib/rdoc/generator/template/rorvswild/fonts/Inter-Regular.woff2 +0 -0
  29. data/lib/rdoc/generator/template/rorvswild/fonts/MonaspaceNeon-Bold.woff2 +0 -0
  30. data/lib/rdoc/generator/template/rorvswild/fonts/MonaspaceNeon-Regular.woff2 +0 -0
  31. data/lib/rdoc/generator/template/rorvswild/index.rhtml +22 -0
  32. data/lib/rdoc/generator/template/rorvswild/js/darkfish.js +167 -0
  33. data/lib/rdoc/generator/template/rorvswild/js/search.js +110 -0
  34. data/lib/rdoc/generator/template/rorvswild/page.rhtml +15 -0
  35. data/lib/rdoc/generator/template/rorvswild/servlet_not_found.rhtml +15 -0
  36. data/lib/rdoc/generator/template/rorvswild/servlet_root.rhtml +63 -0
  37. data/lib/rdoc/generator/template/rorvswild/table_of_contents.rhtml +63 -0
  38. data/lib/rorvswild_theme_rdoc/patches/rdoc.rb +14 -0
  39. data/lib/rorvswild_theme_rdoc.rb +4 -0
  40. metadata +42 -4
@@ -0,0 +1,22 @@
1
+ <body id="top" role="document" class="file">
2
+ <%= render '_topbar.rhtml' %>
3
+ <div class="wrapper">
4
+ <%= render '_navigation.rhtml' %>
5
+
6
+ <main role="main">
7
+ <article>
8
+ <%- if @options.main_page and
9
+ main_page = @files.find { |f| f.full_name == @options.main_page } then %>
10
+ <%- current = main_page -%>
11
+ <%= main_page.description %>
12
+ <%- else -%>
13
+ <p>This is the API documentation for <%= h @title %>.
14
+ <%- end -%>
15
+ </article>
16
+
17
+ <nav class="contextual">
18
+ <%= render '_sidebar_table_of_contents.rhtml' if current %>
19
+ </nav>
20
+ </main>
21
+ </div>
22
+ </body>
@@ -0,0 +1,167 @@
1
+ /**
2
+ *
3
+ * Darkfish Page Functions
4
+ * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $
5
+ *
6
+ * Author: Michael Granger <mgranger@laika.com>
7
+ *
8
+ */
9
+
10
+ /* Provide console simulation for firebug-less environments */
11
+ /*
12
+ if (!("console" in window) || !("firebug" in console)) {
13
+ var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
14
+ "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
15
+
16
+ window.console = {};
17
+ for (var i = 0; i < names.length; ++i)
18
+ window.console[names[i]] = function() {};
19
+ };
20
+ */
21
+
22
+
23
+ function showSource( e ) {
24
+ var target = e.target;
25
+ while (!target.classList.contains('method-detail')) {
26
+ target = target.parentNode;
27
+ }
28
+ if (typeof target !== "undefined" && target !== null) {
29
+ target = target.querySelector('.method-source-code');
30
+ }
31
+ if (typeof target !== "undefined" && target !== null) {
32
+ target.classList.toggle('active-menu')
33
+ }
34
+ };
35
+
36
+ function hookSourceViews() {
37
+ document.querySelectorAll('.toggle-source').forEach(function (codeObject) {
38
+ codeObject.addEventListener('click', showSource);
39
+ });
40
+ };
41
+
42
+ function hookSearch() {
43
+
44
+ const searchButton = document.querySelector('button[aria-label="Search"]');
45
+ const searchDialog = document.getElementById('search-dialog');
46
+
47
+ if (searchButton && searchDialog) {
48
+ searchButton.addEventListener('click', function(event) {
49
+ event.preventDefault();
50
+ searchDialog.showModal();
51
+ searchDialog.querySelector('input[name="q"]').focus();
52
+ });
53
+ }
54
+
55
+ // Close dialog when clicking on the backdrop
56
+ searchDialog.addEventListener('click', function(event) {
57
+ const rect = this.getBoundingClientRect();
58
+ const isInDialog = (rect.top <= event.clientY && event.clientY <= rect.top + rect.height &&
59
+ rect.left <= event.clientX && event.clientX <= rect.left + rect.width);
60
+ if (!isInDialog) {
61
+ this.close();
62
+ }
63
+ });
64
+
65
+ var input = document.querySelector('#search-field');
66
+ var result = document.querySelector('#search-results');
67
+ result.classList.remove("initially-hidden");
68
+
69
+ var search_section = document.querySelector('#search-dialog');
70
+ search_section.classList.remove("initially-hidden");
71
+
72
+ var search = new Search(search_data, input, result);
73
+
74
+ search.renderItem = function(result) {
75
+ var li = document.createElement('li');
76
+ var html = '';
77
+
78
+ // TODO add relative path to <script> per-page
79
+ html += '<p class="search-match"><a href="' + index_rel_prefix + this.escapeHTML(result.path) + '">' + this.hlt(result.title);
80
+ if (result.params)
81
+ html += '<span class="params">' + result.params + '</span>';
82
+ html += '</a>';
83
+
84
+
85
+ if (result.namespace)
86
+ html += '<p class="search-namespace">' + this.hlt(result.namespace);
87
+
88
+ if (result.snippet)
89
+ html += '<div class="search-snippet">' + result.snippet + '</div>';
90
+
91
+ li.innerHTML = html;
92
+
93
+ return li;
94
+ }
95
+
96
+ search.select = function(result) {
97
+ window.location.href = result.firstChild.firstChild.href;
98
+ }
99
+
100
+ search.scrollIntoView = search.scrollInWindow;
101
+ };
102
+
103
+ function hookFocus() {
104
+ document.addEventListener("keydown", (event) => {
105
+ if (document.activeElement.tagName === 'INPUT') {
106
+ return;
107
+ }
108
+ if (event.key === "/") {
109
+ event.preventDefault();
110
+ document.querySelector('#search-field').focus();
111
+ }
112
+ });
113
+ }
114
+
115
+ function hookSidebar() {
116
+ var navigation = document.querySelector('#navigation');
117
+ var navigationToggle = document.querySelector('#navigation-toggle');
118
+
119
+ navigationToggle.addEventListener('click', function() {
120
+ navigation.hidden = !navigation.hidden;
121
+ navigationToggle.ariaExpanded = navigationToggle.ariaExpanded !== 'true';
122
+ });
123
+
124
+ var isSmallViewport = window.matchMedia("(max-width: 1024px)").matches;
125
+ if (isSmallViewport) {
126
+ navigation.hidden = true;
127
+ navigationToggle.ariaExpanded = false;
128
+ }
129
+ }
130
+
131
+ function hookScrollSpy() {
132
+ const anchors = document.querySelectorAll('[id]');
133
+
134
+ const observer = new IntersectionObserver((entries) => {
135
+ entries.forEach(entry => {
136
+ const id = entry.target.id;
137
+ const correspondingLi = document.querySelector(`.contextual li a[href="#${id}"]`)?.parentElement;
138
+
139
+ if (correspondingLi) {
140
+ if (entry.isIntersecting) {
141
+ correspondingLi.classList.add('active');
142
+ } else {
143
+ correspondingLi.classList.remove('active');
144
+ }
145
+ }
146
+ });
147
+ }, {
148
+ rootMargin: '-60px 0px -10% 0px',
149
+ threshold: 0
150
+ });
151
+
152
+ anchors.forEach(anchor => observer.observe(anchor));
153
+ }
154
+
155
+ function scrollToActiveLeftSidebarItem() {
156
+ const item = document.querySelector("#class-and-module-index .active")
157
+ item && item.scrollIntoView({block: "center"})
158
+ }
159
+
160
+ document.addEventListener('DOMContentLoaded', function() {
161
+ hookSourceViews();
162
+ hookSearch();
163
+ hookFocus();
164
+ hookSidebar();
165
+ hookScrollSpy();
166
+ scrollToActiveLeftSidebarItem();
167
+ });
@@ -0,0 +1,110 @@
1
+ Search = function(data, input, result) {
2
+ this.data = data;
3
+ this.input = input;
4
+ this.result = result;
5
+
6
+ this.current = null;
7
+ this.view = this.result.parentNode;
8
+ this.searcher = new Searcher(data.index);
9
+ this.init();
10
+ }
11
+
12
+ Search.prototype = Object.assign({}, Navigation, new function() {
13
+ var suid = 1;
14
+
15
+ this.init = function() {
16
+ var _this = this;
17
+ var observer = function(e) {
18
+ switch(e.key) {
19
+ case 'ArrowUp':
20
+ case 'ArrowDown':
21
+ return;
22
+ }
23
+ _this.search(_this.input.value);
24
+ };
25
+ this.input.addEventListener('keyup', observer);
26
+ this.input.addEventListener('click', observer); // mac's clear field
27
+
28
+ this.searcher.ready(function(results, isLast) {
29
+ _this.addResults(results, isLast);
30
+ })
31
+
32
+ this.initNavigation();
33
+ this.setNavigationActive(false);
34
+ }
35
+
36
+ this.search = function(value, selectFirstMatch) {
37
+ value = value.trim().toLowerCase();
38
+ if (value) {
39
+ this.setNavigationActive(true);
40
+ } else {
41
+ this.setNavigationActive(false);
42
+ }
43
+
44
+ if (value == '') {
45
+ this.lastQuery = value;
46
+ this.result.innerHTML = '';
47
+ this.result.setAttribute('aria-expanded', 'false');
48
+ this.setNavigationActive(false);
49
+ } else if (value != this.lastQuery) {
50
+ this.lastQuery = value;
51
+ this.result.setAttribute('aria-busy', 'true');
52
+ this.result.setAttribute('aria-expanded', 'true');
53
+ this.firstRun = true;
54
+ this.searcher.find(value);
55
+ }
56
+ }
57
+
58
+ this.addResults = function(results, isLast) {
59
+ var target = this.result;
60
+ if (this.firstRun && (results.length > 0 || isLast)) {
61
+ this.current = null;
62
+ this.result.innerHTML = '';
63
+ }
64
+
65
+ for (var i=0, l = results.length; i < l; i++) {
66
+ var item = this.renderItem.call(this, results[i]);
67
+ item.setAttribute('id', 'search-result-' + target.childElementCount);
68
+ target.appendChild(item);
69
+ };
70
+
71
+ if (this.firstRun && results.length > 0) {
72
+ this.firstRun = false;
73
+ this.current = target.firstChild;
74
+ this.current.classList.add('search-selected');
75
+ }
76
+ //TODO: ECMAScript
77
+ //if (jQuery.browser.msie) this.$element[0].className += '';
78
+
79
+ if (isLast) this.result.setAttribute('aria-busy', 'false');
80
+ }
81
+
82
+ this.move = function(isDown) {
83
+ if (!this.current) return;
84
+ var next = isDown ? this.current.nextElementSibling : this.current.previousElementSibling;
85
+ if (next) {
86
+ this.current.classList.remove('search-selected');
87
+ next.classList.add('search-selected');
88
+ this.input.setAttribute('aria-activedescendant', next.getAttribute('id'));
89
+ this.scrollIntoView(next, this.view);
90
+ this.current = next;
91
+ this.input.value = next.firstChild.firstChild.text;
92
+ this.input.select();
93
+ }
94
+ return true;
95
+ }
96
+
97
+ this.hlt = function(html) {
98
+ return this.escapeHTML(html).
99
+ replace(/\u0001/g, '<em>').
100
+ replace(/\u0002/g, '</em>');
101
+ }
102
+
103
+ this.escapeHTML = function(html) {
104
+ return html.replace(/[&<>"`']/g, function(c) {
105
+ return '&#' + c.charCodeAt(0) + ';';
106
+ });
107
+ }
108
+
109
+ });
110
+
@@ -0,0 +1,15 @@
1
+ <body id="top" role="document" class="file">
2
+ <%= render '_topbar.rhtml' %>
3
+ <div class="wrapper">
4
+ <%= render '_navigation.rhtml' %>
5
+
6
+ <main role="main" aria-label="Page <%=h file.full_name%>">
7
+ <article>
8
+ <%= file.description %>
9
+ </article>
10
+ <nav class="contextual">
11
+ <%= render '_sidebar_table_of_contents.rhtml' %>
12
+ </nav>
13
+ </main>
14
+ </div>
15
+ </body>
@@ -0,0 +1,15 @@
1
+ <body role="document">
2
+ <%= render '_sidebar_toggle.rhtml' %>
3
+
4
+ <nav id="navigation" role="navigation">
5
+ <%= render '_sidebar_pages.rhtml' %>
6
+ <%= render '_sidebar_classes.rhtml' %>
7
+
8
+ <%= render '_footer.rhtml' %>
9
+ </nav>
10
+
11
+ <main role="main">
12
+ <h1>Not Found</h1>
13
+
14
+ <p><%= message %>
15
+ </main>
@@ -0,0 +1,63 @@
1
+ <body role="document">
2
+ <%= render '_sidebar_toggle.rhtml' %>
3
+
4
+ <nav id="navigation" role="navigation">
5
+ <div id="project-navigation">
6
+ <div id="home-section" class="nav-section">
7
+ <h2>
8
+ <a href="<%= rel_prefix %>/" rel="home">Home</a>
9
+ </h2>
10
+ </div>
11
+ </div>
12
+
13
+ <%= render '_sidebar_installed.rhtml' %>
14
+ <%= render '_footer.rhtml' %>
15
+ </nav>
16
+
17
+ <main role="main">
18
+ <h1>Local RDoc Documentation</h1>
19
+
20
+ <p>Here you can browse local documentation from the ruby standard library and
21
+ your installed gems.
22
+
23
+ <%- extra_dirs = installed.select { |_, _, _, type,| type == :extra } -%>
24
+ <%- unless extra_dirs.empty? -%>
25
+ <h2>Extra Documentation Directories</h2>
26
+
27
+ <p>The following additional documentation directories are available:</p>
28
+
29
+ <ol>
30
+ <%- extra_dirs.each do |name, href, exists, _, path| -%>
31
+ <li>
32
+ <%- if exists -%>
33
+ <a href="<%= href %>"><%= h name %></a> (<%= h path %>)
34
+ <%- else -%>
35
+ <%= h name %> (<%= h path %>; <i>not available</i>)
36
+ <%- end -%>
37
+ </li>
38
+ <%- end -%>
39
+ </ol>
40
+ <%- end -%>
41
+
42
+ <%- gems = installed.select { |_, _, _, type,| type == :gem } -%>
43
+ <%- missing = gems.reject { |_, _, exists,| exists } -%>
44
+ <%- unless missing.empty? then -%>
45
+ <h2>Missing Gem Documentation</h2>
46
+
47
+ <p>You are missing documentation for some of your installed gems.
48
+ You can install missing documentation for gems by running
49
+ <kbd>gem rdoc --all</kbd>. After installing the missing documentation you
50
+ only need to reload this page. The newly created documentation will
51
+ automatically appear.
52
+
53
+ <p>You can also install documentation for a specific gem by running one of
54
+ the following commands.
55
+
56
+ <ul>
57
+ <%- names = missing.map { |name,| name.sub(/-([^-]*)$/, '') }.uniq -%>
58
+ <%- names.each do |name| -%>
59
+ <li><kbd>gem rdoc <%=h name %></kbd>
60
+ <%- end -%>
61
+ </ul>
62
+ <%- end -%>
63
+ </main>
@@ -0,0 +1,63 @@
1
+ <body id="top" class="table-of-contents">
2
+
3
+ <nav id="navigation" role="navigation">
4
+ <%= render '_footer.rhtml' %>
5
+ </nav>
6
+ <main role="main">
7
+ <h1 class="class"><%= h @title %></h1>
8
+
9
+ <%- simple_files = @files.select { |f| f.text? } -%>
10
+ <%- unless simple_files.empty? then -%>
11
+ <h2 id="pages">Pages</h2>
12
+ <ul>
13
+ <%- simple_files.sort.each do |file| -%>
14
+ <li class="file">
15
+ <a href="<%= h file.path %>"><%= h file.page_name %></a>
16
+ <%
17
+ # HACK table_of_contents should not exist on Document
18
+ table = file.parse(file.comment).table_of_contents
19
+ unless table.empty? then %>
20
+ <ul>
21
+ <%- table.each do |heading| -%>
22
+ <li><a href="<%= h file.path %>#<%= heading.aref %>"><%= heading.plain_html %></a>
23
+ <%- end -%>
24
+ </ul>
25
+ <%- end -%>
26
+ </li>
27
+ <%- end -%>
28
+ </ul>
29
+ <%- end -%>
30
+
31
+ <h2 id="classes">Classes and Modules</h2>
32
+ <ul>
33
+ <%- @modsort.each do |klass| -%>
34
+ <li class="<%= klass.type %>">
35
+ <a href="<%= klass.path %>"><%= klass.full_name %></a>
36
+ <%- table = []
37
+ table.concat klass.parse(klass.comment_location).table_of_contents
38
+ table.concat klass.section_contents
39
+
40
+ unless table.empty? then %>
41
+ <ul>
42
+ <%- table.each do |item| -%>
43
+ <%- label = item.respond_to?(:label) ? item.label(klass) : item.aref -%>
44
+ <li><a href="<%= klass.path %>#<%= label %>"><%= item.plain_html %></a>
45
+ <%- end -%>
46
+ </ul>
47
+ <%- end -%>
48
+ </li>
49
+ <%- end -%>
50
+ </ul>
51
+
52
+ <h2 id="methods">Methods</h2>
53
+ <ul>
54
+ <%- @store.all_classes_and_modules.flat_map do |mod|
55
+ mod.method_list
56
+ end.sort.each do |method| %>
57
+ <li class="method">
58
+ <a href="<%= method.path %>"><%= h method.pretty_name %></a>
59
+ &mdash;
60
+ <span class="container"><%= method.parent.full_name %></span>
61
+ <%- end -%>
62
+ </ul>
63
+ </main>
@@ -0,0 +1,14 @@
1
+ class RDoc::ClassModule
2
+ ##
3
+ # Get all super classes of this class in an array. The last element might be
4
+ # a string if the name is unknown.
5
+ def super_classes
6
+ result = []
7
+ parent = self
8
+ while parent = parent.superclass
9
+ result << parent
10
+ return result if parent.is_a?(String)
11
+ end
12
+ result
13
+ end
14
+ end
@@ -0,0 +1,4 @@
1
+ require "rorvswild_theme_rdoc/patches/rdoc"
2
+
3
+ module RorVsWildThemeRdoc
4
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rorvswild_theme_rdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.1'
4
+ version: '0.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antoine Marguerie
@@ -9,17 +9,55 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-10-14 00:00:00.000000000 Z
12
+ date: 2024-11-02 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: " RDoc theme for developers with sensitive eyes."
15
15
  email: ''
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
- files: []
19
+ files:
20
+ - LICENSE
21
+ - README.md
22
+ - lib/rdoc/discover.rb
23
+ - lib/rdoc/generator/template/rorvswild/_dialog_search.rhtml
24
+ - lib/rdoc/generator/template/rorvswild/_footer.rhtml
25
+ - lib/rdoc/generator/template/rorvswild/_head.rhtml
26
+ - lib/rdoc/generator/template/rorvswild/_navigation.rhtml
27
+ - lib/rdoc/generator/template/rorvswild/_sidebar_VCS_info.rhtml
28
+ - lib/rdoc/generator/template/rorvswild/_sidebar_classes.rhtml
29
+ - lib/rdoc/generator/template/rorvswild/_sidebar_constants.rhtml
30
+ - lib/rdoc/generator/template/rorvswild/_sidebar_extends.rhtml
31
+ - lib/rdoc/generator/template/rorvswild/_sidebar_in_files.rhtml
32
+ - lib/rdoc/generator/template/rorvswild/_sidebar_includes.rhtml
33
+ - lib/rdoc/generator/template/rorvswild/_sidebar_installed.rhtml
34
+ - lib/rdoc/generator/template/rorvswild/_sidebar_methods.rhtml
35
+ - lib/rdoc/generator/template/rorvswild/_sidebar_pages.rhtml
36
+ - lib/rdoc/generator/template/rorvswild/_sidebar_parent.rhtml
37
+ - lib/rdoc/generator/template/rorvswild/_sidebar_sections.rhtml
38
+ - lib/rdoc/generator/template/rorvswild/_sidebar_table_of_contents.rhtml
39
+ - lib/rdoc/generator/template/rorvswild/_sidebar_toggle.rhtml
40
+ - lib/rdoc/generator/template/rorvswild/_topbar.rhtml
41
+ - lib/rdoc/generator/template/rorvswild/class.rhtml
42
+ - lib/rdoc/generator/template/rorvswild/css/fonts.css
43
+ - lib/rdoc/generator/template/rorvswild/css/rdoc.css
44
+ - lib/rdoc/generator/template/rorvswild/fonts/Inter-Bold.woff2
45
+ - lib/rdoc/generator/template/rorvswild/fonts/Inter-Italic.woff2
46
+ - lib/rdoc/generator/template/rorvswild/fonts/Inter-Regular.woff2
47
+ - lib/rdoc/generator/template/rorvswild/fonts/MonaspaceNeon-Bold.woff2
48
+ - lib/rdoc/generator/template/rorvswild/fonts/MonaspaceNeon-Regular.woff2
49
+ - lib/rdoc/generator/template/rorvswild/index.rhtml
50
+ - lib/rdoc/generator/template/rorvswild/js/darkfish.js
51
+ - lib/rdoc/generator/template/rorvswild/js/search.js
52
+ - lib/rdoc/generator/template/rorvswild/page.rhtml
53
+ - lib/rdoc/generator/template/rorvswild/servlet_not_found.rhtml
54
+ - lib/rdoc/generator/template/rorvswild/servlet_root.rhtml
55
+ - lib/rdoc/generator/template/rorvswild/table_of_contents.rhtml
56
+ - lib/rorvswild_theme_rdoc.rb
57
+ - lib/rorvswild_theme_rdoc/patches/rdoc.rb
20
58
  homepage: https://github.com/BaseSecrete/rorvswild-theme-rdoc
21
59
  licenses:
22
- - MIT
60
+ - BSD-3-Clause
23
61
  metadata: {}
24
62
  post_install_message:
25
63
  rdoc_options: []