zine 0.19.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d01e24a10aef7862c7680b23ed3690761e11fea353dcba75860e10613c47c2aa
4
- data.tar.gz: e5bfdf23fe573be6be9974392536972c027e32e7606fcc4a99070ed20fd6de9e
3
+ metadata.gz: 19072a7508f6728eb84d90cc879a9987862e1ee44efaae836d34a80129db4d4d
4
+ data.tar.gz: 810022b4c56a6dcf768464b788a098fd320b72671c5c239ffc129165dc20502f
5
5
  SHA512:
6
- metadata.gz: a3deb89272c028b9c50771df629a25472770fd8e07d0ab54eaa820efe5a67f7860326746077723dc555176d34300eb0d645eefe2dcac13df307534727f0e8e66
7
- data.tar.gz: 057b9d63b71610d0ffb7756ddcd8e5d32d7916b48eddd299b138fbf39a920c237c48c9745c86cabada832b3484d1e4312877f82b58789a7693c3df649e9dafc2
6
+ metadata.gz: 1c71980ab02470bd652d0c3a555ee32d4d88e39543da9b14c25f572fc3f42bd5f1675c96fb850e7d6b83f0e260ef56945a0ac3a35dca90379a9c56cf62cfe4c7
7
+ data.tar.gz: 7e498391a17c2b021210c621df73d151bc99699d12b313ebb43ffde7eb63d5288ca1d614bbab305143bb4f7804421cddb4d19e7cf5dd0de0ad918e9e746a03e5
data/CHANGELOG.md CHANGED
@@ -1,17 +1,30 @@
1
1
  # Zine Changelog
2
2
 
3
- ## 0.19.0 - 22 November, 2023
3
+ ## 0.21.0 - 17 July 2024
4
+
5
+ - removed unused RubyMine project files
6
+ - belatedly fixed a test broken by adding the Open Graph tags
7
+ - added the faraday-retry gem to silence a warning
8
+ - dependency version bumps
9
+
10
+ ## 0.20.0 - 5 December 2023
11
+
12
+ - added Open Graph & canonical link tags - source/templates/header_partial.erb will need to be updated on your site
13
+ - added an extra 'git push' in the Rakefile, to push code changes as well as the tag
14
+ - expanded the meta data in the gemspec file
15
+
16
+ ## 0.19.0 - 22 November 2023
4
17
 
5
18
  - moved the repo from GitHub to Codeberg, changed the links in the README, gemspec, and skeleton files
6
19
  - dropped the link to the now defunct Ripley project
7
20
  - added Reek, dropped Solargraph, updated dependencies
8
21
  - updated the Rakefile, replacing bundler/gem_tasks with direct gem and git calls
9
22
 
10
- ## 0.18.0 - 17 February, 2023
23
+ ## 0.18.0 - 17 February 2023
11
24
 
12
25
  - replaced https://mikekreuzer.com/projects/zine/ with GitHub address
13
26
 
14
- ## 0.17.0 - 17 February, 2023
27
+ ## 0.17.0 - 17 February 2023
15
28
 
16
29
  - forced polling for the listener gem, which was skipping new files on linux otherwise
17
30
  - fixed an errant inverted comma in links, introduced in the last commit
@@ -22,7 +35,7 @@
22
35
  - year bump in the starter template
23
36
  - dropped the faraday-retry gem again after Octokit updated
24
37
 
25
- ## towards 0.17.0 - 20 June, 2022 (on Github, but not RubyGems)
38
+ ## towards 0.17.0 - 20 June 2022 (on Github, but not RubyGems)
26
39
 
27
40
  - customised the rake file
28
41
  - refactored - from 112 rubocop offenses, to 33
@@ -31,7 +44,7 @@
31
44
  - dependency updates
32
45
  - added the faraday-retry gem as a dependency, to suppress warnings (from Octokit)
33
46
 
34
- ## 0.16.0 - 17 June, 2022
47
+ ## 0.16.0 - 17 June 2022
35
48
 
36
49
  - temp warning about missing atom template in zine.yaml, better handling of missing templates
37
50
  - cli missing options bug fixed - from 0.15.0
@@ -41,25 +54,25 @@
41
54
  - reversed the sort order for this change log
42
55
  - changed the date format in the log - from US style, to everywhere else style
43
56
 
44
- ## towards 0.16.0 - 3 February, 2022
57
+ ## towards 0.16.0 - 3 February 2022
45
58
 
46
59
  - BREAKING CHANGE: added an RSS 2.0 feed in addition to the Atom feed, the rss.erb file and /rss.xml feed link will now be RSS, an Atom and RSS template are both required in the local site copy, and need to be listed in a site's zine.yml file
47
60
  - year bump in starter template
48
61
 
49
- ## 0.15.0 - 26 May, 2020
62
+ ## 0.15.0 - 26 May 2020
50
63
 
51
64
  - dependency version bumps, year bump in template
52
65
  - replaced zine.dev with https://mikekreuzer.com/projects/zine/
53
66
  - other minor refactoring & doc rewrites
54
67
 
55
- ## 0.14.0 - 27 May, 2019
68
+ ## 0.14.0 - 27 May 2019
56
69
 
57
70
  - added an AWS S3 uploader
58
71
  - added AWS CloudFront invalidation
59
72
  - added zine.dev to the footer template
60
73
  - bug fix - catch carriage returns as default yes answers to the upload? question
61
74
 
62
- ## 0.13.0 - lucky 13 - 26 May, 2019
75
+ ## 0.13.0 - lucky 13 - 26 May 2019
63
76
 
64
77
  - added some of the style changes that survived from v12, eg moved social media to the footer
65
78
  - added a (permissive as they come) robots.txt file
@@ -69,41 +82,41 @@
69
82
  - minor readme updates
70
83
  - placeholder site, mostly in case there's ever an app: https://zine.dev
71
84
 
72
- ## 0.12.0 - never pushed, used up until 25 April, 2019
85
+ ## 0.12.0 - never pushed, used up until 25 April 2019
73
86
 
74
87
  - added (then removed) Mastodon from the list of contacts, changed the styling a few times, neglected to publish
75
88
 
76
- ## 0.11.0, 7 November, 2018
89
+ ## 0.11.0, 7 November 2018
77
90
 
78
91
  - fixed a bug where String#split would break apart markdown files on tables as well as at the metadata/markdown boundary
79
92
 
80
- ## 0.9.0, 1 January, 2018
93
+ ## 0.9.0, 1 January 2018
81
94
 
82
95
  - a bug in 'zine notice' involving full & partial paths that duplicated the post to notice on the history page, fixed
83
96
  - minor code clean-up in cli.rb and server.rb
84
97
 
85
- ## 0.10.0, 7 November, 2018
98
+ ## 0.10.0, 7 November 2018
86
99
 
87
100
  - dependency version bumps
88
101
 
89
- ## 0.8.0, 2 October, 2017
102
+ ## 0.8.0, 2 October 2017
90
103
 
91
104
  - SFTP upload error wasn't caught in 0.7.0... TODO
92
105
  - added a notice command, zine notice [FILE], which adds that file to the build queue without having to force a general build, so zine can be called in scripts to upload particular files (a rake script in Ripley, specifically)
93
106
 
94
- ## 0.7.0, 30 September, 2017
107
+ ## 0.7.0, 30 September 2017
95
108
 
96
109
  - caught an SFTP upload error where SFTP credentials aren't in the keychain
97
110
  - updated bundler
98
111
 
99
- ## 0.6.0, 17 September, 2017
112
+ ## 0.6.0, 17 September 2017
100
113
 
101
114
  - tests: for Upload & UploaderGitHub - found a bug, which is gratifying... would've been caught by a compiler, oh well
102
115
  - fixed a mismatched div tag in the footer
103
116
  - changed to a non 100 days of code change log
104
117
  - updated some development dependencies (curb, rake, rspec, simplecov)
105
118
 
106
- ## 0.5.0, 9 March, 2017
119
+ ## 0.5.0, 9 March 2017
107
120
 
108
121
  - updated dependencies: Rake & Simplecov
109
122
  - refactored Zine::Site#housekeeping_copy
@@ -129,13 +142,13 @@
129
142
  - Upload class split up, into Upload and UploadSFTP
130
143
  - UploadGitHub class added - GitHub uploads
131
144
 
132
- ## 0.4.0, 20 February, 2017
145
+ ## 0.4.0, 20 February 2017
133
146
 
134
147
  - fixed a bug in file uploads, which warrants a gem version bump
135
148
  - fixed some typos in the blog
136
149
  - updated some styles (footer links, bold text)
137
150
 
138
- ## 0.3.0, 19 February, 2017
151
+ ## 0.3.0, 19 February 2017
139
152
 
140
153
  - moved the local post directory creation to the write method
141
154
  - added a minimalist version of building additional posts while build is running
@@ -158,7 +171,7 @@
158
171
  - added an incremental build that skipped the initial writes to fix that
159
172
  - linked homepage post titles to posts
160
173
 
161
- ## 0.2.0, 9 February, 2017
174
+ ## 0.2.0, 9 February 2017
162
175
 
163
176
  - RSS now using DataPage & ERB, with CDATA tags
164
177
  - added Ruby 2.0 as a minimum to the gemspec
@@ -167,7 +180,7 @@
167
180
  - added 'skip to main content' back into the header partial
168
181
  - some bug fixes & minor refactoring
169
182
 
170
- ## 0.1.0, 6 February, 2017
183
+ ## 0.1.0, 6 February 2017
171
184
 
172
185
  - claimed the feed content is xhtml to get it to work, will revisit & fix this with CDATA
173
186
  - started testing the engine against old blog posts
data/lib/zine/page.rb CHANGED
@@ -15,32 +15,33 @@ module Zine
15
15
  # A page on the site where the content comes from a file's markdown, and the
16
16
  # destination's location mirrors its own
17
17
  class Page
18
- attr_accessor :source_file # used in zine notice --
18
+ attr_accessor :formatted_data, :source_file # used in zine notice --
19
19
  # PostsAndHeadlines.one_new_post
20
- attr_reader :dest_path, :formatted_data, :template_bundle
20
+ attr_reader :dest_path, :template_bundle
21
21
 
22
22
  # the meta data, passed formatted to the template
23
23
  class FormattedData
24
24
  include ERB::Util
25
25
 
26
- attr_accessor :data, :footer_partial, :header_partial, :html, :uri
26
+ attr_accessor :config, :data, :footer_partial, :header_partial, :html, :uri
27
27
  attr_reader :page
28
28
 
29
29
  def initialize(front_matter, site_opt)
30
- site = site_opt['options']
30
+ @config = site_opt
31
+ options = @config['options']
31
32
  @page = { date_rfc3339: front_matter['date'],
32
33
  date_rfc822: parse_822_date(front_matter['date']),
33
34
  date_us: parse_date(front_matter['date']),
34
- github_name: site['github_name'],
35
- links_array: site_opt['links'],
36
- num_items_on_home: site['num_items_on_home'],
37
- site_author: site['site_author'],
38
- site_description: site['site_description'],
39
- site_name: site['site_name'],
40
- site_URL: site['site_URL'],
35
+ github_name: options['github_name'],
36
+ links_array: @config['links'],
37
+ num_items_on_home: options['num_items_on_home'],
38
+ site_author: options['site_author'],
39
+ site_description: options['site_description'],
40
+ site_name: options['site_name'],
41
+ site_URL: options['site_URL'],
41
42
  tags: slugify_tags(front_matter['tags']),
42
43
  title: html_escape(front_matter['title']),
43
- twitter_name: site['twitter_name'],
44
+ twitter_name: options['twitter_name'],
44
45
  uri: '' } # uri only generated for posts, and not until after markdown, TO DO
45
46
  end
46
47
 
@@ -125,12 +126,17 @@ module Zine
125
126
  { 'date' => DateTime.now.to_s, 'title' => md_file_name, 'tags' => [] }
126
127
  end
127
128
 
128
- def rel_path_from_build_dir(path)
129
- full = Pathname(path)
130
- full.relative_path_from(Pathname(@build_dir))
129
+ def rel_path_str_from_build_dir
130
+ dest_file = Pathname.new(@dest_path)
131
+ build_dir = Pathname.new(@formatted_data.config['directories']['build'])
132
+ dest_file.relative_path_from(build_dir).to_s
131
133
  end
132
134
 
133
135
  def template_the_html
136
+ # kludge to fix in rewrite, path wasn't created until after data originally
137
+ @formatted_data.page[:uri] = URI.join(@formatted_data.page[:site_URL],
138
+ rel_path_str_from_build_dir).to_s
139
+
134
140
  data_binding = @formatted_data.public_binding
135
141
  @formatted_data.header_partial = @header_partial.result data_binding
136
142
  @formatted_data.footer_partial = @footer_partial.result data_binding
data/lib/zine/post.rb CHANGED
@@ -43,11 +43,11 @@ module Zine
43
43
 
44
44
  def tag_and_uri_subprocess
45
45
  page_data = @formatted_data.page
46
- file_path = rel_path_from_build_dir(@dest_path).to_s
46
+ file_path_str = rel_path_str_from_build_dir
47
47
  # URI.join will expect a root directory to start...
48
- @formatted_data.uri = "#{page_data[:site_URL]}/#{file_path}"
48
+ @formatted_data.uri = "#{page_data[:site_URL]}/#{file_path_str}"
49
49
  TagData.new(page_data[:tags],
50
- file_path,
50
+ file_path_str,
51
51
  page_data[:title],
52
52
  page_data[:date_rfc3339],
53
53
  page_data[:date_us])
@@ -8,8 +8,11 @@
8
8
  <link rel="home alternate" href="<%= page[:site_URL] %>/atom.xml" type="application/atom+xml" title="<%= page[:site_name] %>">
9
9
  <link rel="home alternate" href="<%= page[:site_URL] %>/rss.xml" type="application/rss+xml" title="<%= page[:site_name] %>">
10
10
  <link rel="stylesheet" href="/screen.css">
11
- <link rel="apple-touch-icon" href="/apple-touch-icon.png">
12
- <!--<link rel="canonical" href="<%= page[:uri] %>" />-->
11
+ <link rel="apple-touch-icon" href="<%= page[:site_URL] %>/apple-touch-icon.png">
12
+ <meta property="og:title" content="<%= page[:site_name] %> - <%= page[:title] %>" />
13
+ <meta property="og:url" content="<%= page[:uri] %>" />
14
+ <meta property="og:image" content="<%= page[:site_URL] %>/apple-touch-icon.png" />
15
+ <link rel="canonical" href="<%= page[:uri] %>">
13
16
  </head>
14
17
  <body>
15
18
  <div id="skiptocontent">
data/lib/zine/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Zine
4
4
  # The version
5
- VERSION = '0.19.0'
5
+ VERSION = '0.21.0'
6
6
  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.19.0
4
+ version: 0.21.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: 2023-11-22 00:00:00.000000000 Z
11
+ date: 2024-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-cloudfront
@@ -38,6 +38,26 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.138'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday-retry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.2'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 2.2.1
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '2.2'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 2.2.1
41
61
  - !ruby/object:Gem::Dependency
42
62
  name: htmlcompressor
43
63
  requirement: !ruby/object:Gem::Requirement
@@ -248,7 +268,10 @@ homepage: https://codeberg.org/kreuzer/zine
248
268
  licenses:
249
269
  - AGPL-3.0-or-later
250
270
  metadata:
271
+ changelog_uri: https://codeberg.org/kreuzer/zine/src/branch/main/CHANGELOG.md
272
+ homepage_uri: https://codeberg.org/kreuzer/zine
251
273
  rubygems_mfa_required: 'true'
274
+ source_code_uri: https://codeberg.org/kreuzer/zine
252
275
  post_install_message:
253
276
  rdoc_options: []
254
277
  require_paths:
@@ -264,7 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
264
287
  - !ruby/object:Gem::Version
265
288
  version: '0'
266
289
  requirements: []
267
- rubygems_version: 3.4.10
290
+ rubygems_version: 3.5.11
268
291
  signing_key:
269
292
  specification_version: 4
270
293
  summary: Yet another blog aware static site generator.