yard-api 0.1.4 → 0.1.5
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 +4 -4
- data/README.md +16 -0
- data/lib/yard-api/options.rb +11 -2
- data/lib/yard-api/templates/helpers/html_helper.rb +2 -0
- data/lib/yard-api/version.rb +1 -1
- data/lib/yard-api/yardoc_task.rb +2 -0
- data/templates/api/layout/html/_dynamic_styles.erb +16 -0
- data/templates/api/layout/html/footer.erb +2 -4
- data/templates/api/layout/html/headers.erb +1 -1
- data/templates/api/layout/html/layout.erb +10 -2
- data/templates/api/layout/html/scripts.erb +8 -3
- data/templates/api/layout/html/setup.rb +8 -0
- data/templates/api/method_details/html/header.erb +3 -2
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4a7dbe342296a08ff5f47833f80909d984d0607
|
4
|
+
data.tar.gz: 278a23bc1ba6409da13fa24b7c755b19a0a38d09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fcbd79b911d4e108f36a5dbdc8bb52457ed88b12c4324350d71da1c7c48e84e821ccc910c94297843b12004473861be20b5252418f6f80c4539399868f8a970
|
7
|
+
data.tar.gz: 2d4c8731cf3ac058083028f433113cb2b9f41ef7603506f831329cdb1f7449532d4df9fc3b13702462023df2d065297d5cf87abe8d3262ee781f87807f771187
|
data/README.md
CHANGED
@@ -8,12 +8,28 @@ TODO
|
|
8
8
|
|
9
9
|
TODO
|
10
10
|
|
11
|
+
## Configuration
|
12
|
+
|
13
|
+
`yard-api` will look for a file in `config/yard_api.yml` in the Rails root for customizations. Configuration fields not specified in that file will be filled with the default values found in [config/yard_api.yml](https://github.com/amireh/yard-api/blob/master/config/yard_api.yml).
|
14
|
+
|
15
|
+
Read that file to view all the available options.
|
16
|
+
|
11
17
|
## Notes
|
12
18
|
|
13
19
|
- can only document classes and class methods; modules, root objects, and constants are ignored
|
14
20
|
|
15
21
|
## Changelog
|
16
22
|
|
23
|
+
**15/9/2014**
|
24
|
+
|
25
|
+
- `@argument` tags can now be formatted in a table by setting the `tabular_arguments` option to true
|
26
|
+
- `@argument_scope`: a new tag that improves the formatting of endpoint arguments that are scoped by a common prefix (e.g, nested inside a json object), like `user[name]` => `name`
|
27
|
+
- `@argument` can now parse accepted values in two formats; inline within the types array, or by explicitly writing it in the tag text using any of `Accepted values: [...]`, `Accepts: [...]`, or `Possible values: [...]`
|
28
|
+
- A new option: `strict_arguments` that provides a default for the `is_required` property of `@argument` tags. This default is used if the tag does not explicitly state `Optional` or `Required` in its type specifier.
|
29
|
+
- Support for dynamic javascript and style code based on options. See `templates/layout/setup.rb#inline_{javascripts,stylesheets}`
|
30
|
+
- A new set of options for customizing layout: `content_width`, `sidebar_width` and `spacer`
|
31
|
+
- `github_url` and `github_branch` options for tuning api endpoint source links
|
32
|
+
|
17
33
|
**14/9/2014**
|
18
34
|
|
19
35
|
- Support for single-page output through the `one_file` option
|
data/lib/yard-api/options.rb
CHANGED
@@ -1,13 +1,18 @@
|
|
1
1
|
module YARD::APIPlugin
|
2
|
+
# See config/yard_api.yml for documentation for the options.
|
2
3
|
class Options < YARD::Options
|
3
4
|
default_attr :title, 'Rails API Project'
|
5
|
+
default_attr :window_title, 'Rails API Project Documentation'
|
6
|
+
default_attr :version, ''
|
4
7
|
default_attr :source, 'doc/api'
|
5
8
|
default_attr :static, []
|
6
9
|
default_attr :files, []
|
7
10
|
default_attr :route_namespace, ''
|
11
|
+
default_attr :github_url, nil
|
12
|
+
default_attr :github_branch, 'master'
|
8
13
|
|
9
|
-
default_attr :footer_copyright,
|
10
|
-
default_attr :footer_note,
|
14
|
+
default_attr :footer_copyright, ''
|
15
|
+
default_attr :footer_note, ''
|
11
16
|
|
12
17
|
default_attr :one_file, false
|
13
18
|
default_attr :verbose, false
|
@@ -17,6 +22,10 @@ module YARD::APIPlugin
|
|
17
22
|
default_attr :tabular_arguments, false
|
18
23
|
default_attr :strict_arguments, false
|
19
24
|
|
25
|
+
default_attr :sidebar_width, 240
|
26
|
+
default_attr :content_width, 'fluid'
|
27
|
+
default_attr :spacer, 20
|
28
|
+
|
20
29
|
attr_accessor :readme
|
21
30
|
end
|
22
31
|
end
|
data/lib/yard-api/version.rb
CHANGED
data/lib/yard-api/yardoc_task.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
<style>
|
2
|
+
body {
|
3
|
+
padding-left: <%= api_options.sidebar_width + api_options.spacer %>px;
|
4
|
+
padding-right: <%= api_options.spacer %>px;
|
5
|
+
}
|
6
|
+
|
7
|
+
#sidebar {
|
8
|
+
width: <%= api_options.sidebar_width %>px;
|
9
|
+
}
|
10
|
+
|
11
|
+
<% if api_options.content_width.to_i > 0 %>
|
12
|
+
#content {
|
13
|
+
max-width: <%= api_options.content_width %>px;
|
14
|
+
}
|
15
|
+
<% end %>
|
16
|
+
</style>
|
@@ -1,11 +1,9 @@
|
|
1
1
|
<div id="footer">
|
2
2
|
<p>
|
3
|
-
|
4
|
-
<%= api_options['footer_copyright'] %>
|
5
|
-
<% end %>
|
3
|
+
<%= api_options.footer_copyright.to_s %>
|
6
4
|
|
7
5
|
Generated on <%= Time.now.strftime("%c") %>
|
8
6
|
</p>
|
9
7
|
|
10
|
-
<%= api_options
|
8
|
+
<%= api_options.footer_note.to_s %>
|
11
9
|
</div>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<meta name="Content-Type" content="text/html;charset=UTF-8">
|
2
2
|
<meta charset="UTF-8">
|
3
3
|
|
4
|
-
<title><%= api_options
|
4
|
+
<title><%= api_options.window_title || api_options.title %></title>
|
5
5
|
|
6
6
|
<% stylesheets.each do |stylesheet| %>
|
7
7
|
<link rel="stylesheet" href="<%= url_for(stylesheet) %>" type="text/css" charset="utf-8" />
|
@@ -2,16 +2,20 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<%= erb(:headers) %>
|
5
|
+
|
6
|
+
<% inline_stylesheets.each do |style| %>
|
7
|
+
<%= erb(style) %>
|
8
|
+
<% end %>
|
5
9
|
</head>
|
6
10
|
|
7
|
-
<body class="theme-<%= api_options.theme %>">
|
11
|
+
<body class="theme-<%= api_options.theme %> <%= 'onefile' if api_options.one_file %>">
|
8
12
|
<div id="sidebar">
|
9
13
|
<%= erb(:sidebar) %>
|
10
14
|
</div>
|
11
15
|
|
12
16
|
<% if options[:all_resources] %>
|
13
17
|
<div id="content">
|
14
|
-
<% if api_options
|
18
|
+
<% if api_options.one_file %>
|
15
19
|
<% static_pages.each do |page| %>
|
16
20
|
<%= diskfile page[:src] %>
|
17
21
|
<% end %>
|
@@ -27,5 +31,9 @@
|
|
27
31
|
|
28
32
|
<%= erb(:footer) %>
|
29
33
|
<%= erb(:scripts) %>
|
34
|
+
|
35
|
+
<% inline_javascripts.each do |script| %>
|
36
|
+
<%= erb(script) %>
|
37
|
+
<% end %>
|
30
38
|
</body>
|
31
39
|
</html>
|
@@ -20,11 +20,16 @@
|
|
20
20
|
$(function() {
|
21
21
|
var currentPage = location.pathname.match(/\/([^\/]+)$/)[1];
|
22
22
|
var $page = $('#sidebar [href="' + currentPage + '"]');
|
23
|
-
|
24
|
-
|
23
|
+
|
24
|
+
if (!currentPage) {
|
25
|
+
return;
|
25
26
|
}
|
26
27
|
|
27
|
-
$page.
|
28
|
+
// if ($page.length === 0) {
|
29
|
+
// $page = $('#sidebar a[href=""]');
|
30
|
+
// }
|
31
|
+
|
32
|
+
// $page.addClass('active');
|
28
33
|
console.log('Highlighting current page:', $page, currentPage);
|
29
34
|
});
|
30
35
|
|
@@ -24,6 +24,10 @@ def stylesheets
|
|
24
24
|
]
|
25
25
|
end
|
26
26
|
|
27
|
+
def inline_stylesheets
|
28
|
+
[ '_dynamic_styles' ]
|
29
|
+
end
|
30
|
+
|
27
31
|
def javascripts
|
28
32
|
%w[
|
29
33
|
js/jquery-1.11.1.min.js
|
@@ -31,6 +35,10 @@ def javascripts
|
|
31
35
|
]
|
32
36
|
end
|
33
37
|
|
38
|
+
def inline_javascripts
|
39
|
+
[]
|
40
|
+
end
|
41
|
+
|
34
42
|
def contents
|
35
43
|
@contents
|
36
44
|
end
|
@@ -4,8 +4,9 @@
|
|
4
4
|
<%= object.tag("API").try(:text) %>
|
5
5
|
</a>
|
6
6
|
|
7
|
-
<% if @controller_path %>
|
8
|
-
<span class='defined-in'
|
7
|
+
<% if @controller_path && !api_options.github_url.to_s.empty? %>
|
8
|
+
<span class='defined-in'>
|
9
|
+
<a href="<%= api_options.github_url %>/blob/<%= api_options.github_branch %>/<%= @controller_path %>"><%= "#{@route.requirements[:controller].camelize}Controller\##{@route.requirements[:action]}" %></a></span>
|
9
10
|
<% end %>
|
10
11
|
</h2>
|
11
12
|
<%= yieldall %>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ahmad Amireh
|
@@ -95,6 +95,7 @@ files:
|
|
95
95
|
- templates/api/docstring/html/setup.rb
|
96
96
|
- templates/api/docstring/html/text.erb
|
97
97
|
- templates/api/fulldoc/html/setup.rb
|
98
|
+
- templates/api/layout/html/_dynamic_styles.erb
|
98
99
|
- templates/api/layout/html/footer.erb
|
99
100
|
- templates/api/layout/html/headers.erb
|
100
101
|
- templates/api/layout/html/layout.erb
|