deg-yard 0.8.7.1 → 0.8.7.3
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/README.md +19 -2
- data/Rakefile +5 -1
- data/lib/yard/config.rb +3 -1
- data/lib/yard/handlers/c/method_handler.rb +2 -2
- data/lib/yard/handlers/ruby/alias_handler.rb +1 -1
- data/lib/yard/handlers/ruby/legacy/alias_handler.rb +1 -0
- data/lib/yard/i18n/locale.rb +5 -13
- data/lib/yard/i18n/po_parser.rb +60 -0
- data/lib/yard/rake/yardoc_task.rb +1 -1
- data/lib/yard/server/doc_server_serializer.rb +13 -3
- data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +1 -0
- data/lib/yard/templates/helpers/markup_helper.rb +1 -1
- data/lib/yard/version.rb +1 -1
- data/lib/yard.rb +1 -1
- data/spec/cli/server_spec.rb +8 -10
- data/spec/handlers/alias_handler_spec.rb +2 -1
- data/spec/handlers/c/method_handler_spec.rb +10 -0
- data/spec/handlers/examples/alias_handler_001.rb.txt +2 -0
- data/spec/i18n/locale_spec.rb +19 -6
- data/spec/rubygems/doc_manager_spec.rb +6 -1
- data/spec/server/doc_server_serializer_spec.rb +9 -0
- data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +5 -0
- data/templates/default/fulldoc/html/css/style.css +1 -1
- data/templates/default/fulldoc/html/frames.erb +4 -6
- data/templates/default/fulldoc/html/js/app.js +7 -2
- metadata +6 -17
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5e2f0a952c9366a76e5e2413f061fc18775facc6
|
4
|
+
data.tar.gz: f4ba17d8007b86f6856eff3c07e1f905725e8d17
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 539eaa8bfe4e2910e36f27cb4dd177ba3d779bfbe6e10df779c5a4d99e2ff6e2acc1b6336b0a0e0263b7055f8d7b0b20b14679f03dad3bc1ccb78ad4534abd28
|
7
|
+
data.tar.gz: 64d1190b9d1568dca7e834796e5cf3bde83d542e66140081b11cbcada40c0e49ed246818e9a28b6e1ca7bdb2ea44be3a61223fb101b5d215f14b2898befdc1ae
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# YARD: Yay! A Ruby Documentation Tool
|
2
2
|
|
3
|
-
NOTE: The real version of YARD is made by Loren Segal (lsegal on github). This is a fork by David Grayson
|
3
|
+
NOTE: The real version of YARD is made by Loren Segal (lsegal on github). This is a fork by me, David Grayson, mostly for my own purposes.
|
4
4
|
|
5
5
|
**Homepage**: http://yardoc.org
|
6
6
|
|
@@ -54,7 +54,7 @@ following method documented with YARD formatting:
|
|
54
54
|
# @param [String, #read] contents the contents to reverse
|
55
55
|
# @return [String] the contents reversed lexically
|
56
56
|
def reverse(contents)
|
57
|
-
contents = contents.read if respond_to? :read
|
57
|
+
contents = contents.read if contents.respond_to? :read
|
58
58
|
contents.reverse
|
59
59
|
end
|
60
60
|
|
@@ -289,6 +289,23 @@ More options can be seen by typing `yard graph --help`, but here is an example:
|
|
289
289
|
|
290
290
|
## Changelog
|
291
291
|
|
292
|
+
- **November.1.13**: 0.8.7.3 release
|
293
|
+
- Handle Unicode method/class/file names in server URL encoding (lsegal/rubydoc.info#69).
|
294
|
+
- Style keyword style hashes with same symbol color in code highlighting (#707).
|
295
|
+
- Fix broken JS when visiting docs in file:// scheme (#706).
|
296
|
+
- Add support for new AsciiDoc file extensions (#704).
|
297
|
+
- Fix issues where non-Ruby code blocks would not display in Ruby 2 (#702).
|
298
|
+
- Add support for extra Ruby 2 symbol types in Ripper (#701).
|
299
|
+
- Ensure config directory exists before saving config file (#700).
|
300
|
+
|
301
|
+
- **September.18.13**: 0.8.7.2 release
|
302
|
+
- Disallow absolute URLs when using frame anchor support.
|
303
|
+
- Support casted functions in CRuby method declarations (#697)
|
304
|
+
|
305
|
+
- **September.11.13**: 0.8.7.1 release
|
306
|
+
- Fix potential XSS issue with frame anchor support.
|
307
|
+
- Add support for gettext 3.x gem.
|
308
|
+
|
292
309
|
- **July.26.13**: 0.8.7 release
|
293
310
|
- Added `--hide-api API` option to hide objects with a given `@api` tag (#685).
|
294
311
|
- Added "Returns ...." prefix to summary when a lone @return tag is used.
|
data/Rakefile
CHANGED
@@ -53,7 +53,11 @@ task :specs do
|
|
53
53
|
$DEBUG = true
|
54
54
|
opts += ['-d']
|
55
55
|
end
|
56
|
-
|
56
|
+
if ENV['SPEC']
|
57
|
+
opts += ENV['SPEC'].split(' ')
|
58
|
+
else
|
59
|
+
opts += FileList["spec/**/*_spec.rb"].sort
|
60
|
+
end
|
57
61
|
cmd = opts.join(' ')
|
58
62
|
puts cmd if Rake.application.options.trace
|
59
63
|
system(cmd)
|
data/lib/yard/config.rb
CHANGED
@@ -123,8 +123,9 @@ module YARD
|
|
123
123
|
add_ignored_plugins_file
|
124
124
|
translate_plugin_names
|
125
125
|
load_plugins
|
126
|
-
rescue
|
126
|
+
rescue => e
|
127
127
|
log.error "Invalid configuration file, using default options."
|
128
|
+
log.backtrace(e)
|
128
129
|
options.update(DEFAULT_CONFIG_OPTIONS)
|
129
130
|
end
|
130
131
|
|
@@ -132,6 +133,7 @@ module YARD
|
|
132
133
|
# @return [void]
|
133
134
|
def self.save
|
134
135
|
require 'yaml'
|
136
|
+
Dir.mkdir(CONFIG_DIR) unless File.directory?(CONFIG_DIR)
|
135
137
|
File.open(CONFIG_FILE, 'w') {|f| f.write(YAML.dump(options)) }
|
136
138
|
end
|
137
139
|
|
@@ -8,11 +8,11 @@ class YARD::Handlers::C::MethodHandler < YARD::Handlers::C::Base
|
|
8
8
|
)
|
9
9
|
\s*\(\s*([\w\.]+),
|
10
10
|
\s*"([^"]+)",
|
11
|
-
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
|
11
|
+
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\(|\(\w+\))?(\w+)\)?,
|
12
12
|
\s*(-?\w+)\s*\)}xm
|
13
13
|
MATCH2 = %r{rb_define_global_function\s*\(
|
14
14
|
\s*"([^"]+)",
|
15
|
-
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
|
15
|
+
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\(|\(\w+\))?(\w+)\)?,
|
16
16
|
\s*(-?\w+)\s*\)}xm
|
17
17
|
handles MATCH1
|
18
18
|
handles MATCH2
|
@@ -10,7 +10,7 @@ class YARD::Handlers::Ruby::AliasHandler < YARD::Handlers::Ruby::Base
|
|
10
10
|
elsif statement.call?
|
11
11
|
statement.parameters(false).each do |obj|
|
12
12
|
case obj.type
|
13
|
-
when :symbol_literal
|
13
|
+
when :symbol_literal, :dyna_symbol
|
14
14
|
names << obj.jump(:ident, :op, :kw, :const).source
|
15
15
|
when :string_literal
|
16
16
|
names << obj.jump(:string_content).source
|
@@ -12,6 +12,7 @@ class YARD::Handlers::Ruby::Legacy::AliasHandler < YARD::Handlers::Ruby::Legacy:
|
|
12
12
|
end
|
13
13
|
raise YARD::Parser::UndocumentableError, statement.tokens.first.text if names.size != 2
|
14
14
|
|
15
|
+
names = names.map {|n| Symbol === n ? n.to_s.gsub('"', '') : n }
|
15
16
|
new_meth, old_meth = names[0].to_sym, names[1].to_sym
|
16
17
|
old_obj = namespace.child(:name => old_meth, :scope => scope)
|
17
18
|
new_obj = register MethodObject.new(namespace, new_meth, scope) do |o|
|
data/lib/yard/i18n/locale.rb
CHANGED
@@ -46,20 +46,12 @@ module YARD
|
|
46
46
|
po_file = File.join(locale_directory, "#{@name}.po")
|
47
47
|
return false unless File.exist?(po_file)
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
log.warn " gem install gettext"
|
55
|
-
return false
|
56
|
-
end
|
49
|
+
require "yard/i18n/po_parser"
|
50
|
+
return false unless POParser.available?
|
51
|
+
|
52
|
+
po_parser = POParser.new
|
53
|
+
@messages.merge!(po_parser.parse(po_file))
|
57
54
|
|
58
|
-
parser = GetText::PoParser.new
|
59
|
-
parser.report_warning = false
|
60
|
-
data = GetText::MoFile.new
|
61
|
-
parser.parse_file(po_file, data)
|
62
|
-
@messages.merge!(data)
|
63
55
|
true
|
64
56
|
end
|
65
57
|
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module YARD
|
2
|
+
module I18n
|
3
|
+
# +Locale+ is a wrapper for gettext's PO parsing feature. It hides
|
4
|
+
# gettext API difference from YARD.
|
5
|
+
#
|
6
|
+
# @since 0.8.8
|
7
|
+
class POParser
|
8
|
+
if RUBY_VERSION < "1.9"
|
9
|
+
begin
|
10
|
+
require "gettext/tools/poparser"
|
11
|
+
require "gettext/runtime/mofile"
|
12
|
+
@@gettext_version = 2
|
13
|
+
rescue LoadError
|
14
|
+
log.warn "Need gettext gem 2.x for i18n feature:"
|
15
|
+
log.warn " gem install gettext -v 2.3.9"
|
16
|
+
end
|
17
|
+
else
|
18
|
+
begin
|
19
|
+
require "gettext/po_parser"
|
20
|
+
require "gettext/mo"
|
21
|
+
@@gettext_version = 3
|
22
|
+
rescue LoadError
|
23
|
+
begin
|
24
|
+
require "gettext/tools/poparser"
|
25
|
+
require "gettext/runtime/mofile"
|
26
|
+
@@gettext_version = 2
|
27
|
+
rescue LoadError
|
28
|
+
log.warn "Need gettext gem for i18n feature:"
|
29
|
+
log.warn " gem install gettext"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class << self
|
35
|
+
# @return [Boolean] true if gettext is available, false otherwise.
|
36
|
+
def available?
|
37
|
+
!@@gettext_version.nil?
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Parses PO file.
|
42
|
+
#
|
43
|
+
# @param [String] file path of PO file to be parsed.
|
44
|
+
# @return [Hash<String, String>] parsed messages.
|
45
|
+
def parse(file)
|
46
|
+
case @@gettext_version
|
47
|
+
when 2
|
48
|
+
parser = GetText::PoParser.new
|
49
|
+
data = GetText::MoFile.new
|
50
|
+
when 3
|
51
|
+
parser = GetText::POParser.new
|
52
|
+
data = GetText::MO.new
|
53
|
+
end
|
54
|
+
parser.report_warning = false
|
55
|
+
parser.parse_file(file, data)
|
56
|
+
data
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -60,7 +60,7 @@ module YARD
|
|
60
60
|
# Defines the rake task
|
61
61
|
# @return [void]
|
62
62
|
def define
|
63
|
-
desc "Generate YARD Documentation"
|
63
|
+
desc "Generate YARD Documentation" unless ::Rake.application.last_comment
|
64
64
|
task(name) do
|
65
65
|
before.call if before.is_a?(Proc)
|
66
66
|
yardoc = YARD::CLI::Yardoc.new
|
@@ -16,18 +16,28 @@ module YARD
|
|
16
16
|
when CodeObjects::RootObject
|
17
17
|
"toplevel"
|
18
18
|
when CodeObjects::ExtendedMethodObject
|
19
|
-
|
19
|
+
name = object.name.to_s
|
20
|
+
serialized_path(object.namespace) + ':' + urlencode(object.name.to_s)
|
20
21
|
when CodeObjects::MethodObject
|
21
22
|
serialized_path(object.namespace) +
|
22
|
-
(object.scope == :instance ? ":" : ".") +
|
23
|
+
(object.scope == :instance ? ":" : ".") + urlencode(object.name.to_s)
|
23
24
|
when CodeObjects::ConstantObject, CodeObjects::ClassVariableObject
|
24
25
|
serialized_path(object.namespace) + "##{object.name}-#{object.type}"
|
25
26
|
when CodeObjects::ExtraFileObject
|
26
|
-
super(object).gsub(/^file
|
27
|
+
super(object).gsub(/^file\./, 'file/')
|
27
28
|
else
|
28
29
|
super(object)
|
29
30
|
end
|
30
31
|
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def urlencode(name)
|
36
|
+
if name.respond_to?(:force_encoding)
|
37
|
+
name = name.dup.force_encoding('binary')
|
38
|
+
end
|
39
|
+
escape(name)
|
40
|
+
end
|
31
41
|
end
|
32
42
|
end
|
33
43
|
end
|
@@ -18,6 +18,7 @@ module YARD
|
|
18
18
|
|
19
19
|
def html_syntax_highlight_ruby_ripper(source)
|
20
20
|
tokenlist = Parser::Ruby::RubyParser.parse(source, "(syntax_highlight)").tokens
|
21
|
+
raise Parser::ParserSyntaxError if tokenlist.empty? && !source.empty?
|
21
22
|
output = ""
|
22
23
|
tokenlist.each do |s|
|
23
24
|
output << "<span class='tstring'>" if [:tstring_beg, :regexp_beg].include?(s[0])
|
@@ -57,7 +57,7 @@ module YARD
|
|
57
57
|
:html => ['htm', 'html', 'shtml'],
|
58
58
|
:text => ['txt'],
|
59
59
|
:textile => ['textile', 'txtile'],
|
60
|
-
:asciidoc => ['asciidoc'],
|
60
|
+
:asciidoc => ['asciidoc', 'ad', 'adoc', 'asc'],
|
61
61
|
:markdown => ['markdown', 'md', 'mdown', 'mkd'],
|
62
62
|
:rdoc => ['rdoc'],
|
63
63
|
:ruby => ['rb', 'ru']
|
data/lib/yard/version.rb
CHANGED
data/lib/yard.rb
CHANGED
data/spec/cli/server_spec.rb
CHANGED
@@ -59,8 +59,6 @@ describe YARD::CLI::Server do
|
|
59
59
|
|
60
60
|
@cli.run(*args.flatten)
|
61
61
|
assert_libraries @libraries, @cli.libraries
|
62
|
-
|
63
|
-
new_cli
|
64
62
|
end
|
65
63
|
|
66
64
|
def assert_libraries(expected_libs, actual_libs)
|
@@ -92,22 +90,22 @@ describe YARD::CLI::Server do
|
|
92
90
|
|
93
91
|
it "should use .yardoc as the yardoc db if .yardopts doesn't specify an alternate path" do
|
94
92
|
mock_file '/path/to/bar/.yardopts', '--protected'
|
95
|
-
@libraries[@name] = [Server::LibraryVersion.new(@name, nil, '/path/to/bar/.yardoc')]
|
96
|
-
@libraries.values[0][0].source_path = '/path/to/bar'
|
93
|
+
@libraries[@name] = [Server::LibraryVersion.new(@name, nil, File.expand_path('/path/to/bar/.yardoc'))]
|
94
|
+
@libraries.values[0][0].source_path = File.expand_path('/path/to/bar')
|
97
95
|
run
|
98
96
|
end
|
99
97
|
|
100
98
|
it "should use the yardoc db location specified by .yardopts" do
|
101
99
|
mock_file '/path/to/bar/.yardopts', '--db foo'
|
102
|
-
@libraries[@name] = [Server::LibraryVersion.new(@name, nil, '/path/to/bar/foo')]
|
103
|
-
@libraries.values[0][0].source_path = '/path/to/bar'
|
100
|
+
@libraries[@name] = [Server::LibraryVersion.new(@name, nil, File.expand_path('/path/to/bar/foo'))]
|
101
|
+
@libraries.values[0][0].source_path = File.expand_path('/path/to/bar')
|
104
102
|
run
|
105
103
|
end
|
106
104
|
|
107
105
|
it "should parse .yardopts when the library list is odd" do
|
108
106
|
mock_file '/path/to/bar/.yardopts', '--db foo'
|
109
|
-
@libraries['a'] = [Server::LibraryVersion.new('a', nil, '/path/to/bar/foo')]
|
110
|
-
@libraries.values[0][0].source_path = '/path/to/bar'
|
107
|
+
@libraries['a'] = [Server::LibraryVersion.new('a', nil, File.expand_path('/path/to/bar/foo'))]
|
108
|
+
@libraries.values[0][0].source_path = File.expand_path('/path/to/bar')
|
111
109
|
run 'a'
|
112
110
|
end
|
113
111
|
end
|
@@ -118,8 +116,8 @@ describe YARD::CLI::Server do
|
|
118
116
|
end
|
119
117
|
|
120
118
|
it "should default to .yardoc if no library is specified" do
|
121
|
-
Dir.should_receive(:pwd).at_least(:once).and_return('/path/to/foo')
|
122
|
-
@libraries['foo'] = [Server::LibraryVersion.new('foo', nil, '/path/to/foo/.yardoc')]
|
119
|
+
Dir.should_receive(:pwd).at_least(:once).and_return(File.expand_path('/path/to/foo'))
|
120
|
+
@libraries['foo'] = [Server::LibraryVersion.new('foo', nil, File.expand_path('/path/to/foo/.yardoc'))]
|
123
121
|
run
|
124
122
|
end
|
125
123
|
|
@@ -7,9 +7,10 @@ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AliasHandler"
|
|
7
7
|
P(:A).aliases[P("A#b")].should == :a
|
8
8
|
end
|
9
9
|
|
10
|
-
['c', 'd?', '[]', '[]=', '-@', '%', '*'].each do |a|
|
10
|
+
['c', 'd?', '[]', '[]=', '-@', '%', '*', 'cstrkey', 'cstrmeth'].each do |a|
|
11
11
|
it "should handle the Ruby 'alias' keyword syntax for method ##{a}" do
|
12
12
|
P('A#' + a).should be_instance_of(CodeObjects::MethodObject)
|
13
|
+
P('A#' + a).is_alias?.should be_true
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
@@ -226,4 +226,14 @@ describe YARD::Handlers::C::MethodHandler do
|
|
226
226
|
foo = Registry.at('Foo#foo?')
|
227
227
|
foo.tag(:return).types.should == ['String']
|
228
228
|
end
|
229
|
+
|
230
|
+
it "should handle casted method names" do
|
231
|
+
parse_init <<-eof
|
232
|
+
mFoo = rb_define_module("Foo");
|
233
|
+
rb_define_method(mFoo, "bar", (METHOD)bar, 0);
|
234
|
+
rb_define_global_function("baz", (METHOD)baz, 0);
|
235
|
+
eof
|
236
|
+
Registry.at('Foo#bar').should_not be_nil
|
237
|
+
Registry.at('Kernel#baz').should_not be_nil
|
238
|
+
end
|
229
239
|
end
|
data/spec/i18n/locale_spec.rb
CHANGED
@@ -22,11 +22,24 @@ describe YARD::I18n::Locale do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
have_gettext_gem = true
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
if RUBY_VERSION < "1.9"
|
26
|
+
begin
|
27
|
+
require "gettext/tools/poparser"
|
28
|
+
rescue LoadError
|
29
|
+
have_gettext_gem = false
|
30
|
+
end
|
31
|
+
else
|
32
|
+
begin
|
33
|
+
require "gettext/po_parser"
|
34
|
+
rescue LoadError
|
35
|
+
begin
|
36
|
+
require "gettext/tools/poparser"
|
37
|
+
rescue LoadError
|
38
|
+
have_gettext_gem = false
|
39
|
+
end
|
40
|
+
end
|
29
41
|
end
|
42
|
+
|
30
43
|
it "should return true for existent PO", :if => have_gettext_gem do
|
31
44
|
data = <<-eop
|
32
45
|
msgid ""
|
@@ -39,9 +52,9 @@ msgstr ""
|
|
39
52
|
msgid "Hello"
|
40
53
|
msgstr "Bonjour"
|
41
54
|
eop
|
42
|
-
parser = GetText::
|
55
|
+
parser = GetText::POParser.new
|
43
56
|
File.should_receive(:exist?).with('foo/fr.po').and_return(true)
|
44
|
-
GetText::
|
57
|
+
GetText::POParser.should_receive(:new).and_return(parser)
|
45
58
|
parser.should_receive(:parse_file) do |file, hash|
|
46
59
|
file.should == 'foo/fr.po'
|
47
60
|
parser.parse(data, hash)
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# I had to make some changes to this file because deg-yard.gemspec has a different name
|
2
|
+
# and a few different properties than the official yard.gemspec. Mine was generated
|
3
|
+
# by Jeweler while the official one is part of Loren Segal's git repository.
|
4
|
+
|
1
5
|
require File.dirname(__FILE__) + '/../spec_helper'
|
2
6
|
require File.join(YARD::ROOT, 'rubygems_plugin')
|
3
7
|
require 'fileutils'
|
@@ -11,9 +15,10 @@ describe Gem::DocManager do
|
|
11
15
|
|
12
16
|
YARD::CLI::Yardoc.stub(:run)
|
13
17
|
|
14
|
-
@spec_file = File.join(YARD::ROOT, '..', 'yard.gemspec')
|
18
|
+
@spec_file = File.join(YARD::ROOT, '..', 'deg-yard.gemspec')
|
15
19
|
@spec = Gem::SourceIndex.load_specification(@spec_file)
|
16
20
|
@spec.has_yardoc = false # no yardoc docs for now
|
21
|
+
@spec.extra_rdoc_files = []
|
17
22
|
@yardopts = File.join(@spec.full_gem_path, '.yardopts')
|
18
23
|
@doc = Gem::DocManager.new(@spec)
|
19
24
|
@doc.stub(:install_ri_yard_orig)
|
@@ -41,5 +41,14 @@ describe YARD::Server::DocServerSerializer do
|
|
41
41
|
file = CodeObjects::ExtraFileObject.new('a/b/FooBar.md', '')
|
42
42
|
@serializer.serialized_path(file).should == 'file/FooBar'
|
43
43
|
end
|
44
|
+
|
45
|
+
it "should handle unicode data" do
|
46
|
+
file = CodeObjects::ExtraFileObject.new("test\u0160", '')
|
47
|
+
if file.name.encoding == Encoding.find("Windows-1252")
|
48
|
+
@serializer.serialized_path(file).should == 'file/test_8A'
|
49
|
+
else
|
50
|
+
@serializer.serialized_path(file).should == 'file/test_C5A0'
|
51
|
+
end
|
52
|
+
end if defined?(::Encoding)
|
44
53
|
end
|
45
54
|
end
|
@@ -44,5 +44,10 @@ describe YARD::Templates::Helpers::HtmlSyntaxHighlightHelper do
|
|
44
44
|
should_receive(:options).and_return(Options.new.update(:highlight => true))
|
45
45
|
html_syntax_highlight("def &x; ... end").should == "def &x; ... end"
|
46
46
|
end if HAVE_RIPPER
|
47
|
+
|
48
|
+
it "should return escaped unhighlighted source if a syntax error is found (ripper)" do
|
49
|
+
should_receive(:options).and_return(Options.new.update(:highlight => true))
|
50
|
+
html_syntax_highlight("$ git clone http://url").should == "$ git clone http://url"
|
51
|
+
end if HAVE_RIPPER
|
47
52
|
end
|
48
53
|
end
|
@@ -324,9 +324,9 @@ pre.code .dot + pre.code .id,
|
|
324
324
|
pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
|
325
325
|
pre.code .comment { color: #0066FF; }
|
326
326
|
pre.code .const, pre.code .constant { color: #585CF6; }
|
327
|
+
pre.code .label,
|
327
328
|
pre.code .symbol { color: #C5060B; }
|
328
329
|
pre.code .kw,
|
329
|
-
pre.code .label,
|
330
330
|
pre.code .rubyid_require,
|
331
331
|
pre.code .rubyid_extend,
|
332
332
|
pre.code .rubyid_include { color: #0000FF; }
|
@@ -8,14 +8,12 @@
|
|
8
8
|
</head>
|
9
9
|
<script type="text/javascript" charset="utf-8">
|
10
10
|
window.onload = function() {
|
11
|
-
var match = window.location.hash.match(/^#!(.+)/);
|
12
|
-
var name = '<%= url_for_main %>';
|
13
|
-
|
14
|
-
name = unescape(match[1]);
|
15
|
-
}
|
11
|
+
var match = unescape(window.location.hash).match(/^#!(.+)/);
|
12
|
+
var name = match ? match[1] : '<%= url_for_main %>';
|
13
|
+
name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
|
16
14
|
document.writeln('<frameset cols="20%,*">' +
|
17
15
|
'<frame name="list" src="<%= url_for_list('class') %>" />' +
|
18
|
-
'<frame name="main" src="' + name + '" />' +
|
16
|
+
'<frame name="main" src="' + escape(name) + '" />' +
|
19
17
|
'</frameset>');
|
20
18
|
}
|
21
19
|
</script>
|
@@ -78,7 +78,12 @@ function framesInit() {
|
|
78
78
|
if (hasFrames) {
|
79
79
|
document.body.className = 'frames';
|
80
80
|
$('#menu .noframes a').attr('href', document.location);
|
81
|
-
|
81
|
+
try {
|
82
|
+
window.top.document.title = $('html head title').text();
|
83
|
+
} catch(error) {
|
84
|
+
// some browsers will not allow this when serving from file://
|
85
|
+
// but we don't want to stop the world.
|
86
|
+
}
|
82
87
|
}
|
83
88
|
else {
|
84
89
|
$('#menu .noframes a').text('frames').attr('href', framesUrl);
|
@@ -211,4 +216,4 @@ $(linkSummaries);
|
|
211
216
|
$(keyboardShortcuts);
|
212
217
|
$(summaryToggle);
|
213
218
|
$(fixOutsideWorldLinks);
|
214
|
-
$(generateTOC);
|
219
|
+
$(generateTOC);
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deg-yard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.8.7.1
|
4
|
+
version: 0.8.7.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- David Grayson
|
@@ -10,7 +9,7 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-01-04 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: rspec
|
@@ -19,13 +18,11 @@ dependencies:
|
|
19
18
|
- - '='
|
20
19
|
- !ruby/object:Gem::Version
|
21
20
|
version: '2.12'
|
22
|
-
none: false
|
23
21
|
requirement: !ruby/object:Gem::Requirement
|
24
22
|
requirements:
|
25
23
|
- - '='
|
26
24
|
- !ruby/object:Gem::Version
|
27
25
|
version: '2.12'
|
28
|
-
none: false
|
29
26
|
prerelease: false
|
30
27
|
type: :development
|
31
28
|
- !ruby/object:Gem::Dependency
|
@@ -35,13 +32,11 @@ dependencies:
|
|
35
32
|
- - '>='
|
36
33
|
- !ruby/object:Gem::Version
|
37
34
|
version: '0'
|
38
|
-
none: false
|
39
35
|
requirement: !ruby/object:Gem::Requirement
|
40
36
|
requirements:
|
41
37
|
- - '>='
|
42
38
|
- !ruby/object:Gem::Version
|
43
39
|
version: '0'
|
44
|
-
none: false
|
45
40
|
prerelease: false
|
46
41
|
type: :development
|
47
42
|
- !ruby/object:Gem::Dependency
|
@@ -51,13 +46,11 @@ dependencies:
|
|
51
46
|
- - '>='
|
52
47
|
- !ruby/object:Gem::Version
|
53
48
|
version: '0'
|
54
|
-
none: false
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
56
50
|
requirements:
|
57
51
|
- - '>='
|
58
52
|
- !ruby/object:Gem::Version
|
59
53
|
version: '0'
|
60
|
-
none: false
|
61
54
|
prerelease: false
|
62
55
|
type: :development
|
63
56
|
- !ruby/object:Gem::Dependency
|
@@ -67,13 +60,11 @@ dependencies:
|
|
67
60
|
- - '>='
|
68
61
|
- !ruby/object:Gem::Version
|
69
62
|
version: '0'
|
70
|
-
none: false
|
71
63
|
requirement: !ruby/object:Gem::Requirement
|
72
64
|
requirements:
|
73
65
|
- - '>='
|
74
66
|
- !ruby/object:Gem::Version
|
75
67
|
version: '0'
|
76
|
-
none: false
|
77
68
|
prerelease: false
|
78
69
|
type: :development
|
79
70
|
- !ruby/object:Gem::Dependency
|
@@ -83,13 +74,11 @@ dependencies:
|
|
83
74
|
- - '>='
|
84
75
|
- !ruby/object:Gem::Version
|
85
76
|
version: '0'
|
86
|
-
none: false
|
87
77
|
requirement: !ruby/object:Gem::Requirement
|
88
78
|
requirements:
|
89
79
|
- - '>='
|
90
80
|
- !ruby/object:Gem::Version
|
91
81
|
version: '0'
|
92
|
-
none: false
|
93
82
|
prerelease: false
|
94
83
|
type: :development
|
95
84
|
description: The real YARD gem is maintained by Loren Segal. This is a fork made by DavidEGrayson to fix some things that were bothering him.
|
@@ -253,6 +242,7 @@ files:
|
|
253
242
|
- lib/yard/i18n/locale.rb
|
254
243
|
- lib/yard/i18n/message.rb
|
255
244
|
- lib/yard/i18n/messages.rb
|
245
|
+
- lib/yard/i18n/po_parser.rb
|
256
246
|
- lib/yard/i18n/pot_generator.rb
|
257
247
|
- lib/yard/i18n/text.rb
|
258
248
|
- lib/yard/logging.rb
|
@@ -663,6 +653,7 @@ files:
|
|
663
653
|
homepage: http://github.com/DavidEGrayson/yard
|
664
654
|
licenses:
|
665
655
|
- MIT
|
656
|
+
metadata: {}
|
666
657
|
post_install_message:
|
667
658
|
rdoc_options: []
|
668
659
|
require_paths:
|
@@ -672,18 +663,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
672
663
|
- - '>='
|
673
664
|
- !ruby/object:Gem::Version
|
674
665
|
version: '0'
|
675
|
-
none: false
|
676
666
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
677
667
|
requirements:
|
678
668
|
- - '>='
|
679
669
|
- !ruby/object:Gem::Version
|
680
670
|
version: '0'
|
681
|
-
none: false
|
682
671
|
requirements: []
|
683
672
|
rubyforge_project:
|
684
|
-
rubygems_version: 1.
|
673
|
+
rubygems_version: 2.1.9
|
685
674
|
signing_key:
|
686
|
-
specification_version:
|
675
|
+
specification_version: 4
|
687
676
|
summary: DavidEGrayson's fork of the YARD gem with unicode support.
|
688
677
|
test_files: []
|
689
678
|
has_rdoc:
|