zine 0.19.0 → 0.21.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: 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.