mako_rss 0.1.0

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.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +33 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +38 -0
  6. data/.travis.yml +7 -0
  7. data/Gemfile +6 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +124 -0
  10. data/Rakefile +13 -0
  11. data/bin/mako +6 -0
  12. data/lib/mako/article.rb +36 -0
  13. data/lib/mako/cli.rb +49 -0
  14. data/lib/mako/commands/build.rb +33 -0
  15. data/lib/mako/commands/new.rb +28 -0
  16. data/lib/mako/commands/schedule.rb +12 -0
  17. data/lib/mako/commands/version.rb +11 -0
  18. data/lib/mako/configuration.rb +44 -0
  19. data/lib/mako/core.rb +81 -0
  20. data/lib/mako/core_ext/numeric.rb +10 -0
  21. data/lib/mako/core_ext/time.rb +10 -0
  22. data/lib/mako/core_ext.rb +4 -0
  23. data/lib/mako/errors.rb +25 -0
  24. data/lib/mako/feed.rb +29 -0
  25. data/lib/mako/feed_constructor.rb +71 -0
  26. data/lib/mako/feed_requester.rb +43 -0
  27. data/lib/mako/file_open_util.rb +19 -0
  28. data/lib/mako/html_renderer.rb +30 -0
  29. data/lib/mako/layouts/_feed_container.html.erb +19 -0
  30. data/lib/mako/mako_logger.rb +12 -0
  31. data/lib/mako/sass_renderer.rb +30 -0
  32. data/lib/mako/subscription_list_parser.rb +28 -0
  33. data/lib/mako/version.rb +5 -0
  34. data/lib/mako/view_helpers.rb +28 -0
  35. data/lib/mako/writer.rb +18 -0
  36. data/lib/mako.rb +41 -0
  37. data/lib/templates/Gemfile +5 -0
  38. data/lib/templates/config.yaml +14 -0
  39. data/lib/templates/sample_subscriptions/subscriptions.json +1 -0
  40. data/lib/templates/sample_subscriptions/subscriptions.txt +5 -0
  41. data/lib/templates/sample_subscriptions/subscriptions.xml +12 -0
  42. data/lib/templates/themes/sass/_fonts.scss +38 -0
  43. data/lib/templates/themes/sass/_layout.scss +97 -0
  44. data/lib/templates/themes/sass/_reboot.scss +473 -0
  45. data/lib/templates/themes/sass/_utilities.scss +13 -0
  46. data/lib/templates/themes/sass/_variables.scss +57 -0
  47. data/lib/templates/themes/simple.html.erb +46 -0
  48. data/lib/templates/themes/simple.scss +6 -0
  49. data/mako_rss.gemspec +36 -0
  50. metadata +233 -0
@@ -0,0 +1,473 @@
1
+ // Reboot (from Boostrap v4-dev)
2
+ // Bootstrap is licensed MIT. https://github.com/twbs/bootstrap
3
+ //
4
+ // Normalization of HTML elements, manually forked from Normalize.css to remove
5
+ // styles targeting irrelevant browsers while applying new styles.
6
+ //
7
+ // Normalize is licensed MIT. https://github.com/necolas/normalize.css
8
+
9
+
10
+ // Document
11
+ //
12
+ // 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
13
+ // 2. Change the default font family in all browsers.
14
+ // 3. Correct the line height in all browsers.
15
+ // 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
16
+ // 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so
17
+ // we force a non-overlapping, non-auto-hiding scrollbar to counteract.
18
+ // 6. Change the default tap highlight to be completely transparent in iOS.
19
+
20
+ html {
21
+ box-sizing: border-box; // 1
22
+ font-family: sans-serif; // 2
23
+ line-height: 1.15; // 3
24
+ -ms-text-size-adjust: 100%; // 4
25
+ -webkit-text-size-adjust: 100%; // 4
26
+ -ms-overflow-style: scrollbar; // 5
27
+ -webkit-tap-highlight-color: rgba(0,0,0,0); // 6
28
+ }
29
+
30
+ *,
31
+ *::before,
32
+ *::after {
33
+ box-sizing: inherit; // 1
34
+ }
35
+
36
+ // IE10+ doesn't honor `<meta name="viewport">` in some cases.
37
+ @at-root {
38
+ @-ms-viewport { width: device-width; }
39
+ }
40
+
41
+
42
+ // Body
43
+ //
44
+ // 1. Remove the margin in all browsers.
45
+ // 2. As a best practice, apply a default `background-color`.
46
+
47
+ body {
48
+ margin: 0; // 1
49
+ font-family: $font-family-base;
50
+ font-size: $font-size-base;
51
+ font-weight: $font-weight-base;
52
+ line-height: $line-height-base;
53
+ color: $pd-black;
54
+ background-color: $pd-off-white; // 2
55
+ }
56
+
57
+ // Suppress the focus outline on elements that cannot be accessed via keyboard.
58
+ // This prevents an unwanted focus outline from appearing around elements that
59
+ // might still respond to pointer events.
60
+ //
61
+ // Credit: https://github.com/suitcss/base
62
+ [tabindex="-1"]:focus {
63
+ outline: none !important;
64
+ }
65
+
66
+
67
+ // Content grouping
68
+ //
69
+ // 1. Add the correct box sizing in Firefox.
70
+ // 2. Show the overflow in Edge and IE.
71
+
72
+ hr {
73
+ box-sizing: content-box; // 1
74
+ height: 0; // 1
75
+ overflow: visible; // 2
76
+ }
77
+
78
+
79
+ //
80
+ // Typography
81
+ //
82
+
83
+ // Remove top margins from headings
84
+ //
85
+ // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top
86
+ // margin for easier control within type scales as it avoids margin collapsing.
87
+ h1, h2, h3, h4, h5, h6 {
88
+ margin-top: 0;
89
+ margin-bottom: .5rem;
90
+ }
91
+
92
+ // Reset margins on paragraphs
93
+ //
94
+ // Similarly, the top margin on `<p>`s get reset. However, we also reset the
95
+ // bottom margin to use `rem` units instead of `em`.
96
+ p {
97
+ margin-top: 0;
98
+ margin-bottom: 1rem;
99
+ }
100
+
101
+ // Abbreviations
102
+ //
103
+ // 1. Remove the bottom border in Firefox 39-.
104
+ // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
105
+ // 3. Add explicit cursor to indicate changed behavior.
106
+ // 4. Duplicate behavior to the data-* attribute for our tooltip plugin
107
+
108
+ abbr[title],
109
+ abbr[data-original-title] { // 4
110
+ text-decoration: underline; // 2
111
+ text-decoration: underline dotted; // 2
112
+ cursor: help; // 3
113
+ border-bottom: 0; // 1
114
+ }
115
+
116
+ address {
117
+ margin-bottom: 1rem;
118
+ font-style: normal;
119
+ line-height: inherit;
120
+ }
121
+
122
+ ol,
123
+ ul,
124
+ dl {
125
+ margin-top: 0;
126
+ margin-bottom: 1rem;
127
+ }
128
+
129
+ ol ol,
130
+ ul ul,
131
+ ol ul,
132
+ ul ol {
133
+ margin-bottom: 0;
134
+ }
135
+
136
+ dt {
137
+ font-weight: $dt-font-weight;
138
+ }
139
+
140
+ dd {
141
+ margin-bottom: .5rem;
142
+ margin-left: 0; // Undo browser default
143
+ }
144
+
145
+ blockquote {
146
+ margin: 0 0 1rem;
147
+ }
148
+
149
+ dfn {
150
+ font-style: italic; // Add the correct font style in Android 4.3-
151
+ }
152
+
153
+ b,
154
+ strong {
155
+ font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari
156
+ }
157
+
158
+ small {
159
+ font-size: 80%; // Add the correct font size in all browsers
160
+ }
161
+
162
+ //
163
+ // Prevent `sub` and `sup` elements from affecting the line height in
164
+ // all browsers.
165
+ //
166
+
167
+ sub,
168
+ sup {
169
+ position: relative;
170
+ font-size: 75%;
171
+ line-height: 0;
172
+ vertical-align: baseline;
173
+ }
174
+
175
+ sub { bottom: -.25em; }
176
+ sup { top: -.5em; }
177
+
178
+
179
+ //
180
+ // Links
181
+ //
182
+
183
+ a {
184
+ color: $pd-dark-blue;
185
+ text-decoration: none;
186
+ background-color: transparent; // Remove the gray background on active links in IE 10.
187
+ -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.
188
+ }
189
+
190
+ // And undo these styles for placeholder links/named anchors (without href)
191
+ // which have not been made explicitly keyboard-focusable (without tabindex).
192
+ // It would be more straightforward to just use a[href] in previous block, but that
193
+ // causes specificity issues in many other styles that are too complex to fix.
194
+ // See https://github.com/twbs/bootstrap/issues/19402
195
+
196
+ a:not([href]):not([tabindex]) {
197
+ color: inherit;
198
+ text-decoration: none;
199
+
200
+ &:focus {
201
+ outline: 0;
202
+ }
203
+ }
204
+
205
+
206
+ //
207
+ // Code
208
+ //
209
+
210
+ pre,
211
+ code,
212
+ kbd,
213
+ samp {
214
+ font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.
215
+ font-size: 1em; // Correct the odd `em` font sizing in all browsers.
216
+ }
217
+
218
+ pre {
219
+ // Remove browser default top margin
220
+ margin-top: 0;
221
+ // Reset browser default of `1em` to use `rem`s
222
+ margin-bottom: 1rem;
223
+ // Don't allow content to break outside
224
+ overflow: auto;
225
+ }
226
+
227
+
228
+ //
229
+ // Figures
230
+ //
231
+
232
+ figure {
233
+ // Apply a consistent margin strategy (matches our type styles).
234
+ margin: 0 0 1rem;
235
+ }
236
+
237
+
238
+ //
239
+ // Images and content
240
+ //
241
+
242
+ img {
243
+ vertical-align: middle;
244
+ border-style: none; // Remove the border on images inside links in IE 10-.
245
+ }
246
+
247
+ svg:not(:root) {
248
+ overflow: hidden; // Hide the overflow in IE
249
+ }
250
+
251
+
252
+ // Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.
253
+ //
254
+ // In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11
255
+ // DON'T remove the click delay when `<meta name="viewport" content="width=device-width">` is present.
256
+ // However, they DO support removing the click delay via `touch-action: manipulation`.
257
+ // See:
258
+ // * https://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch
259
+ // * http://caniuse.com/#feat=css-touch-action
260
+ // * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay
261
+
262
+ a,
263
+ area,
264
+ button,
265
+ [role="button"],
266
+ input,
267
+ label,
268
+ select,
269
+ summary,
270
+ textarea {
271
+ touch-action: manipulation;
272
+ }
273
+
274
+
275
+ //
276
+ // Tables
277
+ //
278
+
279
+ table {
280
+ border-collapse: collapse; // Prevent double borders
281
+ }
282
+
283
+ caption {
284
+ padding-top: $table-cell-padding;
285
+ padding-bottom: $table-cell-padding;
286
+ color: $pd-light-gray;
287
+ text-align: left;
288
+ caption-side: bottom;
289
+ }
290
+
291
+ th {
292
+ // Matches default `<td>` alignment
293
+ text-align: left;
294
+ }
295
+
296
+
297
+ //
298
+ // Forms
299
+ //
300
+
301
+ label {
302
+ // Allow labels to use `margin` for spacing.
303
+ display: inline-block;
304
+ margin-bottom: .5rem;
305
+ }
306
+
307
+ // Work around a Firefox/IE bug where the transparent `button` background
308
+ // results in a loss of the default `button` focus styles.
309
+ //
310
+ // Credit: https://github.com/suitcss/base/
311
+ button:focus {
312
+ outline: 1px dotted;
313
+ outline: 5px auto -webkit-focus-ring-color;
314
+ }
315
+
316
+ input,
317
+ button,
318
+ select,
319
+ optgroup,
320
+ textarea {
321
+ margin: 0; // Remove the margin in Firefox and Safari
322
+ font-family: inherit;
323
+ font-size: inherit;
324
+ line-height: inherit;
325
+ }
326
+
327
+ button,
328
+ input {
329
+ overflow: visible; // Show the overflow in Edge
330
+ }
331
+
332
+ button,
333
+ select {
334
+ text-transform: none; // Remove the inheritance of text transform in Firefox
335
+ }
336
+
337
+ // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
338
+ // controls in Android 4.
339
+ // 2. Correct the inability to style clickable types in iOS and Safari.
340
+ button,
341
+ html [type="button"], // 1
342
+ [type="reset"],
343
+ [type="submit"] {
344
+ -webkit-appearance: button; // 2
345
+ }
346
+
347
+ // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
348
+ button::-moz-focus-inner,
349
+ [type="button"]::-moz-focus-inner,
350
+ [type="reset"]::-moz-focus-inner,
351
+ [type="submit"]::-moz-focus-inner {
352
+ padding: 0;
353
+ border-style: none;
354
+ }
355
+
356
+ input[type="radio"],
357
+ input[type="checkbox"] {
358
+ box-sizing: border-box; // 1. Add the correct box sizing in IE 10-
359
+ padding: 0; // 2. Remove the padding in IE 10-
360
+
361
+ // Apply a disabled cursor for radios and checkboxes.
362
+ //
363
+ // Note: Neither radios nor checkboxes can be readonly.
364
+ &:disabled {
365
+ cursor: not-allowed;
366
+ }
367
+ }
368
+
369
+
370
+ input[type="date"],
371
+ input[type="time"],
372
+ input[type="datetime-local"],
373
+ input[type="month"] {
374
+ // Remove the default appearance of temporal inputs to avoid a Mobile Safari
375
+ // bug where setting a custom line-height prevents text from being vertically
376
+ // centered within the input.
377
+ // See https://bugs.webkit.org/show_bug.cgi?id=139848
378
+ // and https://github.com/twbs/bootstrap/issues/11266
379
+ -webkit-appearance: listbox;
380
+ }
381
+
382
+ textarea {
383
+ overflow: auto; // Remove the default vertical scrollbar in IE.
384
+ // Textareas should really only resize vertically so they don't break their (horizontal) containers.
385
+ resize: vertical;
386
+ }
387
+
388
+ fieldset {
389
+ // Browsers set a default `min-width: min-content;` on fieldsets,
390
+ // unlike e.g. `<div>`s, which have `min-width: 0;` by default.
391
+ // So we reset that to ensure fieldsets behave more like a standard block element.
392
+ // See https://github.com/twbs/bootstrap/issues/12359
393
+ // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
394
+ min-width: 0;
395
+ // Reset the default outline behavior of fieldsets so they don't affect page layout.
396
+ padding: 0;
397
+ margin: 0;
398
+ border: 0;
399
+ }
400
+
401
+ // 1. Correct the text wrapping in Edge and IE.
402
+ // 2. Correct the color inheritance from `fieldset` elements in IE.
403
+ legend {
404
+ display: block;
405
+ width: 100%;
406
+ max-width: 100%; // 1
407
+ padding: 0;
408
+ margin-bottom: .5rem;
409
+ font-size: 1.5rem;
410
+ line-height: inherit;
411
+ color: inherit; // 2
412
+ white-space: normal; // 1
413
+ }
414
+
415
+ progress {
416
+ vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.
417
+ }
418
+
419
+ // Correct the cursor style of increment and decrement buttons in Chrome.
420
+ [type="number"]::-webkit-inner-spin-button,
421
+ [type="number"]::-webkit-outer-spin-button {
422
+ height: auto;
423
+ }
424
+
425
+ [type="search"] {
426
+ // This overrides the extra rounded corners on search inputs in iOS so that our
427
+ // `.form-control` class can properly style them. Note that this cannot simply
428
+ // be added to `.form-control` as it's not specific enough. For details, see
429
+ // https://github.com/twbs/bootstrap/issues/11586.
430
+ outline-offset: -2px; // 2. Correct the outline style in Safari.
431
+ -webkit-appearance: none;
432
+ }
433
+
434
+ //
435
+ // Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
436
+ //
437
+
438
+ [type="search"]::-webkit-search-cancel-button,
439
+ [type="search"]::-webkit-search-decoration {
440
+ -webkit-appearance: none;
441
+ }
442
+
443
+ //
444
+ // 1. Correct the inability to style clickable types in iOS and Safari.
445
+ // 2. Change font properties to `inherit` in Safari.
446
+ //
447
+
448
+ ::-webkit-file-upload-button {
449
+ font: inherit; // 2
450
+ -webkit-appearance: button; // 1
451
+ }
452
+
453
+ //
454
+ // Correct element displays
455
+ //
456
+
457
+ output {
458
+ display: inline-block;
459
+ }
460
+
461
+ summary {
462
+ display: list-item; // Add the correct display in all browsers
463
+ }
464
+
465
+ template {
466
+ display: none; // Add the correct display in IE
467
+ }
468
+
469
+ // Always hide an element with the `hidden` HTML attribute (from PureCSS).
470
+ // Needed for proper display in IE 10-.
471
+ [hidden] {
472
+ display: none !important;
473
+ }
@@ -0,0 +1,13 @@
1
+ .text-center {
2
+ text-align: center !important;
3
+ }
4
+
5
+ .center-image {
6
+ margin: 0 auto;
7
+ display: block;
8
+ }
9
+
10
+ .img-responsive {
11
+ max-width: 100%;
12
+ height: auto;
13
+ }
@@ -0,0 +1,57 @@
1
+ // Global Variables
2
+ // Colors
3
+ $pd-light-blue: #69C5FF;
4
+ $pd-dark-blue: #4BB7FC;
5
+ $pd-transparent-blue: rgba(125, 222, 255, 0.5);
6
+ $pd-orange: #EFAA4C;
7
+ $pd-yellow: #FDF6E3;
8
+ $pd-off-white: #FDFDFD;
9
+ $pd-black: #000000;
10
+ $pd-white: #FFFFFF;
11
+ $pd-light-gray: #636C72;
12
+ $pd-banner: #5C104F;
13
+ $pd-banner-light: #994F8E;
14
+ $pd-banner-dark: #400136;
15
+
16
+ // Fonts
17
+ $pd-font-family-sans-serif: Corbel, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans", Verdana, "Verdana Ref", sans-serif;
18
+ $font-family-base: $pd-font-family-sans-serif !default;
19
+
20
+ $font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
21
+ $font-size-lg: 1.25rem !default;
22
+ $font-size-sm: .875rem !default;
23
+ $font-size-xs: .75rem !default;
24
+
25
+ $font-weight-normal: normal !default;
26
+ $font-weight-bold: bold !default;
27
+
28
+ $font-weight-base: $font-weight-normal !default;
29
+ $line-height-base: 1.5 !default;
30
+
31
+ $font-size-h1: 2.25rem !default;
32
+ $font-size-h2: 2rem !default;
33
+ $font-size-h3: 1.75rem !default;
34
+ $font-size-h4: 1.5rem !default;
35
+ $font-size-h5: 1.25rem !default;
36
+ $font-size-h6: 1rem !default;
37
+
38
+ $headings-margin-top: (1rem) !default;
39
+ $headings-margin-bottom: (1rem / 2) !default;
40
+ $headings-font-family: inherit !default;
41
+ $headings-font-weight: 500 !default;
42
+ $headings-line-height: 1.1 !default;
43
+ $headings-color: inherit !default;
44
+
45
+ $dt-font-weight: $font-weight-bold !default;
46
+
47
+ // Tables
48
+ $table-cell-padding: 0.75rem !default;
49
+
50
+ // Media Query Breakpoints
51
+ $screen-phone: 480px !default;
52
+
53
+ $screen-tablet: 768px !default;
54
+
55
+ $screen-desktop: 992px !default;
56
+
57
+ $screen-wide-desktop: 1200px !default;
@@ -0,0 +1,46 @@
1
+ <html>
2
+ <head>
3
+ <meta charset="UTF-8">
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+
7
+ <link rel="stylesheet" href="main.css">
8
+
9
+ <title>Mako for <%= today %></title>
10
+ </head>
11
+ <body>
12
+ <header id="banner">
13
+ <h1 class="banner-text">Mako 🥛 </h1>
14
+ <h4 class="banner-text"><%= today %></h4>
15
+ </header>
16
+
17
+ <nav id="quick-nav">
18
+ <%= quick_nav(feeds) %>
19
+ </nav>
20
+
21
+ <section id="feed-container">
22
+ <% feeds.select { |f| f.articles.size.positive? }.each_with_index do |feed, index| %>
23
+ <section>
24
+ <header class="article-header">
25
+ <h1><a href="<%= feed.url %>" id=<%= "feed-#{index}" %>><%= h(feed.title) %></a></h1>
26
+ </header>
27
+ <% feed.articles_desc.each do |article| %>
28
+ <article>
29
+ <h3><a href="<%= article.url %>"><%= h(article.title) %></a></h3>
30
+ <p class="meta"><%= article.formatted_published %></p>
31
+ <%= article.summary %>
32
+ <p class="back-to-top"><a href="#banner">Back to Top</a></p>
33
+ </article>
34
+ <hr />
35
+ <% end %>
36
+ </section>
37
+ <% end %>
38
+ </section>
39
+
40
+ <footer id="footer">
41
+ <p class="meta">Last updated: <%= last_updated %></p>
42
+
43
+ <a class="meta" href="https://github.com/jonathanpike/mako">About</a>
44
+ </footer>
45
+ </body>
46
+ </html>
@@ -0,0 +1,6 @@
1
+ // Imports
2
+ @import "sass/variables";
3
+ @import "sass/reboot";
4
+ @import "sass/fonts";
5
+ @import "sass/layout";
6
+ @import "sass/utilities";
data/mako_rss.gemspec ADDED
@@ -0,0 +1,36 @@
1
+ # coding: utf-8
2
+ # frozen_string_literal: true
3
+
4
+ lib = File.expand_path('../lib', __FILE__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+ require 'mako/version'
7
+
8
+ Gem::Specification.new do |spec|
9
+ spec.name = 'mako_rss'
10
+ spec.version = Mako::VERSION
11
+ spec.authors = ['Jonathan Pike']
12
+ spec.email = ['jonathan.d.s.pike@gmail.com']
13
+
14
+ spec.summary = 'A static site feed reader'
15
+ spec.homepage = 'https://github.com/jonathanpike/mako'
16
+ spec.license = 'MIT'
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ f.match(%r{^(test|spec|features)/})
20
+ end
21
+ spec.bindir = 'bin'
22
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
23
+ spec.require_paths = ['lib']
24
+
25
+ spec.add_development_dependency 'bundler', '~> 1.14'
26
+ spec.add_development_dependency 'rake', '~> 12.0'
27
+ spec.add_development_dependency 'minitest', '~> 5.1'
28
+ spec.add_development_dependency 'vcr', '~> 3.0'
29
+ spec.add_development_dependency 'rubocop', '~> 0.49'
30
+ spec.add_development_dependency 'coveralls', '~> 0.8'
31
+
32
+ spec.add_runtime_dependency 'feedjira', '~> 2.0'
33
+ spec.add_runtime_dependency 'faraday', '~> 0.12'
34
+ spec.add_runtime_dependency 'nokogiri', '~> 1.8'
35
+ spec.add_runtime_dependency 'sass', '~> 3.4'
36
+ end