yard-api 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -0
- data/lib/yard-api/templates/helpers/html_helper.rb +27 -0
- data/lib/yard-api/version.rb +1 -1
- data/lib/yard-api/yardoc_task.rb +1 -0
- data/templates/api/docstring/html/text.erb +2 -2
- data/templates/api/fulldoc/html/setup.rb +11 -0
- data/templates/api/layout/html/layout.erb +15 -1
- data/templates/api/layout/html/scripts.erb +12 -0
- data/templates/api/layout/html/setup.rb +18 -13
- data/templates/api/layout/html/sidebar.erb +9 -15
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e57e3582930e4a46f3b37f99587c6920eef9b569
|
4
|
+
data.tar.gz: 10ddc0a2d4286478cc9ffaf0bcba61594addc973
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52f99424016cc8c6926546d31e5196f79fc3d75e044b1aa371e7b161971584abf255b6f4335db309f8885bc42aba1ea10cb0ec1b473f9d0c2b0405e43b6acd77
|
7
|
+
data.tar.gz: cf0581d7c557506965ebd32dd890d99d29711052732db16b1e65b56193548c06f394b0a37c1121f7eb7f8301f41ff130bb17fa17f4e09b6f483f6e3d4ec0b8e1
|
data/README.md
CHANGED
@@ -14,6 +14,11 @@ TODO
|
|
14
14
|
|
15
15
|
## Changelog
|
16
16
|
|
17
|
+
**14/9/2014**
|
18
|
+
|
19
|
+
- Support for single-page output through the `one_file` option
|
20
|
+
- Support for resource index generation ("All Resources") through the `resource_index` option
|
21
|
+
|
17
22
|
**10/9/2014**
|
18
23
|
|
19
24
|
- Support for github-flavored markdown when you're using Markdown as a markup, and `redcarpet` as the provider
|
@@ -84,4 +84,31 @@ module YARD::Templates::Helpers::HtmlHelper
|
|
84
84
|
bookmark = "#{appendix.name.to_s.gsub(' ', '+')}-appendix"
|
85
85
|
link_url("#{html_file}##{bookmark}", appendix.title)
|
86
86
|
end
|
87
|
+
|
88
|
+
def sidebar_link(title, href)
|
89
|
+
<<-HTML
|
90
|
+
<a href="#{url_for(href)}">#{title}</a>
|
91
|
+
HTML
|
92
|
+
end
|
93
|
+
|
94
|
+
# Turns text into HTML using +markup+ style formatting.
|
95
|
+
#
|
96
|
+
# @override Syntax highlighting is not performed on the HTML block.
|
97
|
+
# @param [String] text the text to format
|
98
|
+
# @param [Symbol] markup examples are +:markdown+, +:textile+, +:rdoc+.
|
99
|
+
# To add a custom markup type, see {MarkupHelper}
|
100
|
+
# @return [String] the HTML
|
101
|
+
def htmlify(text, markup = options.markup)
|
102
|
+
markup_meth = "html_markup_#{markup}"
|
103
|
+
return text unless respond_to?(markup_meth)
|
104
|
+
return "" unless text
|
105
|
+
return text unless markup
|
106
|
+
html = send(markup_meth, text)
|
107
|
+
if html.respond_to?(:encode)
|
108
|
+
html = html.force_encoding(text.encoding) # for libs that mess with encoding
|
109
|
+
html = html.encode(:invalid => :replace, :replace => '?')
|
110
|
+
end
|
111
|
+
html = resolve_links(html)
|
112
|
+
html
|
113
|
+
end
|
87
114
|
end
|
data/lib/yard-api/version.rb
CHANGED
data/lib/yard-api/yardoc_task.rb
CHANGED
@@ -34,6 +34,7 @@ module YARD::APIPlugin
|
|
34
34
|
|
35
35
|
set_option('title', config['title'])
|
36
36
|
set_option('output-dir', config['output'])
|
37
|
+
set_option('one-file') if config['one_file']
|
37
38
|
set_option('readme', config['readme']) if File.exists?(config['readme'])
|
38
39
|
set_option('verbose') if config['verbose']
|
39
40
|
set_option('debug') if config['debug']
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<% untagged = object.tags.reject { |tag| tag.tag_name == 'API' }.empty? %>
|
2
2
|
|
3
3
|
<% text = object.docstring.strip %>
|
4
|
-
<% text = '
|
4
|
+
<% text = '<em>No documentation available yet.</em>' if text.empty? && untagged %>
|
5
5
|
|
6
|
-
<%=
|
6
|
+
<%= htmlify(text) %>
|
@@ -12,6 +12,7 @@ def init
|
|
12
12
|
generate_assets
|
13
13
|
serialize_index
|
14
14
|
serialize_static_pages
|
15
|
+
serialize_mega_index if api_options['resource_index']
|
15
16
|
|
16
17
|
options.delete(:objects)
|
17
18
|
|
@@ -42,6 +43,16 @@ def serialize_index
|
|
42
43
|
options.delete(:file)
|
43
44
|
end
|
44
45
|
|
46
|
+
def serialize_mega_index
|
47
|
+
options[:all_resources] = true
|
48
|
+
|
49
|
+
Templates::Engine.with_serializer("all_resources.html", options[:serializer]) do
|
50
|
+
T('layout').run(options)
|
51
|
+
end
|
52
|
+
|
53
|
+
options.delete(:all_resources)
|
54
|
+
end
|
55
|
+
|
45
56
|
def asset(path, content)
|
46
57
|
options[:serializer].serialize(path, content) if options[:serializer]
|
47
58
|
end
|
@@ -9,7 +9,21 @@
|
|
9
9
|
<%= erb(:sidebar) %>
|
10
10
|
</div>
|
11
11
|
|
12
|
-
|
12
|
+
<% if options[:all_resources] %>
|
13
|
+
<div id="content">
|
14
|
+
<% if api_options['one_file'] %>
|
15
|
+
<% static_pages.each do |page| %>
|
16
|
+
<%= diskfile page[:src] %>
|
17
|
+
<% end %>
|
18
|
+
<% end %>
|
19
|
+
|
20
|
+
<% options[:resources].each do |resource, controllers| %>
|
21
|
+
<%= yieldall object: resource, controllers: controllers %>
|
22
|
+
<% end %>
|
23
|
+
</div>
|
24
|
+
<% else %>
|
25
|
+
<div id="content"><%= yieldall %></div>
|
26
|
+
<% end %>
|
13
27
|
|
14
28
|
<%= erb(:footer) %>
|
15
29
|
<%= erb(:scripts) %>
|
@@ -16,6 +16,18 @@
|
|
16
16
|
$('<li>').append($link).appendTo($row);
|
17
17
|
});
|
18
18
|
|
19
|
+
// Highlight the current page in the sidebar
|
20
|
+
$(function() {
|
21
|
+
var currentPage = location.pathname.match(/\/([^\/]+)$/)[1];
|
22
|
+
var $page = $('#sidebar [href="' + currentPage + '"]');
|
23
|
+
if ($page.length === 0) {
|
24
|
+
$page = $('#sidebar a[href=""]');
|
25
|
+
}
|
26
|
+
|
27
|
+
$page.addClass('current');
|
28
|
+
console.log('Highlighting current page:', $page, currentPage);
|
29
|
+
});
|
30
|
+
|
19
31
|
$('#content pre.code').each(function(i, block) {
|
20
32
|
var code;
|
21
33
|
var $block = $(block);
|
@@ -1,20 +1,15 @@
|
|
1
1
|
include Helpers::FilterHelper
|
2
2
|
|
3
3
|
def init
|
4
|
-
@breadcrumb = []
|
5
|
-
|
6
4
|
@page_title = options[:title]
|
7
5
|
|
8
|
-
if
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
else
|
13
|
-
@contents = @file.contents
|
14
|
-
@file = File.basename(@file.path)
|
15
|
-
end
|
16
|
-
def @object.source_type; nil; end
|
6
|
+
if options[:inline_file]
|
7
|
+
@contents = File.read(options[:file])
|
8
|
+
sections :diskfile
|
9
|
+
elsif @file
|
17
10
|
sections :layout, [:diskfile]
|
11
|
+
elsif options[:all_resources]
|
12
|
+
sections :layout, [T('topic'), T('appendix')]
|
18
13
|
elsif options[:controllers]
|
19
14
|
sections :layout, [T('topic'), T('appendix')]
|
20
15
|
else
|
@@ -34,9 +29,19 @@ def index
|
|
34
29
|
erb(:index)
|
35
30
|
end
|
36
31
|
|
37
|
-
def diskfile
|
32
|
+
def diskfile(filename=@file)
|
33
|
+
if filename.is_a?(String)
|
34
|
+
@contents = File.read(filename)
|
35
|
+
filename = File.basename(filename)
|
36
|
+
elsif filename.is_a?(File)
|
37
|
+
@contents = filename.contents
|
38
|
+
filename = File.basename(filename.path)
|
39
|
+
end
|
40
|
+
|
41
|
+
extension = (File.extname(filename)[1..-1] || '').downcase
|
42
|
+
|
38
43
|
content = "<div id='filecontents'>" +
|
39
|
-
case
|
44
|
+
case extension
|
40
45
|
when 'htm', 'html'
|
41
46
|
@contents
|
42
47
|
when 'txt'
|
@@ -5,25 +5,19 @@
|
|
5
5
|
</h1>
|
6
6
|
|
7
7
|
<h2 class='first'>Pages</h2>
|
8
|
-
|
9
|
-
|
10
|
-
class="<%= 'current' if options[:object] == 'index.html' %>">Home
|
11
|
-
</a>
|
8
|
+
|
9
|
+
<%= sidebar_link('Home', 'index.html') %>
|
12
10
|
|
13
11
|
<% static_pages.each do |page| %>
|
14
|
-
|
15
|
-
class="<%= 'current' if options[:object] == page[:filename] %>">
|
16
|
-
<%= page[:title] %>
|
17
|
-
</a>
|
12
|
+
<%= sidebar_link(page[:title], page[:filename]) %>
|
18
13
|
<% end %>
|
19
14
|
|
20
15
|
<h2>Resources</h2>
|
21
|
-
<%
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
%>
|
27
|
-
<a class="<%= klass.join(' ') %>" href="<%= link %>"><%= resource %></a>
|
16
|
+
<% if api_options['resource_index'] %>
|
17
|
+
<%= sidebar_link('All Resources', 'all_resources.html') %>
|
18
|
+
<% end %>
|
19
|
+
|
20
|
+
<% options[:resources].each do |resource, controllers| %>
|
21
|
+
<%= sidebar_link resource, "#{topicize(resource)}.html" %>
|
28
22
|
<% end %>
|
29
23
|
</nav>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yard-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ahmad Amireh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: yard
|