bridgetown-builder 1.1.0.beta2 → 1.1.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e95e26924a3b4cfb3fb95fe5af3d2a7be3630a7d3aaf8dc738b24102ea0dc16
4
- data.tar.gz: 2ae5a954e86865d3886eed2b4ecd146c892b1b5c47acc903d9d5d83611f73415
3
+ metadata.gz: bbc911c29c7452724a7aac033623d55d478c210e0c0016b17cc615bd81ca3432
4
+ data.tar.gz: 3ef397e52602f72936aacecda5ba216a00a74108f8032fcc1548483d5490ddd6
5
5
  SHA512:
6
- metadata.gz: b308dbf4bd761cead11ec7f5fba42ab136b549ba48b226b5b321ca5488d41bd527555267ce88df7b077f484506cdd5eff092d4925c82ca0f4fd24b21aa0e1775
7
- data.tar.gz: ae39eb4841a8075f3d6c278450837434ed64f836ab2f4df5d4e5deff0e35326de617ea89b10bc3c89428f59e66165ae6daf378f5705b9663b3b01359cddcaacd
6
+ metadata.gz: 91f62d820a391edad6b285bd1411648de5177a3c66b27c5e5d4151b46b979cffc84c648bf74cd6a143f503a23ac79b75a14be3f3ab0020ebd1531ab3d6d6855c
7
+ data.tar.gz: 8fa3a72a20b0b6008fbbc3f6cee4436a953541c08ba77aea9d49dfa6570e61dd697e46f83eb51d24141c4ff15d772f232b9900912bea6a090a1117b66b622fee
@@ -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.beta2
4
+ version: 1.1.0.beta3
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-06-28 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.beta2
19
+ version: 1.1.0.beta3
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.beta2
26
+ version: 1.1.0.beta3
27
27
  description:
28
28
  email: maintainers@bridgetownrb.com
29
29
  executables: []