papercraft 2.16 → 2.18
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 +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/papercraft/compiler/nodes.rb +8 -1
- data/lib/papercraft/compiler.rb +3 -1
- data/lib/papercraft/version.rb +1 -1
- data/lib/papercraft.rb +14 -2
- metadata +23 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fdb138000feb8d97f7479b8894555cb5d457648f9d11a8afe51c942677235976
|
4
|
+
data.tar.gz: 5ec07faf07b7ed23781be2825c36039c457bde7d42a440f9c15c503f7d64f9ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99b831bab5992eb0533d85cd25c2b10529d5f052c13ffa8c43dd42c3360b520800f9db1f505b70da41d113d82d495ccaa041944b0578a63af64b08835b63db30
|
7
|
+
data.tar.gz: 93beefae61238e80e26133adfaf956c6ec9a4e57f07094687a216f20eb489a975dd261e6b370a85dba296770286bdcd32f0907f9ecaeee4278f9d547bf761510
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
# 2.18 2025-10-08
|
2
|
+
|
3
|
+
- Add `link_stylesheet` extension
|
4
|
+
- Add support for rendering templates in IRB
|
5
|
+
- Update Sirop to 1.0
|
6
|
+
|
7
|
+
# 2.17 2025-10-05
|
8
|
+
|
9
|
+
- Update dependencies
|
10
|
+
- Add support for attributes in `html` tag
|
11
|
+
- Add `Papercraft.__clear__extensions__` method
|
12
|
+
|
1
13
|
# 2.16 2025-10-02
|
2
14
|
|
3
15
|
- Add support for namespaced components
|
@@ -149,13 +149,20 @@ module Papercraft
|
|
149
149
|
|
150
150
|
# Represents a builtin call
|
151
151
|
class BuiltinNode
|
152
|
-
attr_reader :tag, :call_node, :location, :block
|
152
|
+
attr_reader :tag, :call_node, :location, :attributes, :block
|
153
153
|
|
154
154
|
def initialize(call_node, translator)
|
155
155
|
@call_node = call_node
|
156
156
|
@tag = call_node.name
|
157
157
|
@location = call_node.location
|
158
158
|
@block = call_node.block && translator.visit(call_node.block)
|
159
|
+
|
160
|
+
args = call_node.arguments&.arguments
|
161
|
+
return if !args
|
162
|
+
|
163
|
+
if args.size == 1 && args.first.is_a?(Prism::KeywordHashNode)
|
164
|
+
@attributes = args.first
|
165
|
+
end
|
159
166
|
end
|
160
167
|
|
161
168
|
def accept(visitor)
|
data/lib/papercraft/compiler.rb
CHANGED
@@ -312,7 +312,9 @@ module Papercraft
|
|
312
312
|
when :tag
|
313
313
|
args = node.call_node.arguments&.arguments
|
314
314
|
when :html, :html5
|
315
|
-
emit_html(node.location, '<!DOCTYPE html
|
315
|
+
emit_html(node.location, '<!DOCTYPE html>')
|
316
|
+
emit_html(node.location, format_html_tag_open(node.location, 'html', node.attributes))
|
317
|
+
# emit_html(node.location, '<!DOCTYPE html><html>')
|
316
318
|
visit(node.block.body) if node.block
|
317
319
|
emit_html(node.block.closing_loc, '</html>')
|
318
320
|
when :markdown
|
data/lib/papercraft/version.rb
CHANGED
data/lib/papercraft.rb
CHANGED
@@ -12,8 +12,12 @@ module Papercraft
|
|
12
12
|
|
13
13
|
extend self
|
14
14
|
|
15
|
-
# Registry of Papercraft
|
16
|
-
Extensions = {
|
15
|
+
# Registry of Papercraft extensions
|
16
|
+
Extensions = {
|
17
|
+
link_stylesheet: ->(href, **atts) {
|
18
|
+
link(rel: "stylesheet", href:, **atts)
|
19
|
+
}
|
20
|
+
}
|
17
21
|
|
18
22
|
# Registers extensions to the Papercraft syntax.
|
19
23
|
#
|
@@ -24,6 +28,14 @@ module Papercraft
|
|
24
28
|
self
|
25
29
|
end
|
26
30
|
|
31
|
+
# Clears all registered extensions.
|
32
|
+
#
|
33
|
+
# @return [self]
|
34
|
+
def __clear_extensions__
|
35
|
+
Extensions.clear
|
36
|
+
self
|
37
|
+
end
|
38
|
+
|
27
39
|
# Formats the given string, converting underscores to dashes.
|
28
40
|
#
|
29
41
|
# @param tag [String, Symbol] input string
|
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: '2.
|
4
|
+
version: '2.18'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sharon Rosner
|
@@ -15,14 +15,14 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '0
|
18
|
+
version: '1.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: '0
|
25
|
+
version: '1.0'
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: kramdown
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -43,14 +43,14 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 4.
|
46
|
+
version: 4.6.1
|
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.
|
53
|
+
version: 4.6.1
|
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.25.
|
74
|
+
version: 5.25.5
|
75
75
|
type: :development
|
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.25.
|
81
|
+
version: 5.25.5
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: benchmark-ips
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 2.
|
88
|
+
version: 2.14.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: 2.
|
95
|
+
version: 2.14.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: 1.15.2
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.15.2
|
96
110
|
email: sharon@noteflakes.com
|
97
111
|
executables: []
|
98
112
|
extensions: []
|