alula 0.4.16 → 0.4.17
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/attachment_processor.rb +3 -3
- data/lib/alula/core_ext/tag.rb +14 -9
- data/lib/alula/core_ext/tags/image.rb +5 -0
- data/lib/alula/generators/sitemap.rb +0 -5
- data/lib/alula/plugin.rb +32 -5
- data/lib/alula/site.rb +2 -0
- data/lib/alula/version.rb +1 -1
- metadata +2 -2
@@ -23,15 +23,15 @@ module Alula
|
|
23
23
|
md5 = Digest::MD5.hexdigest(name)
|
24
24
|
asset_hash = md5[0..3]
|
25
25
|
asset_name = File.join(path + [asset_hash]) + File.extname(name)
|
26
|
-
until !mapping.key(asset_name) or mapping.key(asset_name) == name
|
26
|
+
until !mapping.key(asset_name) or mapping.key(asset_name) == name.downcase
|
27
27
|
asset_hash = md5[0..(asset_hash.length)]
|
28
28
|
asset_name = File.join(path + [asset_hash]) + File.extname(name)
|
29
29
|
end
|
30
30
|
|
31
|
-
mapping[name] = asset_name
|
31
|
+
mapping[name.downcase] = asset_name
|
32
32
|
end
|
33
33
|
|
34
|
-
mapping[name]
|
34
|
+
mapping[name.downcase]
|
35
35
|
end
|
36
36
|
|
37
37
|
def get(item)
|
data/lib/alula/core_ext/tag.rb
CHANGED
@@ -56,22 +56,27 @@ module Alula
|
|
56
56
|
file = self.context.asset_path(attachment_path(source, type))
|
57
57
|
return Hashie::Mash.new if file.nil?
|
58
58
|
|
59
|
-
|
60
|
-
info = Dimensions.dimensions(File.join(self.context.storage.path(:public), file))
|
61
|
-
info ||= begin
|
62
|
-
|
63
|
-
|
64
|
-
end
|
59
|
+
info = MiniExiftool.new File.join self.context.storage.path(:public), file
|
60
|
+
# # info = Dimensions.dimensions(File.join(self.context.storage.path(:public), file))
|
61
|
+
# info ||= begin
|
62
|
+
# _info = MiniExiftool.new File.join(self.context.storage.path(:public), file)
|
63
|
+
# [_info.imagewidth, _info.imageheight, _info.copyrightnotice]
|
64
|
+
# end
|
65
65
|
Hashie::Mash.new({
|
66
|
-
width: info
|
67
|
-
height: info
|
66
|
+
width: info.imagewidth,
|
67
|
+
height: info.imageheight,
|
68
|
+
rotation: info.rotation,
|
69
|
+
copyright: info.copyrightnotice,
|
70
|
+
filetype: info.filetype,
|
71
|
+
title: info.title,
|
72
|
+
caption: info.caption,
|
68
73
|
})
|
69
74
|
end
|
70
75
|
end
|
71
76
|
|
72
77
|
def attachment_path(source, type = nil)
|
73
78
|
name = (type.nil?) ? source : File.join(type.to_s, source)
|
74
|
-
self.context.attachments.mapping[name]
|
79
|
+
self.context.attachments.mapping[name.downcase]
|
75
80
|
end
|
76
81
|
|
77
82
|
def attachment_url(source, type = nil)
|
@@ -28,6 +28,11 @@ module Alula
|
|
28
28
|
|
29
29
|
classes = opts.delete(:classes) || @options["classes"]
|
30
30
|
|
31
|
+
unless @options['alternative'] or @options['title']
|
32
|
+
@options['title'] = info(source, type).title
|
33
|
+
@options['alternative'] = info(source, type).title
|
34
|
+
end
|
35
|
+
|
31
36
|
tag = "<img"
|
32
37
|
tag += " alt=\"#{@options["alternative"]}\"" if @options["alternative"]
|
33
38
|
tag += " title=\"#{@options["title"]}\"" if @options["title"]
|
@@ -33,11 +33,6 @@ module Alula
|
|
33
33
|
layout: "sitemap",
|
34
34
|
})
|
35
35
|
self.site.content.pages << @sitemap_page
|
36
|
-
|
37
|
-
# Add link to head
|
38
|
-
Alula::Plugin.addon(:head, ->(context) {
|
39
|
-
"<link rel=\"sitemap\" type=\"application/xml\" title=\"Sitemap\" href=\"#{context.url_for(@sitemap_page.url(context.locale))}\">"
|
40
|
-
})
|
41
36
|
end
|
42
37
|
end
|
43
38
|
end
|
data/lib/alula/plugin.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'hashie/mash'
|
2
|
-
|
3
1
|
module Alula
|
4
2
|
class Plugin
|
5
3
|
def self.register(name, klass); plugins[name.to_s] = klass; end
|
@@ -13,9 +11,38 @@ module Alula
|
|
13
11
|
end
|
14
12
|
end
|
15
13
|
|
16
|
-
def self.addons
|
17
|
-
|
18
|
-
|
14
|
+
def self.addons
|
15
|
+
@@addons ||= Hash.new {|hash, key| hash[key] = []}
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.addon(type, content_or_block)
|
19
|
+
addons[type] << content_or_block
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.prepend_addon(type, content_or_block)
|
23
|
+
addons[type].unshift content_or_block
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.script(type, content_or_block)
|
27
|
+
script = <<-EOS
|
28
|
+
<script type="#{self.cookieconsent? ? "text/plain" : "text/javascript"}" #{self.cookieconsent? ? "style=\"cc-onconsent-analytics\"" : ""}>
|
29
|
+
EOS
|
30
|
+
if content_or_block.kind_of?(Proc)
|
31
|
+
scpt = ->(context) { script + content_or_block.call(context) + "</script>" }
|
32
|
+
else
|
33
|
+
scpt = script + content_or_block + "</script>"
|
34
|
+
end
|
35
|
+
|
36
|
+
addons[type] << scpt
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.needs_cookieconsent
|
40
|
+
@@cookieconsent = true
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.cookieconsent?
|
44
|
+
@@cookieconsent == true
|
45
|
+
end
|
19
46
|
|
20
47
|
def self.script_load_mode=(mode)
|
21
48
|
@@script_load_mode = case mode
|
data/lib/alula/site.rb
CHANGED
@@ -323,6 +323,7 @@ module Alula
|
|
323
323
|
end
|
324
324
|
|
325
325
|
# Vendored
|
326
|
+
io.puts " *= require cookieconsent" if Alula::Plugin.cookieconsent?
|
326
327
|
|
327
328
|
# Blog customization
|
328
329
|
@storage.custom(/stylesheets\/.*.css.*$/).each do |name, item|
|
@@ -349,6 +350,7 @@ module Alula
|
|
349
350
|
|
350
351
|
# Vendored
|
351
352
|
io.puts " *= require lazyload" if self.config.attachments.image.lazyload
|
353
|
+
io.puts " *= require cookieconsent" if Alula::Plugin.cookieconsent?
|
352
354
|
|
353
355
|
# Customisation
|
354
356
|
@storage.custom(/javascripts\/.*.js.*$/).each do |name, item|
|
data/lib/alula/version.rb
CHANGED
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.
|
4
|
+
version: 0.4.17
|
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-
|
12
|
+
date: 2012-08-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: hashie
|