papercraft 3.1.0 → 3.2.1

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: ae9f80f18ef49a3766980675f5da9f841091f25cb42755d0f14b7672c473f410
4
- data.tar.gz: 91b85643852a00f65daa355d8b89fcf0038e370ccbfe6869686ad5a3e33011bc
3
+ metadata.gz: 42f7358fa357565df90af9a8697043e180fa35f634fc40eaf710b6c83e295fa4
4
+ data.tar.gz: 652a2682bfdec41202edfac7bc6b8a73db77c589adc2aa66f5a9f1755faa0f35
5
5
  SHA512:
6
- metadata.gz: 27f79243f5d6dceb20f3bd5b049c37943715f1667d4b9a7fab1023b1c91c6ddac4052b2ba1a1142de3ed57600ed22faeab93604e291c1114b9302e0ca29e215b
7
- data.tar.gz: 8562e5ec48d3795da75c94a12c9f422ff0f42b09d4ed042626ee3210bcce570417a656bdb4c5ed86b1cced2c65bfb27418de52d3e35b818a8537f95e1771eae2
6
+ metadata.gz: cc9f457e71d51ea454f4ae25052e920189f5b99b7110926b562ee175130c80a003cb115aee92412f29281206df88bd259dbca3d9837c4f521e7c46bb97672c78
7
+ data.tar.gz: d8721a599291cc4219c97dbed5f3c014ee54f7b6e80706aac8b5166a3a4a8e157c57dbd1d7c57629eced18c961c1a9ff5b003dc8a9a0706b2027c0efab7a2fa2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # 3.2.1 2026-02-09
2
+
3
+ - Update dependencies
4
+
5
+ # 3.2.0 2025-10-28
6
+
7
+ - Restore Tilt integration (#22)
8
+
1
9
  # 3.1.0 2025-10-26
2
10
 
3
11
  - Restore Proc methods: to_html, to_xml, ast, apply
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Papercraft
4
- VERSION = '3.1.0'
4
+ VERSION = '3.2.1'
5
5
  end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'papercraft'
4
+ require 'tilt'
5
+ require 'digest/sha1'
6
+
7
+ # Tilt.
8
+ module Tilt
9
+ # Papercraft templating engine for Tilt
10
+ class PapercraftTemplate < Template
11
+ module SiropExtension
12
+ # We override the Sirop get source in order to have access to the template
13
+ # source code when the template is compiled.
14
+ def get_source(fn)
15
+ return Tilt::PapercraftTemplate.file_load(fn) if fn.match(/@tilt\-/)
16
+
17
+ super
18
+ end
19
+ end
20
+ ::Sirop.singleton_class.prepend(SiropExtension)
21
+
22
+ # "File system" for storing template source code
23
+ @@file_store = {}
24
+ def self.file_save(fn, data) = @@file_store[fn] = data
25
+ def self.file_load(fn) = @@file_store[fn]
26
+
27
+ metadata[:mime_type] = 'text/html'
28
+
29
+ protected
30
+
31
+ def prepare
32
+ src = <<~RUBY
33
+ # frozen_string_literal: true
34
+ -> (scope:, locals:, block:) {
35
+ #{data}
36
+ }
37
+ RUBY
38
+ fn = "@tilt-#{Digest::SHA1.hexdigest(src)}"
39
+ PapercraftTemplate.file_save(fn, src)
40
+ @template = eval(src, binding, fn)
41
+ end
42
+
43
+ def evaluate(scope, locals, &block)
44
+ Papercraft.html(
45
+ @template, scope: scope, locals: locals, block: block
46
+ )
47
+ end
48
+ end
49
+
50
+ register(PapercraftTemplate, 'papercraft')
51
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: papercraft
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
@@ -13,44 +13,44 @@ dependencies:
13
13
  name: sirop
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - "~>"
16
+ - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 1.0.1
18
+ version: '0'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
- - - "~>"
23
+ - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: 1.0.1
25
+ version: '0'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: kramdown
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 2.5.1
32
+ version: 2.5.2
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 2.5.1
39
+ version: 2.5.2
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rouge
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 4.6.1
46
+ version: 4.7.0
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 4.6.1
53
+ version: 4.7.0
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: kramdown-parser-gfm
56
56
  requirement: !ruby/object:Gem::Requirement
@@ -71,28 +71,42 @@ dependencies:
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 5.1.1
74
+ version: 6.0.1
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 5.1.1
81
+ version: 6.0.1
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: minitest
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - "~>"
86
+ - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: 5.25.5
88
+ version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
93
+ - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: 5.25.5
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: irb
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
96
110
  - !ruby/object:Gem::Dependency
97
111
  name: benchmark-ips
98
112
  requirement: !ruby/object:Gem::Requirement
@@ -108,19 +122,19 @@ dependencies:
108
122
  - !ruby/object:Gem::Version
109
123
  version: 2.14.0
110
124
  - !ruby/object:Gem::Dependency
111
- name: irb
125
+ name: tilt
112
126
  requirement: !ruby/object:Gem::Requirement
113
127
  requirements:
114
128
  - - "~>"
115
129
  - !ruby/object:Gem::Version
116
- version: 1.15.2
130
+ version: 2.7.0
117
131
  type: :development
118
132
  prerelease: false
119
133
  version_requirements: !ruby/object:Gem::Requirement
120
134
  requirements:
121
135
  - - "~>"
122
136
  - !ruby/object:Gem::Version
123
- version: 1.15.2
137
+ version: 2.7.0
124
138
  email: sharon@noteflakes.com
125
139
  executables: []
126
140
  extensions: []
@@ -138,6 +152,7 @@ files:
138
152
  - lib/papercraft/proc_ext.rb
139
153
  - lib/papercraft/template.rb
140
154
  - lib/papercraft/version.rb
155
+ - lib/tilt/papercraft.rb
141
156
  - papercraft.png
142
157
  homepage: http://github.com/digital-fabric/papercraft
143
158
  licenses:
@@ -164,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
179
  - !ruby/object:Gem::Version
165
180
  version: '0'
166
181
  requirements: []
167
- rubygems_version: 3.7.0.dev
182
+ rubygems_version: 4.0.3
168
183
  specification_version: 4
169
184
  summary: 'Papercraft: functional HTML templating for Ruby'
170
185
  test_files: []