jekyll_picture_tag 1.7.0 → 1.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.solargraph.yml +15 -0
- data/.travis.yml +4 -7
- data/Dockerfile +9 -0
- data/docs/Gemfile +4 -0
- data/docs/Gemfile.lock +249 -0
- data/docs/_config.yml +13 -0
- data/docs/_layouts/directory.html +32 -0
- data/docs/assets/style.css +31 -0
- data/{contributing.md → docs/contributing.md} +57 -15
- data/docs/{examples/_data/picture.yml → example_presets.md} +36 -25
- data/docs/global_configuration.md +61 -3
- data/docs/index.md +114 -0
- data/docs/installation.md +36 -21
- data/docs/migration.md +4 -0
- data/docs/notes.md +64 -58
- data/docs/output.md +63 -0
- data/docs/presets.md +175 -221
- data/docs/releases.md +64 -0
- data/docs/usage.md +91 -79
- data/jekyll_picture_tag.gemspec +3 -1
- data/lib/jekyll_picture_tag.rb +27 -10
- data/lib/jekyll_picture_tag/defaults/global.yml +2 -0
- data/lib/jekyll_picture_tag/defaults/presets.yml +2 -0
- data/lib/jekyll_picture_tag/generated_image.rb +105 -19
- data/lib/jekyll_picture_tag/instructions.rb +1 -0
- data/lib/jekyll_picture_tag/instructions/arg_splitter.rb +68 -0
- data/lib/jekyll_picture_tag/instructions/configuration.rb +47 -11
- data/lib/jekyll_picture_tag/instructions/html_attributes.rb +14 -8
- data/lib/jekyll_picture_tag/instructions/preset.rb +34 -14
- data/lib/jekyll_picture_tag/instructions/set.rb +18 -8
- data/lib/jekyll_picture_tag/instructions/tag_parser.rb +59 -69
- data/lib/jekyll_picture_tag/output_formats/basic.rb +35 -6
- data/lib/jekyll_picture_tag/output_formats/data_attributes.rb +4 -1
- data/lib/jekyll_picture_tag/router.rb +16 -0
- data/lib/jekyll_picture_tag/source_image.rb +6 -1
- data/lib/jekyll_picture_tag/srcsets/basic.rb +45 -19
- data/lib/jekyll_picture_tag/srcsets/pixel_ratio.rb +1 -3
- data/lib/jekyll_picture_tag/srcsets/width.rb +1 -1
- data/lib/jekyll_picture_tag/utils.rb +18 -0
- data/lib/jekyll_picture_tag/version.rb +1 -1
- data/readme.md +43 -200
- metadata +49 -13
- data/docs/examples/_config.yml +0 -10
- data/docs/examples/post.md +0 -46
- data/docs/readme.md +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8139b8ad99ab1d17326fa0a36b19660211d2eeaaf2f013bde294e5c0fd985d1
|
4
|
+
data.tar.gz: f1b4e609115cd6a27c7438a5bffe7bd954ad193f21c87e5e6804b4d3c4261338
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5a51b1438f0dcdd3ccd00925208e56fe740762451cc9c60603204a044595525f44e47285e2b6bc7b9f2f99c644b2d98fd0401f6639a58163cd1334b22a6cd95
|
7
|
+
data.tar.gz: fb823ff0aef8a29989495663e3d108add494609e9c7956865d379fb8a5b05aa79e9a66fb504f073ae204631b3b9dd9a502fc3a13763d6b9d3e6af5384d70c470
|
data/.gitignore
CHANGED
data/.solargraph.yml
ADDED
data/.travis.yml
CHANGED
@@ -1,11 +1,8 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
services:
|
2
|
+
- docker
|
3
3
|
|
4
4
|
before_install:
|
5
|
-
-
|
6
|
-
- gem update --system
|
7
|
-
- gem install bundler
|
5
|
+
- docker build . -t jpt
|
8
6
|
|
9
7
|
script:
|
10
|
-
-
|
11
|
-
- bundle exec rake rubocop
|
8
|
+
- docker run -t jpt
|
data/Dockerfile
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
FROM ruby:alpine
|
2
|
+
WORKDIR /root/jekyll_picture_tag
|
3
|
+
# Dependencies for nokogiri, eventmachine, and JPT
|
4
|
+
RUN apk add git imagemagick g++ musl-dev make libstdc++ zlib build-base
|
5
|
+
COPY Gemfile* jekyll_picture_tag.gemspec ./
|
6
|
+
COPY lib/jekyll_picture_tag/version.rb ./lib/jekyll_picture_tag/version.rb
|
7
|
+
RUN bundle install
|
8
|
+
COPY . .
|
9
|
+
CMD rake
|
data/docs/Gemfile
ADDED
data/docs/Gemfile.lock
ADDED
@@ -0,0 +1,249 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
activesupport (6.0.3)
|
5
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
6
|
+
i18n (>= 0.7, < 2)
|
7
|
+
minitest (~> 5.1)
|
8
|
+
tzinfo (~> 1.1)
|
9
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
10
|
+
addressable (2.7.0)
|
11
|
+
public_suffix (>= 2.0.2, < 5.0)
|
12
|
+
coffee-script (2.4.1)
|
13
|
+
coffee-script-source
|
14
|
+
execjs
|
15
|
+
coffee-script-source (1.11.1)
|
16
|
+
colorator (1.1.0)
|
17
|
+
commonmarker (0.17.13)
|
18
|
+
ruby-enum (~> 0.5)
|
19
|
+
concurrent-ruby (1.1.6)
|
20
|
+
dnsruby (1.61.3)
|
21
|
+
addressable (~> 2.5)
|
22
|
+
em-websocket (0.5.1)
|
23
|
+
eventmachine (>= 0.12.9)
|
24
|
+
http_parser.rb (~> 0.6.0)
|
25
|
+
ethon (0.12.0)
|
26
|
+
ffi (>= 1.3.0)
|
27
|
+
eventmachine (1.2.7)
|
28
|
+
execjs (2.7.0)
|
29
|
+
faraday (1.0.1)
|
30
|
+
multipart-post (>= 1.2, < 3)
|
31
|
+
ffi (1.12.2)
|
32
|
+
forwardable-extended (2.6.0)
|
33
|
+
gemoji (3.0.1)
|
34
|
+
github-pages (204)
|
35
|
+
github-pages-health-check (= 1.16.1)
|
36
|
+
jekyll (= 3.8.5)
|
37
|
+
jekyll-avatar (= 0.7.0)
|
38
|
+
jekyll-coffeescript (= 1.1.1)
|
39
|
+
jekyll-commonmark-ghpages (= 0.1.6)
|
40
|
+
jekyll-default-layout (= 0.1.4)
|
41
|
+
jekyll-feed (= 0.13.0)
|
42
|
+
jekyll-gist (= 1.5.0)
|
43
|
+
jekyll-github-metadata (= 2.13.0)
|
44
|
+
jekyll-mentions (= 1.5.1)
|
45
|
+
jekyll-optional-front-matter (= 0.3.2)
|
46
|
+
jekyll-paginate (= 1.1.0)
|
47
|
+
jekyll-readme-index (= 0.3.0)
|
48
|
+
jekyll-redirect-from (= 0.15.0)
|
49
|
+
jekyll-relative-links (= 0.6.1)
|
50
|
+
jekyll-remote-theme (= 0.4.1)
|
51
|
+
jekyll-sass-converter (= 1.5.2)
|
52
|
+
jekyll-seo-tag (= 2.6.1)
|
53
|
+
jekyll-sitemap (= 1.4.0)
|
54
|
+
jekyll-swiss (= 1.0.0)
|
55
|
+
jekyll-theme-architect (= 0.1.1)
|
56
|
+
jekyll-theme-cayman (= 0.1.1)
|
57
|
+
jekyll-theme-dinky (= 0.1.1)
|
58
|
+
jekyll-theme-hacker (= 0.1.1)
|
59
|
+
jekyll-theme-leap-day (= 0.1.1)
|
60
|
+
jekyll-theme-merlot (= 0.1.1)
|
61
|
+
jekyll-theme-midnight (= 0.1.1)
|
62
|
+
jekyll-theme-minimal (= 0.1.1)
|
63
|
+
jekyll-theme-modernist (= 0.1.1)
|
64
|
+
jekyll-theme-primer (= 0.5.4)
|
65
|
+
jekyll-theme-slate (= 0.1.1)
|
66
|
+
jekyll-theme-tactile (= 0.1.1)
|
67
|
+
jekyll-theme-time-machine (= 0.1.1)
|
68
|
+
jekyll-titles-from-headings (= 0.5.3)
|
69
|
+
jemoji (= 0.11.1)
|
70
|
+
kramdown (= 1.17.0)
|
71
|
+
liquid (= 4.0.3)
|
72
|
+
mercenary (~> 0.3)
|
73
|
+
minima (= 2.5.1)
|
74
|
+
nokogiri (>= 1.10.4, < 2.0)
|
75
|
+
rouge (= 3.13.0)
|
76
|
+
terminal-table (~> 1.4)
|
77
|
+
github-pages-health-check (1.16.1)
|
78
|
+
addressable (~> 2.3)
|
79
|
+
dnsruby (~> 1.60)
|
80
|
+
octokit (~> 4.0)
|
81
|
+
public_suffix (~> 3.0)
|
82
|
+
typhoeus (~> 1.3)
|
83
|
+
html-pipeline (2.12.3)
|
84
|
+
activesupport (>= 2)
|
85
|
+
nokogiri (>= 1.4)
|
86
|
+
http_parser.rb (0.6.0)
|
87
|
+
i18n (0.9.5)
|
88
|
+
concurrent-ruby (~> 1.0)
|
89
|
+
jekyll (3.8.5)
|
90
|
+
addressable (~> 2.4)
|
91
|
+
colorator (~> 1.0)
|
92
|
+
em-websocket (~> 0.5)
|
93
|
+
i18n (~> 0.7)
|
94
|
+
jekyll-sass-converter (~> 1.0)
|
95
|
+
jekyll-watch (~> 2.0)
|
96
|
+
kramdown (~> 1.14)
|
97
|
+
liquid (~> 4.0)
|
98
|
+
mercenary (~> 0.3.3)
|
99
|
+
pathutil (~> 0.9)
|
100
|
+
rouge (>= 1.7, < 4)
|
101
|
+
safe_yaml (~> 1.0)
|
102
|
+
jekyll-avatar (0.7.0)
|
103
|
+
jekyll (>= 3.0, < 5.0)
|
104
|
+
jekyll-coffeescript (1.1.1)
|
105
|
+
coffee-script (~> 2.2)
|
106
|
+
coffee-script-source (~> 1.11.1)
|
107
|
+
jekyll-commonmark (1.3.1)
|
108
|
+
commonmarker (~> 0.14)
|
109
|
+
jekyll (>= 3.7, < 5.0)
|
110
|
+
jekyll-commonmark-ghpages (0.1.6)
|
111
|
+
commonmarker (~> 0.17.6)
|
112
|
+
jekyll-commonmark (~> 1.2)
|
113
|
+
rouge (>= 2.0, < 4.0)
|
114
|
+
jekyll-default-layout (0.1.4)
|
115
|
+
jekyll (~> 3.0)
|
116
|
+
jekyll-feed (0.13.0)
|
117
|
+
jekyll (>= 3.7, < 5.0)
|
118
|
+
jekyll-gist (1.5.0)
|
119
|
+
octokit (~> 4.2)
|
120
|
+
jekyll-github-metadata (2.13.0)
|
121
|
+
jekyll (>= 3.4, < 5.0)
|
122
|
+
octokit (~> 4.0, != 4.4.0)
|
123
|
+
jekyll-mentions (1.5.1)
|
124
|
+
html-pipeline (~> 2.3)
|
125
|
+
jekyll (>= 3.7, < 5.0)
|
126
|
+
jekyll-optional-front-matter (0.3.2)
|
127
|
+
jekyll (>= 3.0, < 5.0)
|
128
|
+
jekyll-paginate (1.1.0)
|
129
|
+
jekyll-readme-index (0.3.0)
|
130
|
+
jekyll (>= 3.0, < 5.0)
|
131
|
+
jekyll-redirect-from (0.15.0)
|
132
|
+
jekyll (>= 3.3, < 5.0)
|
133
|
+
jekyll-relative-links (0.6.1)
|
134
|
+
jekyll (>= 3.3, < 5.0)
|
135
|
+
jekyll-remote-theme (0.4.1)
|
136
|
+
addressable (~> 2.0)
|
137
|
+
jekyll (>= 3.5, < 5.0)
|
138
|
+
rubyzip (>= 1.3.0)
|
139
|
+
jekyll-sass-converter (1.5.2)
|
140
|
+
sass (~> 3.4)
|
141
|
+
jekyll-seo-tag (2.6.1)
|
142
|
+
jekyll (>= 3.3, < 5.0)
|
143
|
+
jekyll-sitemap (1.4.0)
|
144
|
+
jekyll (>= 3.7, < 5.0)
|
145
|
+
jekyll-swiss (1.0.0)
|
146
|
+
jekyll-theme-architect (0.1.1)
|
147
|
+
jekyll (~> 3.5)
|
148
|
+
jekyll-seo-tag (~> 2.0)
|
149
|
+
jekyll-theme-cayman (0.1.1)
|
150
|
+
jekyll (~> 3.5)
|
151
|
+
jekyll-seo-tag (~> 2.0)
|
152
|
+
jekyll-theme-dinky (0.1.1)
|
153
|
+
jekyll (~> 3.5)
|
154
|
+
jekyll-seo-tag (~> 2.0)
|
155
|
+
jekyll-theme-hacker (0.1.1)
|
156
|
+
jekyll (~> 3.5)
|
157
|
+
jekyll-seo-tag (~> 2.0)
|
158
|
+
jekyll-theme-leap-day (0.1.1)
|
159
|
+
jekyll (~> 3.5)
|
160
|
+
jekyll-seo-tag (~> 2.0)
|
161
|
+
jekyll-theme-merlot (0.1.1)
|
162
|
+
jekyll (~> 3.5)
|
163
|
+
jekyll-seo-tag (~> 2.0)
|
164
|
+
jekyll-theme-midnight (0.1.1)
|
165
|
+
jekyll (~> 3.5)
|
166
|
+
jekyll-seo-tag (~> 2.0)
|
167
|
+
jekyll-theme-minimal (0.1.1)
|
168
|
+
jekyll (~> 3.5)
|
169
|
+
jekyll-seo-tag (~> 2.0)
|
170
|
+
jekyll-theme-modernist (0.1.1)
|
171
|
+
jekyll (~> 3.5)
|
172
|
+
jekyll-seo-tag (~> 2.0)
|
173
|
+
jekyll-theme-primer (0.5.4)
|
174
|
+
jekyll (> 3.5, < 5.0)
|
175
|
+
jekyll-github-metadata (~> 2.9)
|
176
|
+
jekyll-seo-tag (~> 2.0)
|
177
|
+
jekyll-theme-slate (0.1.1)
|
178
|
+
jekyll (~> 3.5)
|
179
|
+
jekyll-seo-tag (~> 2.0)
|
180
|
+
jekyll-theme-tactile (0.1.1)
|
181
|
+
jekyll (~> 3.5)
|
182
|
+
jekyll-seo-tag (~> 2.0)
|
183
|
+
jekyll-theme-time-machine (0.1.1)
|
184
|
+
jekyll (~> 3.5)
|
185
|
+
jekyll-seo-tag (~> 2.0)
|
186
|
+
jekyll-titles-from-headings (0.5.3)
|
187
|
+
jekyll (>= 3.3, < 5.0)
|
188
|
+
jekyll-watch (2.2.1)
|
189
|
+
listen (~> 3.0)
|
190
|
+
jemoji (0.11.1)
|
191
|
+
gemoji (~> 3.0)
|
192
|
+
html-pipeline (~> 2.2)
|
193
|
+
jekyll (>= 3.0, < 5.0)
|
194
|
+
kramdown (1.17.0)
|
195
|
+
liquid (4.0.3)
|
196
|
+
listen (3.2.1)
|
197
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
198
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
199
|
+
mercenary (0.3.6)
|
200
|
+
mini_portile2 (2.4.0)
|
201
|
+
minima (2.5.1)
|
202
|
+
jekyll (>= 3.5, < 5.0)
|
203
|
+
jekyll-feed (~> 0.9)
|
204
|
+
jekyll-seo-tag (~> 2.1)
|
205
|
+
minitest (5.14.0)
|
206
|
+
multipart-post (2.1.1)
|
207
|
+
nokogiri (1.10.9)
|
208
|
+
mini_portile2 (~> 2.4.0)
|
209
|
+
octokit (4.18.0)
|
210
|
+
faraday (>= 0.9)
|
211
|
+
sawyer (~> 0.8.0, >= 0.5.3)
|
212
|
+
pathutil (0.16.2)
|
213
|
+
forwardable-extended (~> 2.6)
|
214
|
+
public_suffix (3.1.1)
|
215
|
+
rb-fsevent (0.10.4)
|
216
|
+
rb-inotify (0.10.1)
|
217
|
+
ffi (~> 1.0)
|
218
|
+
rouge (3.13.0)
|
219
|
+
ruby-enum (0.8.0)
|
220
|
+
i18n
|
221
|
+
rubyzip (2.3.0)
|
222
|
+
safe_yaml (1.0.5)
|
223
|
+
sass (3.7.4)
|
224
|
+
sass-listen (~> 4.0.0)
|
225
|
+
sass-listen (4.0.0)
|
226
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
227
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
228
|
+
sawyer (0.8.2)
|
229
|
+
addressable (>= 2.3.5)
|
230
|
+
faraday (> 0.8, < 2.0)
|
231
|
+
terminal-table (1.8.0)
|
232
|
+
unicode-display_width (~> 1.1, >= 1.1.1)
|
233
|
+
thread_safe (0.3.6)
|
234
|
+
typhoeus (1.4.0)
|
235
|
+
ethon (>= 0.9.0)
|
236
|
+
tzinfo (1.2.7)
|
237
|
+
thread_safe (~> 0.1)
|
238
|
+
unicode-display_width (1.7.0)
|
239
|
+
zeitwerk (2.3.0)
|
240
|
+
|
241
|
+
PLATFORMS
|
242
|
+
ruby
|
243
|
+
|
244
|
+
DEPENDENCIES
|
245
|
+
github-pages
|
246
|
+
jekyll-theme-slate
|
247
|
+
|
248
|
+
BUNDLED WITH
|
249
|
+
2.1.4
|
data/docs/_config.yml
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<link href="{{ site.baseurl }}/assets/style.css" rel="stylesheet" type="text/css">
|
6
|
+
|
7
|
+
<ul class="directory">
|
8
|
+
<li><a href="{{ site.baseurl }}/">Quick Start</a></li>
|
9
|
+
<li><a href="{{ site.baseurl }}/installation">Installation</a></li>
|
10
|
+
<li><a href="{{ site.baseurl }}/usage">Usage</a></li>
|
11
|
+
<li><a href="{{ site.baseurl }}/global_configuration">Global Settings</a></li>
|
12
|
+
<li><a href="{{ site.baseurl }}/presets">Writing Presets</a></li>
|
13
|
+
<li><a href="{{ site.baseurl }}/example_presets">Example Presets</a></li>
|
14
|
+
<li><a href="{{ site.baseurl }}/output">Output Formats</a></li>
|
15
|
+
<li><a href="{{ site.baseurl }}/notes">Notes and FAQ</a></li>
|
16
|
+
<li><a href="{{ site.baseurl }}/contributing">Contributing</a></li>
|
17
|
+
<li><a href="{{ site.baseurl }}/releases">Release History</a></li>
|
18
|
+
</ul>
|
19
|
+
|
20
|
+
<hr />
|
21
|
+
|
22
|
+
{{ content }}
|
23
|
+
|
24
|
+
<script>
|
25
|
+
const navItems = Array.from(document.querySelectorAll('ul.directory li'))
|
26
|
+
const currentPath = window.location.toString()
|
27
|
+
const activeItem = navItems.find(function(item) {
|
28
|
+
return item.firstChild.href == currentPath
|
29
|
+
})
|
30
|
+
|
31
|
+
activeItem.classList.add('active')
|
32
|
+
</script>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
@media (max-width: 600px) {
|
2
|
+
ul.directory {
|
3
|
+
flex-direction: column;
|
4
|
+
align-items: center;
|
5
|
+
}
|
6
|
+
}
|
7
|
+
|
8
|
+
ul.directory {
|
9
|
+
display: flex;
|
10
|
+
flex-wrap: wrap;
|
11
|
+
justify-content: center;
|
12
|
+
list-style: none;
|
13
|
+
padding-left: 0;
|
14
|
+
flex-grow: 0;
|
15
|
+
}
|
16
|
+
|
17
|
+
ul.directory li {
|
18
|
+
margin: .3em;
|
19
|
+
}
|
20
|
+
|
21
|
+
ul.directory a {
|
22
|
+
line-height: 2;
|
23
|
+
padding: 8px 20px;
|
24
|
+
}
|
25
|
+
|
26
|
+
li.active a {
|
27
|
+
border-radius: 3px;
|
28
|
+
background-color: #007edf;
|
29
|
+
color: #fff;
|
30
|
+
box-shadow: 2px 2px 3px #999;
|
31
|
+
}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
---
|
2
|
+
---
|
1
3
|
# Contributing
|
2
4
|
|
3
5
|
Bug reports, feature requests, and feedback are very welcome, either through github issues or via
|
@@ -8,11 +10,20 @@ Don't let any of the recommendations/requests in this guide stop you from submit
|
|
8
10
|
|
9
11
|
## Setup
|
10
12
|
|
11
|
-
|
12
|
-
|
13
|
+
It's pretty standard:
|
14
|
+
|
15
|
+
```
|
16
|
+
$ git clone git@github.com:rbuchberger/jekyll_picture_tag.git
|
17
|
+
$ cd jekyll_picture_tag
|
18
|
+
$ bundle install
|
19
|
+
```
|
13
20
|
|
14
21
|
## Testing
|
15
22
|
|
23
|
+
You probably only need to use docker if it's inconvenient to install ImageMagick 7.
|
24
|
+
|
25
|
+
### Bare Metal
|
26
|
+
|
16
27
|
`rake test` runs the test suite (both unit tests and integration tests). Ignore the mini_magick
|
17
28
|
`method redefined` warnings (unless you know how to fix them?)
|
18
29
|
|
@@ -31,35 +42,66 @@ issues, if possible.
|
|
31
42
|
|
32
43
|
`rake` will run all tests and rubocop.
|
33
44
|
|
34
|
-
|
45
|
+
### Docker
|
46
|
+
|
47
|
+
The following commands will build and run the tests inside a docker image. This is useful if it's
|
48
|
+
inconvenient to install ImageMagick 7, or to ensure the Travis CI build will succeed:
|
49
|
+
|
50
|
+
```
|
51
|
+
$ docker build . -t jpt
|
52
|
+
$ docker run -t jpt
|
53
|
+
```
|
54
|
+
|
55
|
+
## Docs
|
56
|
+
|
57
|
+
I think one of the biggest opportunities for improvement in this plugin is its documentation. I'd
|
58
|
+
really love help here, and all you need to know is markdown.
|
35
59
|
|
36
|
-
|
37
|
-
I'm not actually a very good programmer; I need simple code that's easy to understand.
|
60
|
+
It runs on github pages, which is based on jekyll. You can preview as you edit:
|
38
61
|
|
39
|
-
|
62
|
+
0. Follow setup instructions above
|
63
|
+
1. `$ cd docs`
|
64
|
+
2. `$ bundle install`
|
65
|
+
3. `$ bundle exec jekyll serve`
|
66
|
+
4. In a web browser, navigate to `localhost:4000/jekyll_picture_tag/`
|
40
67
|
|
41
|
-
|
42
|
-
This rule isn't hard and fast, but I'm not going to do it without a good reason.
|
68
|
+
## Code Guidelines
|
43
69
|
|
44
|
-
*
|
45
|
-
|
46
|
-
|
70
|
+
* Generally, go for straightforward and readable rather than terse and clever. I'm not actually a
|
71
|
+
very good programmer; I need simple code that's easy to understand.
|
72
|
+
|
73
|
+
* Refactoring is welcome, especially in the name of the previous point.
|
74
|
+
|
75
|
+
* I'm very reluctant to introduce breaking changes to configuration settings. This rule isn't
|
76
|
+
absolute, but I'm not going to do it without a good reason.
|
47
77
|
|
48
78
|
* I've been using 80 characters for code and 100 characters for documentation.
|
49
79
|
|
50
|
-
*
|
51
|
-
|
80
|
+
* Don't disable cops without strong justification.
|
81
|
+
|
82
|
+
* I generally try to write tests before writing code, especially when fixing bugs. This
|
83
|
+
gives us some confidence that what we think we're testing and what we're actually testing aren't
|
84
|
+
too different.
|
52
85
|
|
53
86
|
## Hard rules
|
54
87
|
|
88
|
+
These aren't the rules for submitting a pull request, these are the rules for merging into master.
|
89
|
+
I'm thrilled to receive any help at all, and I'm more than happy to help with meeting these
|
90
|
+
criteria:
|
91
|
+
|
55
92
|
* Liquid tag syntax can only be extended; no breaking changes. I'm not willing to force
|
56
93
|
users to dig through their entire site and change every picture tag in order to update to the
|
57
94
|
latest version.
|
58
95
|
|
59
|
-
* Maintain "no configuration required" - a new user must be able to add
|
96
|
+
* Maintain "no configuration required" - a new user must be able to add JPT to their gemfile, bundle
|
60
97
|
install, and start writing picture tags in their site without touching a yml file.
|
61
98
|
|
62
|
-
*
|
99
|
+
* 100% test coverage (Meaning that when running the unit and integration tests together, every line
|
100
|
+
of code in the `lib` folder must run at least once.)
|
101
|
+
|
102
|
+
* No failing tests
|
103
|
+
|
104
|
+
* No rubocop warnings
|
63
105
|
|
64
106
|
### Thanks!
|
65
107
|
|