zenweb 3.10.8 → 3.11.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +15 -0
- data/example-site/atom.xml.erb +3 -3
- data/lib/zenweb/config.rb +2 -3
- data/lib/zenweb/extensions.rb +0 -32
- data/lib/zenweb/page.rb +9 -3
- data/lib/zenweb/tasks.rake +8 -10
- data/lib/zenweb.rb +1 -1
- data/test/test_zenweb_page.rb +3 -3
- data.tar.gz.sig +0 -0
- metadata +13 -13
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8864678bb1d4420008d2289a77fcc9f14389c54c293ad1bebef6690e23d5b2e
|
4
|
+
data.tar.gz: 5ddaa8d510daccc1b189258c409c68f5418ec59424015c8373ee9ac4237eb5bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a59ab5a91b985b16346bdf03d8f058ce6910aae7e6986c4cbaccdecbd4f23482a3f4628692f0d1ed0cda08d09306197ec98bc1afdfc3626ebfccf1cb82dc25b
|
7
|
+
data.tar.gz: 20ec7695d083ffe7f069349bc1f512e86d6a655e120935a90596b6a49ea84e289e069970b812c8b9c729c212c865d8742bf5a34c65cfa470179aa03d9640554c
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
=== 3.11.1 / 2024-08-22
|
2
|
+
|
3
|
+
* 4 bug fixes:
|
4
|
+
|
5
|
+
* Deleted long dead (~2.0) code.
|
6
|
+
* Fixed 2.7 (only?!) frozen string literal bug.
|
7
|
+
* Modified 'rake run' task to regenerate more consistently.
|
8
|
+
* Removed ancient Enumerable#chunk implementation.
|
9
|
+
|
10
|
+
=== 3.11.0 / 2023-09-28
|
11
|
+
|
12
|
+
* 1 minor enhancement:
|
13
|
+
|
14
|
+
* Added Page#link_head helper method to clean up <link...> tags
|
15
|
+
|
1
16
|
=== 3.10.8 / 2023-08-30
|
2
17
|
|
3
18
|
* 1 bug fix:
|
data/example-site/atom.xml.erb
CHANGED
@@ -22,8 +22,8 @@ rss_length: 15
|
|
22
22
|
<email>{{ email }}</email>
|
23
23
|
</author>
|
24
24
|
|
25
|
-
|
26
|
-
|
25
|
+
{{ link_head href:feed_url, rel:"self" }}
|
26
|
+
{{ link_head href:domain }}
|
27
27
|
|
28
28
|
<rights> © {{ author }} - {{ email }} </rights>
|
29
29
|
|
@@ -33,7 +33,7 @@ rss_length: 15
|
|
33
33
|
<title>{{ h post.title }}</title>
|
34
34
|
<updated>{{ post.date.iso8601 }}</updated>
|
35
35
|
|
36
|
-
|
36
|
+
{{ link_head rel:"alternate", href:"{{ domain }}{{ post.url }}" }}
|
37
37
|
|
38
38
|
<published>{{ post.date.iso8601 }}</published>
|
39
39
|
<content type="html">{{ h post.subrender }}</content>
|
data/lib/zenweb/config.rb
CHANGED
@@ -55,8 +55,7 @@ module Zenweb
|
|
55
55
|
h.key?(k.to_s) or parent.key?(k)
|
56
56
|
end
|
57
57
|
|
58
|
-
UTF_BOM = "\xEF\xBB\xBF"
|
59
|
-
UTF_BOM.force_encoding "binary" if File::RUBY19
|
58
|
+
UTF_BOM = "\xEF\xBB\xBF".b
|
60
59
|
|
61
60
|
##
|
62
61
|
# Splits a file and returns the yaml header and body, as applicable.
|
@@ -75,7 +74,7 @@ module Zenweb
|
|
75
74
|
|
76
75
|
yaml_file = File.extname(path) == ".yml"
|
77
76
|
|
78
|
-
body.force_encoding
|
77
|
+
body.force_encoding Encoding::UTF_8
|
79
78
|
else
|
80
79
|
body = path.content
|
81
80
|
end
|
data/lib/zenweb/extensions.rb
CHANGED
@@ -10,24 +10,6 @@ def File.each_parent dir, file
|
|
10
10
|
end
|
11
11
|
|
12
12
|
module Enumerable
|
13
|
-
def chunk
|
14
|
-
bin, result, prev = [], [], Object.new
|
15
|
-
|
16
|
-
each do |o|
|
17
|
-
curr = yield o
|
18
|
-
|
19
|
-
if prev != curr then
|
20
|
-
bin = []
|
21
|
-
result << [curr, bin]
|
22
|
-
prev = curr
|
23
|
-
end
|
24
|
-
|
25
|
-
bin << o
|
26
|
-
end
|
27
|
-
|
28
|
-
result
|
29
|
-
end unless [].respond_to? :chunk
|
30
|
-
|
31
13
|
def multi_group_by
|
32
14
|
r = Hash.new { |h,k| h[k] = [] }
|
33
15
|
each do |o|
|
@@ -54,20 +36,6 @@ class Array # :nodoc:
|
|
54
36
|
end
|
55
37
|
end
|
56
38
|
|
57
|
-
class File # :nodoc:
|
58
|
-
RUBY19 = "<3".respond_to? :encoding # :nodoc:
|
59
|
-
|
60
|
-
class << self
|
61
|
-
alias :binread :read unless RUBY19
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
class String # :nodoc:
|
66
|
-
def valid_encoding? # :nodoc:
|
67
|
-
true
|
68
|
-
end unless File::RUBY19
|
69
|
-
end
|
70
|
-
|
71
39
|
class Time # :nodoc:
|
72
40
|
##
|
73
41
|
# Format as YYYY-MM-DD
|
data/lib/zenweb/page.rb
CHANGED
@@ -311,8 +311,7 @@ module Zenweb
|
|
311
311
|
end
|
312
312
|
@layout
|
313
313
|
rescue => e
|
314
|
-
e.
|
315
|
-
raise e
|
314
|
+
raise e.exception "%s for page %p" % [e.message, path]
|
316
315
|
end
|
317
316
|
|
318
317
|
##
|
@@ -330,6 +329,13 @@ module Zenweb
|
|
330
329
|
%(<meta #{label}="#{name}" content="#{val}">) if val
|
331
330
|
end
|
332
331
|
|
332
|
+
##
|
333
|
+
# Stupid helper method to make declaring header link lines cleaner
|
334
|
+
|
335
|
+
def link_head **kws
|
336
|
+
%(<link #{kws.map { |k,v| "#{k}=#{v.inspect}" }.join " "} />)
|
337
|
+
end
|
338
|
+
|
333
339
|
##
|
334
340
|
# Access a config variable and only warn if it isn't accessible.
|
335
341
|
# If +msg+ starts with render, go ahead and pass that up to the
|
@@ -373,7 +379,7 @@ module Zenweb
|
|
373
379
|
# Stupid helper method to make declaring stylesheets cleaner
|
374
380
|
|
375
381
|
def stylesheet name
|
376
|
-
|
382
|
+
link_head rel:"stylesheet", type:"text/css", href:"/css/#{name}.css"
|
377
383
|
end
|
378
384
|
|
379
385
|
##
|
data/lib/zenweb/tasks.rake
CHANGED
@@ -3,7 +3,7 @@ require 'zenweb'
|
|
3
3
|
task :default => :generate
|
4
4
|
|
5
5
|
def website
|
6
|
-
return $website if defined?($website)
|
6
|
+
return $website if defined?($website) && $website
|
7
7
|
$website = Zenweb::Site.new
|
8
8
|
$website.scan
|
9
9
|
$website.wire
|
@@ -153,19 +153,17 @@ task :run do
|
|
153
153
|
|
154
154
|
warn "NOTE: No file found for #{url}" unless task
|
155
155
|
|
156
|
-
|
156
|
+
if task then
|
157
|
+
if task.needed? then
|
158
|
+
unless system "#{Gem.ruby} -S rake -q clean generate" then
|
159
|
+
warn "WARNING: couldn't run 'rake clean generate' properly, exited: %p" % [$?]
|
160
|
+
end
|
161
|
+
end
|
157
162
|
|
158
|
-
|
159
|
-
system "rake clean generate"
|
160
|
-
end
|
161
|
-
|
162
|
-
if task && newer then
|
163
|
-
@@site = nil
|
163
|
+
@@site = $website = nil
|
164
164
|
Rake.application = Rake::Application.new # reset
|
165
165
|
end
|
166
166
|
|
167
|
-
task.clear_timestamp if task && target_path =~ /(html|css|js)$/
|
168
|
-
|
169
167
|
super
|
170
168
|
end
|
171
169
|
end
|
data/lib/zenweb.rb
CHANGED
data/test/test_zenweb_page.rb
CHANGED
@@ -366,8 +366,8 @@ class TestZenwebPage < Minitest::Test
|
|
366
366
|
e = assert_raises NoMethodError do
|
367
367
|
assert_nil page.render_wtf
|
368
368
|
end
|
369
|
-
|
370
|
-
|
369
|
+
|
370
|
+
assert_match(/undefined method `render_wtf' for.*?Zenweb::Page/, e.message)
|
371
371
|
end
|
372
372
|
|
373
373
|
def test_layout_nil_string
|
@@ -441,7 +441,7 @@ class TestZenwebPage < Minitest::Test
|
|
441
441
|
end
|
442
442
|
|
443
443
|
def test_stylesheet
|
444
|
-
exp = %(<link rel="stylesheet" type="text/css" href="/css/woot.css"
|
444
|
+
exp = %(<link rel="stylesheet" type="text/css" href="/css/woot.css" />)
|
445
445
|
assert_equal exp, page.stylesheet("woot")
|
446
446
|
end
|
447
447
|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zenweb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -10,9 +10,9 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBCDANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
|
15
|
+
GRYDY29tMB4XDTI0MDEwMjIxMjEyM1oXDTI1MDEwMTIxMjEyM1owRTETMBEGA1UE
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -22,14 +22,14 @@ cert_chain:
|
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
24
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
AQCygvpmncmkiSs9r/Kceo4bBPDszhTv6iBi4LwMReqnFrpNLMOWJw7xi8x+3eL2
|
26
|
+
XS09ZPNOt2zm70KmFouBMgOysnDY4k2dE8uF6B8JbZOO8QfalW+CoNBliefOTcn2
|
27
|
+
bg5IOP7UoGM5lC174/cbDJrJnRG9bzig5FAP0mvsgA8zgTRXQzIUAZEo92D5K7p4
|
28
|
+
B4/O998ho6BSOgYBI9Yk1ttdCtti6Y+8N9+fZESsjtWMykA+WXWeGUScHqiU+gH8
|
29
|
+
S7043fq9EbQdBr2AXdj92+CDwuTfHI6/Hj5FVBDULufrJaan4xUgL70Hvc6pTTeW
|
30
|
+
deKfBjgVAq7EYHu1AczzlUly
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date:
|
32
|
+
date: 2024-08-22 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: rake
|
@@ -161,14 +161,14 @@ dependencies:
|
|
161
161
|
requirements:
|
162
162
|
- - "~>"
|
163
163
|
- !ruby/object:Gem::Version
|
164
|
-
version: '4.
|
164
|
+
version: '4.2'
|
165
165
|
type: :development
|
166
166
|
prerelease: false
|
167
167
|
version_requirements: !ruby/object:Gem::Requirement
|
168
168
|
requirements:
|
169
169
|
- - "~>"
|
170
170
|
- !ruby/object:Gem::Version
|
171
|
-
version: '4.
|
171
|
+
version: '4.2'
|
172
172
|
description: |-
|
173
173
|
Zenweb is a set of classes/tools for organizing and formating a
|
174
174
|
website. It is website oriented rather than webpage oriented, unlike
|
@@ -283,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
283
283
|
- !ruby/object:Gem::Version
|
284
284
|
version: '0'
|
285
285
|
requirements: []
|
286
|
-
rubygems_version: 3.
|
286
|
+
rubygems_version: 3.5.15
|
287
287
|
signing_key:
|
288
288
|
specification_version: 4
|
289
289
|
summary: Zenweb is a set of classes/tools for organizing and formating a website
|
metadata.gz.sig
CHANGED
Binary file
|