OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
ruby
/
2.5.0
/
rdoc
/
markup
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
attr_changer.rb
424 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
attr_span.rb
500 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
attribute_manager.rb
7.95 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
attributes.rb
1.19 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
blank_line.rb
391 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
block_quote.rb
252 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
document.rb
3.15 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
formatter.rb
5.31 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
formatter_test_case.rb
16.76 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
hard_break.rb
446 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
heading.rb
1.48 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
include.rb
829 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
indented_paragraph.rb
906 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
inline.rb
118 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
list.rb
1.82 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
list_item.rb
1.71 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
paragraph.rb
493 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
parser.rb
13.72 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
pre_process.rb
8.26 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
raw.rb
1000 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
rule.rb
315 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
special.rb
657 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
text_formatter_test_case.rb
2.51 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_ansi.rb
2.05 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_bs.rb
1.63 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_html.rb
8.62 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_html_crossref.rb
4.33 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_html_snippet.rb
5.45 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_joined_paragraph.rb
1.1 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_label.rb
1.83 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_markdown.rb
3.62 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_rdoc.rb
6.15 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_table_of_contents.rb
1.68 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_test.rb
1.14 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
to_tt_only.rb
2.26 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
verbatim.rb
1.28 KB
11/27/2017 10:45:24 AM
rw-r--r--
Editing: to_html_crossref.rb
Close
# frozen_string_literal: true ## # Subclass of the RDoc::Markup::ToHtml class that supports looking up method # names, classes, etc to create links. RDoc::CrossReference is used to # generate those links based on the current context. class RDoc::Markup::ToHtmlCrossref < RDoc::Markup::ToHtml # :stopdoc: ALL_CROSSREF_REGEXP = RDoc::CrossReference::ALL_CROSSREF_REGEXP CLASS_REGEXP_STR = RDoc::CrossReference::CLASS_REGEXP_STR CROSSREF_REGEXP = RDoc::CrossReference::CROSSREF_REGEXP METHOD_REGEXP_STR = RDoc::CrossReference::METHOD_REGEXP_STR # :startdoc: ## # RDoc::CodeObject for generating references attr_accessor :context ## # Should we show '#' characters on method references? attr_accessor :show_hash ## # Creates a new crossref resolver that generates links relative to +context+ # which lives at +from_path+ in the generated files. '#' characters on # references are removed unless +show_hash+ is true. Only method names # preceded by '#' or '::' are linked, unless +hyperlink_all+ is true. def initialize(options, from_path, context, markup = nil) raise ArgumentError, 'from_path cannot be nil' if from_path.nil? super options, markup @context = context @from_path = from_path @hyperlink_all = @options.hyperlink_all @show_hash = @options.show_hash crossref_re = @hyperlink_all ? ALL_CROSSREF_REGEXP : CROSSREF_REGEXP @markup.add_special crossref_re, :CROSSREF @cross_reference = RDoc::CrossReference.new @context end ## # Creates a link to the reference +name+ if the name exists. If +text+ is # given it is used as the link text, otherwise +name+ is used. def cross_reference name, text = nil lookup = name name = name[1..-1] unless @show_hash if name[0, 1] == '#' name = "#{CGI.unescape $'} at #{$1}" if name =~ /(.*[^#:])@/ text = name unless text link lookup, text end ## # We're invoked when any text matches the CROSSREF pattern. If we find the # corresponding reference, generate a link. If the name we're looking for # contains no punctuation, we look for it up the module/class chain. For # example, ToHtml is found, even without the <tt>RDoc::Markup::</tt> prefix, # because we look for it in module Markup first. def handle_special_CROSSREF(special) name = special.text return name if name =~ /@[\w-]+\.[\w-]/ # labels that look like emails unless @hyperlink_all then # This ensures that words entirely consisting of lowercase letters will # not have cross-references generated (to suppress lots of erroneous # cross-references to "new" in text, for instance) return name if name =~ /\A[a-z]*\z/ end cross_reference name end ## # Handles <tt>rdoc-ref:</tt> scheme links and allows RDoc::Markup::ToHtml to # handle other schemes. def handle_special_HYPERLINK special return cross_reference $' if special.text =~ /\Ardoc-ref:/ super end ## # +special+ is an rdoc-schemed link that will be converted into a hyperlink. # For the rdoc-ref scheme the cross-reference will be looked up and the # given name will be used. # # All other contents are handled by # {the superclass}[rdoc-ref:RDoc::Markup::ToHtml#handle_special_RDOCLINK] def handle_special_RDOCLINK special url = special.text case url when /\Ardoc-ref:/ then cross_reference $' else super end end ## # Generates links for <tt>rdoc-ref:</tt> scheme URLs and allows # RDoc::Markup::ToHtml to handle other schemes. def gen_url url, text return super unless url =~ /\Ardoc-ref:/ cross_reference $', text end ## # Creates an HTML link to +name+ with the given +text+. def link name, text original_name = name if name =~ /(.*[^#:])@/ then name = $1 label = $' end ref = @cross_reference.resolve name, text text = ref.output_name @context if RDoc::MethodAttr === ref and text == original_name case ref when String then ref else path = ref.as_href @from_path if path =~ /#/ then path << "-label-#{label}" elsif ref.sections and ref.sections.any? { |section| label == section.title } then path << "##{label}" else path << "#label-#{label}" end if label "<a href=\"#{path}\">#{text}</a>" end end end