jekyll-assets 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### 0.7.2 (2013-09-07)
2
+
3
+ * Add `image` Liquid tag and filter.
4
+
5
+
1
6
  ### 0.7.1 (2013-08-17)
2
7
 
3
8
  * Minor bugfix of AssetPath and small code refactoring.
data/README.md CHANGED
@@ -77,6 +77,7 @@ Once plugin installed, you'll have following Liquid tags available:
77
77
 
78
78
  - `{% javascript app %}`: Generates `<script>` tag for `app.js`
79
79
  - `{% stylesheet app %}`: Generates `<link>` tag for `app.css`
80
+ - `{% image logo.png %}`: Generates `<img>` tag for `logo.png`
80
81
  - `{% asset_path logo.png %}`: Returns _resulting_ URL for `logo.png`
81
82
  - `{% asset app.css %}`: Returns _compiled_ body of `app.css`
82
83
 
@@ -84,6 +85,7 @@ Also you'll have complimentary Liquid filters as well:
84
85
 
85
86
  - `{{ 'app' | javascript }}`: Generates `<script>` tag for `app.js`
86
87
  - `{{ 'app' | stylesheet }}`: Generates `<link>` tag for `app.css`
88
+ - `{{ 'logo.png' | image }}`: Generates `<img>` tag for `logo.png`
87
89
  - `{{ 'logo.png' | asset_path }}`: Returns _resulting_ URL for `logo.png`
88
90
  - `{{ 'app.css' | asset }}`: Returns _compiled_ body of `app.css`
89
91
 
@@ -6,7 +6,7 @@ module Jekyll
6
6
  module AssetsPlugin
7
7
  module Filters
8
8
 
9
- %w{ asset asset_path javascript stylesheet }.each do |name|
9
+ %w{ asset asset_path image javascript stylesheet }.each do |name|
10
10
  module_eval <<-RUBY, __FILE__, __LINE__
11
11
  def #{name} path # def stylesheet logical_path
12
12
  r = Renderer.new @context, path # r = Renderer.new @context, path
@@ -4,6 +4,7 @@ module Jekyll
4
4
 
5
5
  STYLESHEET = '<link rel="stylesheet" href="%s">'
6
6
  JAVASCRIPT = '<script src="%s"></script>'
7
+ IMAGE = '<img src="%s">'
7
8
 
8
9
 
9
10
  def initialize context, logical_path
@@ -34,6 +35,11 @@ module Jekyll
34
35
  end
35
36
 
36
37
 
38
+ def render_image
39
+ render_tag IMAGE
40
+ end
41
+
42
+
37
43
  protected
38
44
 
39
45
 
@@ -19,6 +19,6 @@ module Jekyll
19
19
  end
20
20
 
21
21
 
22
- %w{ javascript stylesheet asset asset_path }.each do |tag|
22
+ %w{ asset asset_path image javascript stylesheet }.each do |tag|
23
23
  Liquid::Template.register_tag tag, Jekyll::AssetsPlugin::Tag
24
24
  end
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module AssetsPlugin
3
- VERSION = "0.7.1"
3
+ VERSION = "0.7.2"
4
4
  end
5
5
  end
@@ -9,6 +9,23 @@ module Jekyll::AssetsPlugin
9
9
  Liquid::Template.parse(content).render({}, context)
10
10
  end
11
11
 
12
+ context "{{ '<file>' | image }}" do
13
+ def tag_re name
14
+ file = "/assets/#{name}-[a-f0-9]{32}\.png"
15
+ Regexp.new "^#{Renderer::IMAGE % file}$"
16
+ end
17
+
18
+ context "when <file> exists" do
19
+ subject { render("{{ 'noise.png' | image }}") }
20
+ it { should match tag_re("noise") }
21
+ end
22
+
23
+ context "when <file> does not exists" do
24
+ subject { render("{{ 'not-found.png' | image }}") }
25
+ it { should match "Liquid error: Couldn't find file 'not-found.png'" }
26
+ end
27
+ end
28
+
12
29
  context "{{ '<file>' | stylesheet }}" do
13
30
  def tag_re name
14
31
  file = "/assets/#{name}-[a-f0-9]{32}\.css"
@@ -9,6 +9,23 @@ module Jekyll::AssetsPlugin
9
9
  Liquid::Template.parse(content).render({}, context)
10
10
  end
11
11
 
12
+ context "{% image <file> %}" do
13
+ def tag_re name
14
+ file = "/assets/#{name}-[a-f0-9]{32}\.png"
15
+ Regexp.new "^#{Renderer::IMAGE % file}$"
16
+ end
17
+
18
+ context "when <file> exists" do
19
+ subject { render("{% image noise.png %}") }
20
+ it { should match tag_re("noise") }
21
+ end
22
+
23
+ context "when <file> does not exists" do
24
+ subject { render("{% image not-found.png %}") }
25
+ it { should match "Liquid error: Couldn't find file 'not-found.png'" }
26
+ end
27
+ end
28
+
12
29
  context "{% stylesheet <file> %}" do
13
30
  def tag_re name
14
31
  file = "/assets/#{name}-[a-f0-9]{32}\.css"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-assets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
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: 2013-08-17 00:00:00.000000000 Z
12
+ date: 2013-09-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jekyll
@@ -249,7 +249,7 @@ rubyforge_project:
249
249
  rubygems_version: 1.8.23
250
250
  signing_key:
251
251
  specification_version: 3
252
- summary: jekyll-assets-0.7.1
252
+ summary: jekyll-assets-0.7.2
253
253
  test_files:
254
254
  - spec/fixtures/.gitignore
255
255
  - spec/fixtures/_assets/app.css.erb