bridgetown-builder 1.1.0.beta1 → 1.1.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: 60efa769d64aab272bb16517ea5d4411312943547b5031ea104930fbafd425d1
4
- data.tar.gz: f78876a42486103772f292a57689a2f32cfdb520c2d5900b098b3a04a967a990
3
+ metadata.gz: b844c16c3959200386b85e0c9b24e9ceda416546c1c5143c0ee4baafb66112b4
4
+ data.tar.gz: e07d64aad3700b3ee79e66692755d75a7a7cdb483febb58228d5025fbce428a2
5
5
  SHA512:
6
- metadata.gz: cd8890f49fc3132664fdf22392bed9ea43ae1756979e85922baee85dd455ded4bd9cb01ac6ecb0c0bfdcdca8ddd882db4acb0fb1b3d9415f1906453bf7f23466
7
- data.tar.gz: 78d07a7e500fe002a3299edb0da04d75a7ba55c42d2f26406d3144a3be18f1ac5223f21ef8b8e9abf5700b70f4d5b7bc5b4767a9ec486227a0dd259a9e3a2df7
6
+ metadata.gz: 034dccebc509b960c3c183e1d963cf4aff2ab37259e168d88d542b8ae05a4bc52c23c3c5b802eebabfc3baabdeb4f0c9cba2eff0af0df13f314117907283d779
7
+ data.tar.gz: ebcb28861dfa0f1eef34b966d729e0ab98a30e04b211e406f52951cfb0c14801644d8b5a3bea9241bbb9da96cdfb2a9b97356bb2b50774b65667f8c960fb7478
@@ -10,9 +10,7 @@ module Bridgetown
10
10
 
11
11
  class << self
12
12
  def register
13
- Bridgetown::Hooks.register_one :site, :pre_read, reloadable: false do |site|
14
- new(name, site).build_with_callbacks
15
- end
13
+ Bridgetown::Builders::PluginBuilder.plugin_registrations << self
16
14
  end
17
15
 
18
16
  def before_build(*args, **kwargs, &block)
@@ -20,7 +20,7 @@ module Bridgetown
20
20
  # Are there inspectors available? Is it an .htm* file?
21
21
  def self.can_run?(resource, inspectors)
22
22
  inspectors &&
23
- resource.destination&.output_ext&.starts_with?(".htm") &&
23
+ resource.output_ext&.starts_with?(".htm") &&
24
24
  !resource.data.bypass_inspectors
25
25
  end
26
26
 
@@ -42,7 +42,7 @@ module Bridgetown
42
42
  module XML
43
43
  # Strip the resource's initial extension dot. `.rss` => `rss`
44
44
  def self.resource_ext(resource)
45
- resource.destination&.output_ext&.delete_prefix(".")
45
+ resource.output_ext&.delete_prefix(".")
46
46
  end
47
47
 
48
48
  # Are there any inspectors available which match the resource extension?
@@ -103,6 +103,12 @@ module Bridgetown
103
103
 
104
104
  resource.output = Inspectors.process_html(resource, @_html_inspectors)
105
105
  end
106
+
107
+ hook :generated_pages, :post_render do |page|
108
+ next unless HTML.can_run?(page, @_html_inspectors)
109
+
110
+ page.output = Inspectors.process_html(page, @_html_inspectors)
111
+ end
106
112
  end
107
113
 
108
114
  @_html_inspectors << block
@@ -123,6 +129,12 @@ module Bridgetown
123
129
 
124
130
  resource.output = Inspectors.process_xml(resource, @_xml_inspectors)
125
131
  end
132
+
133
+ hook :generated_pages, :post_render do |page|
134
+ next unless Inspectors::XML.can_run?(page, @_xml_inspectors)
135
+
136
+ page.output = Inspectors.process_xml(page, @_xml_inspectors)
137
+ end
126
138
  end
127
139
 
128
140
  (@_xml_inspectors[extension.to_s] ||= []).tap do |arr|
@@ -31,6 +31,12 @@ module Bridgetown
31
31
 
32
32
  attr_accessor :functions, :name, :site, :config
33
33
 
34
+ class << self
35
+ def plugin_registrations
36
+ @plugin_registrations ||= Set.new
37
+ end
38
+ end
39
+
34
40
  def initialize(name = nil, current_site = nil)
35
41
  self.functions = Set.new
36
42
  self.name = name || self.class.name
@@ -12,12 +12,14 @@ module Bridgetown
12
12
  end
13
13
 
14
14
  Bridgetown::Hooks.register_one :site, :pre_read, priority: :low, reloadable: false do |site|
15
+ builders = Bridgetown::Builders::PluginBuilder.plugin_registrations.to_a
16
+
15
17
  # SiteBuilder is the superclass sites can subclass to create any number of
16
18
  # builders, but if the site hasn't defined it explicitly, this is a no-op
17
- if defined?(SiteBuilder)
18
- SiteBuilder.descendants.sort.map do |c|
19
- c.new(c.name, site).build_with_callbacks
20
- end
19
+ builders += SiteBuilder.descendants if defined?(SiteBuilder)
20
+
21
+ builders.sort.map do |c|
22
+ c.new(c.name, site).build_with_callbacks
21
23
  end
22
24
  end
23
25
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridgetown-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.beta1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bridgetown Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-02 00:00:00.000000000 Z
11
+ date: 2022-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bridgetown-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.1.0.beta1
19
+ version: 1.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.1.0.beta1
26
+ version: 1.1.0
27
27
  description:
28
28
  email: maintainers@bridgetownrb.com
29
29
  executables: []
@@ -58,9 +58,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
58
58
  version: '0'
59
59
  required_rubygems_version: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ">"
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 1.3.1
63
+ version: '0'
64
64
  requirements: []
65
65
  rubygems_version: 3.1.4
66
66
  signing_key: