rdoc 3.1 → 6.3.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rdoc might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/CONTRIBUTING.rdoc +220 -0
- data/CVE-2013-0256.rdoc +49 -0
- data/ExampleMarkdown.md +37 -0
- data/ExampleRDoc.rdoc +208 -0
- data/Gemfile +12 -0
- data/History.rdoc +1666 -0
- data/LEGAL.rdoc +50 -0
- data/LICENSE.rdoc +57 -0
- data/README.rdoc +129 -0
- data/RI.rdoc +57 -0
- data/Rakefile +84 -81
- data/TODO.rdoc +59 -0
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/{bin → exe}/rdoc +11 -2
- data/exe/ri +12 -0
- data/lib/rdoc/alias.rb +1 -2
- data/lib/rdoc/anon_class.rb +3 -2
- data/lib/rdoc/any_method.rb +234 -40
- data/lib/rdoc/attr.rb +79 -11
- data/lib/rdoc/class_module.rb +443 -71
- data/lib/rdoc/code_object.rb +216 -20
- data/lib/rdoc/code_objects.rb +4 -21
- data/lib/rdoc/comment.rb +250 -0
- data/lib/rdoc/constant.rb +110 -9
- data/lib/rdoc/context/section.rb +232 -0
- data/lib/rdoc/context.rb +392 -172
- data/lib/rdoc/cross_reference.rb +202 -0
- data/lib/rdoc/encoding.rb +83 -28
- data/lib/rdoc/erb_partial.rb +19 -0
- data/lib/rdoc/erbio.rb +8 -3
- data/lib/rdoc/extend.rb +10 -0
- data/lib/rdoc/generator/darkfish.rb +507 -84
- data/lib/rdoc/generator/json_index.rb +300 -0
- data/lib/rdoc/generator/markup.rb +27 -74
- data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
- data/lib/rdoc/generator/pot/po.rb +84 -0
- data/lib/rdoc/generator/pot/po_entry.rb +141 -0
- data/lib/rdoc/generator/pot.rb +98 -0
- data/lib/rdoc/generator/ri.rb +8 -62
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +22 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +19 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +9 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +9 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +12 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +12 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +11 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +18 -0
- data/lib/rdoc/generator/template/darkfish/class.rhtml +172 -0
- data/lib/rdoc/generator/template/darkfish/css/fonts.css +167 -0
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +639 -0
- data/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/images/add.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
- data/lib/rdoc/generator/template/darkfish/index.rhtml +18 -60
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +51 -83
- data/lib/rdoc/generator/template/darkfish/js/search.js +110 -0
- data/lib/rdoc/generator/template/darkfish/page.rhtml +18 -0
- data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +18 -0
- data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +62 -0
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +58 -0
- data/lib/rdoc/generator/template/json_index/.document +1 -0
- data/lib/rdoc/generator/template/json_index/js/navigation.js +105 -0
- data/lib/rdoc/generator/template/json_index/js/searcher.js +229 -0
- data/lib/rdoc/generator.rb +24 -13
- data/lib/rdoc/ghost_method.rb +1 -2
- data/lib/rdoc/i18n/locale.rb +102 -0
- data/lib/rdoc/i18n/text.rb +126 -0
- data/lib/rdoc/i18n.rb +10 -0
- data/lib/rdoc/include.rb +5 -95
- data/lib/rdoc/known_classes.rb +5 -2
- data/lib/rdoc/markdown/entities.rb +2132 -0
- data/lib/rdoc/markdown/literals.kpeg +23 -0
- data/lib/rdoc/markdown/literals.rb +416 -0
- data/lib/rdoc/markdown.kpeg +1237 -0
- data/lib/rdoc/markdown.rb +16684 -0
- data/lib/rdoc/markup/attr_changer.rb +23 -0
- data/lib/rdoc/markup/attr_span.rb +36 -0
- data/lib/rdoc/markup/attribute_manager.rb +135 -62
- data/lib/rdoc/markup/attributes.rb +71 -0
- data/lib/rdoc/markup/blank_line.rb +1 -0
- data/lib/rdoc/markup/block_quote.rb +15 -0
- data/lib/rdoc/markup/document.rb +96 -9
- data/lib/rdoc/markup/formatter.rb +138 -25
- data/lib/rdoc/markup/hard_break.rb +32 -0
- data/lib/rdoc/markup/heading.rb +61 -2
- data/lib/rdoc/markup/include.rb +43 -0
- data/lib/rdoc/markup/indented_paragraph.rb +48 -0
- data/lib/rdoc/markup/list.rb +25 -4
- data/lib/rdoc/markup/list_item.rb +18 -4
- data/lib/rdoc/markup/paragraph.rb +15 -0
- data/lib/rdoc/markup/parser.rb +180 -88
- data/lib/rdoc/markup/pre_process.rb +183 -38
- data/lib/rdoc/markup/raw.rb +6 -5
- data/lib/rdoc/markup/regexp_handling.rb +41 -0
- data/lib/rdoc/markup/rule.rb +1 -0
- data/lib/rdoc/markup/table.rb +47 -0
- data/lib/rdoc/markup/to_ansi.rb +17 -7
- data/lib/rdoc/markup/to_bs.rb +5 -8
- data/lib/rdoc/markup/to_html.rb +238 -137
- data/lib/rdoc/markup/to_html_crossref.rb +125 -152
- data/lib/rdoc/markup/to_html_snippet.rb +285 -0
- data/lib/rdoc/markup/to_joined_paragraph.rb +47 -0
- data/lib/rdoc/markup/to_label.rb +75 -0
- data/lib/rdoc/markup/to_markdown.rb +192 -0
- data/lib/rdoc/markup/to_rdoc.rb +85 -15
- data/lib/rdoc/markup/to_table_of_contents.rb +89 -0
- data/lib/rdoc/markup/to_test.rb +2 -4
- data/lib/rdoc/markup/to_tt_only.rb +121 -0
- data/lib/rdoc/markup/verbatim.rb +39 -0
- data/lib/rdoc/markup.rb +388 -110
- data/lib/rdoc/meta_method.rb +1 -2
- data/lib/rdoc/method_attr.rb +87 -21
- data/lib/rdoc/mixin.rb +121 -0
- data/lib/rdoc/normal_class.rb +39 -10
- data/lib/rdoc/normal_module.rb +22 -7
- data/lib/rdoc/options.rb +613 -73
- data/lib/rdoc/parser/c.rb +621 -287
- data/lib/rdoc/parser/changelog.rb +335 -0
- data/lib/rdoc/parser/markdown.rb +24 -0
- data/lib/rdoc/parser/rd.rb +23 -0
- data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
- data/lib/rdoc/parser/ruby.rb +1368 -762
- data/lib/rdoc/parser/ruby_tools.rb +42 -35
- data/lib/rdoc/parser/simple.rb +23 -11
- data/lib/rdoc/parser/text.rb +12 -0
- data/lib/rdoc/parser.rb +162 -89
- data/lib/rdoc/rd/block_parser.rb +1056 -0
- data/lib/rdoc/rd/block_parser.ry +639 -0
- data/lib/rdoc/rd/inline.rb +72 -0
- data/lib/rdoc/rd/inline_parser.rb +1208 -0
- data/lib/rdoc/rd/inline_parser.ry +593 -0
- data/lib/rdoc/rd.rb +100 -0
- data/lib/rdoc/rdoc.rb +208 -115
- data/lib/rdoc/require.rb +1 -2
- data/lib/rdoc/ri/driver.rb +734 -239
- data/lib/rdoc/ri/formatter.rb +1 -0
- data/lib/rdoc/ri/paths.rb +91 -48
- data/lib/rdoc/ri/store.rb +3 -261
- data/lib/rdoc/ri/task.rb +71 -0
- data/lib/rdoc/ri.rb +5 -2
- data/lib/rdoc/rubygems_hook.rb +246 -0
- data/lib/rdoc/servlet.rb +451 -0
- data/lib/rdoc/single_class.rb +14 -2
- data/lib/rdoc/stats/normal.rb +19 -12
- data/lib/rdoc/stats/quiet.rb +1 -0
- data/lib/rdoc/stats/verbose.rb +1 -0
- data/lib/rdoc/stats.rb +262 -104
- data/lib/rdoc/store.rb +979 -0
- data/lib/rdoc/task.rb +84 -44
- data/lib/rdoc/text.rb +117 -72
- data/lib/rdoc/token_stream.rb +73 -4
- data/lib/rdoc/tom_doc.rb +263 -0
- data/lib/rdoc/top_level.rb +111 -261
- data/lib/rdoc/version.rb +8 -0
- data/lib/rdoc.rb +127 -64
- data/man/ri.1 +247 -0
- data/rdoc.gemspec +249 -0
- metadata +171 -291
- data/.autotest +0 -16
- data/.document +0 -5
- data/History.txt +0 -594
- data/LICENSE.txt +0 -57
- data/Manifest.txt +0 -158
- data/README.txt +0 -45
- data/RI.txt +0 -58
- data/bin/ri +0 -5
- data/lib/rdoc/gauntlet.rb +0 -52
- data/lib/rdoc/generator/template/darkfish/classpage.rhtml +0 -296
- data/lib/rdoc/generator/template/darkfish/filepage.rhtml +0 -124
- data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -32
- data/lib/rdoc/generator/template/darkfish/js/quicksearch.js +0 -114
- data/lib/rdoc/generator/template/darkfish/js/thickbox-compressed.js +0 -10
- data/lib/rdoc/generator/template/darkfish/rdoc.css +0 -706
- data/lib/rdoc/markup/formatter_test_case.rb +0 -689
- data/lib/rdoc/markup/inline.rb +0 -137
- data/lib/rdoc/markup/text_formatter_test_case.rb +0 -116
- data/lib/rdoc/ruby_lex.rb +0 -1291
- data/lib/rdoc/ruby_token.rb +0 -416
- data/test/README +0 -1
- data/test/binary.dat +0 -0
- data/test/hidden.zip.txt +0 -1
- data/test/test.ja.rdoc +0 -10
- data/test/test.ja.txt +0 -8
- data/test/test.txt +0 -1
- data/test/test_attribute_manager.rb +0 -120
- data/test/test_rdoc_alias.rb +0 -13
- data/test/test_rdoc_any_method.rb +0 -126
- data/test/test_rdoc_attr.rb +0 -61
- data/test/test_rdoc_class_module.rb +0 -233
- data/test/test_rdoc_code_object.rb +0 -165
- data/test/test_rdoc_constant.rb +0 -15
- data/test/test_rdoc_context.rb +0 -370
- data/test/test_rdoc_encoding.rb +0 -166
- data/test/test_rdoc_generator_darkfish.rb +0 -119
- data/test/test_rdoc_generator_ri.rb +0 -76
- data/test/test_rdoc_include.rb +0 -96
- data/test/test_rdoc_markup.rb +0 -37
- data/test/test_rdoc_markup_attribute_manager.rb +0 -240
- data/test/test_rdoc_markup_document.rb +0 -51
- data/test/test_rdoc_markup_paragraph.rb +0 -9
- data/test/test_rdoc_markup_parser.rb +0 -1395
- data/test/test_rdoc_markup_pre_process.rb +0 -185
- data/test/test_rdoc_markup_raw.rb +0 -27
- data/test/test_rdoc_markup_to_ansi.rb +0 -328
- data/test/test_rdoc_markup_to_bs.rb +0 -341
- data/test/test_rdoc_markup_to_html.rb +0 -335
- data/test/test_rdoc_markup_to_html_crossref.rb +0 -169
- data/test/test_rdoc_markup_to_rdoc.rb +0 -327
- data/test/test_rdoc_method_attr.rb +0 -122
- data/test/test_rdoc_normal_class.rb +0 -17
- data/test/test_rdoc_normal_module.rb +0 -31
- data/test/test_rdoc_options.rb +0 -342
- data/test/test_rdoc_parser.rb +0 -83
- data/test/test_rdoc_parser_c.rb +0 -912
- data/test/test_rdoc_parser_ruby.rb +0 -1754
- data/test/test_rdoc_parser_simple.rb +0 -99
- data/test/test_rdoc_rdoc.rb +0 -164
- data/test/test_rdoc_require.rb +0 -25
- data/test/test_rdoc_ri_driver.rb +0 -846
- data/test/test_rdoc_ri_paths.rb +0 -43
- data/test/test_rdoc_ri_store.rb +0 -352
- data/test/test_rdoc_ruby_lex.rb +0 -23
- data/test/test_rdoc_stats.rb +0 -38
- data/test/test_rdoc_task.rb +0 -92
- data/test/test_rdoc_text.rb +0 -251
- data/test/test_rdoc_top_level.rb +0 -120
- data/test/xref_data.rb +0 -62
- data/test/xref_test_case.rb +0 -61
- data.tar.gz.sig +0 -3
- metadata.gz.sig +0 -0
@@ -0,0 +1,141 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
##
|
3
|
+
# A PO entry in PO
|
4
|
+
|
5
|
+
class RDoc::Generator::POT::POEntry
|
6
|
+
|
7
|
+
# The msgid content
|
8
|
+
attr_reader :msgid
|
9
|
+
|
10
|
+
# The msgstr content
|
11
|
+
attr_reader :msgstr
|
12
|
+
|
13
|
+
# The comment content created by translator (PO editor)
|
14
|
+
attr_reader :translator_comment
|
15
|
+
|
16
|
+
# The comment content extracted from source file
|
17
|
+
attr_reader :extracted_comment
|
18
|
+
|
19
|
+
# The locations where the PO entry is extracted
|
20
|
+
attr_reader :references
|
21
|
+
|
22
|
+
# The flags of the PO entry
|
23
|
+
attr_reader :flags
|
24
|
+
|
25
|
+
##
|
26
|
+
# Creates a PO entry for +msgid+. Other valus can be specified by
|
27
|
+
# +options+.
|
28
|
+
|
29
|
+
def initialize msgid, options = {}
|
30
|
+
@msgid = msgid
|
31
|
+
@msgstr = options[:msgstr] || ""
|
32
|
+
@translator_comment = options[:translator_comment]
|
33
|
+
@extracted_comment = options[:extracted_comment]
|
34
|
+
@references = options[:references] || []
|
35
|
+
@flags = options[:flags] || []
|
36
|
+
end
|
37
|
+
|
38
|
+
##
|
39
|
+
# Returns the PO entry in PO format.
|
40
|
+
|
41
|
+
def to_s
|
42
|
+
entry = ''
|
43
|
+
entry += format_translator_comment
|
44
|
+
entry += format_extracted_comment
|
45
|
+
entry += format_references
|
46
|
+
entry += format_flags
|
47
|
+
entry += <<-ENTRY
|
48
|
+
msgid #{format_message(@msgid)}
|
49
|
+
msgstr #{format_message(@msgstr)}
|
50
|
+
ENTRY
|
51
|
+
end
|
52
|
+
|
53
|
+
##
|
54
|
+
# Merges the PO entry with +other_entry+.
|
55
|
+
|
56
|
+
def merge other_entry
|
57
|
+
options = {
|
58
|
+
:extracted_comment => merge_string(@extracted_comment,
|
59
|
+
other_entry.extracted_comment),
|
60
|
+
:translator_comment => merge_string(@translator_comment,
|
61
|
+
other_entry.translator_comment),
|
62
|
+
:references => merge_array(@references,
|
63
|
+
other_entry.references),
|
64
|
+
:flags => merge_array(@flags,
|
65
|
+
other_entry.flags),
|
66
|
+
}
|
67
|
+
self.class.new(@msgid, options)
|
68
|
+
end
|
69
|
+
|
70
|
+
private
|
71
|
+
|
72
|
+
def format_comment mark, comment
|
73
|
+
return '' unless comment
|
74
|
+
return '' if comment.empty?
|
75
|
+
|
76
|
+
formatted_comment = ''
|
77
|
+
comment.each_line do |line|
|
78
|
+
formatted_comment += "#{mark} #{line}"
|
79
|
+
end
|
80
|
+
formatted_comment += "\n" unless formatted_comment.end_with?("\n")
|
81
|
+
formatted_comment
|
82
|
+
end
|
83
|
+
|
84
|
+
def format_translator_comment
|
85
|
+
format_comment('#', @translator_comment)
|
86
|
+
end
|
87
|
+
|
88
|
+
def format_extracted_comment
|
89
|
+
format_comment('#.', @extracted_comment)
|
90
|
+
end
|
91
|
+
|
92
|
+
def format_references
|
93
|
+
return '' if @references.empty?
|
94
|
+
|
95
|
+
formatted_references = ''
|
96
|
+
@references.sort.each do |file, line|
|
97
|
+
formatted_references += "\#: #{file}:#{line}\n"
|
98
|
+
end
|
99
|
+
formatted_references
|
100
|
+
end
|
101
|
+
|
102
|
+
def format_flags
|
103
|
+
return '' if @flags.empty?
|
104
|
+
|
105
|
+
formatted_flags = flags.join(",")
|
106
|
+
"\#, #{formatted_flags}\n"
|
107
|
+
end
|
108
|
+
|
109
|
+
def format_message message
|
110
|
+
return "\"#{escape(message)}\"" unless message.include?("\n")
|
111
|
+
|
112
|
+
formatted_message = '""'
|
113
|
+
message.each_line do |line|
|
114
|
+
formatted_message += "\n"
|
115
|
+
formatted_message += "\"#{escape(line)}\""
|
116
|
+
end
|
117
|
+
formatted_message
|
118
|
+
end
|
119
|
+
|
120
|
+
def escape string
|
121
|
+
string.gsub(/["\\\t\n]/) do |special_character|
|
122
|
+
case special_character
|
123
|
+
when "\t"
|
124
|
+
"\\t"
|
125
|
+
when "\n"
|
126
|
+
"\\n"
|
127
|
+
else
|
128
|
+
"\\#{special_character}"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
def merge_string string1, string2
|
134
|
+
[string1, string2].compact.join("\n")
|
135
|
+
end
|
136
|
+
|
137
|
+
def merge_array array1, array2
|
138
|
+
(array1 + array2).uniq
|
139
|
+
end
|
140
|
+
|
141
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
##
|
3
|
+
# Generates a POT file.
|
4
|
+
#
|
5
|
+
# Here is a translator work flow with the generator.
|
6
|
+
#
|
7
|
+
# == Create .pot
|
8
|
+
#
|
9
|
+
# You create .pot file by pot formatter:
|
10
|
+
#
|
11
|
+
# % rdoc --format pot
|
12
|
+
#
|
13
|
+
# It generates doc/rdoc.pot.
|
14
|
+
#
|
15
|
+
# == Create .po
|
16
|
+
#
|
17
|
+
# You create .po file from doc/rdoc.pot. This operation is needed only
|
18
|
+
# the first time. This work flow assumes that you are a translator
|
19
|
+
# for Japanese.
|
20
|
+
#
|
21
|
+
# You create locale/ja/rdoc.po from doc/rdoc.pot. You can use msginit
|
22
|
+
# provided by GNU gettext or rmsginit provided by gettext gem. This
|
23
|
+
# work flow uses gettext gem because it is more portable than GNU
|
24
|
+
# gettext for Rubyists. Gettext gem is implemented by pure Ruby.
|
25
|
+
#
|
26
|
+
# % gem install gettext
|
27
|
+
# % mkdir -p locale/ja
|
28
|
+
# % rmsginit --input doc/rdoc.pot --output locale/ja/rdoc.po --locale ja
|
29
|
+
#
|
30
|
+
# Translate messages in .po
|
31
|
+
#
|
32
|
+
# You translate messages in .po by a PO file editor. po-mode.el exists
|
33
|
+
# for Emacs users. There are some GUI tools such as GTranslator.
|
34
|
+
# There are some Web services such as POEditor and Tansifex. You can
|
35
|
+
# edit by your favorite text editor because .po is a text file.
|
36
|
+
# Generate localized documentation
|
37
|
+
#
|
38
|
+
# You can generate localized documentation with locale/ja/rdoc.po:
|
39
|
+
#
|
40
|
+
# % rdoc --locale ja
|
41
|
+
#
|
42
|
+
# You can find documentation in Japanese in doc/. Yay!
|
43
|
+
#
|
44
|
+
# == Update translation
|
45
|
+
#
|
46
|
+
# You need to update translation when your application is added or
|
47
|
+
# modified messages.
|
48
|
+
#
|
49
|
+
# You can update .po by the following command lines:
|
50
|
+
#
|
51
|
+
# % rdoc --format pot
|
52
|
+
# % rmsgmerge --update locale/ja/rdoc.po doc/rdoc.pot
|
53
|
+
#
|
54
|
+
# You edit locale/ja/rdoc.po to translate new messages.
|
55
|
+
|
56
|
+
class RDoc::Generator::POT
|
57
|
+
|
58
|
+
RDoc::RDoc.add_generator self
|
59
|
+
|
60
|
+
##
|
61
|
+
# Description of this generator
|
62
|
+
|
63
|
+
DESCRIPTION = 'creates .pot file'
|
64
|
+
|
65
|
+
##
|
66
|
+
# Set up a new .pot generator
|
67
|
+
|
68
|
+
def initialize store, options #:not-new:
|
69
|
+
@options = options
|
70
|
+
@store = store
|
71
|
+
end
|
72
|
+
|
73
|
+
##
|
74
|
+
# Writes .pot to disk.
|
75
|
+
|
76
|
+
def generate
|
77
|
+
po = extract_messages
|
78
|
+
pot_path = 'rdoc.pot'
|
79
|
+
File.open(pot_path, "w") do |pot|
|
80
|
+
pot.print(po.to_s)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def class_dir
|
85
|
+
nil
|
86
|
+
end
|
87
|
+
|
88
|
+
private
|
89
|
+
def extract_messages
|
90
|
+
extractor = MessageExtractor.new(@store)
|
91
|
+
extractor.extract
|
92
|
+
end
|
93
|
+
|
94
|
+
require_relative 'pot/message_extractor'
|
95
|
+
require_relative 'pot/po'
|
96
|
+
require_relative 'pot/po_entry'
|
97
|
+
|
98
|
+
end
|
data/lib/rdoc/generator/ri.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
require 'rdoc/ri'
|
3
|
-
|
1
|
+
# frozen_string_literal: true
|
4
2
|
##
|
5
3
|
# Generates ri data files
|
6
4
|
|
@@ -16,69 +14,17 @@ class RDoc::Generator::RI
|
|
16
14
|
##
|
17
15
|
# Set up a new ri generator
|
18
16
|
|
19
|
-
def initialize options #:not-new:
|
20
|
-
@options
|
21
|
-
@store
|
22
|
-
@
|
23
|
-
@current = nil
|
24
|
-
|
25
|
-
@store.dry_run = @options.dry_run
|
26
|
-
end
|
27
|
-
|
28
|
-
##
|
29
|
-
# Build the initial indices and output objects based on an array of TopLevel
|
30
|
-
# objects containing the extracted information.
|
31
|
-
|
32
|
-
def generate top_levels
|
33
|
-
install_siginfo_handler
|
34
|
-
|
35
|
-
@store.load_cache
|
36
|
-
|
37
|
-
RDoc::TopLevel.all_classes_and_modules.each do |klass|
|
38
|
-
@current = "#{klass.class}: #{klass.full_name}"
|
39
|
-
|
40
|
-
@store.save_class klass
|
41
|
-
|
42
|
-
klass.each_method do |method|
|
43
|
-
@current = "#{method.class}: #{method.full_name}"
|
44
|
-
@store.save_method klass, method
|
45
|
-
end
|
46
|
-
|
47
|
-
klass.each_attribute do |attribute|
|
48
|
-
@store.save_method klass, attribute
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
@current = 'saving cache'
|
53
|
-
|
54
|
-
@store.save_cache
|
55
|
-
|
56
|
-
ensure
|
57
|
-
@current = nil
|
58
|
-
|
59
|
-
remove_siginfo_handler
|
17
|
+
def initialize store, options #:not-new:
|
18
|
+
@options = options
|
19
|
+
@store = store
|
20
|
+
@store.path = '.'
|
60
21
|
end
|
61
22
|
|
62
23
|
##
|
63
|
-
#
|
64
|
-
|
65
|
-
def install_siginfo_handler
|
66
|
-
return unless Signal.list.key? 'INFO'
|
67
|
-
|
68
|
-
@old_siginfo = trap 'INFO' do
|
69
|
-
puts @current if @current
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
##
|
74
|
-
# Removes a siginfo handler and replaces the previous
|
75
|
-
|
76
|
-
def remove_siginfo_handler
|
77
|
-
return unless Signal.list.key? 'INFO'
|
78
|
-
|
79
|
-
handler = @old_siginfo || 'DEFAULT'
|
24
|
+
# Writes the parsed data store to disk for use by ri.
|
80
25
|
|
81
|
-
|
26
|
+
def generate
|
27
|
+
@store.save
|
82
28
|
end
|
83
29
|
|
84
30
|
end
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<footer id="validator-badges" role="contentinfo">
|
2
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
3
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> <%= RDoc::VERSION %>.
|
4
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
5
|
+
</footer>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<meta charset="<%= @options.charset %>">
|
2
|
+
|
3
|
+
<title><%= h @title %></title>
|
4
|
+
|
5
|
+
<script type="text/javascript">
|
6
|
+
var rdoc_rel_prefix = "<%= asset_rel_prefix %>/";
|
7
|
+
var index_rel_prefix = "<%= rel_prefix %>/";
|
8
|
+
</script>
|
9
|
+
|
10
|
+
<script src="<%= asset_rel_prefix %>/js/navigation.js" defer></script>
|
11
|
+
<script src="<%= asset_rel_prefix %>/js/search.js" defer></script>
|
12
|
+
<script src="<%= asset_rel_prefix %>/js/search_index.js" defer></script>
|
13
|
+
<script src="<%= asset_rel_prefix %>/js/searcher.js" defer></script>
|
14
|
+
<script src="<%= asset_rel_prefix %>/js/darkfish.js" defer></script>
|
15
|
+
|
16
|
+
<link href="<%= asset_rel_prefix %>/css/fonts.css" rel="stylesheet">
|
17
|
+
<link href="<%= asset_rel_prefix %>/css/rdoc.css" rel="stylesheet">
|
18
|
+
<%- if @options.template_stylesheets.flatten.any? then -%>
|
19
|
+
<%- @options.template_stylesheets.flatten.each do |stylesheet| -%>
|
20
|
+
<link href="<%= asset_rel_prefix %>/<%= File.basename stylesheet %>" rel="stylesheet">
|
21
|
+
<%- end -%>
|
22
|
+
<%- end -%>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%- if !svninfo.empty? then %>
|
2
|
+
<div id="file-svninfo-section" class="nav-section">
|
3
|
+
<h3>VCS Info</h3>
|
4
|
+
|
5
|
+
<div class="section-body">
|
6
|
+
<dl class="svninfo">
|
7
|
+
<dt>Rev
|
8
|
+
<dd><%= svninfo[:rev] %>
|
9
|
+
|
10
|
+
<dt>Last Checked In
|
11
|
+
<dd><%= svninfo[:commitdate].strftime('%Y-%m-%d %H:%M:%S') %>
|
12
|
+
(<%= svninfo[:commitdelta] %> ago)
|
13
|
+
|
14
|
+
<dt>Checked in by
|
15
|
+
<dd><%= svninfo[:committer] %>
|
16
|
+
</dl>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
<%- end -%>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<div id="classindex-section" class="nav-section">
|
2
|
+
<h3>Class and Module Index</h3>
|
3
|
+
|
4
|
+
<ul class="link-list">
|
5
|
+
<%- @modsort.each do |index_klass| -%>
|
6
|
+
<li><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.full_name %></a>
|
7
|
+
<%- end -%>
|
8
|
+
</ul>
|
9
|
+
</div>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%- unless klass.extends.empty? then %>
|
2
|
+
<div id="extends-section" class="nav-section">
|
3
|
+
<h3>Extended With Modules</h3>
|
4
|
+
|
5
|
+
<ul class="link-list">
|
6
|
+
<%- klass.each_extend do |ext| -%>
|
7
|
+
<%- unless String === ext.module then -%>
|
8
|
+
<li><a class="extend" href="<%= klass.aref_to ext.module.path %>"><%= ext.module.full_name %></a>
|
9
|
+
<%- else -%>
|
10
|
+
<li><span class="extend"><%= ext.name %></span>
|
11
|
+
<%- end -%>
|
12
|
+
<%- end -%>
|
13
|
+
</ul>
|
14
|
+
</div>
|
15
|
+
<%- end -%>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%- unless klass.includes.empty? then %>
|
2
|
+
<div id="includes-section" class="nav-section">
|
3
|
+
<h3>Included Modules</h3>
|
4
|
+
|
5
|
+
<ul class="link-list">
|
6
|
+
<%- klass.each_include do |inc| -%>
|
7
|
+
<%- unless String === inc.module then -%>
|
8
|
+
<li><a class="include" href="<%= klass.aref_to inc.module.path %>"><%= inc.module.full_name %></a>
|
9
|
+
<%- else -%>
|
10
|
+
<li><span class="include"><%= inc.name %></span>
|
11
|
+
<%- end -%>
|
12
|
+
<%- end -%>
|
13
|
+
</ul>
|
14
|
+
</div>
|
15
|
+
<%- end -%>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<div id="home-section" class="nav-section">
|
2
|
+
<h3>Documentation</h3>
|
3
|
+
|
4
|
+
<ul>
|
5
|
+
<%- installed.each do |name, href, exists, type, _| -%>
|
6
|
+
<%- next if type == :extra -%>
|
7
|
+
<li class="folder">
|
8
|
+
<%- if exists then -%>
|
9
|
+
<a href="<%= href %>"><%= h name %></a>
|
10
|
+
<%- else -%>
|
11
|
+
<%= h name %>
|
12
|
+
<%- end -%>
|
13
|
+
<%- end -%>
|
14
|
+
</ul>
|
15
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%- unless klass.method_list.empty? then %>
|
2
|
+
<!-- Method Quickref -->
|
3
|
+
<div id="method-list-section" class="nav-section">
|
4
|
+
<h3>Methods</h3>
|
5
|
+
|
6
|
+
<ul class="link-list" role="directory">
|
7
|
+
<%- klass.each_method do |meth| -%>
|
8
|
+
<li <%- if meth.calls_super %>class="calls-super" <%- end %>><a href="#<%= meth.aref %>"><%= meth.singleton ? '::' : '#' %><%= h meth.name -%></a>
|
9
|
+
<%- end -%>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<%- end -%>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
2
|
+
<h2>
|
3
|
+
<a href="<%= rel_prefix %>/index.html" rel="home">Home</a>
|
4
|
+
</h2>
|
5
|
+
|
6
|
+
<div id="table-of-contents-navigation">
|
7
|
+
<a href="<%= rel_prefix %>/table_of_contents.html#pages">Pages</a>
|
8
|
+
<a href="<%= rel_prefix %>/table_of_contents.html#classes">Classes</a>
|
9
|
+
<a href="<%= rel_prefix %>/table_of_contents.html#methods">Methods</a>
|
10
|
+
</div>
|
11
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%- simple_files = @files.select { |f| f.text? } %>
|
2
|
+
<%- unless simple_files.empty? then -%>
|
3
|
+
<div id="fileindex-section" class="nav-section">
|
4
|
+
<h3>Pages</h3>
|
5
|
+
|
6
|
+
<ul class="link-list">
|
7
|
+
<%- simple_files.each do |f| -%>
|
8
|
+
<li><a href="<%= rel_prefix %>/<%= f.path %>"><%= h f.page_name %></a>
|
9
|
+
<%- end -%>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<%- end -%>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%- if klass.type == 'class' then %>
|
2
|
+
<div id="parent-class-section" class="nav-section">
|
3
|
+
<h3>Parent</h3>
|
4
|
+
|
5
|
+
<%- if klass.superclass and not String === klass.superclass then -%>
|
6
|
+
<p class="link"><a href="<%= klass.aref_to klass.superclass.path %>"><%= klass.superclass.full_name %></a>
|
7
|
+
<%- else -%>
|
8
|
+
<p class="link"><%= klass.superclass %>
|
9
|
+
<%- end -%>
|
10
|
+
</div>
|
11
|
+
<%- end -%>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
2
|
+
<form action="#" method="get" accept-charset="utf-8">
|
3
|
+
<div id="search-field-wrapper">
|
4
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
5
|
+
aria-autocomplete="list" aria-controls="search-results"
|
6
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
7
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<ul id="search-results" aria-label="Search Results"
|
11
|
+
aria-busy="false" aria-expanded="false"
|
12
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
13
|
+
</form>
|
14
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%- unless klass.sections.length == 1 then %>
|
2
|
+
<div id="sections-section" class="nav-section">
|
3
|
+
<h3>Sections</h3>
|
4
|
+
|
5
|
+
<ul class="link-list" role="directory">
|
6
|
+
<%- klass.sort_sections.each do |section| -%>
|
7
|
+
<li><a href="#<%= section.aref %>"><%= h section.title %></a></li>
|
8
|
+
<%- end -%>
|
9
|
+
</ul>
|
10
|
+
</div>
|
11
|
+
<%- end -%>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<%- comment = if current.respond_to? :comment_location then
|
2
|
+
current.comment_location
|
3
|
+
else
|
4
|
+
current.comment
|
5
|
+
end
|
6
|
+
table = current.parse(comment).table_of_contents
|
7
|
+
|
8
|
+
if table.length > 1 then %>
|
9
|
+
<div class="nav-section">
|
10
|
+
<h3>Table of Contents</h3>
|
11
|
+
|
12
|
+
<ul class="link-list" role="directory">
|
13
|
+
<%- table.each do |heading| -%>
|
14
|
+
<li><a href="#<%= heading.label current %>"><%= heading.plain_html %></a>
|
15
|
+
<%- end -%>
|
16
|
+
</ul>
|
17
|
+
</div>
|
18
|
+
<%- end -%>
|