middleman-blog 3.6.0.beta.2 → 4.0.0
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/.travis.yml +18 -2
- data/CHANGELOG.md +6 -1
- data/Gemfile +13 -10
- data/README.md +6 -6
- data/Rakefile +1 -15
- data/features/calendar.feature +23 -0
- data/features/calendar_multiblog.feature +0 -2
- data/features/language.feature +1 -13
- data/features/multiblog.feature +0 -2
- data/features/paginate_multiblog.feature +0 -2
- data/features/tags.feature +14 -0
- data/features/tags_multiblog.feature +0 -2
- data/fixtures/blog-sources-subdirs-app/config.rb +1 -1
- data/fixtures/blog-sources-subdirs-app/source/blog.html.erb +1 -1
- data/fixtures/blog-sources-subdirs-app/source/blog/{another-post.md.erb → another-post.html.md.erb} +0 -0
- data/fixtures/blog-sources-subdirs-app/source/blog/subdir/{yet-another-post.md.erb → yet-another-post.html.md.erb} +0 -0
- data/fixtures/calendar-app/config-only-year.rb +9 -0
- data/fixtures/custom-collections-sources-app/source/index.html.erb +3 -3
- data/fixtures/layouts-app/source/2011/01/02/{article-in-normal-layout.markdown → article-in-normal-layout.html.markdown} +0 -0
- data/fixtures/layouts-app/source/2011/01/03/{article-without-layout.markdown → article-without-layout.html.markdown} +0 -0
- data/fixtures/permalink-data-app/source/layout.erb +1 -1
- data/fixtures/tags-app/config-no-tags.rb +6 -0
- data/lib/middleman-blog.rb +0 -9
- data/lib/middleman-blog/blog_article.rb +11 -9
- data/lib/middleman-blog/blog_data.rb +17 -13
- data/lib/middleman-blog/calendar_pages.rb +9 -12
- data/lib/middleman-blog/custom_pages.rb +3 -4
- data/lib/middleman-blog/extension.rb +24 -8
- data/lib/middleman-blog/helpers.rb +10 -17
- data/lib/middleman-blog/paginator.rb +9 -7
- data/lib/middleman-blog/tag_pages.rb +5 -3
- data/lib/middleman-blog/version.rb +1 -1
- data/middleman-blog.gemspec +3 -3
- data/spec/uri_templates_spec.rb +17 -17
- metadata +22 -31
- data/features/article_cli.feature +0 -16
- data/lib/middleman-blog/commands/article.rb +0 -58
- data/lib/middleman-blog/commands/article.tt +0 -6
- data/lib/middleman-blog/template.rb +0 -37
- data/lib/middleman-blog/template/config.tt +0 -118
- data/lib/middleman-blog/template/shared/Gemfile.tt +0 -9
- data/lib/middleman-blog/template/source/2012-01-01-example-article.html.markdown +0 -7
- data/lib/middleman-blog/template/source/calendar.html.erb +0 -33
- data/lib/middleman-blog/template/source/feed.xml.builder +0 -24
- data/lib/middleman-blog/template/source/index.html.erb +0 -24
- data/lib/middleman-blog/template/source/layout.erb +0 -38
- data/lib/middleman-blog/template/source/tag.html.erb +0 -25
@@ -19,6 +19,9 @@ module Middleman
|
|
19
19
|
@day_template = blog_options.day_template
|
20
20
|
@month_template = blog_options.month_template
|
21
21
|
@year_template = blog_options.year_template
|
22
|
+
@generate_year_pages = blog_options.generate_year_pages
|
23
|
+
@generate_month_pages = blog_options.generate_month_pages
|
24
|
+
@generate_day_pages = blog_options.generate_day_pages
|
22
25
|
end
|
23
26
|
|
24
27
|
# Get a path to the given calendar page, based on the :year_link, :month_link or :day_link setting.
|
@@ -45,17 +48,17 @@ module Middleman
|
|
45
48
|
|
46
49
|
# Set up date pages if the appropriate templates have been specified
|
47
50
|
@blog_data.articles.group_by {|a| a.date.year }.each do |year, year_articles|
|
48
|
-
if @year_template
|
51
|
+
if @generate_year_pages && @year_template
|
49
52
|
new_resources << year_page_resource(year, year_articles)
|
50
53
|
end
|
51
54
|
|
52
55
|
year_articles.group_by {|a| a.date.month }.each do |month, month_articles|
|
53
|
-
if @month_template
|
56
|
+
if @generate_month_pages && @month_template
|
54
57
|
new_resources << month_page_resource(year, month, month_articles)
|
55
58
|
end
|
56
59
|
|
57
60
|
month_articles.group_by {|a| a.date.day }.each do |day, day_articles|
|
58
|
-
if @day_template
|
61
|
+
if @generate_day_pages && @day_template
|
59
62
|
new_resources << day_page_resource(year, month, day, day_articles)
|
60
63
|
end
|
61
64
|
end
|
@@ -68,9 +71,7 @@ module Middleman
|
|
68
71
|
private
|
69
72
|
|
70
73
|
def year_page_resource(year, year_articles)
|
71
|
-
Sitemap::
|
72
|
-
p.proxy_to(@year_template)
|
73
|
-
|
74
|
+
Sitemap::ProxyResource.new(@sitemap, link(year), @year_template).tap do |p|
|
74
75
|
# Add metadata in local variables so it's accessible to
|
75
76
|
# later extensions
|
76
77
|
p.add_metadata locals: {
|
@@ -83,9 +84,7 @@ module Middleman
|
|
83
84
|
end
|
84
85
|
|
85
86
|
def month_page_resource(year, month, month_articles)
|
86
|
-
Sitemap::
|
87
|
-
p.proxy_to(@month_template)
|
88
|
-
|
87
|
+
Sitemap::ProxyResource.new(@sitemap, link(year, month), @month_template).tap do |p|
|
89
88
|
p.add_metadata locals: {
|
90
89
|
'page_type' => 'month',
|
91
90
|
'year' => year,
|
@@ -97,9 +96,7 @@ module Middleman
|
|
97
96
|
end
|
98
97
|
|
99
98
|
def day_page_resource(year, month, day, day_articles)
|
100
|
-
Sitemap::
|
101
|
-
p.proxy_to(@day_template)
|
102
|
-
|
99
|
+
Sitemap::ProxyResource.new(@sitemap, link(year, month, day), @day_template).tap do |p|
|
103
100
|
p.add_metadata locals: {
|
104
101
|
'page_type' => 'day',
|
105
102
|
'year' => year,
|
@@ -27,8 +27,8 @@ module Middleman
|
|
27
27
|
|
28
28
|
def manipulate_resource_list(resources)
|
29
29
|
articles_by_property = @blog_data.articles.
|
30
|
-
select {|a| a.
|
31
|
-
group_by {|a| a.
|
30
|
+
select {|a| a.data[property] }.
|
31
|
+
group_by {|a| a.data[property] }
|
32
32
|
resources + articles_by_property.map do |property_value, articles|
|
33
33
|
build_resource(link(property_value), property_value, articles)
|
34
34
|
end
|
@@ -38,8 +38,7 @@ module Middleman
|
|
38
38
|
|
39
39
|
def build_resource(path, value, articles)
|
40
40
|
articles = articles.sort_by(&:date).reverse
|
41
|
-
Sitemap::
|
42
|
-
p.proxy_to(@page_template)
|
41
|
+
Sitemap::ProxyResource.new(@sitemap, path, @page_template).tap do |p|
|
43
42
|
p.add_metadata locals: {
|
44
43
|
"page_type" => property.to_s,
|
45
44
|
property => value,
|
@@ -5,8 +5,12 @@ require 'middleman-blog/helpers'
|
|
5
5
|
|
6
6
|
module Middleman
|
7
7
|
class BlogExtension < Extension
|
8
|
+
extend Forwardable
|
9
|
+
|
8
10
|
self.supports_multiple_instances = true
|
9
11
|
|
12
|
+
def_delegator :app, :logger
|
13
|
+
|
10
14
|
option :name, nil, 'Unique ID for telling multiple blogs apart'
|
11
15
|
option :prefix, nil, 'Prefix to mount the blog at (modifies permalink, sources, taglink, year_link, month_link, day_link to start with the prefix)'
|
12
16
|
option :permalink, '/{year}/{month}/{day}/{title}.html', 'Path articles are generated at. Tokens can be omitted or duplicated, and you can use tokens defined in article frontmatter.'
|
@@ -24,6 +28,10 @@ module Middleman
|
|
24
28
|
option :month_template, nil, 'Template path (no template extension) for monthly archive pages. Defaults to the :calendar_template.'
|
25
29
|
option :day_template, nil, 'Template path (no template extension) for daily archive pages. Defaults to the :calendar_template.'
|
26
30
|
option :tag_template, nil, 'Template path (no template extension) for tag archive pages.'
|
31
|
+
option :generate_year_pages, true, 'Whether to generate year pages.'
|
32
|
+
option :generate_month_pages, true, 'Whether to generate month pages.'
|
33
|
+
option :generate_day_pages, true, 'Whether to generate day pages.'
|
34
|
+
option :generate_tag_pages, true, 'Whether to generate tag pages.'
|
27
35
|
option :paginate, false, 'Whether to paginate lists of articles'
|
28
36
|
option :per_page, 10, 'Number of articles per page when paginating'
|
29
37
|
option :page_link, 'page/{num}', 'Path to append for additional pages when paginating'
|
@@ -86,7 +94,15 @@ module Middleman
|
|
86
94
|
end
|
87
95
|
|
88
96
|
def after_configuration
|
89
|
-
@name ||=
|
97
|
+
@name ||= begin
|
98
|
+
found_name = nil
|
99
|
+
|
100
|
+
app.extensions[:blog].values.each_with_index do |ext, i|
|
101
|
+
found_name = "blog#{i+1}" if ext == self
|
102
|
+
end
|
103
|
+
|
104
|
+
found_name
|
105
|
+
end
|
90
106
|
|
91
107
|
# TODO: break up into private methods?
|
92
108
|
|
@@ -96,8 +112,6 @@ module Middleman
|
|
96
112
|
@app.ignore(options.day_template) if options.day_template
|
97
113
|
@app.ignore options.tag_template if options.tag_template
|
98
114
|
|
99
|
-
::Middleman::Blog.instances[@name] = self
|
100
|
-
|
101
115
|
# Make sure ActiveSupport's TimeZone stuff has something to work with,
|
102
116
|
# allowing people to set their desired time zone via Time.zone or
|
103
117
|
# set :time_zone
|
@@ -112,20 +126,20 @@ module Middleman
|
|
112
126
|
# Initialize blog with options
|
113
127
|
@data = Blog::BlogData.new(@app, self, options)
|
114
128
|
|
115
|
-
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_articles", @data
|
129
|
+
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_articles", @data)
|
116
130
|
|
117
131
|
if options.tag_template
|
118
132
|
@app.ignore options.tag_template
|
119
133
|
|
120
134
|
require 'middleman-blog/tag_pages'
|
121
135
|
@tag_pages = Blog::TagPages.new(@app, self)
|
122
|
-
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_tags", @tag_pages
|
136
|
+
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_tags", @tag_pages)
|
123
137
|
end
|
124
138
|
|
125
139
|
if options.year_template || options.month_template || options.day_template
|
126
140
|
require 'middleman-blog/calendar_pages'
|
127
141
|
@calendar_pages = Blog::CalendarPages.new(@app, self)
|
128
|
-
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_calendar", @calendar_pages
|
142
|
+
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_calendar", @calendar_pages)
|
129
143
|
end
|
130
144
|
|
131
145
|
if options.custom_collections
|
@@ -136,8 +150,10 @@ module Middleman
|
|
136
150
|
if options.paginate
|
137
151
|
require 'middleman-blog/paginator'
|
138
152
|
@paginator = Blog::Paginator.new(@app, self)
|
139
|
-
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_paginate", @paginator
|
153
|
+
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_paginate", @paginator)
|
140
154
|
end
|
155
|
+
|
156
|
+
logger.info "== Blog Sources: #{options.sources} (:prefix + :sources)"
|
141
157
|
end
|
142
158
|
|
143
159
|
private
|
@@ -166,7 +182,7 @@ module Middleman
|
|
166
182
|
@app.ignore options[:template]
|
167
183
|
|
168
184
|
@custom_pages[property] = Blog::CustomPages.new(property, @app, self, options)
|
169
|
-
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_#{property}", @custom_pages[property]
|
185
|
+
@app.sitemap.register_resource_list_manipulator(:"blog_#{name}_#{property}", @custom_pages[property])
|
170
186
|
|
171
187
|
Blog::Helpers.generate_custom_helper(property)
|
172
188
|
end
|
@@ -1,26 +1,19 @@
|
|
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
|
-
|
11
3
|
# Blog-related helpers that are available to the Middleman application in +config.rb+ and in templates.
|
12
4
|
module Helpers
|
13
|
-
def self.included(base)
|
14
|
-
::Middleman::Blog.instances = {}
|
15
|
-
end
|
16
|
-
|
17
5
|
# All the blog instances known to this Middleman app, keyed by name. A new blog is added
|
18
6
|
# every time the blog extension is activated. Name them by setting the +:name+
|
19
7
|
# option when activating - otherwise they get an automatic name like 'blog0', 'blog1', etc.
|
20
8
|
#
|
21
9
|
# @return [Hash<Symbol,BlogExtension>] a hash of all blog instances by name
|
22
10
|
def blog_instances
|
23
|
-
|
11
|
+
return nil unless app.extensions[:blog]
|
12
|
+
|
13
|
+
app.extensions[:blog].keys.each_with_object({}) do |k, sum|
|
14
|
+
ext = app.extensions[:blog][k]
|
15
|
+
sum[ext.name.to_sym] = ext
|
16
|
+
end
|
24
17
|
end
|
25
18
|
|
26
19
|
# Retrieve a {BlogExtension} instance.
|
@@ -35,7 +28,7 @@ module Middleman
|
|
35
28
|
# @return [BlogExtension]
|
36
29
|
def blog_controller(blog_name=nil)
|
37
30
|
if !blog_name && current_resource
|
38
|
-
blog_name = current_resource.metadata[:page][
|
31
|
+
blog_name = current_resource.metadata[:page][:blog]
|
39
32
|
|
40
33
|
if !blog_name
|
41
34
|
blog_controller = current_resource.blog_controller if current_resource.respond_to?(:blog_controller)
|
@@ -49,7 +42,7 @@ module Middleman
|
|
49
42
|
end
|
50
43
|
|
51
44
|
# Warn if a non-existent blog name provided
|
52
|
-
if blog_name && !blog_instances.keys.include?(blog_name)
|
45
|
+
if blog_name && !blog_instances.keys.include?(blog_name.to_sym)
|
53
46
|
raise "Non-existent blog name provided: #{blog_name}."
|
54
47
|
end
|
55
48
|
|
@@ -132,12 +125,12 @@ module Middleman
|
|
132
125
|
# @return [Array<Middleman::Sitemap::Resource>]
|
133
126
|
def page_articles(blog_name=nil)
|
134
127
|
meta = current_resource.metadata
|
135
|
-
limit =
|
128
|
+
limit = current_resource.data[:per_page]
|
136
129
|
|
137
130
|
# "articles" local variable is populated by Calendar and Tag page generators
|
138
131
|
# If it's not set then use the complete list of articles
|
139
132
|
articles = meta[:locals]["articles"] || blog(blog_name).articles
|
140
|
-
|
133
|
+
|
141
134
|
limit ? articles.first(limit) : articles
|
142
135
|
end
|
143
136
|
|
@@ -25,7 +25,7 @@ module Middleman
|
|
25
25
|
# Avoid recomputing metadata over and over
|
26
26
|
md = res.metadata
|
27
27
|
|
28
|
-
next unless md[:page][
|
28
|
+
next unless md[:page][:pageable]
|
29
29
|
|
30
30
|
# Skip other blogs' resources
|
31
31
|
next unless match_blog(res, md)
|
@@ -36,8 +36,8 @@ module Middleman
|
|
36
36
|
articles = md[:locals]["articles"] || @blog_controller.data.articles
|
37
37
|
|
38
38
|
# Allow blog.per_page and blog.page_link to be overridden in the frontmatter
|
39
|
-
per_page = md[:page][
|
40
|
-
page_link = uri_template(md[:page][
|
39
|
+
per_page = md[:page][:per_page] || @per_page
|
40
|
+
page_link = uri_template(md[:page][:page_link] || @page_link)
|
41
41
|
|
42
42
|
num_pages = (articles.length / per_page.to_f).ceil
|
43
43
|
|
@@ -73,7 +73,7 @@ module Middleman
|
|
73
73
|
def match_blog(res, md)
|
74
74
|
res_controller = md[:locals]["blog_controller"] || (res.respond_to?(:blog_controller) && res.blog_controller)
|
75
75
|
return false if res_controller && res_controller != @blog_controller
|
76
|
-
override_controller = md[:page][
|
76
|
+
override_controller = md[:page][:blog]
|
77
77
|
return false if override_controller && override_controller.to_s != @blog_controller.name.to_s
|
78
78
|
|
79
79
|
true
|
@@ -85,9 +85,11 @@ module Middleman
|
|
85
85
|
# @param [String] page_link The pagination link path component template
|
86
86
|
def page_resource(res, page_num, page_link)
|
87
87
|
path = page_sub(res, page_num, page_link)
|
88
|
-
|
89
|
-
|
90
|
-
|
88
|
+
|
89
|
+
if res.is_a? Sitemap::ProxyResource
|
90
|
+
Sitemap::ProxyResource.new(@app.sitemap, path, res.target)
|
91
|
+
else
|
92
|
+
Sitemap::Resource.new(@app.sitemap, path, res.source_file)
|
91
93
|
end
|
92
94
|
end
|
93
95
|
|
@@ -13,6 +13,8 @@ module Middleman
|
|
13
13
|
@tag_link_template = uri_template blog_controller.options.taglink
|
14
14
|
@tag_template = blog_controller.options.tag_template
|
15
15
|
@blog_data = blog_controller.data
|
16
|
+
|
17
|
+
@generate_tag_pages = blog_controller.options.generate_tag_pages
|
16
18
|
end
|
17
19
|
|
18
20
|
# Get a path to the given tag, based on the :taglink setting.
|
@@ -25,6 +27,8 @@ module Middleman
|
|
25
27
|
# Update the main sitemap resource list
|
26
28
|
# @return [void]
|
27
29
|
def manipulate_resource_list(resources)
|
30
|
+
return resources unless @generate_tag_pages
|
31
|
+
|
28
32
|
resources + @blog_data.tags.map do |tag, articles|
|
29
33
|
tag_page_resource(tag, articles)
|
30
34
|
end
|
@@ -33,9 +37,7 @@ module Middleman
|
|
33
37
|
private
|
34
38
|
|
35
39
|
def tag_page_resource(tag, articles)
|
36
|
-
Sitemap::
|
37
|
-
p.proxy_to(@tag_template)
|
38
|
-
|
40
|
+
Sitemap::ProxyResource.new(@sitemap, link(tag), @tag_template).tap do |p|
|
39
41
|
# Add metadata in local variables so it's accessible to
|
40
42
|
# later extensions
|
41
43
|
p.add_metadata locals: {
|
data/middleman-blog.gemspec
CHANGED
@@ -15,9 +15,9 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.files = `git ls-files -z`.split("\0")
|
16
16
|
s.test_files = `git ls-files -z -- {fixtures,features}/*`.split("\0")
|
17
17
|
s.require_paths = ["lib"]
|
18
|
-
s.required_ruby_version = '>=
|
18
|
+
s.required_ruby_version = '>= 2.0.0'
|
19
19
|
|
20
|
-
s.add_dependency("middleman-core", [">=
|
20
|
+
s.add_dependency("middleman-core", [">= 4.0.0"])
|
21
21
|
s.add_dependency("tzinfo", [">= 0.3.0"])
|
22
|
-
s.add_dependency("addressable", ["~> 2.
|
22
|
+
s.add_dependency("addressable", ["~> 2.4.0"])
|
23
23
|
end
|
data/spec/uri_templates_spec.rb
CHANGED
@@ -7,24 +7,24 @@ describe 'Middleman::Blog::UriTemplates' do
|
|
7
7
|
|
8
8
|
describe 'safe_parameterize' do
|
9
9
|
it 'can parameterize normal strings' do
|
10
|
-
safe_parameterize('Some FUN stuff!')
|
10
|
+
expect(safe_parameterize('Some FUN stuff!')) == 'some-fun-stuff'
|
11
11
|
end
|
12
12
|
|
13
13
|
it "doesn't mangle unicode strings" do
|
14
|
-
safe_parameterize('☆☆☆')
|
15
|
-
safe_parameterize('明日がある')
|
14
|
+
expect(safe_parameterize('☆☆☆')) == '☆☆☆'
|
15
|
+
expect(safe_parameterize('明日がある')) == '明日がある'
|
16
16
|
end
|
17
17
|
|
18
18
|
it "still transliterates when it's safe" do
|
19
|
-
safe_parameterize('Schlagwörter')
|
19
|
+
expect(safe_parameterize('Schlagwörter')) == 'schlagworter'
|
20
20
|
end
|
21
21
|
|
22
22
|
it "can handle mixed strings" do
|
23
|
-
safe_parameterize('What ☆☆☆!')
|
23
|
+
expect(safe_parameterize('What ☆☆☆!')) == 'what-☆☆☆'
|
24
24
|
end
|
25
25
|
|
26
26
|
it "can handle numbers" do
|
27
|
-
safe_parameterize(1)
|
27
|
+
expect(safe_parameterize(1)) == '1'
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -33,16 +33,16 @@ describe 'Middleman::Blog::UriTemplates' do
|
|
33
33
|
template = uri_template('{year}/{month}/{day}/{title}/{+path}')
|
34
34
|
params = extract_params(template, '2013/12/13/foo-bar/foo/bar.html')
|
35
35
|
|
36
|
-
params['year']
|
37
|
-
params['month']
|
38
|
-
params['day']
|
39
|
-
params['title']
|
40
|
-
params['path']
|
36
|
+
expect(params['year']) == '2013'
|
37
|
+
expect(params['month']) == '12'
|
38
|
+
expect(params['day']) == '13'
|
39
|
+
expect(params['title']) == 'foo-bar'
|
40
|
+
expect(params['path']) == 'foo/bar.html'
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'returns nil if there is no match' do
|
44
44
|
template = uri_template('{year}/{month}/{day}/{title}/{+path}')
|
45
|
-
extract_params(template, 'foo/bar.html')
|
45
|
+
expect(extract_params(template, 'foo/bar.html')) == nil
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'returns nil if there is no match in the date bits' do
|
@@ -54,11 +54,11 @@ describe 'Middleman::Blog::UriTemplates' do
|
|
54
54
|
template = uri_template('{year}/{month}/{day}/{title}/{+path}')
|
55
55
|
params = extract_params(template, '2013/12/13/foo - bar/foo/bar.html')
|
56
56
|
|
57
|
-
params['year']
|
58
|
-
params['month']
|
59
|
-
params['day']
|
60
|
-
params['title']
|
61
|
-
params['path']
|
57
|
+
expect(params['year']) == '2013'
|
58
|
+
expect(params['month']) == '12'
|
59
|
+
expect(params['day']) == '13'
|
60
|
+
expect(params['title']) == 'foo - bar'
|
61
|
+
expect(params['path']) == 'foo/bar.html'
|
62
62
|
end
|
63
63
|
end
|
64
64
|
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:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Reynolds
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-12-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: middleman-core
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 4.0.0
|
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:
|
27
|
+
version: 4.0.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: tzinfo
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 2.
|
48
|
+
version: 2.4.0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 2.
|
55
|
+
version: 2.4.0
|
56
56
|
description: Blog engine for Middleman
|
57
57
|
email:
|
58
58
|
- me@tdreyno.com
|
@@ -71,7 +71,6 @@ files:
|
|
71
71
|
- LICENSE.md
|
72
72
|
- README.md
|
73
73
|
- Rakefile
|
74
|
-
- features/article_cli.feature
|
75
74
|
- features/article_dirs.feature
|
76
75
|
- features/blog_sources.feature
|
77
76
|
- features/calendar-and-tag.feature
|
@@ -113,8 +112,8 @@ files:
|
|
113
112
|
- fixtures/blog-sources-app/source/layout.erb
|
114
113
|
- fixtures/blog-sources-subdirs-app/config.rb
|
115
114
|
- fixtures/blog-sources-subdirs-app/source/blog.html.erb
|
116
|
-
- fixtures/blog-sources-subdirs-app/source/blog/another-post.md.erb
|
117
|
-
- fixtures/blog-sources-subdirs-app/source/blog/subdir/yet-another-post.md.erb
|
115
|
+
- fixtures/blog-sources-subdirs-app/source/blog/another-post.html.md.erb
|
116
|
+
- fixtures/blog-sources-subdirs-app/source/blog/subdir/yet-another-post.html.md.erb
|
118
117
|
- fixtures/blog-sources-subdirs-app/source/layout.erb
|
119
118
|
- fixtures/calendar-and-tag-app/config-directory-indexes.rb
|
120
119
|
- fixtures/calendar-and-tag-app/config.rb
|
@@ -124,6 +123,7 @@ files:
|
|
124
123
|
- fixtures/calendar-and-tag-app/source/index.html.erb
|
125
124
|
- fixtures/calendar-and-tag-app/source/layout.erb
|
126
125
|
- fixtures/calendar-app/config-directory-indexes.rb
|
126
|
+
- fixtures/calendar-app/config-only-year.rb
|
127
127
|
- fixtures/calendar-app/config.rb
|
128
128
|
- fixtures/calendar-app/source/blog/2011-01-01-new-article.html.markdown
|
129
129
|
- fixtures/calendar-app/source/blog/2011-01-02-another-article.html.markdown
|
@@ -217,8 +217,8 @@ files:
|
|
217
217
|
- fixtures/layouts-app/source/2011/01/01/first-article.html.markdown
|
218
218
|
- fixtures/layouts-app/source/2011/01/01/second-article.html.markdown
|
219
219
|
- fixtures/layouts-app/source/2011/01/01/third-article.html.markdown
|
220
|
-
- fixtures/layouts-app/source/2011/01/02/article-in-normal-layout.markdown
|
221
|
-
- fixtures/layouts-app/source/2011/01/03/article-without-layout.markdown
|
220
|
+
- fixtures/layouts-app/source/2011/01/02/article-in-normal-layout.html.markdown
|
221
|
+
- fixtures/layouts-app/source/2011/01/03/article-without-layout.html.markdown
|
222
222
|
- fixtures/layouts-app/source/layouts/first.html.erb
|
223
223
|
- fixtures/layouts-app/source/layouts/layout.erb
|
224
224
|
- fixtures/layouts-app/source/layouts/second.html.erb
|
@@ -307,6 +307,7 @@ files:
|
|
307
307
|
- fixtures/summary-app/source/2013-05-08-article-with-custom-separator.html.markdown
|
308
308
|
- fixtures/summary-app/source/index.html.erb
|
309
309
|
- fixtures/tags-app/config-directory-indexes.rb
|
310
|
+
- fixtures/tags-app/config-no-tags.rb
|
310
311
|
- fixtures/tags-app/config.rb
|
311
312
|
- fixtures/tags-app/source/blog/2011-01-01-new-article.html.markdown
|
312
313
|
- fixtures/tags-app/source/blog/2011-01-02-another-article.html.markdown
|
@@ -332,22 +333,11 @@ files:
|
|
332
333
|
- lib/middleman-blog/blog_article.rb
|
333
334
|
- lib/middleman-blog/blog_data.rb
|
334
335
|
- lib/middleman-blog/calendar_pages.rb
|
335
|
-
- lib/middleman-blog/commands/article.rb
|
336
|
-
- lib/middleman-blog/commands/article.tt
|
337
336
|
- lib/middleman-blog/custom_pages.rb
|
338
337
|
- lib/middleman-blog/extension.rb
|
339
338
|
- lib/middleman-blog/helpers.rb
|
340
339
|
- lib/middleman-blog/paginator.rb
|
341
340
|
- lib/middleman-blog/tag_pages.rb
|
342
|
-
- lib/middleman-blog/template.rb
|
343
|
-
- lib/middleman-blog/template/config.tt
|
344
|
-
- lib/middleman-blog/template/shared/Gemfile.tt
|
345
|
-
- lib/middleman-blog/template/source/2012-01-01-example-article.html.markdown
|
346
|
-
- lib/middleman-blog/template/source/calendar.html.erb
|
347
|
-
- lib/middleman-blog/template/source/feed.xml.builder
|
348
|
-
- lib/middleman-blog/template/source/index.html.erb
|
349
|
-
- lib/middleman-blog/template/source/layout.erb
|
350
|
-
- lib/middleman-blog/template/source/tag.html.erb
|
351
341
|
- lib/middleman-blog/truncate_html.rb
|
352
342
|
- lib/middleman-blog/uri_templates.rb
|
353
343
|
- lib/middleman-blog/version.rb
|
@@ -367,20 +357,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
367
357
|
requirements:
|
368
358
|
- - ">="
|
369
359
|
- !ruby/object:Gem::Version
|
370
|
-
version:
|
360
|
+
version: 2.0.0
|
371
361
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
372
362
|
requirements:
|
373
|
-
- - "
|
363
|
+
- - ">="
|
374
364
|
- !ruby/object:Gem::Version
|
375
|
-
version:
|
365
|
+
version: '0'
|
376
366
|
requirements: []
|
377
367
|
rubyforge_project:
|
378
|
-
rubygems_version: 2.
|
368
|
+
rubygems_version: 2.4.8
|
379
369
|
signing_key:
|
380
370
|
specification_version: 4
|
381
371
|
summary: Blog engine for Middleman
|
382
372
|
test_files:
|
383
|
-
- features/article_cli.feature
|
384
373
|
- features/article_dirs.feature
|
385
374
|
- features/blog_sources.feature
|
386
375
|
- features/calendar-and-tag.feature
|
@@ -422,8 +411,8 @@ test_files:
|
|
422
411
|
- fixtures/blog-sources-app/source/layout.erb
|
423
412
|
- fixtures/blog-sources-subdirs-app/config.rb
|
424
413
|
- fixtures/blog-sources-subdirs-app/source/blog.html.erb
|
425
|
-
- fixtures/blog-sources-subdirs-app/source/blog/another-post.md.erb
|
426
|
-
- fixtures/blog-sources-subdirs-app/source/blog/subdir/yet-another-post.md.erb
|
414
|
+
- fixtures/blog-sources-subdirs-app/source/blog/another-post.html.md.erb
|
415
|
+
- fixtures/blog-sources-subdirs-app/source/blog/subdir/yet-another-post.html.md.erb
|
427
416
|
- fixtures/blog-sources-subdirs-app/source/layout.erb
|
428
417
|
- fixtures/calendar-and-tag-app/config-directory-indexes.rb
|
429
418
|
- fixtures/calendar-and-tag-app/config.rb
|
@@ -433,6 +422,7 @@ test_files:
|
|
433
422
|
- fixtures/calendar-and-tag-app/source/index.html.erb
|
434
423
|
- fixtures/calendar-and-tag-app/source/layout.erb
|
435
424
|
- fixtures/calendar-app/config-directory-indexes.rb
|
425
|
+
- fixtures/calendar-app/config-only-year.rb
|
436
426
|
- fixtures/calendar-app/config.rb
|
437
427
|
- fixtures/calendar-app/source/blog/2011-01-01-new-article.html.markdown
|
438
428
|
- fixtures/calendar-app/source/blog/2011-01-02-another-article.html.markdown
|
@@ -526,8 +516,8 @@ test_files:
|
|
526
516
|
- fixtures/layouts-app/source/2011/01/01/first-article.html.markdown
|
527
517
|
- fixtures/layouts-app/source/2011/01/01/second-article.html.markdown
|
528
518
|
- fixtures/layouts-app/source/2011/01/01/third-article.html.markdown
|
529
|
-
- fixtures/layouts-app/source/2011/01/02/article-in-normal-layout.markdown
|
530
|
-
- fixtures/layouts-app/source/2011/01/03/article-without-layout.markdown
|
519
|
+
- fixtures/layouts-app/source/2011/01/02/article-in-normal-layout.html.markdown
|
520
|
+
- fixtures/layouts-app/source/2011/01/03/article-without-layout.html.markdown
|
531
521
|
- fixtures/layouts-app/source/layouts/first.html.erb
|
532
522
|
- fixtures/layouts-app/source/layouts/layout.erb
|
533
523
|
- fixtures/layouts-app/source/layouts/second.html.erb
|
@@ -616,6 +606,7 @@ test_files:
|
|
616
606
|
- fixtures/summary-app/source/2013-05-08-article-with-custom-separator.html.markdown
|
617
607
|
- fixtures/summary-app/source/index.html.erb
|
618
608
|
- fixtures/tags-app/config-directory-indexes.rb
|
609
|
+
- fixtures/tags-app/config-no-tags.rb
|
619
610
|
- fixtures/tags-app/config.rb
|
620
611
|
- fixtures/tags-app/source/blog/2011-01-01-new-article.html.markdown
|
621
612
|
- fixtures/tags-app/source/blog/2011-01-02-another-article.html.markdown
|