bridgetown-core 0.16.0 → 0.17.0

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: d35a1d7fa1834831d59b4b7dfd072d3cddfb8d152416b63686aa1bf477567394
4
- data.tar.gz: c3b2f423702f55e433709d11de4219f7ed76736f707b39aed0b22f09048b2804
3
+ metadata.gz: bd231215591b9251d63525c740620bf4cd6da0beb5e48abd420ce745355ac0bb
4
+ data.tar.gz: 82dff2c41efbac2e9ea4f60cc441f8665044c3c8e6576695a50db376951c5866
5
5
  SHA512:
6
- metadata.gz: 9c7799ef500f1d6b519e4f0ede9487c37bde860b12250c1bd39bfe66a348729e73aa7256e04f84fa310e6a82f5b0fcd6041026d4f1f16c8528808ea5331cd4d8
7
- data.tar.gz: 040dcffce2be2cdf189fd7dc1d5585f14a24975e5ee19b2e2d1aa88a09b4e011725727c127c3c2b690e09a79415e0d8edc9e5ce471d87b13b5cc3f4007cbbc50
6
+ metadata.gz: 4606e45f6a843e7de6e9e81c873cb5082ca958277631d83dd260b0eef64289e8c93259d771fee5501dd5c7ec92747d278faffbaf3802ee72457e300aee96714e
7
+ data.tar.gz: 82cd06e0dd5a11061d2c37d3defb8d57e381f4129abed12bd47fa4af8c2bbaee3372c3aac09fcf3b9b6fd92a8152dd458b79da710fc575c8e91096946e5ced87
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
33
33
 
34
34
  s.add_runtime_dependency("activesupport", "~> 6.0")
35
35
  s.add_runtime_dependency("addressable", "~> 2.4")
36
- s.add_runtime_dependency("awesome_print", "~> 1.8")
36
+ s.add_runtime_dependency("amazing_print", "~> 1.2")
37
37
  s.add_runtime_dependency("colorator", "~> 1.0")
38
38
  s.add_runtime_dependency("erubi", "~> 1.9")
39
39
  s.add_runtime_dependency("faraday", "~> 1.0")
@@ -68,6 +68,7 @@ module Bridgetown
68
68
  autoload :Cache, "bridgetown-core/cache"
69
69
  autoload :CollectionReader, "bridgetown-core/readers/collection_reader"
70
70
  autoload :DataReader, "bridgetown-core/readers/data_reader"
71
+ autoload :DefaultsReader, "bridgetown-core/readers/defaults_reader"
71
72
  autoload :LayoutReader, "bridgetown-core/readers/layout_reader"
72
73
  autoload :PostReader, "bridgetown-core/readers/post_reader"
73
74
  autoload :PageReader, "bridgetown-core/readers/page_reader"
@@ -21,14 +21,14 @@ module Bridgetown
21
21
  desc: "Custom configuration file(s)"
22
22
  class_option :"bypass-ap",
23
23
  type: :boolean,
24
- desc: "Don't load AwesomePrint when IRB opens"
24
+ desc: "Don't load AmazingPrint when IRB opens"
25
25
  class_option :blank,
26
26
  type: :boolean,
27
27
  desc: "Skip reading content and running generators before opening console"
28
28
 
29
29
  def console
30
30
  require "irb"
31
- require "awesome_print" unless options[:"bypass-ap"]
31
+ require "amazing_print" unless options[:"bypass-ap"]
32
32
 
33
33
  Bridgetown.logger.info "Starting:", "Bridgetown v#{Bridgetown::VERSION.magenta}" \
34
34
  " (codename \"#{Bridgetown::CODE_NAME.yellow}\")" \
@@ -61,10 +61,10 @@ module Bridgetown
61
61
  begin
62
62
  catch(:IRB_EXIT) do
63
63
  unless options[:"bypass-ap"]
64
- AwesomePrint.defaults = {
64
+ AmazingPrint.defaults = {
65
65
  indent: 2,
66
66
  }
67
- AwesomePrint.irb!
67
+ AmazingPrint.irb!
68
68
  end
69
69
  irb.eval_input
70
70
  end
@@ -37,6 +37,10 @@ module Bridgetown
37
37
  @config
38
38
  end
39
39
 
40
+ def defaults_reader
41
+ @defaults_reader ||= DefaultsReader.new(self)
42
+ end
43
+
40
44
  # Returns the current instance of {FrontmatterDefaults} or
41
45
  # creates a new instance {FrontmatterDefaults} if it doesn't already exist.
42
46
  #
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bridgetown
4
+ module Site::Localizable
5
+ def locale
6
+ if @locale
7
+ @locale
8
+ else
9
+ @locale = ENV.fetch("BRIDGETOWN_LOCALE", config[:default_locale]).to_sym
10
+ I18n.load_path << Dir[in_source_dir("_locales") + "/*.yml"]
11
+ I18n.available_locales = config[:available_locales]
12
+ I18n.default_locale = @locale
13
+ end
14
+ end
15
+
16
+ def locale=(new_locale)
17
+ I18n.locale = @locale = new_locale.to_sym
18
+ end
19
+ end
20
+ end
@@ -17,8 +17,7 @@ module Bridgetown
17
17
  Bridgetown::Hooks.trigger :site, :post_render, self, payload
18
18
  end
19
19
 
20
- # Executes inline Ruby frontmatter if
21
- # +ENV+["BRIDGETOWN_RUBY_IN_FRONTMATTER"] equals "true"
20
+ # Executes inline Ruby frontmatter
22
21
  #
23
22
  # @example
24
23
  # calculation: !ruby/string:Rb |
@@ -35,7 +35,7 @@ module Bridgetown
35
35
  "limit_posts" => 0,
36
36
  "future" => false,
37
37
  "unpublished" => false,
38
- "ruby_in_front_matter" => true, # requires BRIDGETOWN_RUBY_IN_FRONT_MATTER == "true"
38
+ "ruby_in_front_matter" => true,
39
39
 
40
40
  # Conversion
41
41
  "markdown" => "kramdown",
@@ -52,6 +52,8 @@ module Bridgetown
52
52
  "show_dir_listing" => false,
53
53
 
54
54
  # Output Configuration
55
+ "available_locales" => ["en"],
56
+ "default_locale" => "en",
55
57
  "permalink" => "date",
56
58
  "timezone" => nil, # use the local timezone
57
59
 
@@ -276,7 +278,7 @@ module Bridgetown
276
278
  end
277
279
 
278
280
  def should_execute_inline_ruby?
279
- ENV["BRIDGETOWN_RUBY_IN_FRONT_MATTER"] == "true" &&
281
+ ENV["BRIDGETOWN_RUBY_IN_FRONT_MATTER"] != "false" &&
280
282
  self["ruby_in_front_matter"]
281
283
  end
282
284
 
@@ -8,7 +8,7 @@ module Bridgetown
8
8
  mutable false
9
9
 
10
10
  def_delegator :@obj, :data
11
- def_delegators :@obj, :time, :pages, :static_files, :tags, :categories
11
+ def_delegators :@obj, :locale, :time, :pages, :static_files, :tags, :categories
12
12
 
13
13
  private def_delegator :@obj, :config, :fallback_data
14
14
 
@@ -7,6 +7,7 @@ module Bridgetown
7
7
  include URLFilters
8
8
  include GroupingFilters
9
9
  include DateFilters
10
+ include ConditionHelpers
10
11
 
11
12
  # Convert a Markdown string into HTML output.
12
13
  #
@@ -423,54 +424,6 @@ module Bridgetown
423
424
  end
424
425
  end
425
426
  end
426
-
427
- # ----------- The following set of code was *adapted* from Liquid::If
428
- # ----------- ref: https://git.io/vp6K6
429
-
430
- # Parse a string to a Liquid Condition
431
- def parse_condition(exp)
432
- parser = Liquid::Parser.new(exp)
433
- condition = parse_binary_comparison(parser)
434
-
435
- parser.consume(:end_of_string)
436
- condition
437
- end
438
-
439
- # Generate a Liquid::Condition object from a Liquid::Parser object additionally processing
440
- # the parsed expression based on whether the expression consists of binary operations with
441
- # Liquid operators `and` or `or`
442
- #
443
- # - parser: an instance of Liquid::Parser
444
- #
445
- # Returns an instance of Liquid::Condition
446
- def parse_binary_comparison(parser)
447
- condition = parse_comparison(parser)
448
- first_condition = condition
449
- while (binary_operator = parser.id?("and") || parser.id?("or"))
450
- child_condition = parse_comparison(parser)
451
- condition.send(binary_operator, child_condition)
452
- condition = child_condition
453
- end
454
- first_condition
455
- end
456
-
457
- # Generates a Liquid::Condition object from a Liquid::Parser object based on whether the parsed
458
- # expression involves a "comparison" operator (e.g. <, ==, >, !=, etc)
459
- #
460
- # - parser: an instance of Liquid::Parser
461
- #
462
- # Returns an instance of Liquid::Condition
463
- def parse_comparison(parser)
464
- left_operand = Liquid::Expression.parse(parser.expression)
465
- operator = parser.consume?(:comparison)
466
-
467
- # No comparison-operator detected. Initialize a Liquid::Condition using only left operand
468
- return Liquid::Condition.new(left_operand) unless operator
469
-
470
- # Parse what remained after extracting the left operand and the `:comparison` operator
471
- # and initialize a Liquid::Condition object using the operands and the comparison-operator
472
- Liquid::Condition.new(left_operand, operator, Liquid::Expression.parse(parser.expression))
473
- end
474
427
  end
475
428
  end
476
429
 
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bridgetown
4
+ module Filters
5
+ module ConditionHelpers
6
+ # ----------- The following set of code was *adapted* from Liquid::If
7
+ # ----------- ref: https://git.io/vp6K6
8
+
9
+ # Parse a string to a Liquid Condition
10
+ def parse_condition(exp)
11
+ parser = Liquid::Parser.new(exp)
12
+ condition = parse_binary_comparison(parser)
13
+
14
+ parser.consume(:end_of_string)
15
+ condition
16
+ end
17
+
18
+ # Generate a Liquid::Condition object from a Liquid::Parser object additionally processing
19
+ # the parsed expression based on whether the expression consists of binary operations with
20
+ # Liquid operators `and` or `or`
21
+ #
22
+ # - parser: an instance of Liquid::Parser
23
+ #
24
+ # Returns an instance of Liquid::Condition
25
+ def parse_binary_comparison(parser)
26
+ condition = parse_comparison(parser)
27
+ first_condition = condition
28
+ while (binary_operator = parser.id?("and") || parser.id?("or"))
29
+ child_condition = parse_comparison(parser)
30
+ condition.send(binary_operator, child_condition)
31
+ condition = child_condition
32
+ end
33
+ first_condition
34
+ end
35
+
36
+ # Generates a Liquid::Condition object from a Liquid::Parser object based
37
+ # on whether the parsed expression involves a "comparison" operator
38
+ # (e.g. <, ==, >, !=, etc)
39
+ #
40
+ # - parser: an instance of Liquid::Parser
41
+ #
42
+ # Returns an instance of Liquid::Condition
43
+ def parse_comparison(parser)
44
+ left_operand = Liquid::Expression.parse(parser.expression)
45
+ operator = parser.consume?(:comparison)
46
+
47
+ # No comparison-operator detected. Initialize a Liquid::Condition using only left operand
48
+ return Liquid::Condition.new(left_operand) unless operator
49
+
50
+ # Parse what remained after extracting the left operand and the `:comparison` operator
51
+ # and initialize a Liquid::Condition object using the operands and the comparison-operator
52
+ Liquid::Condition.new(left_operand, operator, Liquid::Expression.parse(parser.expression))
53
+ end
54
+ end
55
+ end
56
+ end
@@ -54,6 +54,10 @@ module Bridgetown
54
54
  #
55
55
  # Returns the default value or nil if none was found
56
56
  def find(path, type, setting)
57
+ merged_data = {}
58
+ merge_data_cascade_for_path(path, merged_data)
59
+ return merged_data[setting] if merged_data.key?(setting)
60
+
57
61
  value = nil
58
62
  old_scope = nil
59
63
 
@@ -74,6 +78,9 @@ module Bridgetown
74
78
  # Returns a hash with all default values (an empty hash if there are none)
75
79
  def all(path, type)
76
80
  defaults = {}
81
+
82
+ merge_data_cascade_for_path(path, defaults)
83
+
77
84
  old_scope = nil
78
85
  matching_sets(path, type).each do |set|
79
86
  if has_precedence?(old_scope, set["scope"])
@@ -88,6 +95,16 @@ module Bridgetown
88
95
 
89
96
  private
90
97
 
98
+ def merge_data_cascade_for_path(path, merged_data)
99
+ absolute_path = @site.in_source_dir(path)
100
+ @site.defaults_reader.path_defaults
101
+ .select { |k, _v| absolute_path.include? k }
102
+ .sort_by { |k, _v| k.length }
103
+ .each do |defaults|
104
+ merged_data.merge!(defaults[1])
105
+ end
106
+ end
107
+
91
108
  # Checks if a given default setting scope matches the given path and type
92
109
  #
93
110
  # scope - the hash indicating the scope, as defined in bridgetown.config.yml
@@ -13,6 +13,7 @@ module Bridgetown
13
13
  # Returns nothing.
14
14
  # rubocop:disable Metrics/AbcSize
15
15
  def read
16
+ @site.defaults_reader.read
16
17
  @site.layouts = LayoutReader.new(site).read
17
18
  read_directories
18
19
  read_included_excludes
@@ -5,6 +5,7 @@ module Bridgetown
5
5
  SPECIAL_COLLECTIONS = %w(posts data).freeze
6
6
 
7
7
  attr_reader :site, :content
8
+
8
9
  def initialize(site)
9
10
  @site = site
10
11
  @content = {}
@@ -3,6 +3,7 @@
3
3
  module Bridgetown
4
4
  class DataReader
5
5
  attr_reader :site, :content
6
+
6
7
  def initialize(site)
7
8
  @site = site
8
9
  @content = ActiveSupport::HashWithIndifferentAccess.new
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bridgetown
4
+ class DefaultsReader
5
+ attr_reader :site, :path_defaults
6
+
7
+ def initialize(site)
8
+ @site = site
9
+ @path_defaults = ActiveSupport::HashWithIndifferentAccess.new
10
+ end
11
+
12
+ def read
13
+ return unless File.directory?(site.source)
14
+
15
+ entries = Dir.chdir(site.source) do
16
+ Dir["**/_defaults.{yaml,yml,json}"]
17
+ end
18
+
19
+ entries.each do |entry|
20
+ path = @site.in_source_dir(entry)
21
+ @path_defaults[File.dirname(path) + File::SEPARATOR] = SafeYAML.load_file(path)
22
+ end
23
+
24
+ @path_defaults
25
+ end
26
+ end
27
+ end
@@ -3,6 +3,7 @@
3
3
  module Bridgetown
4
4
  class LayoutReader
5
5
  attr_reader :site
6
+
6
7
  def initialize(site)
7
8
  @site = site
8
9
  @layouts = {}
@@ -3,6 +3,7 @@
3
3
  module Bridgetown
4
4
  class PageReader
5
5
  attr_reader :site, :dir, :unfiltered_content
6
+
6
7
  def initialize(site, dir)
7
8
  @site = site
8
9
  @dir = dir
@@ -3,6 +3,7 @@
3
3
  module Bridgetown
4
4
  class PostReader
5
5
  attr_reader :site, :unfiltered_content
6
+
6
7
  def initialize(site)
7
8
  @site = site
8
9
  end
@@ -3,6 +3,7 @@
3
3
  module Bridgetown
4
4
  class StaticFileReader
5
5
  attr_reader :site, :dir, :unfiltered_content
6
+
6
7
  def initialize(site, dir)
7
8
  @site = site
8
9
  @dir = dir
@@ -20,6 +20,10 @@ module Bridgetown
20
20
  def webpack_path(asset_type)
21
21
  Bridgetown::Utils.parse_webpack_manifest_file(@site, asset_type.to_s)
22
22
  end
23
+
24
+ def t(*args)
25
+ I18n.send :t, *args
26
+ end
23
27
  end
24
28
 
25
29
  attr_reader :layout, :page, :site, :content
@@ -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
@@ -25,6 +26,7 @@ module Bridgetown
25
26
  # config - A Hash containing site configuration details.
26
27
  def initialize(config)
27
28
  self.config = config
29
+ locale
28
30
 
29
31
  @plugin_manager = PluginManager.new(self)
30
32
  @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)
@@ -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.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bridgetown
4
- VERSION = "0.16.0"
5
- CODE_NAME = "Crystal Springs"
4
+ VERSION = "0.17.0"
5
+ CODE_NAME = "Mount Scott"
6
6
  end
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
4
+ version: 0.17.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-28 00:00:00.000000000 Z
11
+ date: 2020-09-17 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
@@ -327,6 +327,7 @@ files:
327
327
  - lib/bridgetown-core/concerns/site/configurable.rb
328
328
  - lib/bridgetown-core/concerns/site/content.rb
329
329
  - lib/bridgetown-core/concerns/site/extensible.rb
330
+ - lib/bridgetown-core/concerns/site/localizable.rb
330
331
  - lib/bridgetown-core/concerns/site/processable.rb
331
332
  - lib/bridgetown-core/concerns/site/renderable.rb
332
333
  - lib/bridgetown-core/concerns/site/writable.rb
@@ -355,6 +356,7 @@ files:
355
356
  - lib/bridgetown-core/excerpt.rb
356
357
  - lib/bridgetown-core/external.rb
357
358
  - lib/bridgetown-core/filters.rb
359
+ - lib/bridgetown-core/filters/condition_helpers.rb
358
360
  - lib/bridgetown-core/filters/date_filters.rb
359
361
  - lib/bridgetown-core/filters/grouping_filters.rb
360
362
  - lib/bridgetown-core/filters/url_filters.rb
@@ -380,6 +382,7 @@ files:
380
382
  - lib/bridgetown-core/reader.rb
381
383
  - lib/bridgetown-core/readers/collection_reader.rb
382
384
  - lib/bridgetown-core/readers/data_reader.rb
385
+ - lib/bridgetown-core/readers/defaults_reader.rb
383
386
  - lib/bridgetown-core/readers/layout_reader.rb
384
387
  - lib/bridgetown-core/readers/page_reader.rb
385
388
  - lib/bridgetown-core/readers/plugin_content_reader.rb
@@ -392,11 +395,13 @@ files:
392
395
  - lib/bridgetown-core/site.rb
393
396
  - lib/bridgetown-core/static_file.rb
394
397
  - lib/bridgetown-core/tags/class_map.rb
398
+ - lib/bridgetown-core/tags/find.rb
395
399
  - lib/bridgetown-core/tags/highlight.rb
396
400
  - lib/bridgetown-core/tags/include.rb
397
401
  - lib/bridgetown-core/tags/link.rb
398
402
  - lib/bridgetown-core/tags/post_url.rb
399
403
  - lib/bridgetown-core/tags/render_content.rb
404
+ - lib/bridgetown-core/tags/t.rb
400
405
  - lib/bridgetown-core/tags/webpack_path.rb
401
406
  - lib/bridgetown-core/tags/with.rb
402
407
  - lib/bridgetown-core/url.rb