bridgetown-core 0.14.1 → 0.15.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -1
  3. data/bin/bridgetown +9 -23
  4. data/bridgetown-core.gemspec +2 -1
  5. data/lib/bridgetown-core.rb +9 -2
  6. data/lib/bridgetown-core/commands/apply.rb +73 -0
  7. data/lib/bridgetown-core/commands/base.rb +45 -0
  8. data/lib/bridgetown-core/commands/build.rb +91 -86
  9. data/lib/bridgetown-core/commands/clean.rb +30 -29
  10. data/lib/bridgetown-core/commands/concerns/actions.rb +95 -0
  11. data/lib/bridgetown-core/commands/concerns/build_options.rb +76 -0
  12. data/lib/bridgetown-core/commands/concerns/configuration_overridable.rb +18 -0
  13. data/lib/bridgetown-core/commands/concerns/summarizable.rb +13 -0
  14. data/lib/bridgetown-core/commands/console.rb +46 -38
  15. data/lib/bridgetown-core/commands/doctor.rb +126 -126
  16. data/lib/bridgetown-core/commands/new.rb +120 -155
  17. data/lib/bridgetown-core/commands/plugins.rb +167 -130
  18. data/lib/bridgetown-core/commands/registrations.rb +16 -0
  19. data/lib/bridgetown-core/commands/serve.rb +214 -215
  20. data/lib/bridgetown-core/generators/prototype_generator.rb +2 -0
  21. data/lib/bridgetown-core/liquid_renderer.rb +1 -0
  22. data/lib/bridgetown-core/liquid_renderer/file_system.rb +3 -1
  23. data/lib/bridgetown-core/plugin_manager.rb +4 -4
  24. data/lib/bridgetown-core/renderer.rb +28 -15
  25. data/lib/bridgetown-core/tags/include.rb +12 -0
  26. data/lib/bridgetown-core/tags/render_content.rb +27 -16
  27. data/lib/bridgetown-core/tags/with.rb +15 -0
  28. data/lib/bridgetown-core/version.rb +2 -2
  29. data/lib/bridgetown-core/watcher.rb +17 -10
  30. data/lib/site_template/Gemfile.erb +19 -0
  31. data/lib/site_template/src/_components/footer.html +3 -0
  32. data/lib/site_template/src/_components/head.html +9 -0
  33. data/lib/site_template/src/{_includes → _components}/navbar.html +0 -0
  34. data/lib/site_template/src/_layouts/default.html +3 -3
  35. data/lib/site_template/start.js +1 -1
  36. metadata +39 -19
  37. data/lib/bridgetown-core/command.rb +0 -112
  38. data/lib/bridgetown-core/commands/help.rb +0 -34
  39. data/lib/site_template/src/_components/.keep +0 -0
  40. data/lib/site_template/src/_includes/footer.html +0 -3
  41. data/lib/site_template/src/_includes/head.html +0 -9
@@ -63,6 +63,8 @@ module Bridgetown
63
63
  new_page
64
64
  end
65
65
 
66
+ # TODO: this would be a great use of .try
67
+ # document.try(:collection).try(:label) == @configured_collection
66
68
  def terms_matching_pages(search_term)
67
69
  selected_docs = @site.documents.select do |document|
68
70
  document.respond_to?(:collection) && document.collection.label == @configured_collection
@@ -26,6 +26,7 @@ module Bridgetown
26
26
  def reset
27
27
  @stats = {}
28
28
  @cache = {}
29
+ Renderer.cached_partials = {}
29
30
  end
30
31
 
31
32
  def file(filename)
@@ -31,7 +31,9 @@ module Bridgetown
31
31
  raise Liquid::FileSystemError, "No such template '#{template_path}'" if found_paths.empty?
32
32
 
33
33
  # Last path in the list wins
34
- ::File.read(found_paths.last, site.file_read_opts)
34
+ LiquidComponent.parse(
35
+ ::File.read(found_paths.last, site.file_read_opts)
36
+ ).content
35
37
  end
36
38
  end
37
39
  end
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Bridgetown
4
4
  class PluginManager
5
+ PLUGINS_GROUP = :bridgetown_plugins
6
+
5
7
  attr_reader :site
6
8
 
7
9
  @source_manifests = Set.new
@@ -40,11 +42,9 @@ module Bridgetown
40
42
  if !ENV["BRIDGETOWN_NO_BUNDLER_REQUIRE"] && File.file?("Gemfile")
41
43
  require "bundler"
42
44
 
43
- group_name = :bridgetown_plugins
44
-
45
- required_gems = Bundler.require group_name
45
+ required_gems = Bundler.require PLUGINS_GROUP
46
46
  required_gems.select! do |dep|
47
- (dep.groups & [group_name]).any? && dep.should_include?
47
+ (dep.groups & [PLUGINS_GROUP]).any? && dep.should_include?
48
48
  end
49
49
 
50
50
  install_yarn_dependencies(required_gems)
@@ -5,11 +5,16 @@ module Bridgetown
5
5
  attr_reader :document, :site
6
6
  attr_writer :layouts, :payload
7
7
 
8
+ class << self
9
+ attr_accessor :cached_partials
10
+ end
11
+
8
12
  def initialize(site, document, site_payload = nil)
9
13
  @site = site
10
14
  @document = document
11
15
  @payload = site_payload
12
16
  @layouts = nil
17
+ self.class.cached_partials ||= {}
13
18
  end
14
19
 
15
20
  # Fetches the payload used in Liquid rendering.
@@ -67,18 +72,14 @@ module Bridgetown
67
72
  # Returns String rendered document output
68
73
  # rubocop: disable Metrics/AbcSize
69
74
  def render_document
70
- info = {
71
- registers: { site: site, page: payload["page"] },
72
- strict_filters: liquid_options["strict_filters"],
73
- strict_variables: liquid_options["strict_variables"],
74
- }
75
+ liquid_context = provide_liquid_context
75
76
 
76
77
  execute_inline_ruby!
77
78
 
78
79
  output = document.content
79
80
  if document.render_with_liquid?
80
81
  Bridgetown.logger.debug "Rendering Liquid:", document.relative_path
81
- output = render_liquid(output, payload, info, document.path)
82
+ output = render_liquid(output, payload, liquid_context, document.path)
82
83
  end
83
84
 
84
85
  Bridgetown.logger.debug "Rendering Markup:", document.relative_path
@@ -87,12 +88,24 @@ module Bridgetown
87
88
 
88
89
  if document.place_in_layout?
89
90
  Bridgetown.logger.debug "Rendering Layout:", document.relative_path
90
- output = place_in_layouts(output, payload, info)
91
+ output = place_in_layouts(output, payload, liquid_context)
91
92
  end
92
93
 
93
94
  output
94
95
  end
95
96
 
97
+ def provide_liquid_context
98
+ {
99
+ registers: {
100
+ site: site,
101
+ page: payload["page"],
102
+ cached_partials: self.class.cached_partials,
103
+ },
104
+ strict_filters: liquid_options["strict_filters"],
105
+ strict_variables: liquid_options["strict_variables"],
106
+ }
107
+ end
108
+
96
109
  def execute_inline_ruby!
97
110
  return unless site.config.should_execute_inline_ruby?
98
111
 
@@ -101,21 +114,21 @@ module Bridgetown
101
114
 
102
115
  # rubocop: enable Metrics/AbcSize
103
116
 
104
- # Render the given content with the payload and info
117
+ # Render the given content with the payload and context
105
118
  #
106
119
  # content -
107
120
  # payload -
108
- # info -
121
+ # context -
109
122
  # path - (optional) the path to the file, for use in ex
110
123
  #
111
124
  # Returns String the content, rendered by Liquid.
112
- def render_liquid(content, payload, info, path = nil)
125
+ def render_liquid(content, payload, liquid_context, path = nil)
113
126
  template = site.liquid_renderer.file(path).parse(content)
114
127
  template.warnings.each do |e|
115
128
  Bridgetown.logger.warn "Liquid Warning:",
116
129
  LiquidRenderer.format_error(e, path || document.relative_path)
117
130
  end
118
- template.render!(payload, info)
131
+ template.render!(payload, liquid_context)
119
132
  # rubocop: disable Lint/RescueException
120
133
  rescue Exception => e
121
134
  Bridgetown.logger.error "Liquid Exception:",
@@ -151,7 +164,7 @@ module Bridgetown
151
164
  # Render layouts and place document content inside.
152
165
  #
153
166
  # Returns String rendered content
154
- def place_in_layouts(content, payload, info)
167
+ def place_in_layouts(content, payload, liquid_context)
155
168
  output = content.dup
156
169
  layout = layouts[document.data["layout"].to_s]
157
170
  validate_layout(layout)
@@ -162,7 +175,7 @@ module Bridgetown
162
175
  payload["layout"] = nil
163
176
 
164
177
  while layout
165
- output = render_layout(output, layout, info)
178
+ output = render_layout(output, layout, liquid_context)
166
179
  add_regenerator_dependencies(layout)
167
180
 
168
181
  next unless (layout = site.layouts[layout.data["layout"]])
@@ -189,14 +202,14 @@ module Bridgetown
189
202
  # Render layout content into document.output
190
203
  #
191
204
  # Returns String rendered content
192
- def render_layout(output, layout, info)
205
+ def render_layout(output, layout, liquid_context)
193
206
  payload["content"] = output
194
207
  payload["layout"] = Utils.deep_merge_hashes(layout.data, payload["layout"] || {})
195
208
 
196
209
  render_liquid(
197
210
  layout.content,
198
211
  payload,
199
- info,
212
+ liquid_context,
200
213
  layout.path
201
214
  )
202
215
  end
@@ -3,6 +3,10 @@
3
3
  module Bridgetown
4
4
  module Tags
5
5
  class IncludeTag < Liquid::Tag
6
+ class << self
7
+ attr_accessor :deprecation_message_shown
8
+ end
9
+
6
10
  VALID_SYNTAX = %r!
7
11
  ([\w-]+)\s*=\s*
8
12
  (?:"([^"\\]*(?:\\.[^"\\]*)*)"|'([^'\\]*(?:\\.[^'\\]*)*)'|([\w\.-]+))
@@ -18,6 +22,14 @@ module Bridgetown
18
22
 
19
23
  def initialize(tag_name, markup, tokens)
20
24
  super
25
+
26
+ unless self.class.deprecation_message_shown
27
+ Bridgetown.logger.warn "NOTICE: the {% include %} tag is deprecated and" \
28
+ " will be removed in Bridgetown 1.0. You should" \
29
+ " use the {% render %} tag instead."
30
+ self.class.deprecation_message_shown = true
31
+ end
32
+
21
33
  matched = markup.strip.match(VARIABLE_SYNTAX)
22
34
  if matched
23
35
  @file = matched["variable"].strip
@@ -3,27 +3,38 @@
3
3
  module Bridgetown
4
4
  module Tags
5
5
  class BlockRenderTag < Liquid::Block
6
- def initialize(tag_name, markup, options)
7
- super
6
+ def render(context)
7
+ context.stack({}) do
8
+ content = super.gsub(%r!^[ \t]+!, "") # unindent the incoming text
9
+ regions = gather_content_regions(context)
8
10
 
9
- @tag = tag_name
10
- @markup = markup
11
- @options = options
12
- end
11
+ site = context.registers[:site]
12
+ converter = site.find_converter_instance(Bridgetown::Converters::Markdown)
13
+ markdownified_content = converter.convert(content)
14
+ context["processed_component_content"] = markdownified_content
13
15
 
14
- def render(context)
15
- content = super.gsub(%r!^[ \t]+!, "") # unindent the incoming text
16
+ render_params = [@markup, "content: processed_component_content"]
17
+ unless regions.empty?
18
+ regions.each do |region_name, region_content|
19
+ region_name = region_name.sub("content_with_region_", "")
20
+ context[region_name] = converter.convert(region_content.gsub(%r!^[ \t]+!, ""))
21
+ render_params.push "#{region_name}: #{region_name}"
22
+ end
23
+ end
16
24
 
17
- site = context.registers[:site]
18
- converter = site.find_converter_instance(Bridgetown::Converters::Markdown)
19
- markdownified_content = converter.convert(content)
25
+ Liquid::Render.parse("render", render_params.join(","), nil, @parse_context)
26
+ .render_tag(context, +"")
27
+ end
28
+ end
29
+
30
+ private
20
31
 
21
- context.stack do
22
- context["componentcontent"] = markdownified_content
23
- render_params = "#{@markup}, content: componentcontent"
24
- render_tag = Liquid::Render.parse("render", render_params, @options, @parse_context)
25
- render_tag.render_tag(context, +"")
32
+ def gather_content_regions(context)
33
+ unless context.scopes[0].keys.find { |k| k.to_s.start_with? "content_with_region_" }
34
+ return {}
26
35
  end
36
+
37
+ context.scopes[0].select { |k| k.to_s.start_with? "content_with_region_" }
27
38
  end
28
39
  end
29
40
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bridgetown
4
+ module Tags
5
+ class WithTag < Liquid::Block
6
+ def render(context)
7
+ region_name = @markup.strip
8
+ context["content_with_region_#{region_name}"] = super
9
+ ""
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ Liquid::Template.register_tag("with", Bridgetown::Tags::WithTag)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bridgetown
4
- VERSION = "0.14.1"
5
- CODE_NAME = "Hazelwood"
4
+ VERSION = "0.15.0.beta1"
5
+ CODE_NAME = "Overlook"
6
6
  end
@@ -39,17 +39,21 @@ module Bridgetown
39
39
  def build_listener(site, options)
40
40
  webpack_path = site.in_root_dir(".bridgetown-webpack")
41
41
  FileUtils.mkdir(webpack_path) unless Dir.exist?(webpack_path)
42
+ plugin_paths_to_watch = site.plugin_manager.plugins_path.select do |path|
43
+ Dir.exist?(path)
44
+ end
45
+
42
46
  Listen.to(
43
47
  options["source"],
44
48
  webpack_path,
45
- *site.plugin_manager.plugins_path,
49
+ *plugin_paths_to_watch,
46
50
  ignore: listen_ignore_paths(options),
47
51
  force_polling: options["force_polling"],
48
- &listen_handler(site)
52
+ &listen_handler(site, options)
49
53
  )
50
54
  end
51
55
 
52
- def listen_handler(site)
56
+ def listen_handler(site, options)
53
57
  proc do |modified, added, removed|
54
58
  t = Time.now
55
59
  c = modified + added + removed
@@ -59,7 +63,7 @@ module Bridgetown
59
63
  Bridgetown.logger.info "", "#{n} file(s) changed at #{t.strftime("%Y-%m-%d %H:%M:%S")}"
60
64
 
61
65
  c.each { |path| Bridgetown.logger.info "", path["#{site.root_dir}/".length..-1] }
62
- process(site, t)
66
+ process(site, t, options)
63
67
  end
64
68
  end
65
69
 
@@ -95,7 +99,6 @@ module Bridgetown
95
99
  # options - A Hash of options passed to the command
96
100
  #
97
101
  # Returns a list of relative paths from source that should be ignored
98
- # rubocop: disable Metrics/AbcSize
99
102
  def listen_ignore_paths(options)
100
103
  source = Pathname.new(options["source"]).expand_path
101
104
  paths = to_exclude(options)
@@ -117,13 +120,12 @@ module Bridgetown
117
120
  end
118
121
  end.compact + [%r!^\.bridgetown\-metadata!]
119
122
  end
120
- # rubocop:enable Metrics/AbcSize
121
123
 
122
124
  def sleep_forever
123
125
  loop { sleep 1000 }
124
126
  end
125
127
 
126
- def process(site, time)
128
+ def process(site, time, options)
127
129
  begin
128
130
  Bridgetown::Hooks.trigger :site, :pre_reload, site
129
131
  Bridgetown::Hooks.clear_reloadable_hooks
@@ -131,9 +133,14 @@ module Bridgetown
131
133
  site.process
132
134
  Bridgetown.logger.info "Done! 🎉", "#{"Completed".green} in less than" \
133
135
  " #{(Time.now - time).ceil(2)} seconds."
134
- rescue StandardError => e
135
- Bridgetown.logger.warn "Error:", e.message
136
- Bridgetown.logger.warn "Error:", "Run bridgetown build --trace for more information."
136
+ rescue Exception => e
137
+ Bridgetown.logger.error "Error:", e.message
138
+
139
+ if options[:trace]
140
+ Bridgetown.logger.info e.backtrace.join("\n")
141
+ else
142
+ Bridgetown.logger.warn "Error:", "Use the --trace option for more information."
143
+ end
137
144
  end
138
145
  Bridgetown.logger.info ""
139
146
  end
@@ -0,0 +1,19 @@
1
+ source "https://rubygems.org"
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ # Hello! This is where you manage which Bridgetown version is used to run.
5
+ # When you want to use a different version, change it below, save the
6
+ # file and run `bundle install`. Run Bridgetown with `bundle exec`, like so:
7
+ #
8
+ # bundle exec bridgetown serve
9
+ #
10
+ # This will help ensure the proper Bridgetown version is running.
11
+ #
12
+ # To install a plugin, simply run bundle add and specify the group
13
+ # "bridgetown_plugins". For example:
14
+ #
15
+ # bundle add some-new-plugin -g bridgetown_plugins
16
+ #
17
+ # Happy Bridgetowning!
18
+
19
+ gem "bridgetown", "~> <%= Bridgetown::VERSION %>"
@@ -0,0 +1,3 @@
1
+ <footer>
2
+ Contact me at {{ metadata.email }}
3
+ </footer>
@@ -0,0 +1,9 @@
1
+ <meta charset="utf-8" />
2
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
3
+ {% capture page_title %}{{ title | strip_html | strip_newlines }}{% endcapture %}
4
+ <title>{% if page_title != "" %}{{ page_title | escape }} | {{ metadata.title | escape }}{% else %}{{ metadata.title | escape }}: {{ metadata.tagline | escape }}{% endif %}</title>
5
+
6
+ <meta name="description" content="{{ metadata.description }}" />
7
+
8
+ <link rel="stylesheet" href="{% webpack_path css %}" />
9
+ <script src="{% webpack_path js %}" defer></script>
@@ -1,15 +1,15 @@
1
1
  <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
- {% include head.html %}
4
+ {% render "head", metadata: site.metadata, title: page.title %}
5
5
  </head>
6
6
  <body class="{{ page.layout }} {{ page.page_class }}">
7
- {% include navbar.html %}
7
+ {% render "navbar" %}
8
8
 
9
9
  <main>
10
10
  {{ content }}
11
11
  </main>
12
12
 
13
- {% include footer.html %}
13
+ {% render "footer", metadata: site.metadata %}
14
14
  </body>
15
15
  </html>
@@ -14,4 +14,4 @@ concurrently([
14
14
  ], {
15
15
  restartTries: 3,
16
16
  killOthers: ['failure', 'success'],
17
- }).then(() => { console.log("Done.") }, () => {});
17
+ }).then(() => { console.log("Done.");console.log('\033[0G'); }, () => {});
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridgetown-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.1
4
+ version: 0.15.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bridgetown Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-23 00:00:00.000000000 Z
11
+ date: 2020-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -137,47 +137,47 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '4.0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: liquid-render-tag
140
+ name: liquid-component
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: '0.2'
145
+ version: '0.1'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: '0.2'
152
+ version: '0.1'
153
153
  - !ruby/object:Gem::Dependency
154
- name: listen
154
+ name: liquid-render-tag
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '3.0'
159
+ version: '0.2'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '3.0'
166
+ version: '0.2'
167
167
  - !ruby/object:Gem::Dependency
168
- name: mercenary
168
+ name: listen
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.4.0
173
+ version: '3.0'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.4.0
180
+ version: '3.0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: pathutil
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -234,6 +234,20 @@ dependencies:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
236
  version: '1.8'
237
+ - !ruby/object:Gem::Dependency
238
+ name: thor
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '1.0'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '1.0'
237
251
  description: Bridgetown is a Webpack-aware, Ruby-powered static site generator for
238
252
  the modern Jamstack era
239
253
  email: maintainers@bridgetownrb.com
@@ -249,14 +263,19 @@ files:
249
263
  - lib/bridgetown-core/cache.rb
250
264
  - lib/bridgetown-core/cleaner.rb
251
265
  - lib/bridgetown-core/collection.rb
252
- - lib/bridgetown-core/command.rb
266
+ - lib/bridgetown-core/commands/apply.rb
267
+ - lib/bridgetown-core/commands/base.rb
253
268
  - lib/bridgetown-core/commands/build.rb
254
269
  - lib/bridgetown-core/commands/clean.rb
270
+ - lib/bridgetown-core/commands/concerns/actions.rb
271
+ - lib/bridgetown-core/commands/concerns/build_options.rb
272
+ - lib/bridgetown-core/commands/concerns/configuration_overridable.rb
273
+ - lib/bridgetown-core/commands/concerns/summarizable.rb
255
274
  - lib/bridgetown-core/commands/console.rb
256
275
  - lib/bridgetown-core/commands/doctor.rb
257
- - lib/bridgetown-core/commands/help.rb
258
276
  - lib/bridgetown-core/commands/new.rb
259
277
  - lib/bridgetown-core/commands/plugins.rb
278
+ - lib/bridgetown-core/commands/registrations.rb
260
279
  - lib/bridgetown-core/commands/serve.rb
261
280
  - lib/bridgetown-core/commands/serve/servlet.rb
262
281
  - lib/bridgetown-core/concerns/convertible.rb
@@ -330,6 +349,7 @@ files:
330
349
  - lib/bridgetown-core/tags/post_url.rb
331
350
  - lib/bridgetown-core/tags/render_content.rb
332
351
  - lib/bridgetown-core/tags/webpack_path.rb
352
+ - lib/bridgetown-core/tags/with.rb
333
353
  - lib/bridgetown-core/url.rb
334
354
  - lib/bridgetown-core/utils.rb
335
355
  - lib/bridgetown-core/utils/ansi.rb
@@ -342,6 +362,7 @@ files:
342
362
  - lib/bridgetown-core/version.rb
343
363
  - lib/bridgetown-core/watcher.rb
344
364
  - lib/site_template/.gitignore
365
+ - lib/site_template/Gemfile.erb
345
366
  - lib/site_template/bridgetown.config.yml
346
367
  - lib/site_template/frontend/javascript/index.js
347
368
  - lib/site_template/frontend/styles/index.scss
@@ -349,11 +370,10 @@ files:
349
370
  - lib/site_template/plugins/builders/.keep
350
371
  - lib/site_template/plugins/site_builder.rb
351
372
  - lib/site_template/src/404.html
352
- - lib/site_template/src/_components/.keep
373
+ - lib/site_template/src/_components/footer.html
374
+ - lib/site_template/src/_components/head.html
375
+ - lib/site_template/src/_components/navbar.html
353
376
  - lib/site_template/src/_data/site_metadata.yml
354
- - lib/site_template/src/_includes/footer.html
355
- - lib/site_template/src/_includes/head.html
356
- - lib/site_template/src/_includes/navbar.html
357
377
  - lib/site_template/src/_layouts/default.html
358
378
  - lib/site_template/src/_layouts/home.html
359
379
  - lib/site_template/src/_layouts/page.html