zine 0.11.0 → 0.13.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a7c20f64ec01c120b0b98333261a3d0212355d0e6b28ce5e1290b97752f2d8e
4
- data.tar.gz: ed80eb465ddaa486667e79d250382d315e2fe809f8242e713fc4e743d54ed437
3
+ metadata.gz: fd799d0d16019f2d33ecaf9b60bb5a9c13d8d3b8b82b03f4ff7d8781d5fbcfde
4
+ data.tar.gz: bc32bc64300c4b8327c6426335533970656ab9a33e06fe5e3976ac51c8b14bc6
5
5
  SHA512:
6
- metadata.gz: 37085f8a9cd02c6386410a6a5e225a10135d6f3c4e0cf4826ca4fa3caaac95bdaa6eb52150df6f66e8a3249049bc94c5035d8f92bf6482e3d4c3b7cb5ad90378
7
- data.tar.gz: 3e849db212b7eeb76cd0d340510322688c71b8424ec8ebe9fa272519ec9d863e24b54732c6f8318161895354b3ad582bf67164106a391e1bf82567c1ffca32d7
6
+ metadata.gz: 91d373f480d5282ddaf6a08d08bb69528cf62e7d5cb7532aa4cfb98e5f40cc5ef7f4a9723c41ce2d9961f7650524ac2d4f69cc2da84b3237ebf5c9e11b43fc91
7
+ data.tar.gz: 1325ebca737a5f0bc73641e745bf3466d78a5f2f5f14914c0e8c41953c441ae47c4cf55a7e4527c30079512c45808d6ad63204486c1b52c3ccfc9b14a3e33063
@@ -125,3 +125,33 @@
125
125
  # 0.11.0, November 7, 2018
126
126
 
127
127
  - fixed a bug where String#split would break apart markdown files on tables as well as at the metadata/markdown boundary
128
+
129
+ # 0.12.0 - never pushed, used up until 25 April 2019
130
+
131
+ - added (then removed) Mastodon from the list of contacts, changed the styling a few times, neglected to publish
132
+
133
+ # 0.13.0 - lucky 13 -
134
+
135
+ - added some of the style changes that survived from v12, eg moved social media to the footer
136
+ - added a (permissive as they come) robots.txt file
137
+ - dependency updates, kramdown split into kramdown & kramdown-parser-gfm which seems to be slower :-(
138
+ - bumped the required version of Ruby to 2.3 (for bundler, kramdown, etc)
139
+ - dropped the highline gem (it was only used to get the one input, originally there was going to be more)
140
+ - minor readme updates
141
+ - placeholder site, mostly in case there's ever an app: https://zine.dev
142
+
143
+ TO DO
144
+ - add canonical links to page headers, means the build order needs to change...
145
+ - generate sitemap.xml
146
+ - add an AWS S3 uploader
147
+ - add AWS CloudFront invalidation
148
+ - fix the SFTP error from 0.7/0.8, also likely applies to S3
149
+ - make sure the server's killed on errors (eg if no credentials) so can run it again later without a port conflict
150
+ - tests, lots of tests
151
+
152
+ MAY DO
153
+ - concurrent-ruby gem
154
+ - migration scripts from eg Jekyll?
155
+ - Apple News
156
+ - much refactoring
157
+ - an app
data/README.md CHANGED
@@ -1,20 +1,19 @@
1
1
  # zine
2
- Yet another blog aware static site generator.
3
2
 
4
- ## Warning: pre-release code
3
+ [![Gem Version](https://badge.fury.io/rb/zine.svg)](https://badge.fury.io/rb/zine)
5
4
 
6
- These are the very early days of zine, expect breaking changes.
5
+ Yet another blog aware static site generator.
7
6
 
8
7
  ## Why yet another static blog engine?
9
8
 
10
- Despite the [proliferation in these things][engine_list] (450!) I still find it more comfortable to use my own tools.
9
+ Despite the [proliferation in these things][engine_list] (!) I still find it more comfortable to use my own tools.
11
10
 
12
11
  Distinguishing features include:
13
12
 
14
13
  - ERB templates
15
14
  - Sass stylesheets
16
15
  - fast incremental builds
17
- - SFTP file uploads
16
+ - GitHub & SFTP file uploads
18
17
 
19
18
  Presented here in the hope it's of use to someone else too.
20
19
 
@@ -76,14 +75,9 @@ Commands:
76
75
 
77
76
  ### Up next
78
77
 
79
- This is only a first cut at this gem, the stuff I considered a (barely) minimum viable product. Up next are:
78
+ Many versions on this is only an early cut of this gem, the stuff I considered a (barely) minimum viable product. More to come...
80
79
 
81
- - migration scripts from eg Jekyll? Maybe.
82
- - Apple News
83
- - much refactoring
84
- - docs
85
- - tests, lots of tests
86
- - and a few other things
80
+ A brief TODO list at the end of the change log.
87
81
 
88
82
  ## Contributing
89
83
 
@@ -92,7 +86,7 @@ Yes please. Bug reports and pull requests are welcome on GitHub at https://githu
92
86
  ## Tests
93
87
 
94
88
  ```shell
95
- bundle exec rspec spec # or your alias for that
89
+ rake
96
90
  ```
97
91
 
98
92
  ## License
@@ -70,7 +70,7 @@ module Zine
70
70
  end
71
71
 
72
72
  # currently used to say yes on a script's behalf - in #notice
73
- class MockHighlineYes
73
+ class MockYes
74
74
  def ask(_question)
75
75
  'Y'
76
76
  end
@@ -106,7 +106,7 @@ module Zine
106
106
  @options['upload'],
107
107
  guard.delete_array,
108
108
  guard.upload_array
109
- uploader.upload_decision MockHighlineYes
109
+ uploader.upload_decision MockYes
110
110
  end
111
111
 
112
112
  def write_markdown(default_name, src_dir, file)
@@ -2,6 +2,7 @@ require 'erb'
2
2
  require 'date'
3
3
  require 'htmlcompressor'
4
4
  require 'kramdown'
5
+ require 'kramdown-parser-gfm'
5
6
  require 'pathname'
6
7
  require 'rainbow'
7
8
  require 'yaml'
@@ -39,7 +40,8 @@ module Zine
39
40
  site_URL: site['site_URL'],
40
41
  tags: slugify_tags(front_matter['tags']),
41
42
  title: html_escape(front_matter['title']),
42
- twitter_name: site['twitter_name'] }
43
+ twitter_name: site['twitter_name'],
44
+ uri: '' } # uri only generated for posts, and not until after markdown, TO DO
43
45
  end
44
46
 
45
47
  def public_binding
@@ -104,7 +106,6 @@ module Zine
104
106
  input: 'GFM',
105
107
  auto_ids: false,
106
108
  smart_quotes: %w[apos apos quot quot],
107
- syntax_highlighter: 'rouge'
108
109
  ).to_html
109
110
  @raw_text = nil
110
111
  end
@@ -0,0 +1,9 @@
1
+ module Zine
2
+ # Returns an answer from the CLI
3
+ class Query
4
+ def call(question)
5
+ puts question
6
+ $stdin.gets.chomp
7
+ end
8
+ end
9
+ end
@@ -1,4 +1,4 @@
1
- require 'highline'
1
+ require 'zine/query'
2
2
  require 'rainbow'
3
3
  require 'rack'
4
4
  require 'thin'
@@ -67,7 +67,7 @@ module Zine
67
67
  (@delete_array.empty? && @upload_array.empty?)
68
68
  uploader = Zine::Upload.new rel_path_build, upload_options,
69
69
  @delete_array, @upload_array
70
- uploader.upload_decision HighLine
70
+ uploader.upload_decision Query
71
71
  end
72
72
  end
73
73
  end
@@ -0,0 +1,2 @@
1
+ User-agent: *
2
+ Disallow:
@@ -1 +1 @@
1
- *{margin:0;padding:0}html,body{height:100%}body{background-color:#fff;font-family:GillSansRegular,"Gill Sans MT","Gill Sans","Century Gothic",Calibri,"Trebuchet MS",sans-serif;line-height:1.618;color:#333;text-align:center;font-weight:300}#skiptocontent{height:1px;width:1px;position:absolute;overflow:hidden;top:-10px}h1,h2,h3,h4,h5,h6{color:#333;letter-spacing:0.1em}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:#414f7c;text-decoration:none}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:#212721}h1{font-weight:300;font-size:2.618em;margin:1.809em 0 0.809em}h2{font-weight:300;font-size:1.618em;margin:1.809em 0 0.809em}h3,h4,h5,h6{font-weight:400;font-size:1em;margin:1.809em 0 0.809em}p,li{margin:1em 0}ul{margin:0}a{color:#414f7c}a:hover{color:#212721}section{margin-bottom:1.618em}section>section{margin-bottom:3.236em}strong{font-weight:400}body>header{width:43em;text-align:center;margin:0 auto 0}body>header a{text-decoration:none;margin-left:0.5em;margin-right:0.5em}body>header,body>main,body>footer{display:block}body>header a{color:#414f7c}body>header a:hover{color:#212721}body>header a.extra{color:#414f7c;margin-left:1em}body>header a.extra:hover{color:#212721}body>header nav ul li{display:inline;list-style:none}.button{width:30px;height:30px;display:inline-block;background-size:100%;text-indent:-999em;text-align:left;margin:20px}.twitter{background:url("https://mikekreuzer.com/assets/webicon-twitter-m.png");background-image:url("https://mikekreuzer.com/assets/webicon-twitter.svg"),none}.rss{background:url("https://mikekreuzer.com/assets/webicon-rss-m.png");background-image:url("https://mikekreuzer.com/assets/webicon-rss.svg"),none}main{text-align:left;width:43em;margin:3em auto 2em}main li{margin-left:2.618em}.meta{color:#667}footer{width:43em;color:#667;border-top:4px solid #ddd;margin:3em auto 2em;overflow:hidden}footer .column{float:left;width:33%;text-align:left}footer .column ul{list-style:none}footer .column a,.tags a{color:#414f7c;text-decoration:none}footer .column a:hover,.tags a:hover{color:#212721;text-decoration:underline}.tags ul li{list-style:none;display:inline;font-variant:small-caps;font-size:1.2em}.archive a{text-decoration:none}ul.archive,ul.archive ul{margin-left:0}ul.archive li,ul.archive ul li{list-style:none;margin-left:0}.post pre{border:1px solid #ddd;background-color:#fff;padding:0 .4em}p.date{color:#667}pre{background-color:#eee;padding:1em;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}code{font-family:Consolas,Menlo,Monaco,"Lucida Console","Courier New",monospace,serif;font-size:0.8em}blockquote{margin:2em 2em 2em 1em;padding:0 .75em 0 1.25em;border-left:2px solid #ddd;border-right:0px solid #ddd}@media all and (max-width: 736px){body>header,main,footer{width:86%;margin:0 auto 0;padding:12px 24px 12px}p{margin-bottom:2em}.button{width:50px;height:50px;margin:20px}footer .column{width:100%}}
1
+ *{margin:0;padding:0}html,body{height:100%}body{background-color:#fff;font-family:GillSansRegular,"Gill Sans MT","Gill Sans","Century Gothic",Calibri,"Trebuchet MS",sans-serif;line-height:1.618;color:#333;text-align:center;font-weight:300}#skiptocontent{height:1px;width:1px;position:absolute;overflow:hidden;top:-10px}h1,h2,h3,h4,h5,h6{color:#333;letter-spacing:0.1em}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:#414f7c;text-decoration:none}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:#212721}h1{font-weight:300;font-size:2.618em;margin:1.809em 0 0.809em}h2{font-weight:300;font-size:1.618em;margin:1.809em 0 0.809em}h3,h4,h5,h6{font-weight:400;font-size:1em;margin:1.809em 0 0.809em}p,li{margin:1em 0}ul{margin:0}a{color:#414f7c}a:hover{color:#212721}section{margin-bottom:1.618em}section>section{margin-bottom:3.236em}strong{font-weight:400}body>header{width:43em;text-align:center;margin:0 auto 0}body>header a{text-decoration:none;margin-left:0.5em;margin-right:0.5em}body>header,body>main,body>footer{display:block}body>header a{color:#414f7c}body>header a:hover{color:#212721}body>header a.extra{color:#414f7c;margin-left:1em}body>header a.extra:hover{color:#212721}body>header nav ul li{display:inline;list-style:none}.contact-list span{margin-left:40px}.button{width:30px;height:30px;display:inline-block;background-size:100%;text-align:left}.twitter{background:url("/assets/webicon-twitter-m.png");background-image:url("/assets/webicon-twitter.svg"),none}.rss{background:url("/assets/webicon-rss-m.png");background-image:url("/assets/webicon-rss.svg"),none}main{text-align:left;width:43em;margin:3em auto 2em}main li{margin-left:2.618em}.meta{color:#667}footer{width:43em;color:#667;border-top:4px solid #ddd;margin:3em auto 2em;overflow:hidden}footer .column{float:left;padding:1px;text-align:left;width:32%}footer .column ul{list-style:none}footer .column a,.tags a{color:#414f7c;text-decoration:none}footer .column a:hover,.tags a:hover{color:#212721;text-decoration:underline}.tags ul li{list-style:none;display:inline;font-variant:small-caps;font-size:1.2em}.archive a{text-decoration:none}ul.archive,ul.archive ul{margin-left:0}ul.archive li,ul.archive ul li{list-style:none;margin-left:0}.post pre{border:1px solid #ddd;background-color:#fff;padding:0 .4em}p.date{color:#667}pre{background-color:#eee;padding:1em;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}code{font-family:Consolas,Menlo,Monaco,"Lucida Console","Courier New",monospace,serif;font-size:0.8em}table{border-collapse:collapse;margin:0 auto}th,td{border:solid #ddd 1px;padding:0.5em 1.5em}blockquote{margin:2em 2em 2em 1em;padding:0 .75em 0 1.25em;border-left:2px solid #ddd;border-right:0px solid #ddd}.chart-png{margin:2em 0 2em;width:90%}.logo-png{float:left;margin-bottom:18px;margin-right:24px}@media all and (max-width: 736px){body>header,main,footer{width:86%;margin:0 auto 0;padding:12px 24px 12px}p{margin-bottom:2em}footer .column{width:100%}}
@@ -19,8 +19,6 @@ $desktopWidth: 43em;
19
19
  $lightWeight: 300;
20
20
  $heavyWeight: 400;
21
21
 
22
- $siteBaseURL: 'https:\/\/mikekreuzer.com';
23
-
24
22
  $regularFont: GillSansRegular, 'Gill Sans MT', 'Gill Sans', 'Century Gothic', Calibri, 'Trebuchet MS', sans-serif;
25
23
  $monoFont: Consolas, Menlo, Monaco, 'Lucida Console', 'Courier New', monospace, serif;
26
24
 
@@ -61,21 +59,21 @@ h1,h2,h3,h4,h5,h6 {
61
59
  }
62
60
 
63
61
  h1 {
64
- font-weight: $lightWeight;
65
- font-size: 2.618em;
66
- margin: 1.809em 0 0.809em;
62
+ font-weight: $lightWeight;
63
+ font-size: 2.618em;
64
+ margin: 1.809em 0 0.809em;
67
65
  }
68
66
 
69
67
  h2 {
70
- font-weight: $lightWeight;
71
- font-size: 1.618em;
72
- margin: 1.809em 0 0.809em;
68
+ font-weight: $lightWeight;
69
+ font-size: 1.618em;
70
+ margin: 1.809em 0 0.809em;
73
71
  }
74
72
 
75
73
  h3, h4, h5, h6 {
76
- font-weight: $heavyWeight;
77
- font-size: 1em;
78
- margin: 1.809em 0 0.809em;
74
+ font-weight: $heavyWeight;
75
+ font-size: 1em;
76
+ margin: 1.809em 0 0.809em;
79
77
  }
80
78
 
81
79
  p, li {
@@ -141,24 +139,26 @@ body > header nav ul li {
141
139
  list-style: none;
142
140
  }
143
141
 
142
+ .contact-list span {
143
+ margin-left: 40px;
144
+ }
145
+
144
146
  .button {
145
- width: 30px;
146
- height: 30px;
147
- display: inline-block;
148
- background-size: 100%;
149
- text-indent: -999em;
150
- text-align: left;
151
- margin: 20px;
147
+ width: 30px;
148
+ height: 30px;
149
+ display: inline-block;
150
+ background-size: 100%;
151
+ text-align: left;
152
152
  }
153
153
 
154
154
  .twitter {
155
- background: url($siteBaseURL + '/assets/webicon-twitter-m.png');
156
- background-image: url($siteBaseURL + '/assets/webicon-twitter.svg'), none;
155
+ background: url('/assets/webicon-twitter-m.png');
156
+ background-image: url('/assets/webicon-twitter.svg'), none;
157
157
  }
158
158
 
159
159
  .rss {
160
- background: url($siteBaseURL + '/assets/webicon-rss-m.png');
161
- background-image: url($siteBaseURL + '/assets/webicon-rss.svg'), none;
160
+ background: url('/assets/webicon-rss-m.png');
161
+ background-image: url('/assets/webicon-rss.svg'), none;
162
162
  }
163
163
 
164
164
  main {
@@ -185,8 +185,9 @@ footer {
185
185
 
186
186
  footer .column {
187
187
  float: left;
188
- width: 33%;
188
+ padding: 1px;
189
189
  text-align: left;
190
+ width: 32%;
190
191
  }
191
192
 
192
193
  footer .column ul { list-style: none; }
@@ -194,18 +195,18 @@ footer .column a, .tags a { color:$linkColour; text-decoration: none; }
194
195
  footer .column a:hover, .tags a:hover { color:$hoverColour; text-decoration: underline; }
195
196
 
196
197
  .tags ul li {
197
- list-style: none;
198
- display: inline;
199
- font-variant: small-caps;
200
- font-size:1.2em;
198
+ list-style: none;
199
+ display: inline;
200
+ font-variant: small-caps;
201
+ font-size:1.2em;
201
202
  }
202
203
 
203
204
  .archive a {
204
- text-decoration: none;
205
+ text-decoration: none;
205
206
  }
206
207
 
207
208
  ul.archive, ul.archive ul {
208
- margin-left: 0;
209
+ margin-left: 0;
209
210
  }
210
211
 
211
212
  ul.archive li, ul.archive ul li {
@@ -234,7 +235,7 @@ footer .rss img {
234
235
 
235
236
 
236
237
  p.date {
237
- color: $mediumGrey;
238
+ color: $mediumGrey;
238
239
  }
239
240
 
240
241
  /*.post ul, .post ol {
@@ -242,14 +243,14 @@ p.date {
242
243
  }*/
243
244
 
244
245
  pre {
245
- background-color: $codeBackgroundColour;
246
- padding: 1em;
247
- white-space: pre-wrap;
248
- /* why necessary */
249
- white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
250
- white-space: -pre-wrap; /* Opera 4-6 */
251
- white-space: -o-pre-wrap; /* Opera 7 */
252
- word-wrap: break-word;
246
+ background-color: $codeBackgroundColour;
247
+ padding: 1em;
248
+ white-space: pre-wrap;
249
+ /* why necessary */
250
+ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
251
+ white-space: -pre-wrap; /* Opera 4-6 */
252
+ white-space: -o-pre-wrap; /* Opera 7 */
253
+ word-wrap: break-word;
253
254
  }
254
255
 
255
256
  code {
@@ -268,6 +269,16 @@ code {
268
269
  background-color: $codeBackgroundColour;
269
270
  }*/
270
271
 
272
+ table {
273
+ border-collapse: collapse;
274
+ margin: 0 auto;
275
+ }
276
+
277
+ th, td {
278
+ border: solid $lightGrey 1px;
279
+ padding: 0.5em 1.5em;
280
+ }
281
+
271
282
  /* quotes */
272
283
  blockquote {
273
284
  margin: 2em 2em 2em 1em;
@@ -276,6 +287,17 @@ blockquote {
276
287
  border-right: 0px solid $borderColour;
277
288
  }
278
289
 
290
+ .chart-png {
291
+ margin: 2em 0 2em;
292
+ width:90%;
293
+ }
294
+
295
+ .logo-png {
296
+ float:left;
297
+ margin-bottom:18px;
298
+ margin-right: 24px;
299
+ }
300
+
279
301
  @media all and (max-width: 736px) {
280
302
  /* was max-device-width: 1242px */
281
303
  body > header, main, footer {
@@ -286,11 +308,11 @@ blockquote {
286
308
  p {
287
309
  margin-bottom:2em;
288
310
  }
289
- .button {
311
+ /*.button {
290
312
  width: 50px;
291
313
  height: 50px;
292
314
  margin: 20px;
293
- }
315
+ }*/
294
316
  footer .column {
295
317
  width: 100%;
296
318
  }
@@ -1,23 +1,26 @@
1
1
  <footer>
2
- <div class="column">
3
- <h3>Contact me</h3>
4
- <p>Twitter:&nbsp;<a href="https://twitter.com/<%= page[:twitter_name] %>">@<%= page[:twitter_name] %></a></p>
5
- </div>
6
- <div class="column">
7
- <h3>Me elsewhere</h3>
8
- <ul>
9
- <% for @link in page[:links_array] %>
10
- <li><a href="<%= @link['uri'] %>"><%= @link['name'] %></a></li>
11
- <% end %>
2
+ <div class="column">
3
+ <h3>Contact me</h3>
4
+ <ul class="contact-list">
5
+ <li><a href="https://twitter.com/<%= page[:twitter_name] %>" class="button twitter"><span>Twitter</span></a></li>
6
+ <li><a href="<%= page[:site_URL] %>/rss.xml" rel="home" type="application/rss+xml" class="button rss"><span>Subscribe</span></a></li>
12
7
  </ul>
13
- </div>
14
- <div class="column">
15
- <h3>The fine print</h3>
16
- <ul>
17
- <li>Built with <a href="https://github.com/mikekreuzer/zine">Zine</a></li>
18
- <li>&copy; 2017<span> <%= page[:site_author] %></span></li>
19
- </ul>
20
- </div>
8
+ </div>
9
+ <div class="column">
10
+ <h3>Me elsewhere</h3>
11
+ <ul>
12
+ <% for @link in page[:links_array] %>
13
+ <li><a href="<%= @link['uri'] %>"><%= @link['name'] %></a></li>
14
+ <% end %>
15
+ </ul>
16
+ </div>
17
+ <div class="column">
18
+ <h3>The fine print</h3>
19
+ <ul>
20
+ <li>Built with <a href="https://github.com/mikekreuzer/zine">Zine</a></li>
21
+ <li>&copy; 2019<span> <%= page[:site_author] %></span></li>
22
+ </ul>
23
+ </div>
21
24
  </footer>
22
- </body>
25
+ </body>
23
26
  </html>
@@ -6,8 +6,9 @@
6
6
  <meta name="description" content="<%= page[:site_description] %>">
7
7
  <title><%= page[:site_name] %> | <%= page[:title] %></title>
8
8
  <link rel="home" href="<%= page[:site_URL] %>/rss.xml" type="application/rss+xml" title="<%= page[:site_name] %>">
9
- <link rel="stylesheet" href="<%= page[:site_URL] %>/screen.css">
10
- <link rel="apple-touch-icon" href="<%= page[:site_URL] %>/apple-touch-icon.png">
9
+ <link rel="stylesheet" href="/screen.css">
10
+ <link rel="apple-touch-icon" href="/apple-touch-icon.png">
11
+ <!--<link rel="canonical" href="<%= page[:uri] %>" />-->
11
12
  </head>
12
13
  <body>
13
14
  <div id="skiptocontent">
@@ -19,9 +20,10 @@
19
20
  <nav>
20
21
  <ul>
21
22
  <li><a href="<%= page[:site_URL] %>">Home</a></li>
22
- <li><a href="<%= page[:site_URL] %>/articles.html">Articles</a></li>
23
- <li><a href="<%= page[:site_URL] %>/about.html">About</a></li>
24
- </ul><a href="https://twitter.com/<%= page[:twitter_name] %>" class="button twitter">Argue with me on Twitter</a><a href="<%= page[:site_URL] %>/rss.xml" rel="home" type="application/rss+xml" class="button rss">RSS Feed</a>
23
+ <li><a href="/articles.html">Articles</a></li>
24
+ <li><a href="/tags/index.html">Tags</a></li>
25
+ <li><a href="/about.html">About</a></li>
26
+ </ul>
25
27
  </nav>
26
28
  </header>
27
29
  <a name="maincontent"></a>
@@ -1,4 +1,3 @@
1
- require 'highline'
2
1
  require 'rainbow'
3
2
  require 'set'
4
3
  require 'zine'
@@ -24,7 +23,7 @@ module Zine
24
23
  def upload_decision(query_class)
25
24
  return if @no_upload
26
25
  cli = query_class.new
27
- answer = cli.ask('Upload files? (Y/n)') { |q| q.default = 'Y' }
26
+ answer = cli.call 'Upload files? (Y/n)'
28
27
  return if answer != 'Y'
29
28
  puts Rainbow('Connecting...').green
30
29
  upload
@@ -1,4 +1,4 @@
1
1
  module Zine
2
2
  # The version
3
- VERSION = '0.11.0'.freeze
3
+ VERSION = '0.13.0'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Kreuzer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-07 00:00:00.000000000 Z
11
+ date: 2019-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '2.0'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.16.4
22
+ version: 2.0.1
23
23
  type: :development
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '1.16'
29
+ version: '2.0'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.16.4
32
+ version: 2.0.1
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: curb
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +53,7 @@ dependencies:
53
53
  version: '12.3'
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 12.3.1
56
+ version: 12.3.2
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -63,7 +63,7 @@ dependencies:
63
63
  version: '12.3'
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: 12.3.1
66
+ version: 12.3.2
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: rspec
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -93,47 +93,53 @@ dependencies:
93
93
  - !ruby/object:Gem::Version
94
94
  version: 0.16.1
95
95
  - !ruby/object:Gem::Dependency
96
- name: highline
96
+ name: htmlcompressor
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: '2.0'
101
+ version: 0.4.0
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - "~>"
107
107
  - !ruby/object:Gem::Version
108
- version: '2.0'
108
+ version: 0.4.0
109
109
  - !ruby/object:Gem::Dependency
110
- name: htmlcompressor
110
+ name: kramdown
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: 0.4.0
115
+ version: '2.1'
116
116
  type: :runtime
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - "~>"
121
121
  - !ruby/object:Gem::Version
122
- version: 0.4.0
122
+ version: '2.1'
123
123
  - !ruby/object:Gem::Dependency
124
- name: kramdown
124
+ name: kramdown-parser-gfm
125
125
  requirement: !ruby/object:Gem::Requirement
126
126
  requirements:
127
127
  - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: '1.17'
129
+ version: '1.0'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 1.0.1
130
133
  type: :runtime
131
134
  prerelease: false
132
135
  version_requirements: !ruby/object:Gem::Requirement
133
136
  requirements:
134
137
  - - "~>"
135
138
  - !ruby/object:Gem::Version
136
- version: '1.17'
139
+ version: '1.0'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 1.0.1
137
143
  - !ruby/object:Gem::Dependency
138
144
  name: listen
139
145
  requirement: !ruby/object:Gem::Requirement
@@ -252,7 +258,7 @@ dependencies:
252
258
  version: 0.19.4
253
259
  description: |-
254
260
  Yet another blog aware static site generator.
255
- These are the very early days of zine, expect breaking changes.
261
+ There are many like it, but this one is mine.
256
262
  email:
257
263
  - mike@mikekreuzer.com
258
264
  executables:
@@ -272,6 +278,7 @@ files:
272
278
  - lib/zine/page.rb
273
279
  - lib/zine/post.rb
274
280
  - lib/zine/posts_and_headlines.rb
281
+ - lib/zine/query.rb
275
282
  - lib/zine/server.rb
276
283
  - lib/zine/skeleton/source/about.md
277
284
  - lib/zine/skeleton/source/assets/webicon-rss-m.png
@@ -279,6 +286,7 @@ files:
279
286
  - lib/zine/skeleton/source/assets/webicon-twitter-m.png
280
287
  - lib/zine/skeleton/source/assets/webicon-twitter.svg
281
288
  - lib/zine/skeleton/source/posts/2017-01-25-my-new-blog.md
289
+ - lib/zine/skeleton/source/robots.txt
282
290
  - lib/zine/skeleton/source/screen.css
283
291
  - lib/zine/skeleton/source/styles/screen.scss
284
292
  - lib/zine/skeleton/source/templates/articles.erb
@@ -300,7 +308,7 @@ files:
300
308
  - lib/zine/uploader_sftp.rb
301
309
  - lib/zine/version.rb
302
310
  - lib/zine/watcher.rb
303
- homepage: https://github.com/mikekreuzer/zine
311
+ homepage: https://zine.dev
304
312
  licenses:
305
313
  - MIT
306
314
  metadata: {}
@@ -312,15 +320,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
312
320
  requirements:
313
321
  - - ">="
314
322
  - !ruby/object:Gem::Version
315
- version: 2.2.2
323
+ version: '2.3'
316
324
  required_rubygems_version: !ruby/object:Gem::Requirement
317
325
  requirements:
318
326
  - - ">="
319
327
  - !ruby/object:Gem::Version
320
328
  version: '0'
321
329
  requirements: []
322
- rubyforge_project:
323
- rubygems_version: 2.7.6
330
+ rubygems_version: 3.0.3
324
331
  signing_key:
325
332
  specification_version: 4
326
333
  summary: Yet another blog aware static site generator.