... | ... |
@@ -12,6 +12,10 @@ |
12 | 12 |
border: $border; |
13 | 13 |
} |
14 | 14 |
|
15 |
+@mixin reset-shadow-box() { |
|
16 |
+ @include shadow-box(0px, 0px, 0px); |
|
17 |
+} |
|
18 |
+ |
|
15 | 19 |
@mixin selection($bg, $color: inherit, $text-shadow: none){ |
16 | 20 |
* { |
17 | 21 |
&::-moz-selection { background: $bg; color: $color; text-shadow: $text-shadow; } |
... | ... |
@@ -42,11 +42,28 @@ article { |
42 | 42 |
font-size: 2.0em; font-style: italic; |
43 | 43 |
line-height: 1.3em; |
44 | 44 |
} |
45 |
- img, video, .flash-video { |
|
45 |
+ img, video, .flash-video, .caption-wrapper { |
|
46 | 46 |
@extend .flex-content; |
47 | 47 |
@extend .basic-alignment; |
48 | 48 |
@include shadow-box; |
49 |
+ |
|
50 |
+ &.caption { |
|
51 |
+ @include reset-shadow-box; |
|
52 |
+ } |
|
49 | 53 |
} |
54 |
+ |
|
55 |
+ .caption-wrapper { |
|
56 |
+ display: inline-block; |
|
57 |
+ margin-bottom: 10px; |
|
58 |
+ .caption-text { |
|
59 |
+ background: #fff; |
|
60 |
+ text-align: center; |
|
61 |
+ font-size: .8em; |
|
62 |
+ color: #666; |
|
63 |
+ display: block; |
|
64 |
+ } |
|
65 |
+ } |
|
66 |
+ |
|
50 | 67 |
video, .flash-video { margin: 0 auto 1.5em; } |
51 | 68 |
video { display: block; width: 100%; } |
52 | 69 |
.flash-video { |
53 | 70 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,42 @@ |
0 |
+# Title: Image tag with caption for Jekyll |
|
1 |
+# Description: Easily output images with captions |
|
2 |
+ |
|
3 |
+module Jekyll |
|
4 |
+ |
|
5 |
+ class CaptionImageTag < Liquid::Tag |
|
6 |
+ @img = nil |
|
7 |
+ @title = nil |
|
8 |
+ @class = '' |
|
9 |
+ @width = '' |
|
10 |
+ @height = '' |
|
11 |
+ |
|
12 |
+ def initialize(tag_name, markup, tokens) |
|
13 |
+ if markup =~ /(\S.*\s+)?(https?:\/\/|\/)(\S+)(\s+\d+\s+\d+)?(\s+.+)?/i |
|
14 |
+ @class = $1 || '' |
|
15 |
+ @img = $2 + $3 |
|
16 |
+ if $5 |
|
17 |
+ @title = $5.strip |
|
18 |
+ end |
|
19 |
+ if $4 =~ /\s*(\d+)\s+(\d+)/ |
|
20 |
+ @width = $1 |
|
21 |
+ @height = $2 |
|
22 |
+ end |
|
23 |
+ end |
|
24 |
+ super |
|
25 |
+ end |
|
26 |
+ |
|
27 |
+ def render(context) |
|
28 |
+ output = super |
|
29 |
+ if @img |
|
30 |
+ "<span class='#{('caption-wrapper ' + @class).rstrip}'>" + |
|
31 |
+ "<img class='caption' src='#{@img}' width='#{@width}' height='#{@height}' title='#{@title}'>" + |
|
32 |
+ "<span class='caption-text'>#{@title}</span>" + |
|
33 |
+ "</span>" |
|
34 |
+ else |
|
35 |
+ "Error processing input, expected syntax: {% img [class name(s)] /url/to/image [width height] [title text] %}" |
|
36 |
+ end |
|
37 |
+ end |
|
38 |
+ end |
|
39 |
+end |
|
40 |
+ |
|
41 |
+Liquid::Template.register_tag('imgcap', Jekyll::CaptionImageTag) |