alula 0.4.15 → 0.4.16

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.
data/lib/alula/config.rb CHANGED
@@ -127,7 +127,8 @@ module Alula
127
127
  "image" => {
128
128
  "size" => "800x600",
129
129
  "thumbnail" => "300x300",
130
- "thumbnail_mode" => :square,
130
+ "thumbnail_mode" => :aspect,
131
+ "image_mode" => :aspect,
131
132
  "keep_tags" => ["CopyrightNotice", "Title", "DateTimeOriginal"],
132
133
  "hires" => true,
133
134
  "lazyload" => true,
@@ -5,6 +5,7 @@ require 'kramdown'
5
5
  require 'stringex'
6
6
  require 'shellwords'
7
7
  require 'htmlentities'
8
+ require 'nokogiri'
8
9
 
9
10
  module Alula
10
11
  class Content
@@ -202,6 +203,23 @@ module Alula
202
203
  end
203
204
 
204
205
  # Accessors
206
+ def description(locale = nil)
207
+ @description[(locale || self.current_locale || self.site.config.locale)] ||= begin
208
+ @metadata.description(locale) || begin
209
+ doc = Nokogiri::HTML(self.body(locale))
210
+ words = doc.text.split(' ')
211
+ summary = words.inject("") do |summary, word|
212
+ if (summary + " #{word}").length < 152
213
+ summary += "#{word} "
214
+ else
215
+ summary += "..." unless summary[/\.\.\.$/]
216
+ end
217
+ summary
218
+ end
219
+ end
220
+ end
221
+ end
222
+
205
223
  def current_locale
206
224
  @@current_locale ||= nil
207
225
  end
@@ -319,6 +337,7 @@ module Alula
319
337
  flush_render
320
338
  @markdown = {}
321
339
  @body = {}
340
+ @description = {}
322
341
  end
323
342
 
324
343
  def flush_render
@@ -16,7 +16,7 @@ module Alula
16
16
  def content
17
17
  hires = hires_url(@source, :image)
18
18
  tag = "<a href=\"#{attachment_url(@source, :image)}\""
19
- tag += " data-hires=\"#{hires}\"" if context.site.config.attachments["image"]["hires"] and hires and self.context.item.metadata.renderer.class.to_s != "Alula::Generator::FeedBuilder"
19
+ tag += " data-hires=\"#{hires}\"" if context.site.config.attachments["image"]["hires"] and hires and !self.context.item.metadata.renderer.class.to_s[/FeedBuilder/]
20
20
  tag += ">"
21
21
  tag += imagetag(@source, :thumbnail)
22
22
  tag += "</a>"
@@ -32,13 +32,13 @@ module Alula
32
32
  tag += " alt=\"#{@options["alternative"]}\"" if @options["alternative"]
33
33
  tag += " title=\"#{@options["title"]}\"" if @options["title"]
34
34
  tag += " class=\"#{classes.join(" ")}\""
35
- if context.site.config.attachments.image.lazyload and self.context.item.metadata.renderer.class.to_s != "Alula::Generator::FeedBuilder"
35
+ if context.site.config.attachments.image.lazyload and !self.context.item.metadata.renderer.class.to_s[/FeedBuilder/]
36
36
  tag += " src=\"#{asset_url("grey.gif")}\""
37
37
  tag += " data-original=\"#{src}\""
38
38
  else
39
39
  tag += " src=\"#{src}\""
40
40
  end
41
- tag += " data-hires=\"#{hires}\"" if context.site.config.attachments.image.hires and hires and self.context.item.metadata.renderer.class.to_s != "Alula::Generator::FeedBuilder"
41
+ tag += " data-hires=\"#{hires}\"" if context.site.config.attachments.image.hires and hires and !self.context.item.metadata.renderer.class.to_s[/FeedBuilder/]
42
42
  tag += " width=\"#{info(source, type).width}\" height=\"#{info(source, type).height}\""
43
43
  tag += " />"
44
44
  end
@@ -28,7 +28,7 @@ module Alula
28
28
  next if (width > self.info.width and height > self.info.height) and size[:hires]
29
29
 
30
30
  # Generate resized image to output path
31
- resize_image(output: output, size: size[:size])
31
+ resize_image(output: output, size: size[:size], type: size[:type])
32
32
  end
33
33
 
34
34
  # Cleanup ourself
@@ -13,7 +13,8 @@ module Alula
13
13
  width, height = opts[:size]
14
14
 
15
15
  # Generate resized image
16
- resized = case self.site.config.attachments.image.thumbnail_mode
16
+ resize_mode = self.site.config.attachments.image["#{opts[:type]}_mode"]
17
+ resized = case resize_mode
17
18
  when :square
18
19
  self.image.resize_to_fill(width, height)
19
20
  else
data/lib/alula/version.rb CHANGED
@@ -2,7 +2,7 @@ module Alula
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 4
5
- PATCH = 15
5
+ PATCH = 16
6
6
  PRE = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alula
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.15
4
+ version: 0.4.16
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-19 00:00:00.000000000 Z
12
+ date: 2012-08-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashie