bridgetown-core 0.15.0 → 0.17.1
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 +4 -4
- data/Rakefile +14 -0
- data/bridgetown-core.gemspec +4 -1
- data/lib/bridgetown-core.rb +8 -2
- data/lib/bridgetown-core/commands/concerns/actions.rb +2 -1
- data/lib/bridgetown-core/commands/console.rb +4 -4
- data/lib/bridgetown-core/concerns/data_accessible.rb +19 -0
- data/lib/bridgetown-core/concerns/layout_placeable.rb +17 -0
- data/lib/bridgetown-core/concerns/liquid_renderable.rb +20 -0
- data/lib/bridgetown-core/concerns/publishable.rb +10 -0
- data/lib/bridgetown-core/concerns/site/configurable.rb +66 -31
- data/lib/bridgetown-core/concerns/site/content.rb +90 -31
- data/lib/bridgetown-core/concerns/site/extensible.rb +15 -12
- data/lib/bridgetown-core/concerns/site/localizable.rb +20 -0
- data/lib/bridgetown-core/concerns/site/processable.rb +14 -12
- data/lib/bridgetown-core/concerns/site/renderable.rb +21 -2
- data/lib/bridgetown-core/concerns/site/writable.rb +16 -2
- data/lib/bridgetown-core/concerns/validatable.rb +59 -0
- data/lib/bridgetown-core/configuration.rb +10 -3
- data/lib/bridgetown-core/converter.rb +34 -0
- data/lib/bridgetown-core/converters/erb_templates.rb +78 -0
- data/lib/bridgetown-core/converters/markdown.rb +6 -23
- data/lib/bridgetown-core/converters/smartypants.rb +0 -10
- data/lib/bridgetown-core/document.rb +11 -55
- data/lib/bridgetown-core/drops/site_drop.rb +1 -1
- data/lib/bridgetown-core/errors.rb +2 -0
- data/lib/bridgetown-core/excerpt.rb +1 -6
- data/lib/bridgetown-core/filters.rb +11 -48
- data/lib/bridgetown-core/filters/condition_helpers.rb +56 -0
- data/lib/bridgetown-core/frontmatter_defaults.rb +17 -0
- data/lib/bridgetown-core/layout.rb +24 -1
- data/lib/bridgetown-core/liquid_renderer/file_system.rb +1 -1
- data/lib/bridgetown-core/page.rb +41 -26
- data/lib/bridgetown-core/plugin_manager.rb +10 -2
- data/lib/bridgetown-core/reader.rb +1 -0
- data/lib/bridgetown-core/readers/collection_reader.rb +1 -0
- data/lib/bridgetown-core/readers/data_reader.rb +4 -3
- data/lib/bridgetown-core/readers/defaults_reader.rb +27 -0
- data/lib/bridgetown-core/readers/layout_reader.rb +1 -0
- data/lib/bridgetown-core/readers/page_reader.rb +1 -0
- data/lib/bridgetown-core/readers/post_reader.rb +1 -0
- data/lib/bridgetown-core/readers/static_file_reader.rb +1 -0
- data/lib/bridgetown-core/regenerator.rb +1 -1
- data/lib/bridgetown-core/renderer.rb +40 -14
- data/lib/bridgetown-core/ruby_template_view.rb +113 -0
- data/lib/bridgetown-core/site.rb +2 -0
- data/lib/bridgetown-core/tags/class_map.rb +90 -0
- data/lib/bridgetown-core/tags/find.rb +86 -0
- data/lib/bridgetown-core/tags/t.rb +14 -0
- data/lib/bridgetown-core/tags/webpack_path.rb +19 -22
- data/lib/bridgetown-core/utils.rb +55 -2
- data/lib/bridgetown-core/utils/ruby_exec.rb +1 -1
- data/lib/bridgetown-core/version.rb +2 -2
- data/lib/site_template/src/_layouts/{default.html → default.liquid} +0 -0
- data/lib/site_template/src/_layouts/{home.html → home.liquid} +0 -0
- data/lib/site_template/src/_layouts/{page.html → page.liquid} +0 -0
- data/lib/site_template/src/_layouts/{post.html → post.liquid} +0 -0
- metadata +64 -10
- data/lib/bridgetown-core/concerns/convertible.rb +0 -235
data/lib/bridgetown-core/site.rb
CHANGED
@@ -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,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "set"
|
4
|
+
|
5
|
+
module Bridgetown
|
6
|
+
module Tags
|
7
|
+
# A ClassMap class is meant to take a hash and append styles based on if the
|
8
|
+
# value is truthy or falsy
|
9
|
+
#
|
10
|
+
# @example
|
11
|
+
# center-var = true
|
12
|
+
# small-var = nil
|
13
|
+
#
|
14
|
+
# # input
|
15
|
+
# <div class="{% class_map has-centered-text: center-var, is-small: small-var %}">
|
16
|
+
# Text
|
17
|
+
# </div>
|
18
|
+
#
|
19
|
+
# # output
|
20
|
+
# <div class="has-centered-text">
|
21
|
+
# Text
|
22
|
+
# </div>
|
23
|
+
class ClassMap < Liquid::Tag
|
24
|
+
# @see https://api.rubyonrails.org/classes/ActiveModel/Type/Boolean.html
|
25
|
+
FALSE_VALUES = [
|
26
|
+
nil, "nil", "NIL", false, 0, "0", :"0", "f", :f, "F", :F, "false",
|
27
|
+
false, "FALSE", :FALSE,
|
28
|
+
].to_set.freeze
|
29
|
+
|
30
|
+
# @param tag_name [String] The name to use for the tag
|
31
|
+
# @param input [String] The input to the tag
|
32
|
+
# @param tokens [Hash] A hash of config tokens for Liquid.
|
33
|
+
#
|
34
|
+
#
|
35
|
+
# @return [ClassMap] Returns a ClassMap object
|
36
|
+
def initialize(tag_name, input, tokens)
|
37
|
+
super
|
38
|
+
@input = input
|
39
|
+
end
|
40
|
+
|
41
|
+
def render(context)
|
42
|
+
class_map(@input, context)
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def class_map(string, context)
|
48
|
+
ary = []
|
49
|
+
|
50
|
+
string.split(%r!,\s+!).each do |item|
|
51
|
+
kv_pair = item.split(%r!:\s+!)
|
52
|
+
klass = kv_pair[0]
|
53
|
+
variable = kv_pair[1]
|
54
|
+
|
55
|
+
# Check if a user wants the opposite of the variable
|
56
|
+
if variable[0] == "!"
|
57
|
+
check_opposite = true
|
58
|
+
variable.slice!(1..-1)
|
59
|
+
end
|
60
|
+
|
61
|
+
variable = find_variable(context, variable)
|
62
|
+
|
63
|
+
if check_opposite
|
64
|
+
ary.push(klass) if FALSE_VALUES.include?(variable)
|
65
|
+
else
|
66
|
+
ary.push(klass) unless FALSE_VALUES.include?(variable)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
ary.join(" ")
|
71
|
+
|
72
|
+
# Gracefully handle if syntax is improper
|
73
|
+
rescue NoMethodError
|
74
|
+
"invalid-class-map"
|
75
|
+
end
|
76
|
+
|
77
|
+
def find_variable(context, variable)
|
78
|
+
lookup = context
|
79
|
+
|
80
|
+
variable.split(".").each do |value|
|
81
|
+
lookup = lookup[value.strip]
|
82
|
+
end
|
83
|
+
|
84
|
+
lookup || nil
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
Liquid::Template.register_tag("class_map", Bridgetown::Tags::ClassMap)
|
@@ -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)
|
@@ -2,38 +2,35 @@
|
|
2
2
|
|
3
3
|
module Bridgetown
|
4
4
|
module Tags
|
5
|
+
# A helper class to help find the path to webpack asset inside of a webpack
|
6
|
+
# manifest file.
|
5
7
|
class WebpackPath < Liquid::Tag
|
6
|
-
|
7
|
-
|
8
|
-
|
8
|
+
# @param tag_name [String] Name of the tag
|
9
|
+
# @param asset_type [String] The type of asset to parse (js, css)
|
10
|
+
# @param options [Hash] An options hash
|
11
|
+
# @return [void]
|
12
|
+
# @see {https://www.rdoc.info/github/Shopify/liquid/Liquid/Tag#initialize-instance_method}
|
13
|
+
def initialize(tag_name, asset_type, options)
|
9
14
|
super
|
10
15
|
|
11
16
|
# js or css
|
12
17
|
@asset_type = asset_type.strip
|
13
18
|
end
|
14
19
|
|
20
|
+
# Render an asset path based on the Webpack manifest file
|
21
|
+
# @param context [Liquid::Context] Context passed to the tag
|
22
|
+
#
|
23
|
+
# @return [String] Returns "MISSING_WEBPACK_MANIFEST" if the manifest
|
24
|
+
# file isn't found
|
25
|
+
# @return [String] Returns a blank string if the asset isn't found
|
26
|
+
# @return [String] Returns the path to the asset if no issues parsing
|
27
|
+
#
|
28
|
+
# @raise [WebpackAssetError] if unable to find css or js in the manifest
|
29
|
+
# file
|
15
30
|
def render(context)
|
16
31
|
@context = context
|
17
32
|
site = context.registers[:site]
|
18
|
-
|
19
|
-
frontend_path = relative_url("_bridgetown/static")
|
20
|
-
|
21
|
-
manifest_file = site.in_root_dir(".bridgetown-webpack", "manifest.json")
|
22
|
-
if File.exist?(manifest_file)
|
23
|
-
manifest = JSON.parse(File.read(manifest_file))
|
24
|
-
if @asset_type == "js"
|
25
|
-
js_path = manifest["main.js"].split("/").last
|
26
|
-
[frontend_path, "js", js_path].join("/")
|
27
|
-
elsif @asset_type == "css"
|
28
|
-
css_path = manifest["main.css"].split("/").last
|
29
|
-
[frontend_path, "css", css_path].join("/")
|
30
|
-
else
|
31
|
-
Bridgetown.logger.error("Unknown Webpack asset type", @asset_type)
|
32
|
-
nil
|
33
|
-
end
|
34
|
-
else
|
35
|
-
"MISSING_WEBPACK_MANIFEST"
|
36
|
-
end
|
33
|
+
Bridgetown::Utils.parse_webpack_manifest_file(site, @asset_type) || ""
|
37
34
|
end
|
38
35
|
end
|
39
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("[
|
18
|
-
SLUGIFY_PRETTY_REGEXP = Regexp.new("[
|
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.
|
@@ -331,6 +331,59 @@ module Bridgetown
|
|
331
331
|
end
|
332
332
|
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Metrics/PerceivedComplexity
|
333
333
|
|
334
|
+
# Return an asset path based on the Webpack manifest file
|
335
|
+
# @param site [Bridgetown::Site] The current site object
|
336
|
+
# @param asset_type [String] js or css
|
337
|
+
#
|
338
|
+
# @return [String] Returns "MISSING_WEBPACK_MANIFEST" if the manifest
|
339
|
+
# file isnt found
|
340
|
+
# @return [nil] Returns nil if the asset isnt found
|
341
|
+
# @return [String] Returns the path to the asset if no issues parsing
|
342
|
+
#
|
343
|
+
# @raise [WebpackAssetError] if unable to find css or js in the manifest
|
344
|
+
# file
|
345
|
+
def parse_webpack_manifest_file(site, asset_type)
|
346
|
+
manifest_file = site.in_root_dir(".bridgetown-webpack", "manifest.json")
|
347
|
+
return "MISSING_WEBPACK_MANIFEST" unless File.exist?(manifest_file)
|
348
|
+
|
349
|
+
manifest = JSON.parse(File.read(manifest_file))
|
350
|
+
|
351
|
+
known_assets = %w(js css)
|
352
|
+
if known_assets.include?(asset_type)
|
353
|
+
asset_path = manifest["main.#{asset_type}"]
|
354
|
+
|
355
|
+
log_webpack_asset_error(asset_type) && return if asset_path.nil?
|
356
|
+
|
357
|
+
asset_path = asset_path.split("/").last
|
358
|
+
return [static_frontend_path(site), asset_type, asset_path].join("/")
|
359
|
+
end
|
360
|
+
|
361
|
+
Bridgetown.logger.error("Unknown Webpack asset type", asset_type)
|
362
|
+
nil
|
363
|
+
end
|
364
|
+
|
365
|
+
def static_frontend_path(site)
|
366
|
+
path_parts = [site.config["baseurl"].to_s.chomp("/"), "_bridgetown/static"]
|
367
|
+
path_parts[0] = "/#{path_parts[0]}" unless path_parts[0].empty?
|
368
|
+
Addressable::URI.parse(path_parts.join("/")).normalize.to_s
|
369
|
+
end
|
370
|
+
|
371
|
+
def log_webpack_asset_error(asset_type)
|
372
|
+
error_message = "There was an error parsing your #{asset_type} files. \
|
373
|
+
Please check your #{asset_type} for any errors."
|
374
|
+
|
375
|
+
Bridgetown.logger.warn(Errors::WebpackAssetError, error_message)
|
376
|
+
end
|
377
|
+
|
378
|
+
def default_github_branch_name(repo_url)
|
379
|
+
repo_match = Bridgetown::Commands::Actions::GITHUB_REPO_REGEX.match(repo_url)
|
380
|
+
api_endpoint = "https://api.github.com/repos/#{repo_match[1]}"
|
381
|
+
JSON.parse(Faraday.get(api_endpoint).body)["default_branch"] || "master"
|
382
|
+
rescue StandardError => e
|
383
|
+
Bridgetown.logger.warn("Unable to connect to GitHub API: #{e.message}")
|
384
|
+
"master"
|
385
|
+
end
|
386
|
+
|
334
387
|
private
|
335
388
|
|
336
389
|
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.
|
62
|
+
output.is_a?(Hash) ? output.with_dot_access : output
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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.
|
4
|
+
version: 0.17.1
|
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-
|
11
|
+
date: 2020-10-02 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:
|
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.
|
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.
|
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
|
@@ -262,6 +290,20 @@ dependencies:
|
|
262
290
|
- - "~>"
|
263
291
|
- !ruby/object:Gem::Version
|
264
292
|
version: '1.0'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: tilt
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - "~>"
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '2.0'
|
300
|
+
type: :runtime
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - "~>"
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '2.0'
|
265
307
|
description: Bridgetown is a Webpack-aware, Ruby-powered static site generator for
|
266
308
|
the modern Jamstack era
|
267
309
|
email: maintainers@bridgetownrb.com
|
@@ -292,15 +334,21 @@ files:
|
|
292
334
|
- lib/bridgetown-core/commands/registrations.rb
|
293
335
|
- lib/bridgetown-core/commands/serve.rb
|
294
336
|
- lib/bridgetown-core/commands/serve/servlet.rb
|
295
|
-
- lib/bridgetown-core/concerns/
|
337
|
+
- lib/bridgetown-core/concerns/data_accessible.rb
|
338
|
+
- lib/bridgetown-core/concerns/layout_placeable.rb
|
339
|
+
- lib/bridgetown-core/concerns/liquid_renderable.rb
|
340
|
+
- lib/bridgetown-core/concerns/publishable.rb
|
296
341
|
- lib/bridgetown-core/concerns/site/configurable.rb
|
297
342
|
- lib/bridgetown-core/concerns/site/content.rb
|
298
343
|
- lib/bridgetown-core/concerns/site/extensible.rb
|
344
|
+
- lib/bridgetown-core/concerns/site/localizable.rb
|
299
345
|
- lib/bridgetown-core/concerns/site/processable.rb
|
300
346
|
- lib/bridgetown-core/concerns/site/renderable.rb
|
301
347
|
- lib/bridgetown-core/concerns/site/writable.rb
|
348
|
+
- lib/bridgetown-core/concerns/validatable.rb
|
302
349
|
- lib/bridgetown-core/configuration.rb
|
303
350
|
- lib/bridgetown-core/converter.rb
|
351
|
+
- lib/bridgetown-core/converters/erb_templates.rb
|
304
352
|
- lib/bridgetown-core/converters/identity.rb
|
305
353
|
- lib/bridgetown-core/converters/markdown.rb
|
306
354
|
- lib/bridgetown-core/converters/markdown/kramdown_parser.rb
|
@@ -322,6 +370,7 @@ files:
|
|
322
370
|
- lib/bridgetown-core/excerpt.rb
|
323
371
|
- lib/bridgetown-core/external.rb
|
324
372
|
- lib/bridgetown-core/filters.rb
|
373
|
+
- lib/bridgetown-core/filters/condition_helpers.rb
|
325
374
|
- lib/bridgetown-core/filters/date_filters.rb
|
326
375
|
- lib/bridgetown-core/filters/grouping_filters.rb
|
327
376
|
- lib/bridgetown-core/filters/url_filters.rb
|
@@ -347,6 +396,7 @@ files:
|
|
347
396
|
- lib/bridgetown-core/reader.rb
|
348
397
|
- lib/bridgetown-core/readers/collection_reader.rb
|
349
398
|
- lib/bridgetown-core/readers/data_reader.rb
|
399
|
+
- lib/bridgetown-core/readers/defaults_reader.rb
|
350
400
|
- lib/bridgetown-core/readers/layout_reader.rb
|
351
401
|
- lib/bridgetown-core/readers/page_reader.rb
|
352
402
|
- lib/bridgetown-core/readers/plugin_content_reader.rb
|
@@ -355,13 +405,17 @@ files:
|
|
355
405
|
- lib/bridgetown-core/regenerator.rb
|
356
406
|
- lib/bridgetown-core/related_posts.rb
|
357
407
|
- lib/bridgetown-core/renderer.rb
|
408
|
+
- lib/bridgetown-core/ruby_template_view.rb
|
358
409
|
- lib/bridgetown-core/site.rb
|
359
410
|
- lib/bridgetown-core/static_file.rb
|
411
|
+
- lib/bridgetown-core/tags/class_map.rb
|
412
|
+
- lib/bridgetown-core/tags/find.rb
|
360
413
|
- lib/bridgetown-core/tags/highlight.rb
|
361
414
|
- lib/bridgetown-core/tags/include.rb
|
362
415
|
- lib/bridgetown-core/tags/link.rb
|
363
416
|
- lib/bridgetown-core/tags/post_url.rb
|
364
417
|
- lib/bridgetown-core/tags/render_content.rb
|
418
|
+
- lib/bridgetown-core/tags/t.rb
|
365
419
|
- lib/bridgetown-core/tags/webpack_path.rb
|
366
420
|
- lib/bridgetown-core/tags/with.rb
|
367
421
|
- lib/bridgetown-core/url.rb
|
@@ -388,10 +442,10 @@ files:
|
|
388
442
|
- lib/site_template/src/_components/head.liquid
|
389
443
|
- lib/site_template/src/_components/navbar.liquid
|
390
444
|
- lib/site_template/src/_data/site_metadata.yml
|
391
|
-
- lib/site_template/src/_layouts/default.
|
392
|
-
- lib/site_template/src/_layouts/home.
|
393
|
-
- lib/site_template/src/_layouts/page.
|
394
|
-
- lib/site_template/src/_layouts/post.
|
445
|
+
- lib/site_template/src/_layouts/default.liquid
|
446
|
+
- lib/site_template/src/_layouts/home.liquid
|
447
|
+
- lib/site_template/src/_layouts/page.liquid
|
448
|
+
- lib/site_template/src/_layouts/post.liquid
|
395
449
|
- lib/site_template/src/_posts/0000-00-00-welcome-to-bridgetown.md.erb
|
396
450
|
- lib/site_template/src/about.md
|
397
451
|
- lib/site_template/src/favicon.ico
|