diff options
Diffstat (limited to 'lib/rdoc/generator/template')
61 files changed, 0 insertions, 2094 deletions
diff --git a/lib/rdoc/generator/template/darkfish/.document b/lib/rdoc/generator/template/darkfish/.document deleted file mode 100644 index e69de29bb2..0000000000 --- a/lib/rdoc/generator/template/darkfish/.document +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/_footer.rhtml b/lib/rdoc/generator/template/darkfish/_footer.rhtml deleted file mode 100644 index 9791b42901..0000000000 --- a/lib/rdoc/generator/template/darkfish/_footer.rhtml +++ /dev/null @@ -1,5 +0,0 @@ -<footer id="validator-badges" role="contentinfo"> - <p><a href="https://validator.w3.org/check/referer">Validate</a> - <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> <%= RDoc::VERSION %>. - <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. -</footer> diff --git a/lib/rdoc/generator/template/darkfish/_head.rhtml b/lib/rdoc/generator/template/darkfish/_head.rhtml deleted file mode 100644 index 9e6fb4f94c..0000000000 --- a/lib/rdoc/generator/template/darkfish/_head.rhtml +++ /dev/null @@ -1,43 +0,0 @@ -<meta charset="<%= @options.charset %>"> -<meta name="viewport" content="width=device-width, initial-scale=1" /> - -<title><%= h @title %></title> - -<%- if defined?(klass) -%> - <meta name="keywords" content="ruby,<%= h "#{klass.type},#{klass.full_name}" %>"> - - <%- if klass.comment.empty? -%> - <meta name="description" content="Documentation for the <%= h "#{klass.full_name} #{klass.type}" %>"> - <%- else -%> - <meta name="description" content="<%= h "#{klass.type} #{klass.full_name}: #{excerpt(klass.comment)}" %>"> - <%- end -%> -<%- elsif defined?(file) -%> - <meta name="keywords" content="ruby,documentation,<%= h file.page_name %>"> - <meta name="description" content="<%= h "#{file.page_name}: #{excerpt(file.comment)}" %>"> -<%- elsif @title -%> - <meta name="keywords" content="ruby,documentation,<%= h @title %>"> - - <%- if @options.main_page and - main_page = @files.find { |f| f.full_name == @options.main_page } then %> - <meta name="description" content="<%= h "#{@title}: #{excerpt(main_page.comment)}" %>"> - <%- else -%> - <meta name="description" content="Documentation for <%= h @title %>"> - <%- end -%> -<%- end -%> - -<script type="text/javascript"> - var rdoc_rel_prefix = "<%= h asset_rel_prefix %>/"; - var index_rel_prefix = "<%= h rel_prefix %>/"; -</script> - -<script src="<%= h asset_rel_prefix %>/js/navigation.js" defer></script> -<script src="<%= h asset_rel_prefix %>/js/search.js" defer></script> -<script src="<%= h asset_rel_prefix %>/js/search_index.js" defer></script> -<script src="<%= h asset_rel_prefix %>/js/searcher.js" defer></script> -<script src="<%= h asset_rel_prefix %>/js/darkfish.js" defer></script> - -<link href="<%= h asset_rel_prefix %>/css/fonts.css" rel="stylesheet"> -<link href="<%= h asset_rel_prefix %>/css/rdoc.css" rel="stylesheet"> -<%- @options.template_stylesheets.each do |stylesheet| -%> -<link href="<%= h asset_rel_prefix %>/<%= File.basename stylesheet %>" rel="stylesheet"> -<%- end -%> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml deleted file mode 100644 index 22a12d9e95..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +++ /dev/null @@ -1,19 +0,0 @@ -<%- if !svninfo.empty? then %> -<div id="file-svninfo-section" class="nav-section"> - <h3>VCS Info</h3> - - <div class="section-body"> - <dl class="svninfo"> - <dt>Rev - <dd><%= svninfo[:rev] %> - - <dt>Last Checked In - <dd><%= svninfo[:commitdate].strftime('%Y-%m-%d %H:%M:%S') %> - (<%= svninfo[:commitdelta] %> ago) - - <dt>Checked in by - <dd><%= svninfo[:committer] %> - </dl> - </div> -</div> -<%- end -%> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml deleted file mode 100644 index 06b5542fa1..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +++ /dev/null @@ -1,34 +0,0 @@ -<div id="classindex-section" class="nav-section"> - <h3>Class and Module Index</h3> - - <%- - all_classes = @classes.group_by do |klass| - klass.full_name[/\A[^:]++(?:::[^:]++(?=::))*+(?=::[^:]*+\z)/] - end.delete_if do |_, klasses| - !klasses.any?(&:display?) - end - link = proc do |index_klass, display = index_klass.display?| - if display - -%><code><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.name %></a></code><%- - else - -%><code><%= index_klass.name %></code><%- - end - end - if top = all_classes[nil] - solo = top.one? {|klass| klass.display?} - traverse = proc do |klasses| -%> - <ul class="link-list"> - <%- klasses.uniq!(&:full_name) -%> - <%- klasses.each do |index_klass| -%> - <%- if children = all_classes[index_klass.full_name] -%> - <li><details<% if solo; solo = false %> open<% end %>><summary><% link.call(index_klass) %></summary> - <%- traverse.call(children) -%> - </ul></details> - <%- elsif index_klass.display? -%> - <li><% link.call(index_klass, true) %> - <%- end -%> - <%- end -%> - <%- end -%> - <%- traverse.call(top) -%> - <%- end -%> -</div> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml deleted file mode 100644 index 7602076c96..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +++ /dev/null @@ -1,15 +0,0 @@ -<%- unless klass.extends.empty? then %> -<div id="extends-section" class="nav-section"> - <h3>Extended With Modules</h3> - - <ul class="link-list"> - <%- klass.each_extend do |ext| -%> - <%- unless String === ext.module then -%> - <li><a class="extend" href="<%= klass.aref_to ext.module.path %>"><%= ext.module.full_name %></a> - <%- else -%> - <li><span class="extend"><%= ext.name %></span> - <%- end -%> - <%- end -%> - </ul> -</div> -<%- end -%> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml deleted file mode 100644 index 74869a4b51..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +++ /dev/null @@ -1,9 +0,0 @@ -<div id="file-list-section" class="nav-section"> - <h3>Defined In</h3> - - <ul> -<%- klass.in_files.each do |tl| -%> - <li><%= h tl.relative_name %> -<%- end -%> - </ul> -</div> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml deleted file mode 100644 index 5b600e5975..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +++ /dev/null @@ -1,15 +0,0 @@ -<%- unless klass.includes.empty? then %> -<div id="includes-section" class="nav-section"> - <h3>Included Modules</h3> - - <ul class="link-list"> - <%- klass.each_include do |inc| -%> - <%- unless String === inc.module then -%> - <li><a class="include" href="<%= klass.aref_to inc.module.path %>"><%= inc.module.full_name %></a> - <%- else -%> - <li><span class="include"><%= inc.name %></span> - <%- end -%> - <%- end -%> - </ul> -</div> -<%- end -%> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml deleted file mode 100644 index faed7e0a94..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +++ /dev/null @@ -1,15 +0,0 @@ -<div id="home-section" class="nav-section"> - <h3>Documentation</h3> - - <ul> - <%- installed.each do |name, href, exists, type, _| -%> - <%- next if type == :extra -%> - <li class="folder"> - <%- if exists then -%> - <a href="<%= href %>"><%= h name %></a> - <%- else -%> - <%= h name %> - <%- end -%> - <%- end -%> - </ul> -</div> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml deleted file mode 100644 index d09216a0f6..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +++ /dev/null @@ -1,21 +0,0 @@ -<% if (class_methods = klass.class_method_list.sort).any? %> - <div class="nav-section"> - <h3>Class Methods</h3> - <ul class="link-list" role="directory"> - <%- class_methods.each do |meth| -%> - <li <%- if meth.calls_super %>class="calls-super" <%- end %>><a href="#<%= meth.aref %>"><%= h meth.name -%></a></li> - <%- end -%> - </ul> - </div> -<% end %> - -<% if (instance_methods = klass.instance_methods.sort).any? %> - <div class="nav-section"> - <h3>Instance Methods</h3> - <ul class="link-list" role="directory"> - <%- instance_methods.each do |meth| -%> - <li <%- if meth.calls_super %>class="calls-super" <%- end %>><a href="#<%= meth.aref %>"><%= h meth.name -%></a></li> - <%- end -%> - </ul> - </div> -<% end %> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml deleted file mode 100644 index d7f330840a..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +++ /dev/null @@ -1,11 +0,0 @@ -<div id="home-section" role="region" title="Quick navigation" class="nav-section"> - <h2> - <a href="<%= rel_prefix %>/index.html" rel="home">Home</a> - </h2> - - <div id="table-of-contents-navigation"> - <a href="<%= rel_prefix %>/table_of_contents.html#pages">Pages</a> - <a href="<%= rel_prefix %>/table_of_contents.html#classes">Classes</a> - <a href="<%= rel_prefix %>/table_of_contents.html#methods">Methods</a> - </div> -</div> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml deleted file mode 100644 index 3f68f0c0dc..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +++ /dev/null @@ -1,32 +0,0 @@ -<%- simple_files = @files.select { |f| f.text? } %> -<%- if defined?(current) -%> - <%- dir = current.full_name[%r{\A[^/]+(?=/)}] || current.page_name -%> -<%- end -%> -<%- unless simple_files.empty? then -%> -<div id="fileindex-section" class="nav-section"> - <h3>Pages</h3> - - <ul class="link-list"> - <%- simple_files.group_by do |f| -%> - <%- f.full_name[%r{\A[^/]+(?=/)}] || f.page_name -%> - <%- end.each do |n, files| -%> - <%- f = files.shift -%> - <%- if files.empty? -%> - <li><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h f.page_name %></a> - <%- next -%> - <%- end -%> - <li><details<% if dir == n %> open<% end %>><summary><% - if n == f.page_name - %><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h n %></a><% - else - %><%= h n %><% files.unshift(f) - end %></summary> - <ul class="link-list"> - <%- files.each do |f| -%> - <li><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h f.page_name %></a> - <%- end -%> - </ul></details> - <%- end -%> - </ul> -</div> -<%- end -%> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml deleted file mode 100644 index 6808b2bf87..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +++ /dev/null @@ -1,6 +0,0 @@ -<%- if klass.type == 'class' && (ancestors = klass.super_classes).any? -%> -<div id="parent-class-section" class="nav-section"> - <h3>Ancestors</h3> - <%= generate_ancestor_list(ancestors, klass) %> -</div> -<%- end -%> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml deleted file mode 100644 index afc7f7b88d..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +++ /dev/null @@ -1,14 +0,0 @@ -<div id="search-section" role="search" class="project-section initially-hidden"> - <form action="#" method="get" accept-charset="utf-8"> - <div id="search-field-wrapper"> - <input id="search-field" role="combobox" aria-label="Search" - aria-autocomplete="list" aria-controls="search-results" - type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false" - title="Type to search, Up and Down to navigate, Enter to load"> - </div> - - <ul id="search-results" aria-label="Search Results" - aria-busy="false" aria-expanded="false" - aria-atomic="false" class="initially-hidden"></ul> - </form> -</div> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml deleted file mode 100644 index 6dcd2ae81f..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +++ /dev/null @@ -1,11 +0,0 @@ -<%- unless klass.sections.length == 1 then %> -<div id="sections-section" class="nav-section"> - <h3>Sections</h3> - - <ul class="link-list" role="directory"> - <%- klass.sort_sections.each do |section| -%> - <li><a href="#<%= section.aref %>"><%= h section.title %></a></li> - <%- end -%> - </ul> -</div> -<%- end -%> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml deleted file mode 100644 index b1e047b5f7..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +++ /dev/null @@ -1,39 +0,0 @@ -<%- comment = if current.respond_to? :comment_location then - current.comment_location - else - current.comment - end - table = current.parse(comment).table_of_contents.dup - - if table.length > 1 then %> -<div class="nav-section"> - <h3>Table of Contents</h3> - - <%- display_link = proc do |heading| -%> - <a href="#<%= heading.label current %>"><%= heading.plain_html %></a> - <%- end -%> - - <%- list_siblings = proc do -%> - <%- level = table.first&.level -%> - <%- while table.first && table.first.level >= level -%> - <%- heading = table.shift -%> - <%- if table.first.nil? || table.first.level <= heading.level -%> - <li><% display_link.call heading -%> - <%- else -%> - <li> - <details open> - <summary><%- display_link.call heading -%></summary> - <ul class="link-list" role="directory"> - <% list_siblings.call %> - </ul> - </details> - </li> - <%- end -%> - <%- end -%> - <%- end -%> - - <ul class="link-list" role="directory"> - <% list_siblings.call %> - </ul> -</div> -<%- end -%> diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml deleted file mode 100644 index ed2cbe31a0..0000000000 --- a/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -<div id="navigation-toggle" role="button" tabindex="0" aria-label="Toggle sidebar" aria-expanded="true" aria-controls="navigation"> - <span aria-hidden="true">☰</span> -</div> diff --git a/lib/rdoc/generator/template/darkfish/class.rhtml b/lib/rdoc/generator/template/darkfish/class.rhtml deleted file mode 100644 index 0bec9fc9ce..0000000000 --- a/lib/rdoc/generator/template/darkfish/class.rhtml +++ /dev/null @@ -1,206 +0,0 @@ -<body id="top" role="document" class="<%= klass.type %>"> -<%= render '_sidebar_toggle.rhtml' %> - -<nav id="navigation" role="navigation"> - <div id="project-navigation"> - <%= render '_sidebar_navigation.rhtml' %> - <%= render '_sidebar_search.rhtml' %> - </div> - - <%= render '_sidebar_table_of_contents.rhtml' %> - <%= render '_sidebar_sections.rhtml' %> - <%= render '_sidebar_parent.rhtml' %> - <%= render '_sidebar_includes.rhtml' %> - <%= render '_sidebar_extends.rhtml' %> - <%= render '_sidebar_methods.rhtml' %> - - <%= render '_footer.rhtml' %> -</nav> - -<main role="main" aria-labelledby="<%=h klass.aref %>"> - <h1 id="<%=h klass.aref %>" class="anchor-link <%= klass.type %>"> - <%= klass.type %> <%= klass.full_name %> - </h1> - - <section class="description"> - <%= klass.description %> - </section> - - <%- klass.each_section do |section, constants, attributes| -%> - <section id="<%= section.aref %>" class="documentation-section anchor-link"> - <%- if section.title then -%> - <header class="documentation-section-title"> - <h2> - <%= section.title %> - </h2> - <span class="section-click-top"> - <a href="#top">↑ top</a> - </span> - </header> - <%- end -%> - - <%- if section.comment then -%> - <div> - <%= section.description %> - </div> - <%- end -%> - - <%- unless constants.empty? then -%> - <section class="constants-list"> - <header> - <h3>Constants</h3> - </header> - <dl> - <%- constants.each do |const| -%> - <dt id="<%= const.name %>"><%= const.name %> - <%- if const.comment then -%> - <dd> - <%- if const.mixin_from then -%> - <div class="mixin-from"> - Included from <a href="<%= klass.aref_to(const.mixin_from.path)%>"><%= const.mixin_from.full_name %></a> - </div> - <%- end -%> - <%= const.description.strip %> - <%- else -%> - <dd class="missing-docs">(Not documented) - <%- end -%> - <%- end -%> - </dl> - </section> - <%- end -%> - - <%- unless attributes.empty? then -%> - <section class="attribute-method-details" class="method-section"> - <header> - <h3>Attributes</h3> - </header> - - <%- attributes.each do |attrib| -%> - <div id="<%= attrib.aref %>" class="method-detail anchor-link"> - <div class="method-heading attribute-method-heading"> - <a href="#<%= attrib.aref %>" title="Link to this attribute"> - <span class="method-name"><%= h attrib.name %></span> - <span class="attribute-access-type">[<%= attrib.rw %>]</span> - </a> - </div> - - <div class="method-description"> - <%- if attrib.mixin_from then -%> - <div class="mixin-from"> - <%= attrib.singleton ? "Extended" : "Included" %> from <a href="<%= klass.aref_to(attrib.mixin_from.path)%>"><%= attrib.mixin_from.full_name %></a> - </div> - <%- end -%> - <%- if attrib.comment then -%> - <%= attrib.description.strip %> - <%- else -%> - <p class="missing-docs">(Not documented) - <%- end -%> - </div> - </div> - <%- end -%> - </section> - <%- end -%> - - <%- klass.methods_by_type(section).each do |type, visibilities| - next if visibilities.empty? - visibilities.each do |visibility, methods| - next if methods.empty? %> - <section id="<%= visibility %>-<%= type %>-<%= section.aref %>-method-details" class="method-section anchor-link"> - <header> - <h3><%= visibility.to_s.capitalize %> <%= type.capitalize %> Methods</h3> - </header> - - <%- methods.each do |method| -%> - <div id="<%= method.aref %>" class="method-detail anchor-link <%= method.is_alias_for ? "method-alias" : '' %>"> - <div class="method-header"> - <%- if (call_seq = method.call_seq) then -%> - <%- call_seq.strip.split("\n").each_with_index do |call_seq, i| -%> - <div class="method-heading"> - <a href="#<%= method.aref %>" title="Link to this method"> - <span class="method-callseq"> - <%= h(call_seq.strip. - gsub( /^\w+\./m, '')). - gsub(/(.*)[-=]>/, '\1→') %> - </span> - </a> - </div> - <%- end -%> - <%- elsif method.has_call_seq? then -%> - <div class="method-heading"> - <a href="#<%= method.aref %>" title="Link to this method"> - <span class="method-name"><%= h method.name %></span> - </a> - </div> - <%- else -%> - <div class="method-heading"> - <a href="#<%= method.aref %>" title="Link to this method"> - <span class="method-name"><%= h method.name %></span> - <span class="method-args"><%= h method.param_seq %></span> - </a> - </div> - <%- end -%> - </div> - - <%- if method.token_stream -%> - <div class="method-controls"> - <details class="method-source-toggle"> - <summary>Source</summary> - </details> - </div> - <%- end -%> - - <%- unless method.skip_description? then -%> - <div class="method-description"> - <%- if method.token_stream then -%> - <div class="method-source-code" id="<%= method.html_name %>-source"> - <pre><%= method.markup_code %></pre> - </div> - <%- end -%> - <%- if method.mixin_from then -%> - <div class="mixin-from"> - <%= method.singleton ? "Extended" : "Included" %> from <a href="<%= klass.aref_to(method.mixin_from.path)%>"><%= method.mixin_from.full_name %></a> - </div> - <%- end -%> - <%- if method.comment then -%> - <%= method.description.strip %> - <%- else -%> - <p class="missing-docs">(Not documented) - <%- end -%> - <%- if method.calls_super then -%> - <div class="method-calls-super"> - Calls superclass method - <%= - method.superclass_method ? - method.formatter.link(method.superclass_method.full_name, method.superclass_method.full_name) : nil - %> - </div> - <%- end -%> - </div> - <%- end -%> - - <%- unless method.aliases.empty? then -%> - <div class="aliases"> - Also aliased as: <%= method.aliases.map do |aka| - if aka.parent then # HACK lib/rexml/encodings - %{<a href="#{klass.aref_to aka.path}">#{h aka.name}</a>} - else - h aka.name - end - end.join ", " %> - </div> - <%- end -%> - - <%- if method.is_alias_for then -%> - <div class="aliases"> - Alias for: <a href="<%= klass.aref_to method.is_alias_for.path %>"><%= h method.is_alias_for.name %></a> - </div> - <%- end -%> - </div> - - <%- end -%> - </section> - <%- end - end %> - </section> -<%- end -%> -</main> diff --git a/lib/rdoc/generator/template/darkfish/css/fonts.css b/lib/rdoc/generator/template/darkfish/css/fonts.css deleted file mode 100644 index 57302b5183..0000000000 --- a/lib/rdoc/generator/template/darkfish/css/fonts.css +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), - * with Reserved Font Name "Source". All Rights Reserved. Source is a - * trademark of Adobe Systems Incorporated in the United States and/or other - * countries. - * - * This Font Software is licensed under the SIL Open Font License, Version - * 1.1. - * - * This license is copied below, and is also available with a FAQ at: - * http://scripts.sil.org/OFL - */ - -@font-face { - font-family: "Source Code Pro"; - font-style: normal; - font-weight: 400; - src: local("Source Code Pro"), - local("SourceCodePro-Regular"), - url("../fonts/SourceCodePro-Regular.ttf") format("truetype"); -} - -@font-face { - font-family: "Source Code Pro"; - font-style: normal; - font-weight: 700; - src: local("Source Code Pro Bold"), - local("SourceCodePro-Bold"), - url("../fonts/SourceCodePro-Bold.ttf") format("truetype"); -} - -/* - * Copyright (c) 2010, Εukasz Dziedzic ([email protected]), - * with Reserved Font Name Lato. - * - * This Font Software is licensed under the SIL Open Font License, Version - * 1.1. - * - * This license is copied below, and is also available with a FAQ at: - * http://scripts.sil.org/OFL - */ - -@font-face { - font-family: "Lato"; - font-style: normal; - font-weight: 300; - src: local("Lato Light"), - local("Lato-Light"), - url("../fonts/Lato-Light.ttf") format("truetype"); -} - -@font-face { - font-family: "Lato"; - font-style: italic; - font-weight: 300; - src: local("Lato Light Italic"), - local("Lato-LightItalic"), - url("../fonts/Lato-LightItalic.ttf") format("truetype"); -} - -@font-face { - font-family: "Lato"; - font-style: normal; - font-weight: 700; - src: local("Lato Regular"), - local("Lato-Regular"), - url("../fonts/Lato-Regular.ttf") format("truetype"); -} - -@font-face { - font-family: "Lato"; - font-style: italic; - font-weight: 700; - src: local("Lato Italic"), - local("Lato-Italic"), - url("../fonts/Lato-RegularItalic.ttf") format("truetype"); -} - -/* - * ----------------------------------------------------------- - * SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 - * ----------------------------------------------------------- - * - * PREAMBLE - * The goals of the Open Font License (OFL) are to stimulate worldwide - * development of collaborative font projects, to support the font creation - * efforts of academic and linguistic communities, and to provide a free and - * open framework in which fonts may be shared and improved in partnership - * with others. - * - * The OFL allows the licensed fonts to be used, studied, modified and - * redistributed freely as long as they are not sold by themselves. The - * fonts, including any derivative works, can be bundled, embedded, - * redistributed and/or sold with any software provided that any reserved - * names are not used by derivative works. The fonts and derivatives, - * however, cannot be released under any other type of license. The - * requirement for fonts to remain under this license does not apply - * to any document created using the fonts or their derivatives. - * - * DEFINITIONS - * "Font Software" refers to the set of files released by the Copyright - * Holder(s) under this license and clearly marked as such. This may - * include source files, build scripts and documentation. - * - * "Reserved Font Name" refers to any names specified as such after the - * copyright statement(s). - * - * "Original Version" refers to the collection of Font Software components as - * distributed by the Copyright Holder(s). - * - * "Modified Version" refers to any derivative made by adding to, deleting, - * or substituting -- in part or in whole -- any of the components of the - * Original Version, by changing formats or by porting the Font Software to a - * new environment. - * - * "Author" refers to any designer, engineer, programmer, technical - * writer or other person who contributed to the Font Software. - * - * PERMISSION & CONDITIONS - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of the Font Software, to use, study, copy, merge, embed, modify, - * redistribute, and sell modified and unmodified copies of the Font - * Software, subject to the following conditions: - * - * 1) Neither the Font Software nor any of its individual components, - * in Original or Modified Versions, may be sold by itself. - * - * 2) Original or Modified Versions of the Font Software may be bundled, - * redistributed and/or sold with any software, provided that each copy - * contains the above copyright notice and this license. These can be - * included either as stand-alone text files, human-readable headers or - * in the appropriate machine-readable metadata fields within text or - * binary files as long as those fields can be easily viewed by the user. - * - * 3) No Modified Version of the Font Software may use the Reserved Font - * Name(s) unless explicit written permission is granted by the corresponding - * Copyright Holder. This restriction only applies to the primary font name as - * presented to the users. - * - * 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font - * Software shall not be used to promote, endorse or advertise any - * Modified Version, except to acknowledge the contribution(s) of the - * Copyright Holder(s) and the Author(s) or with their explicit written - * permission. - * - * 5) The Font Software, modified or unmodified, in part or in whole, - * must be distributed entirely under this license, and must not be - * distributed under any other license. The requirement for fonts to - * remain under this license does not apply to any document created - * using the Font Software. - * - * TERMINATION - * This license becomes null and void if any of the above conditions are - * not met. - * - * DISCLAIMER - * THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT - * OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE - * COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM - * OTHER DEALINGS IN THE FONT SOFTWARE. - */ - diff --git a/lib/rdoc/generator/template/darkfish/css/rdoc.css b/lib/rdoc/generator/template/darkfish/css/rdoc.css deleted file mode 100644 index ed9b3e9c3b..0000000000 --- a/lib/rdoc/generator/template/darkfish/css/rdoc.css +++ /dev/null @@ -1,668 +0,0 @@ -/* - * "Darkfish" RDoc CSS - * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $ - * - * Author: Michael Granger <[email protected]> - * - */ - -/* vim: ft=css et sw=2 ts=2 sts=2 */ - -/* 1. Variables and Root Styles */ -:root { - --sidebar-width: 300px; - --highlight-color: #cc342d; /* Reddish color for accents and headings */ - --secondary-highlight-color: #c83045; /* Darker reddish color for secondary highlights */ - --text-color: #505050; /* Dark bluish-grey for text */ - --background-color: #fefefe; /* Near white background */ - --code-block-background-color: #f6f6f3; /* Slightly darker grey for code blocks */ - --link-color: #42405F; /* Dark bluish-grey for links */ - --link-hover-color: var(--highlight-color); /* Reddish color on hover */ - --border-color: #e0e0e0;; /* General border color */ - --source-code-toggle-color: var(--secondary-highlight-color); - --scrollbar-thumb-hover-background: #505050; /* Hover color for scrollbar thumb */ - --table-header-background-color: #eceaed; - --table-td-background-color: #f5f4f6; - - /* Font family variables */ - --font-primary: 'Segoe UI', 'Verdana', 'Arial', sans-serif; - --font-heading: 'Helvetica', 'Arial', sans-serif; - --font-code: monospace; -} - -/* 2. Global Styles */ -body { - background: var(--background-color); - font-family: var(--font-primary); - font-weight: 400; - color: var(--text-color); - line-height: 1.6; - - /* Layout */ - display: flex; - flex-direction: column; - min-height: 100vh; - margin: 0; -} - -/* 3. Typography */ -h1 span, -h2 span, -h3 span, -h4 span, -h5 span, -h6 span { - position: relative; - - display: none; - padding-left: 1em; - line-height: 0; - vertical-align: baseline; - font-size: 10px; -} - -h1 span { top: -1.3em; } -h2 span { top: -1.2em; } -h3 span { top: -1.0em; } -h4 span { top: -0.8em; } -h5 span { top: -0.5em; } -h6 span { top: -0.5em; } - -h1:hover span, -h2:hover span, -h3:hover span, -h4:hover span, -h5:hover span, -h6:hover span { - display: inline; -} - -h1:target, -h2:target, -h3:target, -h4:target, -h5:target, -h6:target { - margin-left: -10px; - border-left: 10px solid var(--border-color); - scroll-margin-top: 1rem; -} - -main .anchor-link:target { - scroll-margin-top: 1rem; -} - -/* 4. Links */ -a { - color: var(--link-color); - transition: color 0.3s ease; -} - -a:hover { - color: var(--link-hover-color); -} - -a code:hover { - color: var(--link-hover-color); -} - -/* 5. Code and Pre */ -code, -pre { - font-family: var(--font-code); - background-color: var(--code-block-background-color); - border: 1px solid var(--border-color); - border-radius: 6px; - padding: 16px; - overflow-x: auto; - font-size: 15px; - line-height: 1.5; - margin: 1em 0; -} - -code { - background-color: var(--code-block-background-color); - padding: 0.1em 0.3em; - border-radius: 3px; - font-size: 85%; -} - -/* Tables */ -table { - margin: 0; - border-spacing: 0; - border-collapse: collapse; -} - -table tr th, table tr td { - padding: 0.2em 0.4em; - border: 1px solid var(--border-color); -} - -table tr th { - background-color: var(--table-header-background-color); -} - -table tr:nth-child(even) td { - background-color: var(--table-td-background-color); -} - -/* 7. Navigation and Sidebar */ -nav { - font-family: var(--font-heading); - font-size: 16px; - border-right: 1px solid var(--border-color); - position: fixed; - top: 0; - bottom: 0; - left: 0; - width: var(--sidebar-width); - background: var(--background-color); /* It needs an explicit background for toggling narrow screens */ - overflow-y: auto; - z-index: 10; - display: flex; - flex-direction: column; - color: var(--text-color); -} - -nav[hidden] { - display: none; -} - -nav footer { - padding: 1em; - border-top: 1px solid var(--border-color); -} - -nav footer a { - color: var(--secondary-highlight-color); -} - -nav .nav-section { - margin-top: 1em; - padding: 0 1em; -} - -nav h2, nav h3 { - margin: 0 0 0.5em; - padding: 0.5em 0; - color: var(--highlight-color); - border-bottom: 1px solid var(--border-color); -} - -nav h2 { - font-size: 1.2em; -} - -nav h3, -#table-of-contents-navigation { - font-size: 1em; -} - -nav ul, -nav dl, -nav p { - padding: 0; - list-style: none; - margin: 0.5em 0; -} - -nav ul li { - margin-bottom: 0.3em; -} - -nav ul ul { - padding-left: 1em; -} - -nav ul ul ul { - padding-left: 1em; -} - -nav ul ul ul ul { - padding-left: 1em; -} - -nav a { - color: var(--link-color); - text-decoration: none; -} - -nav a:hover { - color: var(--link-hover-color); - text-decoration: underline; -} - -#navigation-toggle { - z-index: 1000; - font-size: 2em; - display: block; - position: fixed; - top: 10px; - left: 20px; - cursor: pointer; -} - -#navigation-toggle[aria-expanded="true"] { - top: 10px; - left: 250px; -} - -nav ul li details { - position: relative; - padding-right: 1.5em; /* Add space for the marker on the right */ -} - -nav ul li details > summary { - list-style: none; /* Remove the default marker */ - position: relative; /* So that the open/close triangle can position itself absolutely inside */ -} - -nav ul li details > summary::-webkit-details-marker { - display: none; /* Removes the default marker, in Safari 18. */ -} - -nav ul li details > summary::after { - content: 'βΆ'; /* Unicode right-pointing triangle */ - position: absolute; - font-size: 0.8em; - bottom: 0.1em; - margin-left: 0.3em; - transition: transform 0.2s ease; -} - -nav ul li details[open] > summary::after { - transform: rotate(90deg); /* Rotate the triangle when open */ -} - -/* 8. Main Content */ -main { - flex: 1; - display: block; - margin: 3em auto; - padding: 0 2em; - max-width: 800px; - font-size: 16px; - line-height: 1.6; - color: var(--text-color); - box-sizing: border-box; -} - -@media (min-width: 1024px) { - main { - margin-left: var(--sidebar-width); - } - - .table-of-contents main { - margin-left: 20em; - } - - #navigation-toggle { - display: none; - } -} - -main h1[class] { - margin-top: 0; - margin-bottom: 1em; - font-size: 2.5em; - color: var(--highlight-color); -} - -main h1, -main h2, -main h3, -main h4, -main h5, -main h6 { - font-family: var(--font-heading); - color: var(--highlight-color); -} - -/* Search */ -#search-section { - padding: 1em; - background-color: var(--background-color); - border-bottom: 1px solid var(--border-color); -} - -#search-field-wrapper { - position: relative; - display: flex; - align-items: center; -} - -#search-field { - width: 100%; - padding: 0.5em 1em 0.5em 2.5em; - border: 1px solid var(--border-color); - border-radius: 20px; - font-size: 14px; - outline: none; - transition: border-color 0.3s ease; - color: var(--text-color); -} - -#search-field:focus { - border-color: var(--highlight-color); -} - -#search-field::placeholder { - color: var(--text-color); -} - -#search-field-wrapper::before { - content: "\1F50D"; - position: absolute; - left: 0.75em; - top: 50%; - transform: translateY(-50%); - font-size: 14px; - color: var(--text-color); - opacity: 0.6; -} - -/* Search Results */ -#search-results { - font-family: var(--font-primary); - font-weight: 300; -} - -#search-results .search-match { - font-family: var(--font-heading); - font-weight: normal; -} - -#search-results .search-selected { - background: var(--code-block-background-color); - border-bottom: 1px solid transparent; -} - -#search-results li { - list-style: none; - border-bottom: 1px solid var(--border-color); - margin-bottom: 0.5em; -} - -#search-results li:last-child { - border-bottom: none; - margin-bottom: 0; -} - -#search-results li p { - padding: 0; - margin: 0.5em; -} - -#search-results .search-namespace { - font-weight: bold; -} - -#search-results li em { - background-color: rgba(224, 108, 117, 0.1); - font-style: normal; -} - -#search-results pre { - margin: 0.5em; - font-family: var(--font-code); -} - -/* Syntax Highlighting - Gruvbox Light Scheme */ - -.ruby-constant { color: #AF3A03; } /* Dark Orange */ -.ruby-keyword { color: #9D0006; } /* Dark Red */ -.ruby-ivar { color: #B57614; } /* Brown */ -.ruby-operator { color: #427B58; } /* Dark Teal */ -.ruby-identifier { color: #076678; } /* Deep Teal */ -.ruby-node { color: #8F3F71; } /* Plum */ -.ruby-comment { color: #928374; font-style: italic; } /* Gray */ -.ruby-regexp { color: #8F3F71; } /* Plum */ -.ruby-value { color: #AF3A03; } /* Dark Orange */ -.ruby-string { color: #79740E; } /* Olive */ - -/* Emphasis */ -em { - text-decoration-color: rgba(52, 48, 64, 0.25); - text-decoration-line: underline; - text-decoration-style: dotted; -} - -strong, -em { - color: var(--highlight-color); - background-color: rgba(255, 111, 97, 0.1); /* Light red background for emphasis */ -} - -/* Paragraphs */ -main p { - line-height: 1.5em; - font-weight: 400; -} - -/* Preformatted Text */ -main pre { - margin: 1.2em 0.5em; - padding: 1em; - font-size: 0.8em; -} - -/* Horizontal Rules */ -main hr { - margin: 1.5em 1em; - border: 2px solid var(--border-color); -} - -/* Blockquotes */ -main blockquote { - margin: 0 2em 1.2em 1.2em; - padding-left: 0.5em; - border-left: 2px solid var(--border-color); -} - -/* Lists */ -main li > p { - margin: 0.5em; -} - -/* Definition Lists */ -main dl { - margin: 1em 0.5em; -} - -main dt { - line-height: 1.5; /* matches `main p` */ - font-weight: bold; -} - -main dl.note-list dt { - margin-right: 1em; - float: left; -} - -main dl.note-list dt:has(+ dt) { - margin-right: 0.25em; -} - -main dl.note-list dt:has(+ dt)::after { - content: ', '; - font-weight: normal; -} - -main dd { - margin: 0 0 1em 1em; -} - -main dd p:first-child { - margin-top: 0; -} - -/* Headers within Main */ -main header h2 { - margin-top: 2em; - border-width: 0; - border-top: 4px solid var(--border-color); - font-size: 130%; -} - -main header h3 { - margin: 2em 0 1.5em; - border-width: 0; - border-top: 3px solid var(--border-color); - font-size: 120%; -} - -/* Utility Classes */ -.hide { display: none !important; } -.initially-hidden { display: none; } - -/* Table of Contents */ -.table-of-contents ul { - margin: 1em; - list-style: none; -} - -.table-of-contents ul ul { - margin-top: 0.25em; -} - -.table-of-contents ul :link, -.table-of-contents ul :visited { - font-size: 16px; -} - -.table-of-contents li { - margin-bottom: 0.25em; -} - -/* Method Details */ -main .method-source-code { - visibility: hidden; - max-height: 0; - overflow: auto; - transition-duration: 200ms; - transition-delay: 0ms; - transition-property: all; - transition-timing-function: ease-in-out; -} - -main .method-source-code pre { - border-color: var(--source-code-toggle-color); -} - -main .method-source-code.active-menu { - visibility: visible; - max-height: 100vh; -} - -main .method-description .method-calls-super { - color: var(--text-color); - font-weight: bold; -} - -main .method-detail { - margin-bottom: 2.5em; -} - -main .method-detail:target { - margin-left: -10px; - border-left: 10px solid var(--border-color); -} - -main .method-header { - display: inline-block; -} - -main .method-heading { - position: relative; - font-family: var(--font-code); - font-size: 110%; - font-weight: bold; -} - -main .method-heading::after { - content: 'ΒΆ'; - position: absolute; - visibility: hidden; - color: var(--highlight-color); - font-size: 0.5em; -} - -main .method-heading:hover::after { - visibility: visible; -} - -main .method-controls { - line-height: 20px; - float: right; - color: var(--source-code-toggle-color); - cursor: pointer; -} - -main .method-description, -main .aliases { - margin-top: 0.75em; - color: var(--text-color); -} - -main .aliases { - padding-top: 4px; - font-style: italic; - cursor: default; -} - -main .aliases a { - color: var(--secondary-highlight-color); -} - -main .mixin-from { - font-size: 80%; - font-style: italic; - margin-bottom: 0.75em; -} - -main .method-description ul { - margin-left: 1.5em; -} - -main #attribute-method-details .method-detail:hover { - background-color: transparent; - cursor: default; -} - -main .attribute-access-type { - text-transform: uppercase; -} - -/* Responsive Adjustments */ -@media (max-width: 480px) { - nav { - width: 100%; - } - - main { - margin: 1em auto; - padding: 0 1em; - max-width: 100%; - } - - #navigation-toggle { - right: 10px; - left: auto; - } - - #navigation-toggle[aria-expanded="true"] { - left: auto; - } - - table { - display: block; - overflow-x: auto; - white-space: nowrap; - } - - main .method-controls { - margin-top: 10px; - float: none; - } -} diff --git a/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf b/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf Binary files differdeleted file mode 100644 index b49dd43729..0000000000 --- a/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf b/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf Binary files differdeleted file mode 100644 index 7959fef075..0000000000 --- a/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf b/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf Binary files differdeleted file mode 100644 index 839cd589dc..0000000000 --- a/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf b/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf Binary files differdeleted file mode 100644 index bababa09e3..0000000000 --- a/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf b/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf Binary files differdeleted file mode 100644 index dd00982d49..0000000000 --- a/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf b/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf Binary files differdeleted file mode 100644 index 1decfb95af..0000000000 --- a/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/add.png b/lib/rdoc/generator/template/darkfish/images/add.png Binary files differdeleted file mode 100644 index 6332fefea4..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/add.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/arrow_up.png b/lib/rdoc/generator/template/darkfish/images/arrow_up.png Binary files differdeleted file mode 100644 index 1ebb193243..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/arrow_up.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/brick.png b/lib/rdoc/generator/template/darkfish/images/brick.png Binary files differdeleted file mode 100644 index 7851cf34c9..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/brick.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/brick_link.png b/lib/rdoc/generator/template/darkfish/images/brick_link.png Binary files differdeleted file mode 100644 index 9ebf013a23..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/brick_link.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/bug.png b/lib/rdoc/generator/template/darkfish/images/bug.png Binary files differdeleted file mode 100644 index 2d5fb90ec6..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/bug.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/bullet_black.png b/lib/rdoc/generator/template/darkfish/images/bullet_black.png Binary files differdeleted file mode 100644 index 57619706d1..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/bullet_black.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png b/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png Binary files differdeleted file mode 100644 index b47ce55f68..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png b/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png Binary files differdeleted file mode 100644 index 9ab4a89664..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/date.png b/lib/rdoc/generator/template/darkfish/images/date.png Binary files differdeleted file mode 100644 index 783c83357f..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/date.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/delete.png b/lib/rdoc/generator/template/darkfish/images/delete.png Binary files differdeleted file mode 100644 index 08f249365a..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/delete.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/find.png b/lib/rdoc/generator/template/darkfish/images/find.png Binary files differdeleted file mode 100644 index 1547479646..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/find.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif b/lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif Binary files differdeleted file mode 100644 index 82290f4833..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/macFFBgHack.png b/lib/rdoc/generator/template/darkfish/images/macFFBgHack.png Binary files differdeleted file mode 100644 index c6473b324e..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/macFFBgHack.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/package.png b/lib/rdoc/generator/template/darkfish/images/package.png Binary files differdeleted file mode 100644 index da3c2a2d74..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/package.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/page_green.png b/lib/rdoc/generator/template/darkfish/images/page_green.png Binary files differdeleted file mode 100644 index de8e003f9f..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/page_green.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/page_white_text.png b/lib/rdoc/generator/template/darkfish/images/page_white_text.png Binary files differdeleted file mode 100644 index 813f712f72..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/page_white_text.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/page_white_width.png b/lib/rdoc/generator/template/darkfish/images/page_white_width.png Binary files differdeleted file mode 100644 index 1eb880947d..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/page_white_width.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/plugin.png b/lib/rdoc/generator/template/darkfish/images/plugin.png Binary files differdeleted file mode 100644 index 6187b15aec..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/plugin.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/ruby.png b/lib/rdoc/generator/template/darkfish/images/ruby.png Binary files differdeleted file mode 100644 index f763a16880..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/ruby.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/tag_blue.png b/lib/rdoc/generator/template/darkfish/images/tag_blue.png Binary files differdeleted file mode 100644 index 3f02b5f8f8..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/tag_blue.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/tag_green.png b/lib/rdoc/generator/template/darkfish/images/tag_green.png Binary files differdeleted file mode 100644 index 83ec984bd7..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/tag_green.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/transparent.png b/lib/rdoc/generator/template/darkfish/images/transparent.png Binary files differdeleted file mode 100644 index d665e179ef..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/transparent.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/wrench.png b/lib/rdoc/generator/template/darkfish/images/wrench.png Binary files differdeleted file mode 100644 index 5c8213fef5..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/wrench.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/wrench_orange.png b/lib/rdoc/generator/template/darkfish/images/wrench_orange.png Binary files differdeleted file mode 100644 index 565a9330e0..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/wrench_orange.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/images/zoom.png b/lib/rdoc/generator/template/darkfish/images/zoom.png Binary files differdeleted file mode 100644 index 908612e394..0000000000 --- a/lib/rdoc/generator/template/darkfish/images/zoom.png +++ /dev/null diff --git a/lib/rdoc/generator/template/darkfish/index.rhtml b/lib/rdoc/generator/template/darkfish/index.rhtml deleted file mode 100644 index a5c0dd54da..0000000000 --- a/lib/rdoc/generator/template/darkfish/index.rhtml +++ /dev/null @@ -1,23 +0,0 @@ -<body id="top" role="document" class="file"> -<%= render '_sidebar_toggle.rhtml' %> - -<nav id="navigation" role="navigation"> - <div id="project-navigation"> - <%= render '_sidebar_navigation.rhtml' %> - <%= render '_sidebar_search.rhtml' %> - </div> - - <%= render '_sidebar_pages.rhtml' %> - <%= render '_sidebar_classes.rhtml' %> - - <%= render '_footer.rhtml' %> -</nav> - -<main role="main"> -<%- if @options.main_page and - main_page = @files.find { |f| f.full_name == @options.main_page } then %> -<%= main_page.description %> -<%- else -%> -<p>This is the API documentation for <%= h @title %>. -<%- end -%> -</main> diff --git a/lib/rdoc/generator/template/darkfish/js/darkfish.js b/lib/rdoc/generator/template/darkfish/js/darkfish.js deleted file mode 100644 index 4c15efde66..0000000000 --- a/lib/rdoc/generator/template/darkfish/js/darkfish.js +++ /dev/null @@ -1,120 +0,0 @@ -/** - * - * Darkfish Page Functions - * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ - * - * Author: Michael Granger <[email protected]> - * - */ - -/* Provide console simulation for firebug-less environments */ -/* -if (!("console" in window) || !("firebug" in console)) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", - "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; - - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -}; -*/ - - -function showSource( e ) { - var target = e.target; - while (!target.classList.contains('method-detail')) { - target = target.parentNode; - } - if (typeof target !== "undefined" && target !== null) { - target = target.querySelector('.method-source-code'); - } - if (typeof target !== "undefined" && target !== null) { - target.classList.toggle('active-menu') - } -}; - -function hookSourceViews() { - document.querySelectorAll('.method-source-toggle').forEach(function (codeObject) { - codeObject.addEventListener('click', showSource); - }); -}; - -function hookSearch() { - var input = document.querySelector('#search-field'); - var result = document.querySelector('#search-results'); - result.classList.remove("initially-hidden"); - - var search_section = document.querySelector('#search-section'); - search_section.classList.remove("initially-hidden"); - - var search = new Search(search_data, input, result); - - search.renderItem = function(result) { - var li = document.createElement('li'); - var html = ''; - - // TODO add relative path to <script> per-page - html += '<p class="search-match"><a href="' + index_rel_prefix + this.escapeHTML(result.path) + '">' + this.hlt(result.title); - if (result.params) - html += '<span class="params">' + result.params + '</span>'; - html += '</a>'; - - - if (result.namespace) - html += '<p class="search-namespace">' + this.hlt(result.namespace); - - if (result.snippet) - html += '<div class="search-snippet">' + result.snippet + '</div>'; - - li.innerHTML = html; - - return li; - } - - search.select = function(result) { - window.location.href = result.firstChild.firstChild.href; - } - - search.scrollIntoView = search.scrollInWindow; -}; - -function hookFocus() { - document.addEventListener("keydown", (event) => { - if (document.activeElement.tagName === 'INPUT') { - return; - } - if (event.key === "/") { - event.preventDefault(); - document.querySelector('#search-field').focus(); - } - }); -} - -function hookSidebar() { - var navigation = document.querySelector('#navigation'); - var navigationToggle = document.querySelector('#navigation-toggle'); - - navigationToggle.addEventListener('click', function() { - navigation.hidden = !navigation.hidden; - navigationToggle.ariaExpanded = navigationToggle.ariaExpanded !== 'true'; - }); - - var isSmallViewport = window.matchMedia("(max-width: 1023px)").matches; - if (isSmallViewport) { - navigation.hidden = true; - navigationToggle.ariaExpanded = false; - document.addEventListener('click', (e) => { - if (e.target.closest('#navigation a')) { - navigation.hidden = true; - navigationToggle.ariaExpanded = false; - } - }); - } -} - -document.addEventListener('DOMContentLoaded', function() { - hookSourceViews(); - hookSearch(); - hookFocus(); - hookSidebar(); -}); diff --git a/lib/rdoc/generator/template/darkfish/js/search.js b/lib/rdoc/generator/template/darkfish/js/search.js deleted file mode 100644 index d3cded1d57..0000000000 --- a/lib/rdoc/generator/template/darkfish/js/search.js +++ /dev/null @@ -1,110 +0,0 @@ -Search = function(data, input, result) { - this.data = data; - this.input = input; - this.result = result; - - this.current = null; - this.view = this.result.parentNode; - this.searcher = new Searcher(data.index); - this.init(); -} - -Search.prototype = Object.assign({}, Navigation, new function() { - var suid = 1; - - this.init = function() { - var _this = this; - var observer = function(e) { - switch(e.key) { - case 'ArrowUp': - case 'ArrowDown': - return; - } - _this.search(_this.input.value); - }; - this.input.addEventListener('keyup', observer); - this.input.addEventListener('click', observer); // mac's clear field - - this.searcher.ready(function(results, isLast) { - _this.addResults(results, isLast); - }) - - this.initNavigation(); - this.setNavigationActive(false); - } - - this.search = function(value, selectFirstMatch) { - value = value.trim().toLowerCase(); - if (value) { - this.setNavigationActive(true); - } else { - this.setNavigationActive(false); - } - - if (value == '') { - this.lastQuery = value; - this.result.innerHTML = ''; - this.result.setAttribute('aria-expanded', 'false'); - this.setNavigationActive(false); - } else if (value != this.lastQuery) { - this.lastQuery = value; - this.result.setAttribute('aria-busy', 'true'); - this.result.setAttribute('aria-expanded', 'true'); - this.firstRun = true; - this.searcher.find(value); - } - } - - this.addResults = function(results, isLast) { - var target = this.result; - if (this.firstRun && (results.length > 0 || isLast)) { - this.current = null; - this.result.innerHTML = ''; - } - - for (var i=0, l = results.length; i < l; i++) { - var item = this.renderItem.call(this, results[i]); - item.setAttribute('id', 'search-result-' + target.childElementCount); - target.appendChild(item); - }; - - if (this.firstRun && results.length > 0) { - this.firstRun = false; - this.current = target.firstChild; - this.current.classList.add('search-selected'); - } - //TODO: ECMAScript - //if (jQuery.browser.msie) this.$element[0].className += ''; - - if (isLast) this.result.setAttribute('aria-busy', 'false'); - } - - this.move = function(isDown) { - if (!this.current) return; - var next = isDown ? this.current.nextElementSibling : this.current.previousElementSibling; - if (next) { - this.current.classList.remove('search-selected'); - next.classList.add('search-selected'); - this.input.setAttribute('aria-activedescendant', next.getAttribute('id')); - this.scrollIntoView(next, this.view); - this.current = next; - this.input.value = next.firstChild.firstChild.text; - this.input.select(); - } - return true; - } - - this.hlt = function(html) { - return this.escapeHTML(html). - replace(/\u0001/g, '<em>'). - replace(/\u0002/g, '</em>'); - } - - this.escapeHTML = function(html) { - return html.replace(/[&<>"`']/g, function(c) { - return '&#' + c.charCodeAt(0) + ';'; - }); - } - -}); - diff --git a/lib/rdoc/generator/template/darkfish/page.rhtml b/lib/rdoc/generator/template/darkfish/page.rhtml deleted file mode 100644 index fb33eba6fd..0000000000 --- a/lib/rdoc/generator/template/darkfish/page.rhtml +++ /dev/null @@ -1,18 +0,0 @@ -<body id="top" role="document" class="file"> -<%= render '_sidebar_toggle.rhtml' %> - -<nav id="navigation" role="navigation"> - <div id="project-navigation"> - <%= render '_sidebar_navigation.rhtml' %> - <%= render '_sidebar_search.rhtml' %> - </div> - - <%= render '_sidebar_table_of_contents.rhtml' %> - <%= render '_sidebar_pages.rhtml' %> - - <%= render '_footer.rhtml' %> -</nav> - -<main role="main" aria-label="Page <%=h file.full_name%>"> -<%= file.description %> -</main> diff --git a/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml b/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml deleted file mode 100644 index 098b589add..0000000000 --- a/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +++ /dev/null @@ -1,20 +0,0 @@ -<body role="document"> -<%= render '_sidebar_toggle.rhtml' %> - -<nav id="navigation" role="navigation"> - <div id="project-navigation"> - <%= render '_sidebar_navigation.rhtml' %> - <%= render '_sidebar_search.rhtml' %> - </div> - - <%= render '_sidebar_pages.rhtml' %> - <%= render '_sidebar_classes.rhtml' %> - - <%= render '_footer.rhtml' %> -</nav> - -<main role="main"> - <h1>Not Found</h1> - - <p><%= message %> -</main> diff --git a/lib/rdoc/generator/template/darkfish/servlet_root.rhtml b/lib/rdoc/generator/template/darkfish/servlet_root.rhtml deleted file mode 100644 index 373e0006d9..0000000000 --- a/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +++ /dev/null @@ -1,65 +0,0 @@ -<body role="document"> -<%= render '_sidebar_toggle.rhtml' %> - -<nav id="navigation" role="navigation"> - <div id="project-navigation"> - <div id="home-section" class="nav-section"> - <h2> - <a href="<%= rel_prefix %>/" rel="home">Home</a> - </h2> - </div> - - <%= render '_sidebar_search.rhtml' %> - </div> - - <%= render '_sidebar_installed.rhtml' %> - <%= render '_footer.rhtml' %> -</nav> - -<main role="main"> - <h1>Local RDoc Documentation</h1> - - <p>Here you can browse local documentation from the ruby standard library and - your installed gems. - -<%- extra_dirs = installed.select { |_, _, _, type,| type == :extra } -%> -<%- unless extra_dirs.empty? -%> - <h2>Extra Documentation Directories</h2> - - <p>The following additional documentation directories are available:</p> - - <ol> - <%- extra_dirs.each do |name, href, exists, _, path| -%> - <li> - <%- if exists -%> - <a href="<%= href %>"><%= h name %></a> (<%= h path %>) - <%- else -%> - <%= h name %> (<%= h path %>; <i>not available</i>) - <%- end -%> - </li> - <%- end -%> - </ol> -<%- end -%> - -<%- gems = installed.select { |_, _, _, type,| type == :gem } -%> -<%- missing = gems.reject { |_, _, exists,| exists } -%> -<%- unless missing.empty? then -%> - <h2>Missing Gem Documentation</h2> - - <p>You are missing documentation for some of your installed gems. - You can install missing documentation for gems by running - <kbd>gem rdoc --all</kbd>. After installing the missing documentation you - only need to reload this page. The newly created documentation will - automatically appear. - - <p>You can also install documentation for a specific gem by running one of - the following commands. - - <ul> - <%- names = missing.map { |name,| name.sub(/-([^-]*)$/, '') }.uniq -%> - <%- names.each do |name| -%> - <li><kbd>gem rdoc <%=h name %></kbd> - <%- end -%> - </ul> -<%- end -%> -</main> diff --git a/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml b/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml deleted file mode 100644 index 2cd2207836..0000000000 --- a/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +++ /dev/null @@ -1,70 +0,0 @@ -<body id="top" class="table-of-contents"> -<%= render '_sidebar_toggle.rhtml' %> - -<nav id="navigation" role="navigation"> - <div id="project-navigation"> - <%= render '_sidebar_navigation.rhtml' %> - - <%= render '_sidebar_search.rhtml' %> - </div> - - <%= render '_footer.rhtml' %> -</nav> -<main role="main"> -<h1 class="class"><%= h @title %></h1> - -<%- simple_files = @files.select { |f| f.text? } -%> -<%- unless simple_files.empty? then -%> -<h2 id="pages">Pages</h2> -<ul> -<%- simple_files.sort.each do |file| -%> - <li class="file"> - <a href="<%= h file.path %>"><%= h file.page_name %></a> -<% - # HACK table_of_contents should not exist on Document - table = file.parse(file.comment).table_of_contents - unless table.empty? then %> - <ul> -<%- table.each do |heading| -%> - <li><a href="<%= h file.path %>#<%= heading.aref %>"><%= heading.plain_html %></a> -<%- end -%> - </ul> -<%- end -%> - </li> - <%- end -%> -</ul> -<%- end -%> - -<h2 id="classes">Classes and Modules</h2> -<ul> -<%- @modsort.each do |klass| -%> - <li class="<%= klass.type %>"> - <a href="<%= klass.path %>"><%= klass.full_name %></a> -<%- table = [] - table.concat klass.parse(klass.comment_location).table_of_contents - table.concat klass.section_contents - - unless table.empty? then %> - <ul> -<%- table.each do |item| -%> -<%- label = item.respond_to?(:label) ? item.label(klass) : item.aref -%> - <li><a href="<%= klass.path %>#<%= label %>"><%= item.plain_html %></a> -<%- end -%> - </ul> -<%- end -%> - </li> -<%- end -%> -</ul> - -<h2 id="methods">Methods</h2> -<ul> -<%- @store.all_classes_and_modules.flat_map do |mod| - mod.method_list - end.sort.each do |method| %> - <li class="method"> - <a href="<%= method.path %>"><%= h method.pretty_name %></a> - — - <span class="container"><%= method.parent.full_name %></span> -<%- end -%> -</ul> -</main> diff --git a/lib/rdoc/generator/template/json_index/.document b/lib/rdoc/generator/template/json_index/.document deleted file mode 100644 index 1713b67654..0000000000 --- a/lib/rdoc/generator/template/json_index/.document +++ /dev/null @@ -1 +0,0 @@ -# ignore all files in this directory diff --git a/lib/rdoc/generator/template/json_index/js/navigation.js b/lib/rdoc/generator/template/json_index/js/navigation.js deleted file mode 100644 index 137e3a0038..0000000000 --- a/lib/rdoc/generator/template/json_index/js/navigation.js +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Navigation allows movement using the arrow keys through the search results. - * - * When using this library you will need to set scrollIntoView to the - * appropriate function for your layout. Use scrollInWindow if the container - * is not scrollable and scrollInElement if the container is a separate - * scrolling region. - */ -Navigation = new function() { - this.initNavigation = function() { - var _this = this; - - document.addEventListener('keydown', function(e) { - _this.onkeydown(e); - }); - - this.navigationActive = true; - } - - this.setNavigationActive = function(state) { - this.navigationActive = state; - } - - this.onkeydown = function(e) { - if (!this.navigationActive) return; - switch(e.key) { - case 'ArrowLeft': - if (this.moveLeft()) e.preventDefault(); - break; - case 'ArrowUp': - if (e.key == 'ArrowUp' || e.ctrlKey) { - if (this.moveUp()) e.preventDefault(); - } - break; - case 'ArrowRight': - if (this.moveRight()) e.preventDefault(); - break; - case 'ArrowDown': - if (e.key == 'ArrowDown' || e.ctrlKey) { - if (this.moveDown()) e.preventDefault(); - } - break; - case 'Enter': - if (this.current) e.preventDefault(); - this.select(this.current); - break; - } - if (e.ctrlKey && e.shiftKey) this.select(this.current); - } - - this.moveRight = function() { - } - - this.moveLeft = function() { - } - - this.move = function(isDown) { - } - - this.moveUp = function() { - return this.move(false); - } - - this.moveDown = function() { - return this.move(true); - } - - /* - * Scrolls to the given element in the scrollable element view. - */ - this.scrollInElement = function(element, view) { - var offset, viewHeight, viewScroll, height; - offset = element.offsetTop; - height = element.offsetHeight; - viewHeight = view.offsetHeight; - viewScroll = view.scrollTop; - - if (offset - viewScroll + height > viewHeight) { - view.scrollTop = offset - viewHeight + height; - } - if (offset < viewScroll) { - view.scrollTop = offset; - } - } - - /* - * Scrolls to the given element in the window. The second argument is - * ignored - */ - this.scrollInWindow = function(element, ignored) { - var offset, viewHeight, viewScroll, height; - offset = element.offsetTop; - height = element.offsetHeight; - viewHeight = window.innerHeight; - viewScroll = window.scrollY; - - if (offset - viewScroll + height > viewHeight) { - window.scrollTo(window.scrollX, offset - viewHeight + height); - } - if (offset < viewScroll) { - window.scrollTo(window.scrollX, offset); - } - } -} - diff --git a/lib/rdoc/generator/template/json_index/js/searcher.js b/lib/rdoc/generator/template/json_index/js/searcher.js deleted file mode 100644 index e200a168b0..0000000000 --- a/lib/rdoc/generator/template/json_index/js/searcher.js +++ /dev/null @@ -1,229 +0,0 @@ -Searcher = function(data) { - this.data = data; - this.handlers = []; -} - -Searcher.prototype = new function() { - // search is performed in chunks of 1000 for non-blocking user input - var CHUNK_SIZE = 1000; - // do not try to find more than 100 results - var MAX_RESULTS = 100; - var huid = 1; - var suid = 1; - var runs = 0; - - this.find = function(query) { - var queries = splitQuery(query); - var regexps = buildRegexps(queries); - var highlighters = buildHilighters(queries); - var state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++}; - var _this = this; - - this.currentSuid = state.n; - - if (!query) return; - - var run = function() { - // stop current search thread if new search started - if (state.n != _this.currentSuid) return; - - var results = - performSearch(_this.data, regexps, queries, highlighters, state); - var hasMore = (state.limit > 0 && state.pass < 4); - - triggerResults.call(_this, results, !hasMore); - if (hasMore) { - setTimeout(run, 2); - } - runs++; - }; - runs = 0; - - // start search thread - run(); - } - - /* ----- Events ------ */ - this.ready = function(fn) { - fn.huid = huid; - this.handlers.push(fn); - } - - /* ----- Utilities ------ */ - function splitQuery(query) { - return query.split(/(\s+|::?|\(\)?)/).filter(function(string) { - return string.match(/\S/); - }); - } - - function buildRegexps(queries) { - return queries.map(function(query) { - return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i'); - }); - } - - function buildHilighters(queries) { - return queries.map(function(query) { - return query.split('').map(function(l, i) { - return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2); - }).join(''); - }); - } - - // function longMatchRegexp(index, longIndex, regexps) { - // for (var i = regexps.length - 1; i >= 0; i--){ - // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; - // }; - // return true; - // } - - - /* ----- Mathchers ------ */ - - /* - * This record matches if the index starts with queries[0] and the record - * matches all of the regexps - */ - function matchPassBeginning(index, longIndex, queries, regexps) { - if (index.indexOf(queries[0]) != 0) return false; - for (var i=1, l = regexps.length; i < l; i++) { - if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) - return false; - }; - return true; - } - - /* - * This record matches if the longIndex starts with queries[0] and the - * longIndex matches all of the regexps - */ - function matchPassLongIndex(index, longIndex, queries, regexps) { - if (longIndex.indexOf(queries[0]) != 0) return false; - for (var i=1, l = regexps.length; i < l; i++) { - if (!longIndex.match(regexps[i])) - return false; - }; - return true; - } - - /* - * This record matches if the index contains queries[0] and the record - * matches all of the regexps - */ - function matchPassContains(index, longIndex, queries, regexps) { - if (index.indexOf(queries[0]) == -1) return false; - for (var i=1, l = regexps.length; i < l; i++) { - if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) - return false; - }; - return true; - } - - /* - * This record matches if regexps[0] matches the index and the record - * matches all of the regexps - */ - function matchPassRegexp(index, longIndex, queries, regexps) { - if (!index.match(regexps[0])) return false; - for (var i=1, l = regexps.length; i < l; i++) { - if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) - return false; - }; - return true; - } - - - /* ----- Highlighters ------ */ - function highlightRegexp(info, queries, regexps, highlighters) { - var result = createResult(info); - for (var i=0, l = regexps.length; i < l; i++) { - result.title = result.title.replace(regexps[i], highlighters[i]); - result.namespace = result.namespace.replace(regexps[i], highlighters[i]); - }; - return result; - } - - function hltSubstring(string, pos, length) { - return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length); - } - - function highlightQuery(info, queries, regexps, highlighters) { - var result = createResult(info); - var pos = 0; - var lcTitle = result.title.toLowerCase(); - - pos = lcTitle.indexOf(queries[0]); - if (pos != -1) { - result.title = hltSubstring(result.title, pos, queries[0].length); - } - - result.namespace = result.namespace.replace(regexps[0], highlighters[0]); - for (var i=1, l = regexps.length; i < l; i++) { - result.title = result.title.replace(regexps[i], highlighters[i]); - result.namespace = result.namespace.replace(regexps[i], highlighters[i]); - }; - return result; - } - - function createResult(info) { - var result = {}; - result.title = info[0]; - result.namespace = info[1]; - result.path = info[2]; - result.params = info[3]; - result.snippet = info[4]; - result.badge = info[6]; - return result; - } - - /* ----- Searching ------ */ - function performSearch(data, regexps, queries, highlighters, state) { - var searchIndex = data.searchIndex; - var longSearchIndex = data.longSearchIndex; - var info = data.info; - var result = []; - var i = state.from; - var l = searchIndex.length; - var togo = CHUNK_SIZE; - var matchFunc, hltFunc; - - while (state.pass < 4 && state.limit > 0 && togo > 0) { - if (state.pass == 0) { - matchFunc = matchPassBeginning; - hltFunc = highlightQuery; - } else if (state.pass == 1) { - matchFunc = matchPassLongIndex; - hltFunc = highlightQuery; - } else if (state.pass == 2) { - matchFunc = matchPassContains; - hltFunc = highlightQuery; - } else if (state.pass == 3) { - matchFunc = matchPassRegexp; - hltFunc = highlightRegexp; - } - - for (; togo > 0 && i < l && state.limit > 0; i++, togo--) { - if (info[i].n == state.n) continue; - if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) { - info[i].n = state.n; - result.push(hltFunc(info[i], queries, regexps, highlighters)); - state.limit--; - } - }; - if (searchIndex.length <= i) { - state.pass++; - i = state.from = 0; - } else { - state.from = i; - } - } - return result; - } - - function triggerResults(results, isLast) { - this.handlers.forEach(function(fn) { - fn.call(this, results, isLast) - }); - } -} - |