bridgetown-core 0.16.0.beta1 → 0.18.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/bridgetown-core.gemspec +3 -1
  4. data/lib/bridgetown-core.rb +45 -29
  5. data/lib/bridgetown-core/collection.rb +5 -1
  6. data/lib/bridgetown-core/commands/apply.rb +2 -2
  7. data/lib/bridgetown-core/commands/concerns/actions.rb +2 -1
  8. data/lib/bridgetown-core/commands/console.rb +4 -4
  9. data/lib/bridgetown-core/commands/new.rb +1 -1
  10. data/lib/bridgetown-core/concerns/layout_placeable.rb +1 -1
  11. data/lib/bridgetown-core/concerns/liquid_renderable.rb +10 -0
  12. data/lib/bridgetown-core/concerns/site/configurable.rb +24 -22
  13. data/lib/bridgetown-core/concerns/site/content.rb +46 -33
  14. data/lib/bridgetown-core/concerns/site/extensible.rb +14 -13
  15. data/lib/bridgetown-core/concerns/site/localizable.rb +24 -0
  16. data/lib/bridgetown-core/concerns/site/processable.rb +12 -11
  17. data/lib/bridgetown-core/concerns/site/renderable.rb +35 -28
  18. data/lib/bridgetown-core/concerns/site/writable.rb +7 -15
  19. data/lib/bridgetown-core/concerns/validatable.rb +2 -2
  20. data/lib/bridgetown-core/configuration.rb +14 -6
  21. data/lib/bridgetown-core/converter.rb +0 -42
  22. data/lib/bridgetown-core/converters/erb_templates.rb +93 -17
  23. data/lib/bridgetown-core/converters/liquid_templates.rb +96 -0
  24. data/lib/bridgetown-core/converters/markdown.rb +0 -3
  25. data/lib/bridgetown-core/document.rb +34 -21
  26. data/lib/bridgetown-core/drops/site_drop.rb +5 -1
  27. data/lib/bridgetown-core/drops/unified_payload_drop.rb +0 -1
  28. data/lib/bridgetown-core/drops/url_drop.rb +19 -3
  29. data/lib/bridgetown-core/excerpt.rb +1 -1
  30. data/lib/bridgetown-core/filters.rb +37 -55
  31. data/lib/bridgetown-core/filters/condition_helpers.rb +56 -0
  32. data/lib/bridgetown-core/frontmatter_defaults.rb +17 -0
  33. data/lib/bridgetown-core/generators/prototype_generator.rb +42 -25
  34. data/lib/bridgetown-core/helpers.rb +84 -0
  35. data/lib/bridgetown-core/liquid_renderer.rb +1 -1
  36. data/lib/bridgetown-core/log_writer.rb +2 -2
  37. data/lib/bridgetown-core/page.rb +8 -2
  38. data/lib/bridgetown-core/plugin_manager.rb +44 -3
  39. data/lib/bridgetown-core/reader.rb +2 -4
  40. data/lib/bridgetown-core/readers/collection_reader.rb +1 -0
  41. data/lib/bridgetown-core/readers/data_reader.rb +4 -3
  42. data/lib/bridgetown-core/readers/defaults_reader.rb +27 -0
  43. data/lib/bridgetown-core/readers/layout_reader.rb +1 -0
  44. data/lib/bridgetown-core/readers/page_reader.rb +1 -0
  45. data/lib/bridgetown-core/readers/post_reader.rb +29 -15
  46. data/lib/bridgetown-core/readers/static_file_reader.rb +1 -0
  47. data/lib/bridgetown-core/renderer.rb +42 -160
  48. data/lib/bridgetown-core/ruby_template_view.rb +26 -8
  49. data/lib/bridgetown-core/site.rb +14 -2
  50. data/lib/bridgetown-core/tags/find.rb +86 -0
  51. data/lib/bridgetown-core/tags/t.rb +14 -0
  52. data/lib/bridgetown-core/tags/webpack_path.rb +6 -41
  53. data/lib/bridgetown-core/utils.rb +69 -2
  54. data/lib/bridgetown-core/utils/ruby_exec.rb +1 -1
  55. data/lib/bridgetown-core/version.rb +2 -2
  56. data/lib/bridgetown-core/watcher.rb +1 -0
  57. data/lib/site_template/src/_layouts/{default.html → default.liquid} +0 -0
  58. data/lib/site_template/src/_layouts/{home.html → home.liquid} +0 -0
  59. data/lib/site_template/src/_layouts/{page.html → page.liquid} +0 -0
  60. data/lib/site_template/src/_layouts/{post.html → post.liquid} +0 -0
  61. data/lib/site_template/src/images/.keep +1 -0
  62. metadata +47 -10
@@ -7,6 +7,7 @@ module Bridgetown
7
7
  include Configurable
8
8
  include Content
9
9
  include Extensible
10
+ include Localizable
10
11
  include Processable
11
12
  include Renderable
12
13
  include Writable
@@ -14,8 +15,18 @@ module Bridgetown
14
15
  attr_reader :root_dir, :source, :dest, :cache_dir, :config,
15
16
  :regenerator, :liquid_renderer, :components_load_paths,
16
17
  :includes_load_paths
17
- attr_accessor :layouts, :pages, :static_files,
18
- :exclude, :include, :lsi, :highlighter, :permalink_style,
18
+
19
+ # All files not pages/documents or structured data in the source folder
20
+ # @return [Array<StaticFile>]
21
+ attr_accessor :static_files
22
+
23
+ # @return [Array<Layout>]
24
+ attr_accessor :layouts
25
+
26
+ # @return [Array<Page>]
27
+ attr_accessor :pages
28
+
29
+ attr_accessor :exclude, :include, :lsi, :highlighter, :permalink_style,
19
30
  :time, :future, :unpublished, :limit_posts,
20
31
  :keep_files, :baseurl, :data, :file_read_opts,
21
32
  :plugin_manager, :converters, :generators, :reader
@@ -25,6 +36,7 @@ module Bridgetown
25
36
  # config - A Hash containing site configuration details.
26
37
  def initialize(config)
27
38
  self.config = config
39
+ locale
28
40
 
29
41
  @plugin_manager = PluginManager.new(self)
30
42
  @cleaner = Cleaner.new(self)
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bridgetown
4
+ module Tags
5
+ class Find < Liquid::Tag
6
+ include Bridgetown::Filters::ConditionHelpers
7
+ include Bridgetown::LiquidExtensions
8
+
9
+ SYNTAX = %r!^(.*?) (where|in) (.*?),(.*)$!.freeze
10
+ CONDITIONS_SEP = "~FINDSEP~"
11
+
12
+ def initialize(tag_name, markup, tokens)
13
+ super
14
+ if markup.strip =~ SYNTAX
15
+ @new_var_name = Regexp.last_match(1).strip
16
+ @single_or_group = Regexp.last_match(2)
17
+ @arr_name = Regexp.last_match(3).strip
18
+ @conditions = process_conditions(Regexp.last_match(4).strip)
19
+ else
20
+ raise SyntaxError, <<~MSG
21
+ Syntax Error in tag 'find' while parsing the following markup:
22
+
23
+ #{markup}
24
+
25
+ Valid syntax: find <varname> where|in <array>, <condition(s)>
26
+ MSG
27
+ end
28
+ end
29
+
30
+ def render(context)
31
+ @group = lookup_variable(context, @arr_name)
32
+ return "" unless @group.respond_to?(:select)
33
+
34
+ @group = @group.values if @group.is_a?(Hash)
35
+
36
+ expression = @conditions.split(CONDITIONS_SEP).map do |condition|
37
+ "__find_tag_item__.#{condition.strip}"
38
+ end.join(" and ")
39
+ @liquid_condition = parse_condition(expression)
40
+
41
+ context[@new_var_name] = if @single_or_group == "where"
42
+ group_evaluate(context)
43
+ else
44
+ single_evaluate(context)
45
+ end
46
+
47
+ ""
48
+ end
49
+
50
+ private
51
+
52
+ def process_conditions(conditions)
53
+ processed_conditions = +""
54
+ in_quotes = false
55
+
56
+ conditions.each_char do |c|
57
+ in_quotes = !in_quotes if c == '"'
58
+
59
+ processed_conditions << (c == "," && !in_quotes ? CONDITIONS_SEP : c)
60
+ end
61
+
62
+ processed_conditions
63
+ end
64
+
65
+ def group_evaluate(context)
66
+ context.stack do
67
+ @group.select do |object|
68
+ context["__find_tag_item__"] = object
69
+ @liquid_condition.evaluate(context)
70
+ end
71
+ end || []
72
+ end
73
+
74
+ def single_evaluate(context)
75
+ context.stack do
76
+ @group.find do |object|
77
+ context["__find_tag_item__"] = object
78
+ @liquid_condition.evaluate(context)
79
+ end
80
+ end || nil
81
+ end
82
+ end
83
+ end
84
+ end
85
+
86
+ Liquid::Template.register_tag("find", Bridgetown::Tags::Find)
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bridgetown
4
+ module Tags
5
+ class TranslationTag < Liquid::Tag
6
+ def render(_context)
7
+ key = @markup.strip
8
+ I18n.t(key)
9
+ end
10
+ end
11
+ end
12
+ end
13
+
14
+ Liquid::Template.register_tag("t", Bridgetown::Tags::TranslationTag)
@@ -5,12 +5,10 @@ module Bridgetown
5
5
  # A helper class to help find the path to webpack asset inside of a webpack
6
6
  # manifest file.
7
7
  class WebpackPath < Liquid::Tag
8
- include Bridgetown::Filters::URLFilters
9
-
10
8
  # @param tag_name [String] Name of the tag
11
9
  # @param asset_type [String] The type of asset to parse (js, css)
12
10
  # @param options [Hash] An options hash
13
- # @return WebpackPath
11
+ # @return [void]
14
12
  # @see {https://www.rdoc.info/github/Shopify/liquid/Liquid/Tag#initialize-instance_method}
15
13
  def initialize(tag_name, asset_type, options)
16
14
  super
@@ -19,12 +17,12 @@ module Bridgetown
19
17
  @asset_type = asset_type.strip
20
18
  end
21
19
 
22
- # Render the contents of a webpack manifest file
23
- # @param context [String] Root directory that contains the manifest file
20
+ # Render an asset path based on the Webpack manifest file
21
+ # @param context [Liquid::Context] Context passed to the tag
24
22
  #
25
23
  # @return [String] Returns "MISSING_WEBPACK_MANIFEST" if the manifest
26
- # file isnt found
27
- # @return [nil] Returns nil if the asset isnt found
24
+ # file isn't found
25
+ # @return [String] Returns a blank string if the asset isn't found
28
26
  # @return [String] Returns the path to the asset if no issues parsing
29
27
  #
30
28
  # @raise [WebpackAssetError] if unable to find css or js in the manifest
@@ -32,40 +30,7 @@ module Bridgetown
32
30
  def render(context)
33
31
  @context = context
34
32
  site = context.registers[:site]
35
-
36
- manifest_file = site.in_root_dir(".bridgetown-webpack", "manifest.json")
37
-
38
- parse_manifest_file(manifest_file)
39
- end
40
-
41
- private
42
-
43
- def parse_manifest_file(manifest_file)
44
- return "MISSING_WEBPACK_MANIFEST" unless File.exist?(manifest_file)
45
-
46
- manifest = JSON.parse(File.read(manifest_file))
47
- frontend_path = relative_url("_bridgetown/static")
48
-
49
- known_assets = %w(js css)
50
-
51
- if known_assets.include?(@asset_type)
52
- asset_path = manifest["main.#{@asset_type}"]
53
-
54
- log_webpack_asset_error(@asset_type) if asset_path.nil?
55
-
56
- asset_path = asset_path.split("/").last
57
- return [frontend_path, @asset_type, asset_path].join("/")
58
- end
59
-
60
- Bridgetown.logger.error("Unknown Webpack asset type", @asset_type)
61
- nil
62
- end
63
-
64
- def log_webpack_asset_error(asset_type)
65
- error_message = "There was an error parsing your #{asset_type} files. \
66
- Please check your #{asset_type} for any errors."
67
-
68
- Bridgetown.logger.warn(Errors::WebpackAssetError, error_message)
33
+ Bridgetown::Utils.parse_webpack_manifest_file(site, @asset_type) || ""
69
34
  end
70
35
  end
71
36
  end
@@ -14,8 +14,8 @@ module Bridgetown
14
14
  # Constants for use in #slugify
15
15
  SLUGIFY_MODES = %w(raw default pretty simple ascii latin).freeze
16
16
  SLUGIFY_RAW_REGEXP = Regexp.new('\\s+').freeze
17
- SLUGIFY_DEFAULT_REGEXP = Regexp.new("[^[:alnum:]]+").freeze
18
- SLUGIFY_PRETTY_REGEXP = Regexp.new("[^[:alnum:]._~!$&'()+,;=@]+").freeze
17
+ SLUGIFY_DEFAULT_REGEXP = Regexp.new("[^\\p{M}\\p{L}\\p{Nd}]+").freeze
18
+ SLUGIFY_PRETTY_REGEXP = Regexp.new("[^\\p{M}\\p{L}\\p{Nd}._~!$&'()+,;=@]+").freeze
19
19
  SLUGIFY_ASCII_REGEXP = Regexp.new("[^[A-Za-z0-9]]+").freeze
20
20
 
21
21
  # Takes a slug and turns it into a simple title.
@@ -23,6 +23,20 @@ module Bridgetown
23
23
  slug.gsub(%r![_ ]!, "-").split("-").map!(&:capitalize).join(" ")
24
24
  end
25
25
 
26
+ # XML escape a string for use. Replaces any special characters with
27
+ # appropriate HTML entity replacements.
28
+ #
29
+ # Examples
30
+ #
31
+ # xml_escape('foo "bar" <baz>')
32
+ # # => "foo &quot;bar&quot; &lt;baz&gt;"
33
+ #
34
+ # @param input [String] The String to escape.
35
+ # @return [String] the escaped String.
36
+ def xml_escape(input)
37
+ input.to_s.encode(xml: :attr).gsub(%r!\A"|"\Z!, "")
38
+ end
39
+
26
40
  # Non-destructive version of deep_merge_hashes! See that method.
27
41
  #
28
42
  # Returns the merged hashes.
@@ -331,6 +345,59 @@ module Bridgetown
331
345
  end
332
346
  # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Metrics/PerceivedComplexity
333
347
 
348
+ # Return an asset path based on the Webpack manifest file
349
+ # @param site [Bridgetown::Site] The current site object
350
+ # @param asset_type [String] js or css
351
+ #
352
+ # @return [String] Returns "MISSING_WEBPACK_MANIFEST" if the manifest
353
+ # file isnt found
354
+ # @return [nil] Returns nil if the asset isnt found
355
+ # @return [String] Returns the path to the asset if no issues parsing
356
+ #
357
+ # @raise [WebpackAssetError] if unable to find css or js in the manifest
358
+ # file
359
+ def parse_webpack_manifest_file(site, asset_type)
360
+ manifest_file = site.in_root_dir(".bridgetown-webpack", "manifest.json")
361
+ return "MISSING_WEBPACK_MANIFEST" unless File.exist?(manifest_file)
362
+
363
+ manifest = JSON.parse(File.read(manifest_file))
364
+
365
+ known_assets = %w(js css)
366
+ if known_assets.include?(asset_type)
367
+ asset_path = manifest["main.#{asset_type}"]
368
+
369
+ log_webpack_asset_error(asset_type) && return if asset_path.nil?
370
+
371
+ asset_path = asset_path.split("/").last
372
+ return [static_frontend_path(site), asset_type, asset_path].join("/")
373
+ end
374
+
375
+ Bridgetown.logger.error("Unknown Webpack asset type", asset_type)
376
+ nil
377
+ end
378
+
379
+ def static_frontend_path(site)
380
+ path_parts = [site.config["baseurl"].to_s.chomp("/"), "_bridgetown/static"]
381
+ path_parts[0] = "/#{path_parts[0]}" unless path_parts[0].empty?
382
+ Addressable::URI.parse(path_parts.join("/")).normalize.to_s
383
+ end
384
+
385
+ def log_webpack_asset_error(asset_type)
386
+ error_message = "There was an error parsing your #{asset_type} files. \
387
+ Please check your #{asset_type} for any errors."
388
+
389
+ Bridgetown.logger.warn(Errors::WebpackAssetError, error_message)
390
+ end
391
+
392
+ def default_github_branch_name(repo_url)
393
+ repo_match = Bridgetown::Commands::Actions::GITHUB_REPO_REGEX.match(repo_url)
394
+ api_endpoint = "https://api.github.com/repos/#{repo_match[1]}"
395
+ JSON.parse(Faraday.get(api_endpoint).body)["default_branch"] || "master"
396
+ rescue StandardError => e
397
+ Bridgetown.logger.warn("Unable to connect to GitHub API: #{e.message}")
398
+ "master"
399
+ end
400
+
334
401
  private
335
402
 
336
403
  def merge_values(target, overwrite)
@@ -59,7 +59,7 @@ module Bridgetown
59
59
 
60
60
  # This is where the magic happens! DON'T BE EVIL!!! ;-)
61
61
  output = obj.instance_eval(ruby_code)
62
- output.is_a?(Hash) ? output.with_indifferent_access : output
62
+ output.is_a?(Hash) ? output.with_dot_access : output
63
63
  end
64
64
  end
65
65
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bridgetown
4
- VERSION = "0.16.0.beta1"
5
- CODE_NAME = "Crystal Springs"
4
+ VERSION = "0.18.0"
5
+ CODE_NAME = "Taylor Street"
6
6
  end
@@ -130,6 +130,7 @@ module Bridgetown
130
130
  Bridgetown::Hooks.trigger :site, :pre_reload, site
131
131
  Bridgetown::Hooks.clear_reloadable_hooks
132
132
  site.plugin_manager.reload_plugin_files
133
+ site.plugin_manager.reload_component_loaders
133
134
  site.process
134
135
  Bridgetown.logger.info "Done! 🎉", "#{"Completed".green} in less than" \
135
136
  " #{(Time.now - time).ceil(2)} seconds."
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.16.0.beta1
4
+ version: 0.18.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: 2020-07-16 00:00:00.000000000 Z
11
+ date: 2020-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -39,19 +39,19 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.4'
41
41
  - !ruby/object:Gem::Dependency
42
- name: awesome_print
42
+ name: amazing_print
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.8'
47
+ version: '1.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.8'
54
+ version: '1.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: colorator
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: erubi
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.9'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.9'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: faraday
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +108,20 @@ dependencies:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
110
  version: '1.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: hash_with_dot_access
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: i18n
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -284,6 +312,7 @@ executables:
284
312
  extensions: []
285
313
  extra_rdoc_files: []
286
314
  files:
315
+ - ".yardopts"
287
316
  - Rakefile
288
317
  - bin/bridgetown
289
318
  - bridgetown-core.gemspec
@@ -313,6 +342,7 @@ files:
313
342
  - lib/bridgetown-core/concerns/site/configurable.rb
314
343
  - lib/bridgetown-core/concerns/site/content.rb
315
344
  - lib/bridgetown-core/concerns/site/extensible.rb
345
+ - lib/bridgetown-core/concerns/site/localizable.rb
316
346
  - lib/bridgetown-core/concerns/site/processable.rb
317
347
  - lib/bridgetown-core/concerns/site/renderable.rb
318
348
  - lib/bridgetown-core/concerns/site/writable.rb
@@ -321,6 +351,7 @@ files:
321
351
  - lib/bridgetown-core/converter.rb
322
352
  - lib/bridgetown-core/converters/erb_templates.rb
323
353
  - lib/bridgetown-core/converters/identity.rb
354
+ - lib/bridgetown-core/converters/liquid_templates.rb
324
355
  - lib/bridgetown-core/converters/markdown.rb
325
356
  - lib/bridgetown-core/converters/markdown/kramdown_parser.rb
326
357
  - lib/bridgetown-core/converters/smartypants.rb
@@ -341,12 +372,14 @@ files:
341
372
  - lib/bridgetown-core/excerpt.rb
342
373
  - lib/bridgetown-core/external.rb
343
374
  - lib/bridgetown-core/filters.rb
375
+ - lib/bridgetown-core/filters/condition_helpers.rb
344
376
  - lib/bridgetown-core/filters/date_filters.rb
345
377
  - lib/bridgetown-core/filters/grouping_filters.rb
346
378
  - lib/bridgetown-core/filters/url_filters.rb
347
379
  - lib/bridgetown-core/frontmatter_defaults.rb
348
380
  - lib/bridgetown-core/generator.rb
349
381
  - lib/bridgetown-core/generators/prototype_generator.rb
382
+ - lib/bridgetown-core/helpers.rb
350
383
  - lib/bridgetown-core/hooks.rb
351
384
  - lib/bridgetown-core/layout.rb
352
385
  - lib/bridgetown-core/liquid_extensions.rb
@@ -366,6 +399,7 @@ files:
366
399
  - lib/bridgetown-core/reader.rb
367
400
  - lib/bridgetown-core/readers/collection_reader.rb
368
401
  - lib/bridgetown-core/readers/data_reader.rb
402
+ - lib/bridgetown-core/readers/defaults_reader.rb
369
403
  - lib/bridgetown-core/readers/layout_reader.rb
370
404
  - lib/bridgetown-core/readers/page_reader.rb
371
405
  - lib/bridgetown-core/readers/plugin_content_reader.rb
@@ -378,11 +412,13 @@ files:
378
412
  - lib/bridgetown-core/site.rb
379
413
  - lib/bridgetown-core/static_file.rb
380
414
  - lib/bridgetown-core/tags/class_map.rb
415
+ - lib/bridgetown-core/tags/find.rb
381
416
  - lib/bridgetown-core/tags/highlight.rb
382
417
  - lib/bridgetown-core/tags/include.rb
383
418
  - lib/bridgetown-core/tags/link.rb
384
419
  - lib/bridgetown-core/tags/post_url.rb
385
420
  - lib/bridgetown-core/tags/render_content.rb
421
+ - lib/bridgetown-core/tags/t.rb
386
422
  - lib/bridgetown-core/tags/webpack_path.rb
387
423
  - lib/bridgetown-core/tags/with.rb
388
424
  - lib/bridgetown-core/url.rb
@@ -409,13 +445,14 @@ files:
409
445
  - lib/site_template/src/_components/head.liquid
410
446
  - lib/site_template/src/_components/navbar.liquid
411
447
  - lib/site_template/src/_data/site_metadata.yml
412
- - lib/site_template/src/_layouts/default.html
413
- - lib/site_template/src/_layouts/home.html
414
- - lib/site_template/src/_layouts/page.html
415
- - lib/site_template/src/_layouts/post.html
448
+ - lib/site_template/src/_layouts/default.liquid
449
+ - lib/site_template/src/_layouts/home.liquid
450
+ - lib/site_template/src/_layouts/page.liquid
451
+ - lib/site_template/src/_layouts/post.liquid
416
452
  - lib/site_template/src/_posts/0000-00-00-welcome-to-bridgetown.md.erb
417
453
  - lib/site_template/src/about.md
418
454
  - lib/site_template/src/favicon.ico
455
+ - lib/site_template/src/images/.keep
419
456
  - lib/site_template/src/index.md
420
457
  - lib/site_template/src/posts.md
421
458
  - lib/site_template/start.js
@@ -445,7 +482,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
445
482
  - !ruby/object:Gem::Version
446
483
  version: 2.7.0
447
484
  requirements: []
448
- rubygems_version: 3.0.6
485
+ rubygems_version: 3.1.4
449
486
  signing_key:
450
487
  specification_version: 4
451
488
  summary: A Webpack-aware, Ruby-based static site generator for the modern Jamstack