bridgetown-core 0.13.0 → 0.14.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.
- checksums.yaml +4 -4
- data/bin/bridgetown +0 -25
- data/bridgetown-core.gemspec +4 -1
- data/lib/bridgetown-core.rb +4 -1
- data/lib/bridgetown-core/cleaner.rb +1 -0
- data/lib/bridgetown-core/command.rb +10 -4
- data/lib/bridgetown-core/commands/console.rb +1 -2
- data/lib/bridgetown-core/commands/doctor.rb +1 -2
- data/lib/bridgetown-core/commands/new.rb +0 -3
- data/lib/bridgetown-core/commands/plugins.rb +169 -0
- data/lib/bridgetown-core/{convertible.rb → concerns/convertible.rb} +2 -2
- data/lib/bridgetown-core/concerns/site/configurable.rb +153 -0
- data/lib/bridgetown-core/concerns/site/content.rb +111 -0
- data/lib/bridgetown-core/concerns/site/extensible.rb +56 -0
- data/lib/bridgetown-core/concerns/site/processable.rb +74 -0
- data/lib/bridgetown-core/concerns/site/renderable.rb +50 -0
- data/lib/bridgetown-core/concerns/site/writable.rb +31 -0
- data/lib/bridgetown-core/configuration.rb +2 -9
- data/lib/bridgetown-core/converters/markdown/kramdown_parser.rb +0 -3
- data/lib/bridgetown-core/document.rb +1 -1
- data/lib/bridgetown-core/drops/site_drop.rb +1 -1
- data/lib/bridgetown-core/external.rb +17 -21
- data/lib/bridgetown-core/filters.rb +10 -0
- data/lib/bridgetown-core/generators/prototype_generator.rb +1 -1
- data/lib/bridgetown-core/hooks.rb +62 -62
- data/lib/bridgetown-core/layout.rb +10 -4
- data/lib/bridgetown-core/page.rb +9 -2
- data/lib/bridgetown-core/plugin.rb +2 -0
- data/lib/bridgetown-core/plugin_manager.rb +62 -12
- data/lib/bridgetown-core/reader.rb +5 -0
- data/lib/bridgetown-core/readers/data_reader.rb +5 -2
- data/lib/bridgetown-core/readers/layout_reader.rb +9 -2
- data/lib/bridgetown-core/readers/plugin_content_reader.rb +48 -0
- data/lib/bridgetown-core/renderer.rb +7 -10
- data/lib/bridgetown-core/site.rb +20 -463
- data/lib/bridgetown-core/utils.rb +1 -27
- data/lib/bridgetown-core/utils/ruby_exec.rb +1 -4
- data/lib/bridgetown-core/version.rb +2 -2
- data/lib/bridgetown-core/watcher.rb +5 -1
- data/lib/site_template/plugins/{.keep → builders/.keep} +0 -0
- data/lib/site_template/plugins/site_builder.rb +4 -0
- data/lib/site_template/src/_includes/navbar.html +1 -0
- data/lib/site_template/src/posts.md +15 -0
- data/lib/site_template/start.js +1 -1
- metadata +58 -6
@@ -20,7 +20,7 @@ module Bridgetown
|
|
20
20
|
|
21
21
|
# Takes a slug and turns it into a simple title.
|
22
22
|
def titleize_slug(slug)
|
23
|
-
slug.split("-").map!(&:capitalize).join(" ")
|
23
|
+
slug.gsub(%r![_ ]!, "-").split("-").map!(&:capitalize).join(" ")
|
24
24
|
end
|
25
25
|
|
26
26
|
# Non-destructive version of deep_merge_hashes! See that method.
|
@@ -95,32 +95,6 @@ module Bridgetown
|
|
95
95
|
end
|
96
96
|
end
|
97
97
|
|
98
|
-
def transform_keys(hash)
|
99
|
-
result = {}
|
100
|
-
hash.each_key do |key|
|
101
|
-
result[yield(key)] = hash[key]
|
102
|
-
end
|
103
|
-
result
|
104
|
-
end
|
105
|
-
|
106
|
-
# Apply #to_sym to all keys in the hash
|
107
|
-
#
|
108
|
-
# hash - the hash to which to apply this transformation
|
109
|
-
#
|
110
|
-
# Returns a new hash with symbolized keys
|
111
|
-
def symbolize_hash_keys(hash)
|
112
|
-
transform_keys(hash) { |key| key.to_sym rescue key }
|
113
|
-
end
|
114
|
-
|
115
|
-
# Apply #to_s to all keys in the Hash
|
116
|
-
#
|
117
|
-
# hash - the hash to which to apply this transformation
|
118
|
-
#
|
119
|
-
# Returns a new hash with stringified keys
|
120
|
-
def stringify_hash_keys(hash)
|
121
|
-
transform_keys(hash) { |key| key.to_s rescue key }
|
122
|
-
end
|
123
|
-
|
124
98
|
# Parse a date/time and throw an error if invalid
|
125
99
|
#
|
126
100
|
# input - the date/time to parse
|
@@ -59,10 +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
|
-
|
63
|
-
output = Bridgetown::Utils.stringify_hash_keys(output) if output.is_a?(Hash)
|
64
|
-
|
65
|
-
output
|
62
|
+
output.is_a?(Hash) ? output.with_indifferent_access : output
|
66
63
|
end
|
67
64
|
end
|
68
65
|
end
|
@@ -41,7 +41,8 @@ module Bridgetown
|
|
41
41
|
FileUtils.mkdir(webpack_path) unless Dir.exist?(webpack_path)
|
42
42
|
Listen.to(
|
43
43
|
options["source"],
|
44
|
-
|
44
|
+
webpack_path,
|
45
|
+
*site.plugin_manager.plugins_path,
|
45
46
|
ignore: listen_ignore_paths(options),
|
46
47
|
force_polling: options["force_polling"],
|
47
48
|
&listen_handler(site)
|
@@ -124,6 +125,9 @@ module Bridgetown
|
|
124
125
|
|
125
126
|
def process(site, time)
|
126
127
|
begin
|
128
|
+
Bridgetown::Hooks.trigger :site, :pre_reload, site
|
129
|
+
Bridgetown::Hooks.clear_reloadable_hooks
|
130
|
+
site.plugin_manager.reload_plugin_files
|
127
131
|
site.process
|
128
132
|
Bridgetown.logger.info "Done! 🎉", "#{"Completed".green} in less than" \
|
129
133
|
" #{(Time.now - time).ceil(2)} seconds."
|
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
title: Posts
|
4
|
+
permalink: /posts/
|
5
|
+
---
|
6
|
+
|
7
|
+
<ul>
|
8
|
+
{% for post in site.posts %}
|
9
|
+
<li>
|
10
|
+
<a href="{{ post.url }}">{{ post.title }}</a>
|
11
|
+
</li>
|
12
|
+
{% endfor %}
|
13
|
+
</ul>
|
14
|
+
|
15
|
+
If you have a lot of posts, you may want to consider adding [pagination](https://www.bridgetownrb.com/docs/content/pagination)!
|
data/lib/site_template/start.js
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bridgetown-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.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-05-
|
11
|
+
date: 2020-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '6.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '6.0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: addressable
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +66,20 @@ dependencies:
|
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '1.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: faraday_middleware
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.0'
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
84
|
name: i18n
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +136,20 @@ dependencies:
|
|
108
136
|
- - "~>"
|
109
137
|
- !ruby/object:Gem::Version
|
110
138
|
version: '4.0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: liquid-render-tag
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.2'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.2'
|
111
153
|
- !ruby/object:Gem::Dependency
|
112
154
|
name: listen
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -214,15 +256,22 @@ files:
|
|
214
256
|
- lib/bridgetown-core/commands/doctor.rb
|
215
257
|
- lib/bridgetown-core/commands/help.rb
|
216
258
|
- lib/bridgetown-core/commands/new.rb
|
259
|
+
- lib/bridgetown-core/commands/plugins.rb
|
217
260
|
- lib/bridgetown-core/commands/serve.rb
|
218
261
|
- lib/bridgetown-core/commands/serve/servlet.rb
|
262
|
+
- lib/bridgetown-core/concerns/convertible.rb
|
263
|
+
- lib/bridgetown-core/concerns/site/configurable.rb
|
264
|
+
- lib/bridgetown-core/concerns/site/content.rb
|
265
|
+
- lib/bridgetown-core/concerns/site/extensible.rb
|
266
|
+
- lib/bridgetown-core/concerns/site/processable.rb
|
267
|
+
- lib/bridgetown-core/concerns/site/renderable.rb
|
268
|
+
- lib/bridgetown-core/concerns/site/writable.rb
|
219
269
|
- lib/bridgetown-core/configuration.rb
|
220
270
|
- lib/bridgetown-core/converter.rb
|
221
271
|
- lib/bridgetown-core/converters/identity.rb
|
222
272
|
- lib/bridgetown-core/converters/markdown.rb
|
223
273
|
- lib/bridgetown-core/converters/markdown/kramdown_parser.rb
|
224
274
|
- lib/bridgetown-core/converters/smartypants.rb
|
225
|
-
- lib/bridgetown-core/convertible.rb
|
226
275
|
- lib/bridgetown-core/deprecator.rb
|
227
276
|
- lib/bridgetown-core/document.rb
|
228
277
|
- lib/bridgetown-core/drops/bridgetown_drop.rb
|
@@ -267,6 +316,7 @@ files:
|
|
267
316
|
- lib/bridgetown-core/readers/data_reader.rb
|
268
317
|
- lib/bridgetown-core/readers/layout_reader.rb
|
269
318
|
- lib/bridgetown-core/readers/page_reader.rb
|
319
|
+
- lib/bridgetown-core/readers/plugin_content_reader.rb
|
270
320
|
- lib/bridgetown-core/readers/post_reader.rb
|
271
321
|
- lib/bridgetown-core/readers/static_file_reader.rb
|
272
322
|
- lib/bridgetown-core/regenerator.rb
|
@@ -296,7 +346,8 @@ files:
|
|
296
346
|
- lib/site_template/frontend/javascript/index.js
|
297
347
|
- lib/site_template/frontend/styles/index.scss
|
298
348
|
- lib/site_template/package.json
|
299
|
-
- lib/site_template/plugins/.keep
|
349
|
+
- lib/site_template/plugins/builders/.keep
|
350
|
+
- lib/site_template/plugins/site_builder.rb
|
300
351
|
- lib/site_template/src/404.html
|
301
352
|
- lib/site_template/src/_components/.keep
|
302
353
|
- lib/site_template/src/_data/site_metadata.yml
|
@@ -311,17 +362,18 @@ files:
|
|
311
362
|
- lib/site_template/src/about.md
|
312
363
|
- lib/site_template/src/favicon.ico
|
313
364
|
- lib/site_template/src/index.md
|
365
|
+
- lib/site_template/src/posts.md
|
314
366
|
- lib/site_template/start.js
|
315
367
|
- lib/site_template/sync.js
|
316
368
|
- lib/site_template/webpack.config.js
|
317
|
-
homepage: https://bridgetownrb.com
|
369
|
+
homepage: https://www.bridgetownrb.com
|
318
370
|
licenses:
|
319
371
|
- MIT
|
320
372
|
metadata:
|
321
373
|
source_code_uri: https://github.com/bridgetownrb/bridgetown
|
322
374
|
bug_tracker_uri: https://github.com/bridgetownrb/bridgetown/issues
|
323
375
|
changelog_uri: https://github.com/bridgetownrb/bridgetown/releases
|
324
|
-
homepage_uri: https://bridgetownrb.com
|
376
|
+
homepage_uri: https://www.bridgetownrb.com
|
325
377
|
post_install_message:
|
326
378
|
rdoc_options:
|
327
379
|
- "--charset=UTF-8"
|