gitlab-rdoc 6.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +133 -0
- data/RI.rdoc +57 -0
- data/Rakefile +101 -0
- data/TODO.rdoc +59 -0
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/exe/rdoc +44 -0
- data/exe/ri +12 -0
- data/lib/rdoc/alias.rb +112 -0
- data/lib/rdoc/anon_class.rb +11 -0
- data/lib/rdoc/any_method.rb +361 -0
- data/lib/rdoc/attr.rb +176 -0
- data/lib/rdoc/class_module.rb +802 -0
- data/lib/rdoc/code_object.rb +421 -0
- data/lib/rdoc/code_objects.rb +6 -0
- data/lib/rdoc/comment.rb +250 -0
- data/lib/rdoc/constant.rb +187 -0
- data/lib/rdoc/context/section.rb +232 -0
- data/lib/rdoc/context.rb +1266 -0
- data/lib/rdoc/cross_reference.rb +202 -0
- data/lib/rdoc/encoding.rb +136 -0
- data/lib/rdoc/erb_partial.rb +19 -0
- data/lib/rdoc/erbio.rb +42 -0
- data/lib/rdoc/extend.rb +10 -0
- data/lib/rdoc/generator/darkfish.rb +790 -0
- data/lib/rdoc/generator/json_index.rb +300 -0
- data/lib/rdoc/generator/markup.rb +160 -0
- 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 +31 -0
- data/lib/rdoc/generator/template/darkfish/.document +0 -0
- 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/brick.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/bug.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/date.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/find.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif +0 -0
- data/lib/rdoc/generator/template/darkfish/images/macFFBgHack.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/package.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/page_green.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/plugin.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/ruby.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/wrench.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/zoom.png +0 -0
- data/lib/rdoc/generator/template/darkfish/index.rhtml +22 -0
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +84 -0
- 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 +51 -0
- data/lib/rdoc/ghost_method.rb +7 -0
- 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 +10 -0
- data/lib/rdoc/known_classes.rb +73 -0
- data/lib/rdoc/markdown/entities.rb +2132 -0
- data/lib/rdoc/markdown/literals.kpeg +23 -0
- data/lib/rdoc/markdown/literals.rb +417 -0
- data/lib/rdoc/markdown.kpeg +1237 -0
- data/lib/rdoc/markdown.rb +16685 -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 +409 -0
- data/lib/rdoc/markup/attributes.rb +71 -0
- data/lib/rdoc/markup/blank_line.rb +28 -0
- data/lib/rdoc/markup/block_quote.rb +15 -0
- data/lib/rdoc/markup/document.rb +165 -0
- data/lib/rdoc/markup/formatter.rb +266 -0
- data/lib/rdoc/markup/hard_break.rb +32 -0
- data/lib/rdoc/markup/heading.rb +79 -0
- data/lib/rdoc/markup/include.rb +43 -0
- data/lib/rdoc/markup/indented_paragraph.rb +48 -0
- data/lib/rdoc/markup/list.rb +102 -0
- data/lib/rdoc/markup/list_item.rb +100 -0
- data/lib/rdoc/markup/paragraph.rb +29 -0
- data/lib/rdoc/markup/parser.rb +575 -0
- data/lib/rdoc/markup/pre_process.rb +296 -0
- data/lib/rdoc/markup/raw.rb +70 -0
- data/lib/rdoc/markup/regexp_handling.rb +41 -0
- data/lib/rdoc/markup/rule.rb +21 -0
- data/lib/rdoc/markup/table.rb +47 -0
- data/lib/rdoc/markup/to_ansi.rb +94 -0
- data/lib/rdoc/markup/to_bs.rb +77 -0
- data/lib/rdoc/markup/to_html.rb +444 -0
- data/lib/rdoc/markup/to_html_crossref.rb +176 -0
- 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 +362 -0
- data/lib/rdoc/markup/to_table_of_contents.rb +89 -0
- data/lib/rdoc/markup/to_test.rb +70 -0
- data/lib/rdoc/markup/to_tt_only.rb +121 -0
- data/lib/rdoc/markup/verbatim.rb +84 -0
- data/lib/rdoc/markup.rb +867 -0
- data/lib/rdoc/meta_method.rb +7 -0
- data/lib/rdoc/method_attr.rb +419 -0
- data/lib/rdoc/mixin.rb +121 -0
- data/lib/rdoc/normal_class.rb +93 -0
- data/lib/rdoc/normal_module.rb +74 -0
- data/lib/rdoc/options.rb +1285 -0
- data/lib/rdoc/parser/c.rb +1225 -0
- 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 +2327 -0
- data/lib/rdoc/parser/ruby_tools.rb +167 -0
- data/lib/rdoc/parser/simple.rb +61 -0
- data/lib/rdoc/parser/text.rb +12 -0
- data/lib/rdoc/parser.rb +277 -0
- 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 +579 -0
- data/lib/rdoc/require.rb +52 -0
- data/lib/rdoc/ri/driver.rb +1572 -0
- data/lib/rdoc/ri/formatter.rb +6 -0
- data/lib/rdoc/ri/paths.rb +171 -0
- data/lib/rdoc/ri/store.rb +7 -0
- data/lib/rdoc/ri/task.rb +71 -0
- data/lib/rdoc/ri.rb +21 -0
- data/lib/rdoc/rubygems_hook.rb +246 -0
- data/lib/rdoc/servlet.rb +451 -0
- data/lib/rdoc/single_class.rb +26 -0
- data/lib/rdoc/stats/normal.rb +58 -0
- data/lib/rdoc/stats/quiet.rb +60 -0
- data/lib/rdoc/stats/verbose.rb +46 -0
- data/lib/rdoc/stats.rb +462 -0
- data/lib/rdoc/store.rb +979 -0
- data/lib/rdoc/task.rb +329 -0
- data/lib/rdoc/text.rb +304 -0
- data/lib/rdoc/token_stream.rb +119 -0
- data/lib/rdoc/tom_doc.rb +263 -0
- data/lib/rdoc/top_level.rb +289 -0
- data/lib/rdoc/version.rb +8 -0
- data/lib/rdoc.rb +201 -0
- data/man/ri.1 +247 -0
- data/rdoc.gemspec +249 -0
- metadata +279 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
##
|
|
3
|
+
# Extracts message from RDoc::Store
|
|
4
|
+
|
|
5
|
+
class RDoc::Generator::POT::MessageExtractor
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Creates a message extractor for +store+.
|
|
9
|
+
|
|
10
|
+
def initialize store
|
|
11
|
+
@store = store
|
|
12
|
+
@po = RDoc::Generator::POT::PO.new
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
##
|
|
16
|
+
# Extracts messages from +store+, stores them into
|
|
17
|
+
# RDoc::Generator::POT::PO and returns it.
|
|
18
|
+
|
|
19
|
+
def extract
|
|
20
|
+
@store.all_classes_and_modules.each do |klass|
|
|
21
|
+
extract_from_klass(klass)
|
|
22
|
+
end
|
|
23
|
+
@po
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
def extract_from_klass klass
|
|
29
|
+
extract_text(klass.comment_location, klass.full_name)
|
|
30
|
+
|
|
31
|
+
klass.each_section do |section, constants, attributes|
|
|
32
|
+
extract_text(section.title ,"#{klass.full_name}: section title")
|
|
33
|
+
section.comments.each do |comment|
|
|
34
|
+
extract_text(comment, "#{klass.full_name}: #{section.title}")
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
klass.each_constant do |constant|
|
|
39
|
+
extract_text(constant.comment, constant.full_name)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
klass.each_attribute do |attribute|
|
|
43
|
+
extract_text(attribute.comment, attribute.full_name)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
klass.each_method do |method|
|
|
47
|
+
extract_text(method.comment, method.full_name)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def extract_text text, comment, location = nil
|
|
52
|
+
return if text.nil?
|
|
53
|
+
|
|
54
|
+
options = {
|
|
55
|
+
:extracted_comment => comment,
|
|
56
|
+
:references => [location].compact,
|
|
57
|
+
}
|
|
58
|
+
i18n_text = RDoc::I18n::Text.new(text)
|
|
59
|
+
i18n_text.extract_messages do |part|
|
|
60
|
+
@po.add(entry(part[:paragraph], options))
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def entry msgid, options
|
|
65
|
+
RDoc::Generator::POT::POEntry.new(msgid, options)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
##
|
|
3
|
+
# Generates a PO format text
|
|
4
|
+
|
|
5
|
+
class RDoc::Generator::POT::PO
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Creates an object that represents PO format.
|
|
9
|
+
|
|
10
|
+
def initialize
|
|
11
|
+
@entries = {}
|
|
12
|
+
add_header
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
##
|
|
16
|
+
# Adds a PO entry to the PO.
|
|
17
|
+
|
|
18
|
+
def add entry
|
|
19
|
+
existing_entry = @entries[entry.msgid]
|
|
20
|
+
if existing_entry
|
|
21
|
+
entry = existing_entry.merge(entry)
|
|
22
|
+
end
|
|
23
|
+
@entries[entry.msgid] = entry
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
##
|
|
27
|
+
# Returns PO format text for the PO.
|
|
28
|
+
|
|
29
|
+
def to_s
|
|
30
|
+
po = ''
|
|
31
|
+
sort_entries.each do |entry|
|
|
32
|
+
po += "\n" unless po.empty?
|
|
33
|
+
po += entry.to_s
|
|
34
|
+
end
|
|
35
|
+
po
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
|
|
40
|
+
def add_header
|
|
41
|
+
add(header_entry)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def header_entry
|
|
45
|
+
comment = <<-COMMENT
|
|
46
|
+
SOME DESCRIPTIVE TITLE.
|
|
47
|
+
Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
48
|
+
This file is distributed under the same license as the PACKAGE package.
|
|
49
|
+
FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
50
|
+
COMMENT
|
|
51
|
+
|
|
52
|
+
content = <<-CONTENT
|
|
53
|
+
Project-Id-Version: PACKAGE VERSEION
|
|
54
|
+
Report-Msgid-Bugs-To:
|
|
55
|
+
PO-Revision-Date: YEAR-MO_DA HO:MI+ZONE
|
|
56
|
+
Last-Translator: FULL NAME <EMAIL@ADDRESS>
|
|
57
|
+
Language-Team: LANGUAGE <LL@li.org>
|
|
58
|
+
Language:
|
|
59
|
+
MIME-Version: 1.0
|
|
60
|
+
Content-Type: text/plain; charset=CHARSET
|
|
61
|
+
Content-Transfer-Encoding: 8bit
|
|
62
|
+
Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;
|
|
63
|
+
CONTENT
|
|
64
|
+
|
|
65
|
+
options = {
|
|
66
|
+
:msgstr => content,
|
|
67
|
+
:translator_comment => comment,
|
|
68
|
+
:flags => ['fuzzy'],
|
|
69
|
+
}
|
|
70
|
+
RDoc::Generator::POT::POEntry.new('', options)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def sort_entries
|
|
74
|
+
headers, messages = @entries.values.partition do |entry|
|
|
75
|
+
entry.msgid.empty?
|
|
76
|
+
end
|
|
77
|
+
# TODO: sort by location
|
|
78
|
+
sorted_messages = messages.sort_by do |entry|
|
|
79
|
+
entry.msgid
|
|
80
|
+
end
|
|
81
|
+
headers + sorted_messages
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
end
|
|
@@ -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
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
##
|
|
3
|
+
# Generates ri data files
|
|
4
|
+
|
|
5
|
+
class RDoc::Generator::RI
|
|
6
|
+
|
|
7
|
+
RDoc::RDoc.add_generator self
|
|
8
|
+
|
|
9
|
+
##
|
|
10
|
+
# Description of this generator
|
|
11
|
+
|
|
12
|
+
DESCRIPTION = 'creates ri data files'
|
|
13
|
+
|
|
14
|
+
##
|
|
15
|
+
# Set up a new ri generator
|
|
16
|
+
|
|
17
|
+
def initialize store, options #:not-new:
|
|
18
|
+
@options = options
|
|
19
|
+
@store = store
|
|
20
|
+
@store.path = '.'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
##
|
|
24
|
+
# Writes the parsed data store to disk for use by ri.
|
|
25
|
+
|
|
26
|
+
def generate
|
|
27
|
+
@store.save
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
File without changes
|
|
@@ -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 -%>
|