raindown 0.1.0 → 0.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.
metadata CHANGED
@@ -1,16 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raindown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - maedi
8
- bindir: exe
8
+ bindir: bin
9
9
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
10
+ date: 2026-10-19 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: antlers
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 1.2.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 1.2.0
26
+ - !ruby/object:Gem::Dependency
27
+ name: commonmarker
14
28
  requirement: !ruby/object:Gem::Requirement
15
29
  requirements:
16
30
  - - ">="
@@ -24,7 +38,49 @@ dependencies:
24
38
  - !ruby/object:Gem::Version
25
39
  version: '0'
26
40
  - !ruby/object:Gem::Dependency
27
- name: commonmarker
41
+ name: dirload
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: listen
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: lownode
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: nokogiri
28
84
  requirement: !ruby/object:Gem::Requirement
29
85
  requirements:
30
86
  - - ">="
@@ -51,21 +107,76 @@ dependencies:
51
107
  - - ">="
52
108
  - !ruby/object:Gem::Version
53
109
  version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: trees
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 0.3.5
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: 0.3.5
124
+ - !ruby/object:Gem::Dependency
125
+ name: unicode-display_width
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '3.1'
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.1'
54
138
  description: |
55
139
  Raindown is a templating layer for static site generation
56
140
  and an annotation framework for Markdown files.
57
141
  email:
58
142
  - maediprichard@gmail.com
59
- executables: []
143
+ executables:
144
+ - raindown
60
145
  extensions: []
61
146
  extra_rdoc_files: []
62
147
  files:
148
+ - bin/raindown
63
149
  - lib/elements.rb
150
+ - lib/lexemes/endpoint_lexeme.rb
64
151
  - lib/lexemes/list_lexeme.rb
65
- - lib/lexemes/toc_lexeme.rb
152
+ - lib/nodes/component_nodes.rb
153
+ - lib/nodes/endpoint_node.rb
66
154
  - lib/nodes/list_node.rb
67
- - lib/nodes/toc_node.rb
68
155
  - lib/raindown.rb
156
+ - lib/raindown/bare_directives.rb
157
+ - lib/raindown/cli.rb
158
+ - lib/raindown/code.rb
159
+ - lib/raindown/code_blocks.rb
160
+ - lib/raindown/config.rb
161
+ - lib/raindown/directives.rb
162
+ - lib/raindown/endpoint/curl.rb
163
+ - lib/raindown/endpoint/endpoint_runner.rb
164
+ - lib/raindown/files.rb
165
+ - lib/raindown/fragments.rb
166
+ - lib/raindown/front_matter.rb
167
+ - lib/raindown/heading_ids.rb
168
+ - lib/raindown/node.rb
169
+ - lib/raindown/node_blocks.rb
170
+ - lib/raindown/node_injector.rb
171
+ - lib/raindown/nodes.rb
172
+ - lib/raindown/page.rb
173
+ - lib/raindown/pages.rb
174
+ - lib/raindown/pre_renderer.rb
175
+ - lib/raindown/rewriter.rb
176
+ - lib/raindown/table_formatter.rb
177
+ - lib/raindown/toc.rb
178
+ - lib/raindown/variables.rb
179
+ - lib/raindown/watcher.rb
69
180
  - lib/version.rb
70
181
  homepage: https://github.com/raindeer-rb/raindown
71
182
  licenses: []
@@ -79,14 +190,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
79
190
  requirements:
80
191
  - - ">="
81
192
  - !ruby/object:Gem::Version
82
- version: 3.3.0
193
+ version: 3.4.2
83
194
  required_rubygems_version: !ruby/object:Gem::Requirement
84
195
  requirements:
85
196
  - - ">="
86
197
  - !ruby/object:Gem::Version
87
198
  version: '0'
88
199
  requirements: []
89
- rubygems_version: 4.0.6
200
+ rubygems_version: 3.6.2
90
201
  specification_version: 4
91
202
  summary: Markup your markdown with a template and annotation layer
92
203
  test_files: []
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'antlers/api'
4
-
5
- module Rain
6
- module TOCLexeme
7
- include Antlers::Lexeme
8
-
9
- module_function
10
-
11
- KEYWORDS = [':toc'].freeze
12
-
13
- def match?(keywords:, **)
14
- keywords.keys.include?(':toc')
15
- end
16
-
17
- def lexeme(**)
18
- { toc: :default }
19
- end
20
- end
21
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'antlers/api'
4
- require 'nokogiri'
5
-
6
- module Rain
7
- class TOCNode < Antlers::LeafNode
8
- def initialize(name:, template:)
9
- super(name:)
10
-
11
- @template = template
12
- end
13
-
14
- def render(current_binding: nil, parent_binding: nil, slot_node: nil, metadata: {})
15
- doc = Nokogiri::HTML(@template)
16
-
17
- <<~HTML
18
- <div class="floating">
19
- <details id="toc" open>
20
- <summary>Table of contents</summary>
21
- <ul>
22
- #{doc.css('h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]').map do |h|
23
- "<li class='#{h.name}'><a href='\##{h['id']}'>#{h.text.strip}</a></li>"
24
- end.join("\n")}
25
- </ul>
26
- </details>
27
- </div>
28
- HTML
29
- end
30
-
31
- class << self
32
- def match?(segment:)
33
- segment[:toc]
34
- end
35
-
36
- def build(template:, **)
37
- new(name: :toc, template:)
38
- end
39
- end
40
- end
41
- end