middleman-blog 3.5.3 → 3.6.0.beta.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/features/paginate.feature +70 -6
 - data/fixtures/paginate-app/config-directory-indexes.rb +7 -0
 - data/fixtures/paginate-app/config-paginate-off.rb +7 -0
 - data/fixtures/paginate-app/config.rb +7 -0
 - data/fixtures/paginate-app/source/blog/2011-01-01-test-article.html.markdown +1 -0
 - data/fixtures/paginate-app/source/blog/2011-01-02-test-article.html.markdown +1 -0
 - data/fixtures/paginate-app/source/blog/2011-01-03-test-article.html.markdown +1 -0
 - data/fixtures/paginate-app/source/blog/2011-01-04-test-article.html.markdown +1 -0
 - data/fixtures/paginate-app/source/blog/2011-01-05-test-article.html.markdown +1 -0
 - data/fixtures/paginate-app/source/blog/2011-02-01-test-article.html.markdown +1 -0
 - data/fixtures/paginate-app/source/blog/2011-02-02-test-article.html.markdown +1 -0
 - data/fixtures/paginate-app/source/category.html.erb +23 -0
 - data/lib/middleman-blog.rb +7 -1
 - data/lib/middleman-blog/blog_article.rb +1 -1
 - data/lib/middleman-blog/commands/article.rb +1 -1
 - data/lib/middleman-blog/commands/article.tt +1 -1
 - data/lib/middleman-blog/extension.rb +7 -7
 - data/lib/middleman-blog/helpers.rb +19 -2
 - data/lib/middleman-blog/paginator.rb +2 -2
 - data/lib/middleman-blog/version.rb +1 -1
 - data/middleman-blog.gemspec +1 -1
 - metadata +10 -8
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 6fd8e5447b47c113fc7c58ae2cd7555cc070adcf
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: d4586b9545fc038a1af9d415255952b0e3cdda76
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: f35f5e4c6bb2c3b56e3bde38ff60928ecd49b56656acba2a338b7752ad6406d707b323fbea63e82041ad2fa5837205cdcefedbd791b65defd7741138814aa8c0
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: d8fbcc07cce2c0c330e1b0969ffe0eee303d1964752398d2d5f4d028394f6a09df65b43932c943fb41c6bd8c279fe7460968b0d07d60cef6fb870840ab5bccdc
         
     | 
    
        data/features/paginate.feature
    CHANGED
    
    | 
         @@ -50,6 +50,31 @@ Feature: Pagination 
     | 
|
| 
       50 
50 
     | 
    
         
             
                Then I should not see "/2011-01-04-test-article.html"
         
     | 
| 
       51 
51 
     | 
    
         
             
                Then I should not see "/2011-01-03-test-article.html"
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
      
 53 
     | 
    
         
            +
                When I go to "/categories/ruby-on-rails.html"
         
     | 
| 
      
 54 
     | 
    
         
            +
                Then I should see "Paginate: true"
         
     | 
| 
      
 55 
     | 
    
         
            +
                Then I should see "Article Count: 2"
         
     | 
| 
      
 56 
     | 
    
         
            +
                Then I should see "Num Pages: 3"
         
     | 
| 
      
 57 
     | 
    
         
            +
                Then I should see "Page Start: 1"
         
     | 
| 
      
 58 
     | 
    
         
            +
                Then I should see "Page End: 2"
         
     | 
| 
      
 59 
     | 
    
         
            +
                Then I should see "Next Page: '/categories/ruby-on-rails/page/2.html'"
         
     | 
| 
      
 60 
     | 
    
         
            +
                Then I should see "Prev Page: ''"
         
     | 
| 
      
 61 
     | 
    
         
            +
                Then I should see "/2011-01-05-test-article.html"
         
     | 
| 
      
 62 
     | 
    
         
            +
                Then I should see "/2011-01-04-test-article.html"
         
     | 
| 
      
 63 
     | 
    
         
            +
                Then I should not see "/2011-01-03-test-article.html"
         
     | 
| 
      
 64 
     | 
    
         
            +
                Then I should not see "/2011-01-02-test-article.html"
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                When I go to "/categories/ruby-on-rails/page/2.html"
         
     | 
| 
      
 67 
     | 
    
         
            +
                Then I should see "Article Count: 2"
         
     | 
| 
      
 68 
     | 
    
         
            +
                Then I should see "Num Pages: 3"
         
     | 
| 
      
 69 
     | 
    
         
            +
                Then I should see "Page Start: 3"
         
     | 
| 
      
 70 
     | 
    
         
            +
                Then I should see "Page End: 4"
         
     | 
| 
      
 71 
     | 
    
         
            +
                Then I should see "Next Page: '/categories/ruby-on-rails/page/3.html'"
         
     | 
| 
      
 72 
     | 
    
         
            +
                Then I should see "Prev Page: '/categories/ruby-on-rails.html'"
         
     | 
| 
      
 73 
     | 
    
         
            +
                Then I should not see "/2011-01-05-test-article.html"
         
     | 
| 
      
 74 
     | 
    
         
            +
                Then I should not see "/2011-01-04-test-article.html"
         
     | 
| 
      
 75 
     | 
    
         
            +
                Then I should see "/2011-01-03-test-article.html"
         
     | 
| 
      
 76 
     | 
    
         
            +
                Then I should see "/2011-01-02-test-article.html"
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
       53 
78 
     | 
    
         
             
              Scenario: Index pages are accessible from preview server, with pagination off
         
     | 
| 
       54 
79 
     | 
    
         
             
                Given a fixture app "paginate-app"
         
     | 
| 
       55 
80 
     | 
    
         
             
                And app "paginate-app" is using config "paginate-off"
         
     | 
| 
         @@ -96,6 +121,21 @@ Feature: Pagination 
     | 
|
| 
       96 
121 
     | 
    
         
             
                Then I should not see "/2011-01-04-test-article.html"
         
     | 
| 
       97 
122 
     | 
    
         
             
                Then I should not see "/2011-01-03-test-article.html"
         
     | 
| 
       98 
123 
     | 
    
         | 
| 
      
 124 
     | 
    
         
            +
                When I go to "/categories/ruby-on-rails.html"
         
     | 
| 
      
 125 
     | 
    
         
            +
                Then I should see "Paginate: false"
         
     | 
| 
      
 126 
     | 
    
         
            +
                Then I should see "Article Count: 2"
         
     | 
| 
      
 127 
     | 
    
         
            +
                Then I should see "/2011-01-05-test-article.html"
         
     | 
| 
      
 128 
     | 
    
         
            +
                Then I should see "/2011-01-04-test-article.html"
         
     | 
| 
      
 129 
     | 
    
         
            +
                Then I should not see "/2011-01-03-test-article.html"
         
     | 
| 
      
 130 
     | 
    
         
            +
                Then I should not see "/2011-01-02-test-article.html"
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
                When I go to "/categories/travel.html"
         
     | 
| 
      
 133 
     | 
    
         
            +
                Then I should see "Paginate: false"
         
     | 
| 
      
 134 
     | 
    
         
            +
                Then I should see "Article Count: 2"
         
     | 
| 
      
 135 
     | 
    
         
            +
                Then I should see "/2011-02-02-test-article.html"
         
     | 
| 
      
 136 
     | 
    
         
            +
                Then I should see "/2011-02-01-test-article.html"
         
     | 
| 
      
 137 
     | 
    
         
            +
                Then I should not see "/2011-01-05-test-article.html"
         
     | 
| 
      
 138 
     | 
    
         
            +
             
     | 
| 
       99 
139 
     | 
    
         
             
              Scenario: Index pages are accessible from preview server, with directory_indexes on
         
     | 
| 
       100 
140 
     | 
    
         
             
                Given a fixture app "paginate-app"
         
     | 
| 
       101 
141 
     | 
    
         
             
                And app "paginate-app" is using config "directory-indexes"
         
     | 
| 
         @@ -114,19 +154,27 @@ Feature: Pagination 
     | 
|
| 
       114 
154 
     | 
    
         
             
                When I go to "/tags/bar/"
         
     | 
| 
       115 
155 
     | 
    
         
             
                Then I should see "Next Page: '/tags/bar/page/2/'"
         
     | 
| 
       116 
156 
     | 
    
         | 
| 
      
 157 
     | 
    
         
            +
                When I go to "/categories/ruby-on-rails/"
         
     | 
| 
      
 158 
     | 
    
         
            +
                Then I should see "Next Page: '/categories/ruby-on-rails/page/2/'"
         
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
       117 
160 
     | 
    
         
             
              Scenario: Index pages also get built
         
     | 
| 
       118 
161 
     | 
    
         
             
                Given a successfully built app at "paginate-app"
         
     | 
| 
       119 
162 
     | 
    
         
             
                When I cd to "build"
         
     | 
| 
       120 
163 
     | 
    
         
             
                Then the following files should exist:
         
     | 
| 
       121 
     | 
    
         
            -
                | tags/foo.html 
     | 
| 
       122 
     | 
    
         
            -
                | tags/bar.html 
     | 
| 
       123 
     | 
    
         
            -
                | tags/bar/page/2.html 
     | 
| 
       124 
     | 
    
         
            -
                | tags/bar/page/3.html 
     | 
| 
       125 
     | 
    
         
            -
                |  
     | 
| 
       126 
     | 
    
         
            -
                |  
     | 
| 
      
 164 
     | 
    
         
            +
                | tags/foo.html                        |
         
     | 
| 
      
 165 
     | 
    
         
            +
                | tags/bar.html                        |
         
     | 
| 
      
 166 
     | 
    
         
            +
                | tags/bar/page/2.html                 |
         
     | 
| 
      
 167 
     | 
    
         
            +
                | tags/bar/page/3.html                 |
         
     | 
| 
      
 168 
     | 
    
         
            +
                | categories/ruby-on-rails.html        |
         
     | 
| 
      
 169 
     | 
    
         
            +
                | categories/ruby-on-rails/page/2.html |
         
     | 
| 
      
 170 
     | 
    
         
            +
                | categories/ruby-on-rails/page/3.html |
         
     | 
| 
      
 171 
     | 
    
         
            +
                | categories/travel.html               |
         
     | 
| 
      
 172 
     | 
    
         
            +
                | 2011.html                            |
         
     | 
| 
      
 173 
     | 
    
         
            +
                | 2011/page/2.html                     |
         
     | 
| 
       127 
174 
     | 
    
         
             
                Then the following files should not exist:
         
     | 
| 
       128 
175 
     | 
    
         
             
                | tags.html     |
         
     | 
| 
       129 
176 
     | 
    
         
             
                | calendar.html |
         
     | 
| 
      
 177 
     | 
    
         
            +
                | category.html |
         
     | 
| 
       130 
178 
     | 
    
         | 
| 
       131 
179 
     | 
    
         
             
                And the file "2011/page/2.html" should contain "Year: '2011'"
         
     | 
| 
       132 
180 
     | 
    
         
             
                And the file "2011/page/2.html" should contain "Month: ''"
         
     | 
| 
         @@ -148,6 +196,13 @@ Feature: Pagination 
     | 
|
| 
       148 
196 
     | 
    
         
             
                And the file "tags/bar/page/3.html" should contain "Next Page: ''"
         
     | 
| 
       149 
197 
     | 
    
         
             
                And the file "tags/bar/page/3.html" should contain "/2011-01-03-test-article.html"
         
     | 
| 
       150 
198 
     | 
    
         | 
| 
      
 199 
     | 
    
         
            +
                And the file "categories/ruby-on-rails/page/2.html" should contain "Category: ruby-on-rails"
         
     | 
| 
      
 200 
     | 
    
         
            +
                And the file "categories/ruby-on-rails/page/2.html" should contain "Article Count: 2"
         
     | 
| 
      
 201 
     | 
    
         
            +
                And the file "categories/ruby-on-rails/page/2.html" should contain "Prev Page: '/categories/ruby-on-rails.html'"
         
     | 
| 
      
 202 
     | 
    
         
            +
                And the file "categories/ruby-on-rails/page/2.html" should contain "Next Page: '/categories/ruby-on-rails/page/3.html'"
         
     | 
| 
      
 203 
     | 
    
         
            +
                And the file "categories/ruby-on-rails/page/2.html" should contain "/2011-01-03-test-article.html"
         
     | 
| 
      
 204 
     | 
    
         
            +
                And the file "categories/ruby-on-rails/page/2.html" should contain "/2011-01-02-test-article.html"
         
     | 
| 
      
 205 
     | 
    
         
            +
             
     | 
| 
       151 
206 
     | 
    
         
             
              Scenario: Adding a tag to a post in preview adds a new index page
         
     | 
| 
       152 
207 
     | 
    
         
             
                Given the Server is running at "paginate-app"
         
     | 
| 
       153 
208 
     | 
    
         
             
                When I go to "/tags/foo.html"
         
     | 
| 
         @@ -163,6 +218,7 @@ Feature: Pagination 
     | 
|
| 
       163 
218 
     | 
    
         
             
                  title: "Newest Article"
         
     | 
| 
       164 
219 
     | 
    
         
             
                  date: 2011-02-03
         
     | 
| 
       165 
220 
     | 
    
         
             
                  tags: foo
         
     | 
| 
      
 221 
     | 
    
         
            +
                  category: ruby-on-rails
         
     | 
| 
       166 
222 
     | 
    
         
             
                  ---
         
     | 
| 
       167 
223 
     | 
    
         | 
| 
       168 
224 
     | 
    
         
             
                  Newer Article Content
         
     | 
| 
         @@ -174,3 +230,11 @@ Feature: Pagination 
     | 
|
| 
       174 
230 
     | 
    
         | 
| 
       175 
231 
     | 
    
         
             
                When I go to "/tags/foo/page/2.html"
         
     | 
| 
       176 
232 
     | 
    
         
             
                Then I should see "/2011-01-01-test-article.html"
         
     | 
| 
      
 233 
     | 
    
         
            +
             
     | 
| 
      
 234 
     | 
    
         
            +
                When I go to "/categories/ruby-on-rails.html"
         
     | 
| 
      
 235 
     | 
    
         
            +
                Then I should see "Next Page: '/categories/ruby-on-rails/page/2.html'"
         
     | 
| 
      
 236 
     | 
    
         
            +
                Then I should see "/2011-02-03-new-article.html"
         
     | 
| 
      
 237 
     | 
    
         
            +
                Then I should not see "/2011-01-04-test-article.html"
         
     | 
| 
      
 238 
     | 
    
         
            +
             
     | 
| 
      
 239 
     | 
    
         
            +
                When I go to "/categories/ruby-on-rails/page/2.html"
         
     | 
| 
      
 240 
     | 
    
         
            +
                Then I should see "/2011-01-04-test-article.html"
         
     | 
| 
         @@ -5,6 +5,13 @@ activate :blog do |blog| 
     | 
|
| 
       5 
5 
     | 
    
         
             
              blog.tag_template      = 'tag.html'
         
     | 
| 
       6 
6 
     | 
    
         
             
              blog.paginate          = true
         
     | 
| 
       7 
7 
     | 
    
         
             
              blog.per_page          = 5
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              blog.custom_collections = {
         
     | 
| 
      
 10 
     | 
    
         
            +
                :category => {
         
     | 
| 
      
 11 
     | 
    
         
            +
                  :link     => '/categories/:category.html',
         
     | 
| 
      
 12 
     | 
    
         
            +
                  :template => '/category.html'
         
     | 
| 
      
 13 
     | 
    
         
            +
                }
         
     | 
| 
      
 14 
     | 
    
         
            +
              }
         
     | 
| 
       8 
15 
     | 
    
         
             
            end
         
     | 
| 
       9 
16 
     | 
    
         | 
| 
       10 
17 
     | 
    
         
             
            activate :directory_indexes
         
     | 
| 
         @@ -0,0 +1,23 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            pageable: true
         
     | 
| 
      
 3 
     | 
    
         
            +
            per_page: 2
         
     | 
| 
      
 4 
     | 
    
         
            +
            ---
         
     | 
| 
      
 5 
     | 
    
         
            +
            Category: <%= category %>
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            Paginate: <%= paginate %>
         
     | 
| 
      
 8 
     | 
    
         
            +
            Article Count: <%= page_articles.size %>
         
     | 
| 
      
 9 
     | 
    
         
            +
            <% if paginate %>
         
     | 
| 
      
 10 
     | 
    
         
            +
            Page Num: <%= page_number %>
         
     | 
| 
      
 11 
     | 
    
         
            +
            Num Pages: <%= num_pages %>
         
     | 
| 
      
 12 
     | 
    
         
            +
            Per Page: <%= per_page %>
         
     | 
| 
      
 13 
     | 
    
         
            +
            Page Start: <%= page_start %>
         
     | 
| 
      
 14 
     | 
    
         
            +
            Page End: <%= page_end %>
         
     | 
| 
      
 15 
     | 
    
         
            +
            Next Page: '<%= next_page.url if next_page %>'
         
     | 
| 
      
 16 
     | 
    
         
            +
            Prev Page: '<%= prev_page.url if prev_page %>'
         
     | 
| 
      
 17 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            <% if page_articles %>
         
     | 
| 
      
 20 
     | 
    
         
            +
              <% page_articles.each do |article| %>
         
     | 
| 
      
 21 
     | 
    
         
            +
                <li><a href="<%= article.url %>"><%= article.title %></a> <time><%= article.date.strftime('%b %e') %></time></li>
         
     | 
| 
      
 22 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 23 
     | 
    
         
            +
            <% end %>
         
     | 
    
        data/lib/middleman-blog.rb
    CHANGED
    
    | 
         @@ -1,7 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require "middleman-core"
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            require "middleman-blog/version"
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            begin
         
     | 
| 
      
 6 
     | 
    
         
            +
              require "middleman-blog/template"
         
     | 
| 
      
 7 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 8 
     | 
    
         
            +
              # v4
         
     | 
| 
      
 9 
     | 
    
         
            +
            end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       5 
11 
     | 
    
         
             
            require "middleman-blog/commands/article"
         
     | 
| 
       6 
12 
     | 
    
         | 
| 
       7 
13 
     | 
    
         
             
            ::Middleman::Extensions.register(:blog) do
         
     | 
| 
         @@ -57,7 +57,7 @@ module Middleman 
     | 
|
| 
       57 
57 
     | 
    
         
             
                  # An article is considered published in the following scenarios:
         
     | 
| 
       58 
58 
     | 
    
         
             
                  #
         
     | 
| 
       59 
59 
     | 
    
         
             
                  # 1. Frontmatter does not set +published+ to false and either
         
     | 
| 
       60 
     | 
    
         
            -
                  # 2. The blog option + 
     | 
| 
      
 60 
     | 
    
         
            +
                  # 2. The blog option +publish_future_dated+ is true or
         
     | 
| 
       61 
61 
     | 
    
         
             
                  # 3. The article's date is after the current time
         
     | 
| 
       62 
62 
     | 
    
         
             
                  # @return [Boolean]
         
     | 
| 
       63 
63 
     | 
    
         
             
                  def published?
         
     | 
| 
         @@ -28,7 +28,7 @@ module Middleman 
     | 
|
| 
       28 
28 
     | 
    
         
             
                    desc: "The date to create the post with (defaults to now)"
         
     | 
| 
       29 
29 
     | 
    
         
             
                  method_option "lang",
         
     | 
| 
       30 
30 
     | 
    
         
             
                    aliases: "-l",
         
     | 
| 
       31 
     | 
    
         
            -
                    desc: "The language to create the post with (defaults to I18n.default_locale if  
     | 
| 
      
 31 
     | 
    
         
            +
                    desc: "The language to create the post with (defaults to I18n.default_locale if available)"
         
     | 
| 
       32 
32 
     | 
    
         
             
                  method_option "blog",
         
     | 
| 
       33 
33 
     | 
    
         
             
                    aliases: "-b",
         
     | 
| 
       34 
34 
     | 
    
         
             
                    desc: "The name of the blog to create the post inside (for multi-blog apps, defaults to the only blog in single-blog apps)"
         
     | 
| 
         @@ -86,7 +86,7 @@ module Middleman 
     | 
|
| 
       86 
86 
     | 
    
         
             
                end
         
     | 
| 
       87 
87 
     | 
    
         | 
| 
       88 
88 
     | 
    
         
             
                def after_configuration
         
     | 
| 
       89 
     | 
    
         
            -
                  @name ||= :"blog#{ 
     | 
| 
      
 89 
     | 
    
         
            +
                  @name ||= :"blog#{::Middleman::Blog.instances.keys.length}"
         
     | 
| 
       90 
90 
     | 
    
         | 
| 
       91 
91 
     | 
    
         
             
                  # TODO: break up into private methods?
         
     | 
| 
       92 
92 
     | 
    
         | 
| 
         @@ -96,7 +96,7 @@ module Middleman 
     | 
|
| 
       96 
96 
     | 
    
         
             
                  @app.ignore(options.day_template) if options.day_template
         
     | 
| 
       97 
97 
     | 
    
         
             
                  @app.ignore options.tag_template if options.tag_template
         
     | 
| 
       98 
98 
     | 
    
         | 
| 
       99 
     | 
    
         
            -
                   
     | 
| 
      
 99 
     | 
    
         
            +
                  ::Middleman::Blog.instances[@name] = self
         
     | 
| 
       100 
100 
     | 
    
         | 
| 
       101 
101 
     | 
    
         
             
                  # Make sure ActiveSupport's TimeZone stuff has something to work with,
         
     | 
| 
       102 
102 
     | 
    
         
             
                  # allowing people to set their desired time zone via Time.zone or
         
     | 
| 
         @@ -128,16 +128,16 @@ module Middleman 
     | 
|
| 
       128 
128 
     | 
    
         
             
                    @app.sitemap.register_resource_list_manipulator(:"blog_#{name}_calendar", @calendar_pages, false)
         
     | 
| 
       129 
129 
     | 
    
         
             
                  end
         
     | 
| 
       130 
130 
     | 
    
         | 
| 
      
 131 
     | 
    
         
            +
                  if options.custom_collections
         
     | 
| 
      
 132 
     | 
    
         
            +
                    require 'middleman-blog/custom_pages'
         
     | 
| 
      
 133 
     | 
    
         
            +
                    register_custom_pages
         
     | 
| 
      
 134 
     | 
    
         
            +
                  end
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
       131 
136 
     | 
    
         
             
                  if options.paginate
         
     | 
| 
       132 
137 
     | 
    
         
             
                    require 'middleman-blog/paginator'
         
     | 
| 
       133 
138 
     | 
    
         
             
                    @paginator = Blog::Paginator.new(@app, self)
         
     | 
| 
       134 
139 
     | 
    
         
             
                    @app.sitemap.register_resource_list_manipulator(:"blog_#{name}_paginate", @paginator, false)
         
     | 
| 
       135 
140 
     | 
    
         
             
                  end
         
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
                  if options.custom_collections
         
     | 
| 
       138 
     | 
    
         
            -
                    require 'middleman-blog/custom_pages'
         
     | 
| 
       139 
     | 
    
         
            -
                    register_custom_pages
         
     | 
| 
       140 
     | 
    
         
            -
                  end
         
     | 
| 
       141 
141 
     | 
    
         
             
                end
         
     | 
| 
       142 
142 
     | 
    
         | 
| 
       143 
143 
     | 
    
         
             
                private
         
     | 
| 
         @@ -1,14 +1,26 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Middleman
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Blog
         
     | 
| 
      
 3 
     | 
    
         
            +
                def self.instances
         
     | 
| 
      
 4 
     | 
    
         
            +
                  @blog_instances ||= {}
         
     | 
| 
      
 5 
     | 
    
         
            +
                end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                def self.instances=(v)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @blog_instances = v
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       3 
11 
     | 
    
         
             
                # Blog-related helpers that are available to the Middleman application in +config.rb+ and in templates.
         
     | 
| 
       4 
12 
     | 
    
         
             
                module Helpers
         
     | 
| 
      
 13 
     | 
    
         
            +
                  def self.included(base)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    ::Middleman::Blog.instances = {}
         
     | 
| 
      
 15 
     | 
    
         
            +
                  end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       5 
17 
     | 
    
         
             
                  # All the blog instances known to this Middleman app, keyed by name. A new blog is added
         
     | 
| 
       6 
18 
     | 
    
         
             
                  # every time the blog extension is activated. Name them by setting the +:name+
         
     | 
| 
       7 
19 
     | 
    
         
             
                  # option when activating - otherwise they get an automatic name like 'blog0', 'blog1', etc.
         
     | 
| 
       8 
20 
     | 
    
         
             
                  #
         
     | 
| 
       9 
21 
     | 
    
         
             
                  # @return [Hash<Symbol,BlogExtension>] a hash of all blog instances by name
         
     | 
| 
       10 
22 
     | 
    
         
             
                  def blog_instances
         
     | 
| 
       11 
     | 
    
         
            -
                     
     | 
| 
      
 23 
     | 
    
         
            +
                    ::Middleman::Blog.instances
         
     | 
| 
       12 
24 
     | 
    
         
             
                  end
         
     | 
| 
       13 
25 
     | 
    
         | 
| 
       14 
26 
     | 
    
         
             
                  # Retrieve a {BlogExtension} instance.
         
     | 
| 
         @@ -33,7 +45,12 @@ module Middleman 
     | 
|
| 
       33 
45 
     | 
    
         | 
| 
       34 
46 
     | 
    
         
             
                    # In multiblog situations, force people to specify the blog
         
     | 
| 
       35 
47 
     | 
    
         
             
                    if !blog_name && blog_instances.size > 1
         
     | 
| 
       36 
     | 
    
         
            -
                      raise "You must either  
     | 
| 
      
 48 
     | 
    
         
            +
                      raise "You have more than one blog so you must either use the flag --blog (ex. --blog 'myBlog') when calling this method, or add blog: [blog_name] to your page's frontmatter"
         
     | 
| 
      
 49 
     | 
    
         
            +
                    end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                    # Warn if a non-existent blog name provided
         
     | 
| 
      
 52 
     | 
    
         
            +
                    if blog_name && !blog_instances.keys.include?(blog_name)
         
     | 
| 
      
 53 
     | 
    
         
            +
                      raise "Non-existent blog name provided: #{blog_name}."
         
     | 
| 
       37 
54 
     | 
    
         
             
                    end
         
     | 
| 
       38 
55 
     | 
    
         | 
| 
       39 
56 
     | 
    
         
             
                    blog_name ||= blog_instances.keys.first
         
     | 
| 
         @@ -144,9 +144,9 @@ module Middleman 
     | 
|
| 
       144 
144 
     | 
    
         
             
                      res.path
         
     | 
| 
       145 
145 
     | 
    
         
             
                    else
         
     | 
| 
       146 
146 
     | 
    
         
             
                      page_url = apply_uri_template page_link, num: page_num
         
     | 
| 
       147 
     | 
    
         
            -
                      index_re = %r{(^|/)#{Regexp.escape(@app.index_file)}$}
         
     | 
| 
      
 147 
     | 
    
         
            +
                      index_re = %r{(^|/)#{Regexp.escape(@app.config[:index_file])}$}
         
     | 
| 
       148 
148 
     | 
    
         
             
                      if res.path =~ index_re
         
     | 
| 
       149 
     | 
    
         
            -
                        res.path.sub(index_re, "\\1#{page_url}/#{@app.index_file}")
         
     | 
| 
      
 149 
     | 
    
         
            +
                        res.path.sub(index_re, "\\1#{page_url}/#{@app.config[:index_file]}")
         
     | 
| 
       150 
150 
     | 
    
         
             
                      else
         
     | 
| 
       151 
151 
     | 
    
         
             
                        res.path.sub(%r{(^|/)([^/]*)\.([^/]*)$}, "\\1\\2/#{page_url}.\\3")
         
     | 
| 
       152 
152 
     | 
    
         
             
                      end
         
     | 
    
        data/middleman-blog.gemspec
    CHANGED
    
    | 
         @@ -17,7 +17,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       17 
17 
     | 
    
         
             
              s.require_paths = ["lib"]
         
     | 
| 
       18 
18 
     | 
    
         
             
              s.required_ruby_version = '>= 1.9.3'
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
              s.add_dependency("middleman-core", [" 
     | 
| 
      
 20 
     | 
    
         
            +
              s.add_dependency("middleman-core", [">= 3.3"])
         
     | 
| 
       21 
21 
     | 
    
         
             
              s.add_dependency("tzinfo", [">= 0.3.0"])
         
     | 
| 
       22 
22 
     | 
    
         
             
              s.add_dependency("addressable", ["~> 2.3.5"])
         
     | 
| 
       23 
23 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: middleman-blog
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 3.6.0.beta.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Thomas Reynolds
         
     | 
| 
         @@ -9,22 +9,22 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2014- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2014-12-24 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: middleman-core
         
     | 
| 
       16 
16 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       17 
17 
     | 
    
         
             
                requirements:
         
     | 
| 
       18 
     | 
    
         
            -
                - - " 
     | 
| 
      
 18 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       19 
19 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       20 
     | 
    
         
            -
                    version: '3. 
     | 
| 
      
 20 
     | 
    
         
            +
                    version: '3.3'
         
     | 
| 
       21 
21 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       22 
22 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       23 
23 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       24 
24 
     | 
    
         
             
                requirements:
         
     | 
| 
       25 
     | 
    
         
            -
                - - " 
     | 
| 
      
 25 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       26 
26 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       27 
     | 
    
         
            -
                    version: '3. 
     | 
| 
      
 27 
     | 
    
         
            +
                    version: '3.3'
         
     | 
| 
       28 
28 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       29 
29 
     | 
    
         
             
              name: tzinfo
         
     | 
| 
       30 
30 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -252,6 +252,7 @@ files: 
     | 
|
| 
       252 
252 
     | 
    
         
             
            - fixtures/paginate-app/source/blog/2011-02-01-test-article.html.markdown
         
     | 
| 
       253 
253 
     | 
    
         
             
            - fixtures/paginate-app/source/blog/2011-02-02-test-article.html.markdown
         
     | 
| 
       254 
254 
     | 
    
         
             
            - fixtures/paginate-app/source/calendar.html.erb
         
     | 
| 
      
 255 
     | 
    
         
            +
            - fixtures/paginate-app/source/category.html.erb
         
     | 
| 
       255 
256 
     | 
    
         
             
            - fixtures/paginate-app/source/index.html.erb
         
     | 
| 
       256 
257 
     | 
    
         
             
            - fixtures/paginate-app/source/layout.erb
         
     | 
| 
       257 
258 
     | 
    
         
             
            - fixtures/paginate-app/source/tag.html.erb
         
     | 
| 
         @@ -369,9 +370,9 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       369 
370 
     | 
    
         
             
                  version: 1.9.3
         
     | 
| 
       370 
371 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       371 
372 
     | 
    
         
             
              requirements:
         
     | 
| 
       372 
     | 
    
         
            -
              - - " 
     | 
| 
      
 373 
     | 
    
         
            +
              - - ">"
         
     | 
| 
       373 
374 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       374 
     | 
    
         
            -
                  version:  
     | 
| 
      
 375 
     | 
    
         
            +
                  version: 1.3.1
         
     | 
| 
       375 
376 
     | 
    
         
             
            requirements: []
         
     | 
| 
       376 
377 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       377 
378 
     | 
    
         
             
            rubygems_version: 2.2.2
         
     | 
| 
         @@ -560,6 +561,7 @@ test_files: 
     | 
|
| 
       560 
561 
     | 
    
         
             
            - fixtures/paginate-app/source/blog/2011-02-01-test-article.html.markdown
         
     | 
| 
       561 
562 
     | 
    
         
             
            - fixtures/paginate-app/source/blog/2011-02-02-test-article.html.markdown
         
     | 
| 
       562 
563 
     | 
    
         
             
            - fixtures/paginate-app/source/calendar.html.erb
         
     | 
| 
      
 564 
     | 
    
         
            +
            - fixtures/paginate-app/source/category.html.erb
         
     | 
| 
       563 
565 
     | 
    
         
             
            - fixtures/paginate-app/source/index.html.erb
         
     | 
| 
       564 
566 
     | 
    
         
             
            - fixtures/paginate-app/source/layout.erb
         
     | 
| 
       565 
567 
     | 
    
         
             
            - fixtures/paginate-app/source/tag.html.erb
         
     |