bridgetown-core 0.15.0 → 0.17.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|