yard-api 0.1.1 → 0.1.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 +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
         
     |