jekyll-theme-artsy 0.1.9 → 0.1.11
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/_layouts/art.html +76 -0
- data/_layouts/homepage.html +136 -0
- data/_layouts/search.html +101 -0
- data/_layouts/services.html +35 -0
- data/{shop.html → _layouts/shop.html} +5 -10
- metadata +7 -5
- data/_plugins/ext.rb +0 -1
- data/_plugins/thumbnail.rb +0 -86
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65134dd1574726ccae85dca034659167ecdbff6a
|
4
|
+
data.tar.gz: 94b2894fccc83d2f12a1e4cfa3ea35e7f0283296
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fd58541cb09dce209e01be3a729e12f4363dbbff4377b45148c26999d3ee898f0331bd23d9be5b960b8130bf73b925cb343611747dc75c946d03ee9e09f9853
|
7
|
+
data.tar.gz: 801e821ce9d2e97b84726352597f4cd030c16103dbe4f2c2446b5208eb905f086cd6da9f12b37ab817d33f89c2b0df823464df55e3cbb8cb570fa8d7b6f16c18
|
data/_layouts/art.html
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
active: gallery
|
4
|
+
---
|
5
|
+
|
6
|
+
<div class="gallery">
|
7
|
+
|
8
|
+
<div class="gallery-col" id="col-a"></div>
|
9
|
+
<div class="gallery-col" id="col-b"></div>
|
10
|
+
|
11
|
+
{% for image in site.static_files %}
|
12
|
+
{% assign price = "" %}
|
13
|
+
{% assign title = "" %}
|
14
|
+
{% assign url = "#" %}
|
15
|
+
{% if image.path contains 'art/' %}
|
16
|
+
{% unless image.path contains 'thumbs' %}
|
17
|
+
{% assign rendered = image.relative_path %}
|
18
|
+
{% capture imagepath %}{{ image.path | replace_first: '/', '' }}{% endcapture %}
|
19
|
+
{% for post in site.art %}
|
20
|
+
{% if image.path contains post.image %}
|
21
|
+
{% assign title = post.title %}
|
22
|
+
{% assign url = post.url %}
|
23
|
+
{% assign description = post.description %}
|
24
|
+
{% assign price = post.price %}
|
25
|
+
{% endif %}
|
26
|
+
{% endfor %}
|
27
|
+
{% if rendered != image.path %}
|
28
|
+
{% capture thumbsrc %}{% thumbnail imagepath 800x800 %}{% endcapture %}
|
29
|
+
{% capture fullsrc %}{% thumbnail imagepath 1900x1900 %}{% endcapture %}
|
30
|
+
<article
|
31
|
+
data-href="/{{ fullsrc | replace: "<img src='", "" | replace: "' />", "" }}"
|
32
|
+
data-title="{{ title }}"
|
33
|
+
data-url="{{ url }}"
|
34
|
+
data-thumbnail="/{{ thumbsrc | replace: "<img src='", "" | replace: "' />", "" }}"
|
35
|
+
data-caption="<a href='{{ url }}'><b>Learn More</b></a>"
|
36
|
+
data-description="{{ description }}"
|
37
|
+
data-price="{{ price }}"
|
38
|
+
></article>
|
39
|
+
{% endif %}
|
40
|
+
{% endunless %}
|
41
|
+
{% endif %}
|
42
|
+
{% endfor %}
|
43
|
+
|
44
|
+
</div>
|
45
|
+
<!-- jQuery -->
|
46
|
+
|
47
|
+
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
|
48
|
+
<!-- include image popups -->
|
49
|
+
<script src="{{ site.baseurl }}/assets/js/jquery.magnific-popup.js"></script>
|
50
|
+
|
51
|
+
|
52
|
+
<!-- some retina display libary for the high-rest images -->
|
53
|
+
<script src="{{ site.baseurl }}/assets/js/retina.min.js"></script>
|
54
|
+
<!-- include Masonry -->
|
55
|
+
<script src="{{ site.baseurl }}/assets/js/isotope.pkgd.min.js"></script>
|
56
|
+
<!-- include mousewheel plugins -->
|
57
|
+
<script src="{{ site.baseurl }}/assets/js/jquery.mousewheel.min.js"></script>
|
58
|
+
<!-- include carousel plugins -->
|
59
|
+
<script src="{{ site.baseurl}}/js/jquery.tinycarousel.min.js"></script>
|
60
|
+
<!-- include custom script -->
|
61
|
+
<script src="{{ site.baseurl }}/assets/js/scripts.js"></script>
|
62
|
+
<!-- our driploader script -->
|
63
|
+
<script src="{{ site.baseurl }}/assets/js/dripload.js"></script>
|
64
|
+
|
65
|
+
<script type="text/javascript">
|
66
|
+
// wait for the rest of the page to load before loading images
|
67
|
+
$(window).on("load", function() {
|
68
|
+
$('.gallery').magnificPopup({
|
69
|
+
delegate: 'a', // child items selector, by clicking on it popup will open
|
70
|
+
type: 'image'
|
71
|
+
});
|
72
|
+
|
73
|
+
dripload.generateImage();
|
74
|
+
});
|
75
|
+
|
76
|
+
</script>
|
@@ -0,0 +1,136 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
|
4
|
+
<head>
|
5
|
+
{% include head.html %}
|
6
|
+
<link rel="shortcut icon" href="{{ root_url }}/favicon.ico?" type="image/x-icon">
|
7
|
+
<link rel="icon" href="{{ root_url }}/favicon.ico?" type="image/x-icon">
|
8
|
+
</head>
|
9
|
+
|
10
|
+
<body>
|
11
|
+
|
12
|
+
|
13
|
+
{% include nav.html %}
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/home.css" media="screen" />
|
16
|
+
|
17
|
+
<script>
|
18
|
+
$('body').addClass('fullscreen')
|
19
|
+
</script>
|
20
|
+
|
21
|
+
<section id="content" role="main">
|
22
|
+
<div class="wrapper">
|
23
|
+
|
24
|
+
<!-- WYSIWYG -->
|
25
|
+
|
26
|
+
<div class="position-absolute">
|
27
|
+
<h2 class="big no-margin"><strong>{{ page.main-title }}</strong></h2>
|
28
|
+
<h2>{{ page.subtitle }}</h2>
|
29
|
+
<div class="entry-summary">
|
30
|
+
<p>{{ page.description }}</p>
|
31
|
+
</div><br />
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<div class="gallery fullscreen-gallery kenburns-gallery">
|
35
|
+
|
36
|
+
<canvas id="kenburns"></canvas>
|
37
|
+
|
38
|
+
{% for image in site.static_files %}
|
39
|
+
{% if image.path contains 'art/' %}
|
40
|
+
<figure class="gallery-item">
|
41
|
+
<header class='gallery-icon'>
|
42
|
+
|
43
|
+
<a href="{{ image.path }}">
|
44
|
+
<img src="{{ image.path }}"></a>
|
45
|
+
|
46
|
+
</header>
|
47
|
+
</figure>
|
48
|
+
{% endif %}
|
49
|
+
{% endfor %}
|
50
|
+
|
51
|
+
</div>
|
52
|
+
<!-- END WYSIWYG -->
|
53
|
+
|
54
|
+
|
55
|
+
</div><!-- END .wrapper -->
|
56
|
+
|
57
|
+
</section>
|
58
|
+
|
59
|
+
<div id="footer" role="contentinfo">
|
60
|
+
<ul class="soc-icons">
|
61
|
+
|
62
|
+
{% if site.facebook_username %}
|
63
|
+
<li>
|
64
|
+
<a href="https://facebook.com/{{ site.facebook_username }}" style="
|
65
|
+
color:#dddddd; target="_blank" title="Facebook">
|
66
|
+
<i class="fa fa-facebook"></i>
|
67
|
+
</span>
|
68
|
+
</a></li>
|
69
|
+
{% endif %}
|
70
|
+
{% if site.twitter_username %}
|
71
|
+
<li>
|
72
|
+
<a href="https://twitter.com/{{ site.twitter_username }}" style="
|
73
|
+
color:#dddddd; target="_blank" title="Twitter">
|
74
|
+
<i class="fa fa-twitter"></i>
|
75
|
+
</span>
|
76
|
+
</a></li>
|
77
|
+
{% endif %}
|
78
|
+
{% if site.instagram_username %}
|
79
|
+
<li>
|
80
|
+
<a href="https://instagram.com/{{ site.instagram_username }}" style="
|
81
|
+
color:#dddddd; target="_blank" title="Instagram">
|
82
|
+
<i class="fa fa-instagram"></i>
|
83
|
+
</span>
|
84
|
+
</a></li>
|
85
|
+
{% endif %}
|
86
|
+
{% if site.flickr_username %}
|
87
|
+
<li>
|
88
|
+
<a href="https://flickr.com/photos/{{ site.flickr_username }}" style="
|
89
|
+
color:#dddddd; target="_blank" title="Flickr">
|
90
|
+
<i class="fa fa-flickr"></i>
|
91
|
+
</span>
|
92
|
+
</a></li>
|
93
|
+
{% endif %}
|
94
|
+
{% if site.deviantart_username %}
|
95
|
+
<li>
|
96
|
+
<a href="http://{{ site.deviantart_username }}.deviantart.com" style="
|
97
|
+
color:#dddddd; target="_blank" title="DeviantArt">
|
98
|
+
<i class="fa fa-deviantart"></i> </span>
|
99
|
+
</a></li>
|
100
|
+
{% endif %}
|
101
|
+
{% if site.github_username %}
|
102
|
+
<li>
|
103
|
+
<a href="https://github.com/{{ site.github_username }}" style="
|
104
|
+
color:#dddddd; target="_blank" title="Github">
|
105
|
+
<i class="fa fa-github"></i>
|
106
|
+
</span>
|
107
|
+
{% endif %}
|
108
|
+
<li>
|
109
|
+
<a href="mailto:{{ site.email }}" style="
|
110
|
+
color:#dddddd; target="_blank" title="Email">
|
111
|
+
<i class="fa fa-envelope-o"></i></span>
|
112
|
+
</a> </li>
|
113
|
+
|
114
|
+
|
115
|
+
</ul>
|
116
|
+
</div>
|
117
|
+
|
118
|
+
|
119
|
+
<!-- jQuery -->
|
120
|
+
|
121
|
+
<script src="{{ site.baseurl }}/assets/js/retina.min.js"></script>
|
122
|
+
<!-- include mousewheel plugins -->
|
123
|
+
<script src="{{ site.baseurl }}/assets/js/jquery.mousewheel.min.js"></script>
|
124
|
+
<!-- include gallery cycle plugin -->
|
125
|
+
<script src="{{ site.baseurl }}/assets/js/jquery.cycle.min.js"></script>
|
126
|
+
<!-- include kenburns plugins -->
|
127
|
+
<script src="{{ site.baseurl }}/assets/js/kenburns.min.js"></script>
|
128
|
+
<!-- include svg line drawing plugin -->
|
129
|
+
<script src="{{ site.baseurl }}/assets/js/jquery.lazylinepainter.min.js"></script>
|
130
|
+
<!-- include custom script -->
|
131
|
+
<script src="{{ site.baseurl }}/assets/js/scripts.js"></script>
|
132
|
+
|
133
|
+
</body>
|
134
|
+
|
135
|
+
</html>
|
136
|
+
|
@@ -0,0 +1,101 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
---
|
4
|
+
|
5
|
+
<style type="text/css">
|
6
|
+
|
7
|
+
#search-input {
|
8
|
+
display: inline-block;
|
9
|
+
color: #008989;
|
10
|
+
background-color: #12161d;
|
11
|
+
border-color: #223333;
|
12
|
+
padding: .5em;
|
13
|
+
width: 100%;
|
14
|
+
font-size: 0.8em;
|
15
|
+
}
|
16
|
+
|
17
|
+
#search-input:focus {
|
18
|
+
display: inline-block;
|
19
|
+
color: #ddd;
|
20
|
+
background-color: #12161d;
|
21
|
+
border-color: #223333;
|
22
|
+
border-width: thick;
|
23
|
+
border-style: outset;
|
24
|
+
box-shadow: -1px 1px 5px 5px #008989;
|
25
|
+
outline: 0;
|
26
|
+
width: 100%;
|
27
|
+
font-size: 0.8em;
|
28
|
+
}
|
29
|
+
|
30
|
+
</style>
|
31
|
+
|
32
|
+
<!-- Html Elements for Search -->
|
33
|
+
<input type="text" id="search-input" placeholder="Enter keywords...">
|
34
|
+
<ul id="results-container" style="list-style-type: none;"></ul>
|
35
|
+
|
36
|
+
<!-- Script pointing to jekyll-search.js -->
|
37
|
+
<script src="{{ site.baseurl }}/assets/js/jekyll-search.js" type="text/javascript"></script>
|
38
|
+
|
39
|
+
|
40
|
+
<script type="text/javascript">
|
41
|
+
SimpleJekyllSearch({
|
42
|
+
searchInput: document.getElementById('search-input'),
|
43
|
+
resultsContainer: document.getElementById('results-container'),
|
44
|
+
json: '{{ site.baseurl }}/search.json',
|
45
|
+
searchResultTemplate: '<li><a href="{url}" title="{desc}">{title}</a></li>',
|
46
|
+
noResultsText: 'No results found',
|
47
|
+
limit: 10,
|
48
|
+
fuzzy: true,
|
49
|
+
exclude: ['Welcome']
|
50
|
+
})
|
51
|
+
</script>
|
52
|
+
|
53
|
+
<br>
|
54
|
+
<div id="tags">
|
55
|
+
<h5>tag cloud</h5>
|
56
|
+
{% assign tags = site.tags | sort %}
|
57
|
+
{% for tag in tags %}
|
58
|
+
<span class="site-tag">
|
59
|
+
<a href="{{ site.baseurl }}/tag/{{ tag | first | slugify }}/"
|
60
|
+
style="font-size: {{ tag | last | size | times: 4 | plus: 80 }}%">
|
61
|
+
{{ tag[0] | replace:'-', ' ' }} ({{ tag | last | size }})
|
62
|
+
</a>
|
63
|
+
</span>{% unless forloop.last %} {% endunless %}{% endfor %}
|
64
|
+
|
65
|
+
</div>
|
66
|
+
|
67
|
+
|
68
|
+
<style>
|
69
|
+
.site-tag a {
|
70
|
+
display: inline-block;
|
71
|
+
margin-right: 12px;
|
72
|
+
}
|
73
|
+
</style>
|
74
|
+
|
75
|
+
<br>
|
76
|
+
<div id="categories">
|
77
|
+
<h5>categories</h5>
|
78
|
+
{% assign categories = site.categories | sort %}
|
79
|
+
{% for category in categories %}
|
80
|
+
<span class="site-category">
|
81
|
+
<a href="{{ site.baseurl }}/{{ category | first | slugify }}/">
|
82
|
+
{{ category[0] | replace:'-', ' ' }} ({{ category | last | size }})
|
83
|
+
</a>
|
84
|
+
</span>{% unless forloop.last %} {% endunless %}{% endfor %}
|
85
|
+
|
86
|
+
</div>
|
87
|
+
|
88
|
+
|
89
|
+
<br>
|
90
|
+
<h6>Image Source: <a href="https://unsplash.com/photos/I_LgQ8JZFGE">UNSPLASH</a>
|
91
|
+
|
92
|
+
|
93
|
+
<style>
|
94
|
+
.site-category a {
|
95
|
+
display: inline-block;
|
96
|
+
margin-right: 12px;
|
97
|
+
}
|
98
|
+
</style>
|
99
|
+
|
100
|
+
|
101
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="owl-gallery">
|
6
|
+
{% include slider.html sliderpath="media/services-gallery" %}
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<br clear="all" />
|
10
|
+
|
11
|
+
|
12
|
+
{% include services-one.html group="top" %}
|
13
|
+
<br clear="all" />
|
14
|
+
|
15
|
+
|
16
|
+
<br clear="all" />
|
17
|
+
{% include services-three.html group="three" %}
|
18
|
+
|
19
|
+
<br clear="all" />
|
20
|
+
<br clear="all" />
|
21
|
+
<br clear="all" />
|
22
|
+
{% include services-testimonials.html group="testimonials" %}
|
23
|
+
|
24
|
+
<br clear="all" />
|
25
|
+
|
26
|
+
<h2 class="center">Available Services</h2>
|
27
|
+
{% include services-two.html group="bottom" %}
|
28
|
+
<br clear="all" />
|
29
|
+
<br clear="all" />
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
<div id="header-booknow">
|
34
|
+
{% include paypal/booknow.html %}
|
35
|
+
</div>
|
@@ -1,12 +1,7 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
category: services
|
6
|
-
active: shop
|
7
|
-
header-img: media/servicesbanner.jpg
|
8
|
-
---
|
9
|
-
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
---
|
4
|
+
|
10
5
|
{% for image in site.static_files %}
|
11
6
|
{% assign price = false %}
|
12
7
|
{% assign title = "" %}
|
@@ -44,4 +39,4 @@ header-img: media/servicesbanner.jpg
|
|
44
39
|
|
45
40
|
<div id="header-booknow">
|
46
41
|
{% include paypal/booknow.html %}
|
47
|
-
</div>
|
42
|
+
</div>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-theme-artsy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Doug Hatcher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -82,18 +82,21 @@ files:
|
|
82
82
|
- _includes/signoff.html
|
83
83
|
- _includes/slider.html
|
84
84
|
- _includes/subgallery.html
|
85
|
+
- _layouts/art.html
|
85
86
|
- _layouts/blog_list.html
|
86
87
|
- _layouts/default.html
|
87
88
|
- _layouts/home.html
|
89
|
+
- _layouts/homepage.html
|
88
90
|
- _layouts/image.html
|
89
91
|
- _layouts/journal_by_category.html
|
90
92
|
- _layouts/journal_by_tag.html
|
91
93
|
- _layouts/page.html
|
92
94
|
- _layouts/paginated.html
|
93
95
|
- _layouts/post.html
|
96
|
+
- _layouts/search.html
|
97
|
+
- _layouts/services.html
|
98
|
+
- _layouts/shop.html
|
94
99
|
- _layouts/tag_page.html
|
95
|
-
- _plugins/ext.rb
|
96
|
-
- _plugins/thumbnail.rb
|
97
100
|
- assets/css/bootstrap.min.css
|
98
101
|
- assets/css/galleries.css
|
99
102
|
- assets/css/home.css
|
@@ -287,7 +290,6 @@ files:
|
|
287
290
|
- assets/newsletter/js/ZeroClipboard.min.js
|
288
291
|
- assets/newsletter/js/archivebar-desktop-plugins.js
|
289
292
|
- assets/newsletter/js/fancyzoom.mc.js
|
290
|
-
- shop.html
|
291
293
|
homepage: https://superterran.github.io/jekyll-theme-artsy/
|
292
294
|
licenses:
|
293
295
|
- MIT
|
data/_plugins/ext.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'jekyll/tagging'
|
data/_plugins/thumbnail.rb
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
# Generates a thumbnail to an image and renders an image tag.
|
2
|
-
|
3
|
-
require 'mini_magick'
|
4
|
-
|
5
|
-
class Jekyll::Thumbnail < Liquid::Tag
|
6
|
-
# look up liquid variables
|
7
|
-
# source: http://stackoverflow.com/a/8771374/1489823
|
8
|
-
def look_up(context, name)
|
9
|
-
lookup = context
|
10
|
-
|
11
|
-
name.split(".").each do |value|
|
12
|
-
lookup = lookup[value]
|
13
|
-
end
|
14
|
-
|
15
|
-
lookup
|
16
|
-
end
|
17
|
-
|
18
|
-
def initialize(tag_name, markup, tokens)
|
19
|
-
if /(?<source>[^\s]+)\s+(?<dimensions>[^\s]+)/i =~ markup
|
20
|
-
@source = source
|
21
|
-
@dimensions = dimensions
|
22
|
-
end
|
23
|
-
super
|
24
|
-
end
|
25
|
-
|
26
|
-
def render(context)
|
27
|
-
if @source
|
28
|
-
|
29
|
-
# parking
|
30
|
-
# also put the parameters into the liquid parser again, to allow variable paths
|
31
|
-
source = @source
|
32
|
-
source = look_up context, source unless File.readable?(source)
|
33
|
-
dimensions = @dimensions
|
34
|
-
|
35
|
-
source_path = "#{source}"
|
36
|
-
raise "#{source_path} is not readable" unless File.readable?(source_path)
|
37
|
-
ext = File.extname(source)
|
38
|
-
desc = dimensions.gsub(/[^\da-z]+/i, '')
|
39
|
-
dest_dir = "#{File.dirname(source)}/thumbs"
|
40
|
-
Dir.mkdir dest_dir unless Dir.exists? dest_dir
|
41
|
-
dest = "#{dest_dir}/#{File.basename(source, ext)}_#{desc}#{ext}"
|
42
|
-
dest_path = "#{dest}"
|
43
|
-
|
44
|
-
# only thumbnail the image if it doesn't exist tor is less recent than the source file
|
45
|
-
# will prevent re-processing thumbnails for a ton of images...
|
46
|
-
if !File.exists?(dest_path) || File.mtime(dest_path) <= File.mtime(source_path)
|
47
|
-
# puts ENV.inspect
|
48
|
-
|
49
|
-
# don't generate images in preview mode whenever possible
|
50
|
-
if ENV['OCTOPRESS_ENV'] == 'preview' && /(?<width>\d+)?x(?<height>\d+)?/ =~ dimensions
|
51
|
-
html = "<img src='#{source}' style='"
|
52
|
-
html << "max-width: #{width}px; " unless width.nil? || width.empty?
|
53
|
-
html << "max-height: #{height}px;" unless height.nil? || height.empty?
|
54
|
-
html << "' />"
|
55
|
-
return html
|
56
|
-
end
|
57
|
-
|
58
|
-
puts "Thumbnailing #{source} to #{dest} (#{dimensions})"
|
59
|
-
|
60
|
-
image = MiniMagick::Image.open(source_path)
|
61
|
-
image.strip
|
62
|
-
image.resize dimensions
|
63
|
-
image.quality 60
|
64
|
-
|
65
|
-
second_image = MiniMagick::Image.new("img/watermark-#{dimensions}.png")
|
66
|
-
|
67
|
-
result = image.composite(second_image) do |c|
|
68
|
-
c.compose "Over" # OverCompositeOp
|
69
|
-
c.geometry "+20+20" # copy second_image onto first_image from (20, 20)
|
70
|
-
end
|
71
|
-
|
72
|
-
result.write dest_path
|
73
|
-
end
|
74
|
-
|
75
|
-
"""<img src='#{dest}' />"""
|
76
|
-
|
77
|
-
# TODO support relative paths
|
78
|
-
else
|
79
|
-
"Could not create thumbnail for #{source}. Usage: thumbnail /path/to/local/image.png 50x50<"
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
Liquid::Template.register_tag('thumbnail', Jekyll::Thumbnail)
|