bridgetown-core 1.3.4 → 2.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -1
  3. data/bin/bridgetown +0 -6
  4. data/bin/bt +6 -0
  5. data/bridgetown-core.gemspec +10 -7
  6. data/lib/bridgetown-core/cleaner.rb +1 -1
  7. data/lib/bridgetown-core/collection.rb +37 -18
  8. data/lib/bridgetown-core/commands/build.rb +9 -22
  9. data/lib/bridgetown-core/commands/concerns/actions.rb +15 -8
  10. data/lib/bridgetown-core/commands/concerns/configuration_overridable.rb +1 -1
  11. data/lib/bridgetown-core/commands/console.rb +3 -0
  12. data/lib/bridgetown-core/commands/doctor.rb +2 -4
  13. data/lib/bridgetown-core/commands/esbuild/esbuild.defaults.js.erb +1 -1
  14. data/lib/bridgetown-core/commands/esbuild/migrate-from-webpack.rb +1 -1
  15. data/lib/bridgetown-core/commands/esbuild/update.rb +2 -2
  16. data/lib/bridgetown-core/commands/esbuild.rb +3 -3
  17. data/lib/bridgetown-core/commands/new.rb +32 -39
  18. data/lib/bridgetown-core/commands/start.rb +76 -60
  19. data/lib/bridgetown-core/component.rb +19 -13
  20. data/lib/bridgetown-core/concerns/layout_placeable.rb +1 -1
  21. data/lib/bridgetown-core/concerns/prioritizable.rb +11 -1
  22. data/lib/bridgetown-core/concerns/site/configurable.rb +7 -18
  23. data/lib/bridgetown-core/concerns/site/content.rb +10 -9
  24. data/lib/bridgetown-core/concerns/site/extensible.rb +4 -6
  25. data/lib/bridgetown-core/concerns/site/fast_refreshable.rb +161 -0
  26. data/lib/bridgetown-core/concerns/site/processable.rb +1 -0
  27. data/lib/bridgetown-core/concerns/site/renderable.rb +31 -7
  28. data/lib/bridgetown-core/concerns/site/ssr.rb +23 -9
  29. data/lib/bridgetown-core/concerns/site/writable.rb +1 -1
  30. data/lib/bridgetown-core/concerns/transformable.rb +3 -5
  31. data/lib/bridgetown-core/configuration/configuration_dsl.rb +23 -14
  32. data/lib/bridgetown-core/configuration.rb +67 -114
  33. data/lib/bridgetown-core/configurations/bt-postcss.rb +1 -2
  34. data/lib/bridgetown-core/configurations/cypress/cypress_tasks +2 -2
  35. data/lib/bridgetown-core/configurations/cypress.rb +1 -1
  36. data/lib/bridgetown-core/configurations/gh-pages/gh-pages.yml +3 -3
  37. data/lib/bridgetown-core/configurations/is-land.rb +1 -1
  38. data/lib/bridgetown-core/configurations/lit.rb +1 -1
  39. data/lib/bridgetown-core/configurations/open-props.rb +1 -1
  40. data/lib/bridgetown-core/configurations/purgecss.rb +1 -1
  41. data/lib/bridgetown-core/configurations/ruby2js.rb +1 -1
  42. data/lib/bridgetown-core/configurations/shoelace.rb +8 -20
  43. data/lib/bridgetown-core/configurations/stimulus.rb +17 -36
  44. data/lib/bridgetown-core/configurations/turbo.rb +1 -2
  45. data/lib/bridgetown-core/converter.rb +38 -10
  46. data/lib/bridgetown-core/converters/erb_templates.rb +9 -26
  47. data/lib/bridgetown-core/converters/identity.rb +1 -1
  48. data/lib/bridgetown-core/converters/liquid_templates.rb +2 -20
  49. data/lib/bridgetown-core/converters/ruby_templates.rb +61 -3
  50. data/lib/bridgetown-core/converters/serbea_templates.rb +12 -24
  51. data/lib/bridgetown-core/current.rb +19 -17
  52. data/lib/bridgetown-core/drops/collection_drop.rb +1 -1
  53. data/lib/bridgetown-core/drops/drop.rb +3 -3
  54. data/lib/bridgetown-core/drops/relations_drop.rb +3 -2
  55. data/lib/bridgetown-core/drops/site_drop.rb +0 -5
  56. data/lib/bridgetown-core/entry_filter.rb +4 -6
  57. data/lib/bridgetown-core/errors.rb +2 -2
  58. data/lib/bridgetown-core/filters/from_liquid.rb +6 -10
  59. data/lib/bridgetown-core/filters/localization_filters.rb +1 -1
  60. data/lib/bridgetown-core/filters/translation_filters.rb +2 -2
  61. data/lib/bridgetown-core/filters.rb +3 -3
  62. data/lib/bridgetown-core/front_matter/defaults.rb +225 -0
  63. data/lib/bridgetown-core/front_matter/importer.rb +34 -0
  64. data/lib/bridgetown-core/front_matter/loaders/base.rb +29 -0
  65. data/lib/bridgetown-core/front_matter/loaders/ruby.rb +113 -0
  66. data/lib/bridgetown-core/front_matter/loaders/yaml.rb +42 -0
  67. data/lib/bridgetown-core/front_matter/loaders.rb +44 -0
  68. data/lib/bridgetown-core/{utils/ruby_front_matter.rb → front_matter/ruby.rb} +5 -5
  69. data/lib/bridgetown-core/front_matter.rb +11 -0
  70. data/lib/bridgetown-core/generated_page.rb +71 -31
  71. data/lib/bridgetown-core/generators/prototype_generator.rb +30 -18
  72. data/lib/bridgetown-core/helpers.rb +36 -47
  73. data/lib/bridgetown-core/hooks.rb +5 -5
  74. data/lib/bridgetown-core/inflector.rb +40 -0
  75. data/lib/bridgetown-core/kramdown/parser/gfm.rb +2 -2
  76. data/lib/bridgetown-core/layout.rb +3 -3
  77. data/lib/bridgetown-core/log_adapter.rb +12 -13
  78. data/lib/bridgetown-core/log_writer.rb +4 -4
  79. data/lib/bridgetown-core/model/base.rb +17 -17
  80. data/lib/bridgetown-core/model/builder_origin.rb +5 -3
  81. data/lib/bridgetown-core/model/origin.rb +1 -3
  82. data/lib/bridgetown-core/model/repo_origin.rb +12 -14
  83. data/lib/bridgetown-core/plugin.rb +0 -1
  84. data/lib/bridgetown-core/plugin_manager.rb +38 -84
  85. data/lib/bridgetown-core/rack/boot.rb +0 -15
  86. data/lib/bridgetown-core/rack/routes.rb +30 -90
  87. data/lib/bridgetown-core/reader.rb +6 -4
  88. data/lib/bridgetown-core/readers/layout_reader.rb +2 -2
  89. data/lib/bridgetown-core/readers/plugin_content_reader.rb +2 -2
  90. data/lib/bridgetown-core/resource/base.rb +112 -29
  91. data/lib/bridgetown-core/resource/destination.rb +1 -1
  92. data/lib/bridgetown-core/resource/relations.rb +11 -8
  93. data/lib/bridgetown-core/resource/taxonomy_type.rb +3 -1
  94. data/lib/bridgetown-core/resource/transformer.rb +4 -4
  95. data/lib/bridgetown-core/ruby_template_view.rb +44 -28
  96. data/lib/bridgetown-core/signals.rb +95 -0
  97. data/lib/bridgetown-core/site.rb +22 -4
  98. data/lib/bridgetown-core/slot.rb +5 -5
  99. data/lib/bridgetown-core/static_file.rb +5 -7
  100. data/lib/bridgetown-core/tags/asset_path.rb +11 -2
  101. data/lib/bridgetown-core/tags/find.rb +3 -5
  102. data/lib/bridgetown-core/tags/highlight.rb +3 -3
  103. data/lib/bridgetown-core/tags/post_url.rb +1 -1
  104. data/lib/bridgetown-core/tasks/bridgetown_tasks.rake +2 -2
  105. data/lib/bridgetown-core/utils/aux.rb +41 -41
  106. data/lib/bridgetown-core/utils/loaders_manager.rb +2 -21
  107. data/lib/bridgetown-core/utils/ruby_exec.rb +17 -0
  108. data/lib/bridgetown-core/utils.rb +46 -110
  109. data/lib/bridgetown-core/watcher.rb +21 -10
  110. data/lib/bridgetown-core.rb +35 -49
  111. data/lib/roda/plugins/bridgetown_server.rb +54 -12
  112. data/lib/roda/plugins/bridgetown_ssr.rb +13 -2
  113. data/lib/roda/plugins/ssg.rb +72 -0
  114. data/lib/site_template/.gitignore +9 -3
  115. data/lib/site_template/Gemfile.erb +3 -3
  116. data/lib/site_template/README.md +3 -4
  117. data/lib/site_template/Rakefile.erb +2 -15
  118. data/lib/site_template/TEMPLATES/erb/_partials/_head.erb +2 -2
  119. data/lib/site_template/TEMPLATES/serbea/_partials/_head.serb +2 -2
  120. data/lib/site_template/config/initializers.rb +60 -22
  121. data/lib/site_template/config/puma.rb +2 -0
  122. data/lib/site_template/package.json.erb +2 -27
  123. data/lib/site_template/src/index.md.erb +3 -3
  124. data/lib/site_template/src/posts.md.erb +8 -8
  125. data/lib/site_template/tmp/pids/.keep +0 -0
  126. metadata +98 -64
  127. data/lib/bridgetown-core/commands/webpack/enable-postcss.rb +0 -12
  128. data/lib/bridgetown-core/commands/webpack/setup.rb +0 -4
  129. data/lib/bridgetown-core/commands/webpack/update.rb +0 -24
  130. data/lib/bridgetown-core/commands/webpack/webpack.config.js +0 -31
  131. data/lib/bridgetown-core/commands/webpack/webpack.defaults.js.erb +0 -135
  132. data/lib/bridgetown-core/commands/webpack.rb +0 -82
  133. data/lib/bridgetown-core/concerns/front_matter_importer.rb +0 -52
  134. data/lib/bridgetown-core/concerns/liquid_renderable.rb +0 -30
  135. data/lib/bridgetown-core/core_ext/psych.rb +0 -15
  136. data/lib/bridgetown-core/drops/url_drop.rb +0 -152
  137. data/lib/bridgetown-core/frontmatter_defaults.rb +0 -223
  138. data/lib/bridgetown-core/rack/static_indexes.rb +0 -31
  139. data/lib/bridgetown-core/url.rb +0 -166
  140. data/lib/bridgetown-core/utils/ansi.rb +0 -57
  141. data/lib/bridgetown-core/version.rb +0 -6
  142. data/lib/site_template/bridgetown.config.yml +0 -33
@@ -1,34 +1,61 @@
1
+ # Welcome to Bridgetown!
2
+ #
3
+ # This configuration file is for settings which affect your whole site.
4
+ #
5
+ # For more documentation on using this initializers file, visit:
6
+ # https://www.bridgetownrb.com/docs/configuration/initializers/
7
+ #
8
+ # A list of all available configuration options can be found here:
9
+ # https://www.bridgetownrb.com/docs/configuration/options
10
+ #
11
+ # For technical reasons, this file is *NOT* reloaded automatically when you use
12
+ # `bin/bridgetown start`. If you change this file, please restart the server process.
13
+ #
14
+ # For reloadable site metadata like title, SEO description, social media
15
+ # handles, etc., take a look at `src/_data/site_metadata.yml`
16
+
1
17
  Bridgetown.configure do |config|
2
- # You can configure aspects of your Bridgetown site here instead of using
3
- # `bridgetown.config.yml`. For example:
18
+ # The base hostname & protocol for your site, e.g. https://example.com
19
+ url ""
20
+
21
+ # Available options are `erb` (default), `serbea`, or `liquid`
22
+ template_engine "erb"
23
+
24
+ # Other options you might want to investigate:
25
+
26
+ # See list of timezone values here:
27
+ # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
4
28
  #
5
- # permalink "simple"
6
29
  # timezone "America/Los_Angeles"
30
+
31
+ # Add collection pagination features to your site. Documentation here:
32
+ # https://www.bridgetownrb.com/docs/content/pagination
7
33
  #
8
- # You can also modify options on the configuration object directly, like so:
9
- #
10
- # config.autoload_paths << "models"
34
+ # pagination do
35
+ # enabled true
36
+ # end
37
+
38
+ # Configure the permalink style for pages and posts. Custom collections can be
39
+ # configured separately under the `collections` key. Documentation here:
40
+ # https://www.bridgetownrb.com/docs/content/permalinks
11
41
  #
42
+ # permalink "simple"
12
43
 
13
- # You can configure the inflector used by Zeitwerk. In v2.0,
14
- # ActiveSupport::Inflector will become the default.
44
+ # Optionally host your site off a path, e.g. /blog. If you set this option,
45
+ # ensure you use the `relative_url` helper for all links and assets in your HTML.
46
+ # If you're using esbuild for frontend assets, edit `esbuild.config.js` to
47
+ # update `publicPath`.
15
48
  #
16
- # config.inflector = ActiveSupport::Inflector
49
+ # base_path "/"
50
+
51
+ # You can also modify options on this configuration object directly, like so:
17
52
  #
18
- # Add new inflection rules using the following format. Inflections
19
- # are locale specific, and you may define rules for as many different
20
- # locales as you wish. All of these examples are active by default:
21
- # ActiveSupport::Inflector.inflections(:en) do |inflect|
22
- # inflect.plural /^(ox)$/i, "\\1en"
23
- # inflect.singular /^(ox)en/i, "\\1"
24
- # inflect.irregular "person", "people"
25
- # inflect.uncountable %w( fish sheep )
26
- # end
53
+ # config.autoload_paths << "models"
54
+
55
+ # If you find you're having trouble using the new Fast Refresh feature in development,
56
+ # you can disable it to force full rebuilds instead:
27
57
  #
28
- # These inflection rules are supported but not enabled by default:
29
- # ActiveSupport::Inflector.inflections(:en) do |inflect|
30
- # inflect.acronym "RESTful"
31
- # end
58
+ # fast_refresh false
32
59
 
33
60
  # You can use `init` to initialize various Bridgetown features or plugin gems.
34
61
  # For example, you can use the Dotenv gem to load environment variables from
@@ -58,6 +85,17 @@ Bridgetown.configure do |config|
58
85
  # end
59
86
  #
60
87
 
88
+ # You can configure the inflector used by Zeitwerk and models. A few acronyms are provided
89
+ # by default like HTML, CSS, and JS, so a file like `html_processor.rb` could be defined by
90
+ # `HTMLProcessor`. You can add more like so:
91
+ #
92
+ # config.inflector.configure do |inflections|
93
+ # inflections.acronym "W3C"
94
+ # end
95
+ #
96
+ # Bridgetown's inflector is based on Dry::Inflector so you can read up on how to add inflection
97
+ # rules here: https://dry-rb.org/gems/dry-inflector/1.0/#custom-inflection-rules
98
+
61
99
  # For more documentation on how to configure your site using this initializers file,
62
100
  # visit: https://edge.bridgetownrb.com/docs/configuration/initializers/
63
101
  end
@@ -19,6 +19,8 @@ max_threads_count = ENV.fetch("BRIDGETOWN_MAX_THREADS") { 5 }
19
19
  min_threads_count = ENV.fetch("BRIDGETOWN_MIN_THREADS") { max_threads_count }
20
20
  threads min_threads_count, max_threads_count
21
21
 
22
+ pidfile ENV["PIDFILE"] || "tmp/pids/server.pid"
23
+
22
24
  # Preload the application for maximum performance
23
25
  #
24
26
  preload_app!
@@ -3,48 +3,23 @@
3
3
  "version": "1.0.0",
4
4
  "private": true,
5
5
  "scripts": {
6
- <%- if frontend_bundling_option == "esbuild" -%>
7
6
  "esbuild": "node esbuild.config.js --minify",
8
7
  "esbuild-dev": "node esbuild.config.js --watch"
9
- <%- else -%>
10
- "webpack-build": "webpack --mode production",
11
- "webpack-dev": "webpack --mode development -w"
12
- <%- end -%>
13
8
  },
14
9
  "devDependencies": {
15
- <%- if frontend_bundling_option == "webpack" -%>
16
- "css-loader": "^6.8.1",
17
- <%- end -%>
18
- "esbuild": "^0.19.2",
19
- <%- if frontend_bundling_option == "webpack" -%>
20
- "esbuild-loader": "^4.0.2",
21
- "mini-css-extract-plugin": "^2.7.6",
22
- <%- else -%>
10
+ "esbuild": "^0.20.2",
23
11
  "glob": "^10.3.3",
24
- <%- end -%>
25
12
  <%- unless disable_postcss? -%>
26
13
  "postcss": "^8.4.29",
27
14
  "postcss-flexbugs-fixes": "^5.0.2",
28
- <%- if frontend_bundling_option == "esbuild" -%>
29
15
  "postcss-import": "^15.1.0",
30
16
  "postcss-load-config": "^4.0.1",
31
- <%- else -%>
32
- "postcss-loader": "^6.2.1",
33
- <%- end -%>
34
17
  "postcss-preset-env": "^9.1.2",
35
- <%- if frontend_bundling_option == "esbuild" -%>
36
18
  "read-cache": "^1.0.0"<%= "," unless postcss_option %>
37
19
  <%- end -%>
38
- <%- end -%>
39
20
  <%- unless postcss_option -%>
40
21
  "sass": "^1.66.1",
41
- "sass-loader": "^13.3.2"<%= "," if frontend_bundling_option == "webpack" %>
42
- <%- end -%>
43
- <%- if frontend_bundling_option == "webpack" -%>
44
- "webpack": "^5.88.2",
45
- "webpack-cli": "^5.1.4",
46
- "webpack-manifest-plugin": "^5.0.0",
47
- "webpack-merge": "^5.9.0"
22
+ "sass-loader": "^13.3.2"
48
23
  <%- end -%>
49
24
  }
50
25
  }
@@ -6,13 +6,13 @@ layout: default
6
6
 
7
7
  # Welcome to your new Bridgetown website.
8
8
 
9
- You can learn more about how to build and deploy your new website by reading the [Bridgetown documentation](https://www.bridgetownrb.com/docs).
9
+ You can learn more about how to build and deploy your new website by reading the [Bridgetown documentation](https://www.bridgetownrb.com/docs).
10
10
 
11
11
  You can choose a [theme](https://github.com/topics/bridgetown-theme) or add some [plugins](https://www.bridgetownrb.com/plugins/) to get started quickly.
12
12
 
13
- Be sure to check out the [Bridgetown Cards](https://bridgetown.cards) community site for helpful tips & tricks.
13
+ Be sure to check out the [Bridgetown Community](https://community.bridgetown.pub) site if you have questions or are looking for helpful tips & tricks.
14
14
 
15
- If you run into any issues or have additional questions, please join us in our [Discord chat](https://discord.gg/4E6hktQGz4) or in [GitHub discussions](https://github.com/bridgetownrb/bridgetown/discussions).
15
+ You're also invited to join us in our [Discord chat](https://discord.gg/4E6hktQGz4).
16
16
 
17
17
  _Have fun and **good luck**!_
18
18
 
@@ -4,24 +4,24 @@ title: Posts
4
4
  ---
5
5
 
6
6
  <ul>
7
- <%- if options["templates"] == "erb" -%>
8
- <%% collections.posts.resources.each do |post| %>
7
+ <%- if options["templates"] == "liquid" -%>
8
+ {% for post in collections.posts.resources %}
9
9
  <li>
10
- <a href="<%%= post.relative_url %>"><%%= post.data.title %></a>
10
+ <a href="{{ post.relative_url }}">{{ post.data.title }}</a>
11
11
  </li>
12
- <%% end %>
12
+ {% endfor %}
13
13
  <%- elsif options["templates"] == "serbea" -%>
14
- {% collections.posts.resources.each do |post| %}
14
+ {% collections.posts.each do |post| %}
15
15
  <li>
16
16
  <a href="{{ post.relative_url }}">{{ post.data.title }}</a>
17
17
  </li>
18
18
  {% end %}
19
19
  <%- else -%>
20
- {% for post in collections.posts.resources %}
20
+ <%% collections.posts.each do |post| %>
21
21
  <li>
22
- <a href="{{ post.relative_url }}">{{ post.data.title }}</a>
22
+ <a href="<%%= post.relative_url %>"><%%= post.data.title %></a>
23
23
  </li>
24
- {% endfor %}
24
+ <%% end %>
25
25
  <%- end -%>
26
26
  </ul>
27
27
 
File without changes
metadata CHANGED
@@ -1,35 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridgetown-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.4
4
+ version: 2.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bridgetown Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-28 00:00:00.000000000 Z
11
+ date: 2024-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: activemodel
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '6.0'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '8.0'
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '6.0'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '8.0'
33
13
  - !ruby/object:Gem::Dependency
34
14
  name: activesupport
35
15
  requirement: !ruby/object:Gem::Requirement
@@ -79,19 +59,19 @@ dependencies:
79
59
  - !ruby/object:Gem::Version
80
60
  version: '1.2'
81
61
  - !ruby/object:Gem::Dependency
82
- name: colorator
62
+ name: bridgetown-foundation
83
63
  requirement: !ruby/object:Gem::Requirement
84
64
  requirements:
85
- - - "~>"
65
+ - - '='
86
66
  - !ruby/object:Gem::Version
87
- version: '1.0'
67
+ version: 2.0.0.beta2
88
68
  type: :runtime
89
69
  prerelease: false
90
70
  version_requirements: !ruby/object:Gem::Requirement
91
71
  requirements:
92
- - - "~>"
72
+ - - '='
93
73
  - !ruby/object:Gem::Version
94
- version: '1.0'
74
+ version: 2.0.0.beta2
95
75
  - !ruby/object:Gem::Dependency
96
76
  name: csv
97
77
  requirement: !ruby/object:Gem::Requirement
@@ -107,61 +87,61 @@ dependencies:
107
87
  - !ruby/object:Gem::Version
108
88
  version: '3.2'
109
89
  - !ruby/object:Gem::Dependency
110
- name: erubi
90
+ name: dry-inflector
111
91
  requirement: !ruby/object:Gem::Requirement
112
92
  requirements:
113
- - - "~>"
93
+ - - ">="
114
94
  - !ruby/object:Gem::Version
115
- version: '1.9'
95
+ version: '1.0'
116
96
  type: :runtime
117
97
  prerelease: false
118
98
  version_requirements: !ruby/object:Gem::Requirement
119
99
  requirements:
120
- - - "~>"
100
+ - - ">="
121
101
  - !ruby/object:Gem::Version
122
- version: '1.9'
102
+ version: '1.0'
123
103
  - !ruby/object:Gem::Dependency
124
- name: faraday
104
+ name: erubi
125
105
  requirement: !ruby/object:Gem::Requirement
126
106
  requirements:
127
107
  - - "~>"
128
108
  - !ruby/object:Gem::Version
129
- version: '2.0'
109
+ version: '1.9'
130
110
  type: :runtime
131
111
  prerelease: false
132
112
  version_requirements: !ruby/object:Gem::Requirement
133
113
  requirements:
134
114
  - - "~>"
135
115
  - !ruby/object:Gem::Version
136
- version: '2.0'
116
+ version: '1.9'
137
117
  - !ruby/object:Gem::Dependency
138
- name: faraday-follow_redirects
118
+ name: faraday
139
119
  requirement: !ruby/object:Gem::Requirement
140
120
  requirements:
141
121
  - - "~>"
142
122
  - !ruby/object:Gem::Version
143
- version: '0.3'
123
+ version: '2.0'
144
124
  type: :runtime
145
125
  prerelease: false
146
126
  version_requirements: !ruby/object:Gem::Requirement
147
127
  requirements:
148
128
  - - "~>"
149
129
  - !ruby/object:Gem::Version
150
- version: '0.3'
130
+ version: '2.0'
151
131
  - !ruby/object:Gem::Dependency
152
- name: hash_with_dot_access
132
+ name: faraday-follow_redirects
153
133
  requirement: !ruby/object:Gem::Requirement
154
134
  requirements:
155
135
  - - "~>"
156
136
  - !ruby/object:Gem::Version
157
- version: '1.2'
137
+ version: '0.3'
158
138
  type: :runtime
159
139
  prerelease: false
160
140
  version_requirements: !ruby/object:Gem::Requirement
161
141
  requirements:
162
142
  - - "~>"
163
143
  - !ruby/object:Gem::Version
164
- version: '1.2'
144
+ version: '0.3'
165
145
  - !ruby/object:Gem::Dependency
166
146
  name: i18n
167
147
  requirement: !ruby/object:Gem::Requirement
@@ -238,6 +218,34 @@ dependencies:
238
218
  - - "~>"
239
219
  - !ruby/object:Gem::Version
240
220
  version: '3.0'
221
+ - !ruby/object:Gem::Dependency
222
+ name: rack
223
+ requirement: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '3.0'
228
+ type: :runtime
229
+ prerelease: false
230
+ version_requirements: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: '3.0'
235
+ - !ruby/object:Gem::Dependency
236
+ name: rackup
237
+ requirement: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - "~>"
240
+ - !ruby/object:Gem::Version
241
+ version: '2.0'
242
+ type: :runtime
243
+ prerelease: false
244
+ version_requirements: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - "~>"
247
+ - !ruby/object:Gem::Version
248
+ version: '2.0'
241
249
  - !ruby/object:Gem::Dependency
242
250
  name: rake
243
251
  requirement: !ruby/object:Gem::Requirement
@@ -292,14 +300,42 @@ dependencies:
292
300
  requirements:
293
301
  - - "~>"
294
302
  - !ruby/object:Gem::Version
295
- version: '1.0'
303
+ version: '2.1'
296
304
  type: :runtime
297
305
  prerelease: false
298
306
  version_requirements: !ruby/object:Gem::Requirement
299
307
  requirements:
300
308
  - - "~>"
301
309
  - !ruby/object:Gem::Version
302
- version: '1.0'
310
+ version: '2.1'
311
+ - !ruby/object:Gem::Dependency
312
+ name: signalize
313
+ requirement: !ruby/object:Gem::Requirement
314
+ requirements:
315
+ - - "~>"
316
+ - !ruby/object:Gem::Version
317
+ version: '1.3'
318
+ type: :runtime
319
+ prerelease: false
320
+ version_requirements: !ruby/object:Gem::Requirement
321
+ requirements:
322
+ - - "~>"
323
+ - !ruby/object:Gem::Version
324
+ version: '1.3'
325
+ - !ruby/object:Gem::Dependency
326
+ name: streamlined
327
+ requirement: !ruby/object:Gem::Requirement
328
+ requirements:
329
+ - - ">="
330
+ - !ruby/object:Gem::Version
331
+ version: 0.5.2
332
+ type: :runtime
333
+ prerelease: false
334
+ version_requirements: !ruby/object:Gem::Requirement
335
+ requirements:
336
+ - - ">="
337
+ - !ruby/object:Gem::Version
338
+ version: 0.5.2
303
339
  - !ruby/object:Gem::Dependency
304
340
  name: thor
305
341
  requirement: !ruby/object:Gem::Requirement
@@ -347,6 +383,7 @@ description: Bridgetown is a next-generation, progressive site generator & fulls
347
383
  email: maintainers@bridgetownrb.com
348
384
  executables:
349
385
  - bridgetown
386
+ - bt
350
387
  extensions: []
351
388
  extra_rdoc_files: []
352
389
  files:
@@ -354,6 +391,7 @@ files:
354
391
  - ".yardopts"
355
392
  - Rakefile
356
393
  - bin/bridgetown
394
+ - bin/bt
357
395
  - bridgetown-core.gemspec
358
396
  - lib/bridgetown-core.rb
359
397
  - lib/bridgetown-core/cache.rb
@@ -382,22 +420,15 @@ files:
382
420
  - lib/bridgetown-core/commands/plugins.rb
383
421
  - lib/bridgetown-core/commands/registrations.rb
384
422
  - lib/bridgetown-core/commands/start.rb
385
- - lib/bridgetown-core/commands/webpack.rb
386
- - lib/bridgetown-core/commands/webpack/enable-postcss.rb
387
- - lib/bridgetown-core/commands/webpack/setup.rb
388
- - lib/bridgetown-core/commands/webpack/update.rb
389
- - lib/bridgetown-core/commands/webpack/webpack.config.js
390
- - lib/bridgetown-core/commands/webpack/webpack.defaults.js.erb
391
423
  - lib/bridgetown-core/component.rb
392
- - lib/bridgetown-core/concerns/front_matter_importer.rb
393
424
  - lib/bridgetown-core/concerns/layout_placeable.rb
394
- - lib/bridgetown-core/concerns/liquid_renderable.rb
395
425
  - lib/bridgetown-core/concerns/localizable.rb
396
426
  - lib/bridgetown-core/concerns/prioritizable.rb
397
427
  - lib/bridgetown-core/concerns/publishable.rb
398
428
  - lib/bridgetown-core/concerns/site/configurable.rb
399
429
  - lib/bridgetown-core/concerns/site/content.rb
400
430
  - lib/bridgetown-core/concerns/site/extensible.rb
431
+ - lib/bridgetown-core/concerns/site/fast_refreshable.rb
401
432
  - lib/bridgetown-core/concerns/site/localizable.rb
402
433
  - lib/bridgetown-core/concerns/site/processable.rb
403
434
  - lib/bridgetown-core/concerns/site/renderable.rb
@@ -452,7 +483,6 @@ files:
452
483
  - lib/bridgetown-core/converters/markdown/kramdown_parser.rb
453
484
  - lib/bridgetown-core/converters/ruby_templates.rb
454
485
  - lib/bridgetown-core/converters/serbea_templates.rb
455
- - lib/bridgetown-core/core_ext/psych.rb
456
486
  - lib/bridgetown-core/current.rb
457
487
  - lib/bridgetown-core/deprecator.rb
458
488
  - lib/bridgetown-core/drops/bridgetown_drop.rb
@@ -464,7 +494,6 @@ files:
464
494
  - lib/bridgetown-core/drops/site_drop.rb
465
495
  - lib/bridgetown-core/drops/static_file_drop.rb
466
496
  - lib/bridgetown-core/drops/unified_payload_drop.rb
467
- - lib/bridgetown-core/drops/url_drop.rb
468
497
  - lib/bridgetown-core/entry_filter.rb
469
498
  - lib/bridgetown-core/errors.rb
470
499
  - lib/bridgetown-core/filters.rb
@@ -475,12 +504,20 @@ files:
475
504
  - lib/bridgetown-core/filters/localization_filters.rb
476
505
  - lib/bridgetown-core/filters/translation_filters.rb
477
506
  - lib/bridgetown-core/filters/url_filters.rb
478
- - lib/bridgetown-core/frontmatter_defaults.rb
507
+ - lib/bridgetown-core/front_matter.rb
508
+ - lib/bridgetown-core/front_matter/defaults.rb
509
+ - lib/bridgetown-core/front_matter/importer.rb
510
+ - lib/bridgetown-core/front_matter/loaders.rb
511
+ - lib/bridgetown-core/front_matter/loaders/base.rb
512
+ - lib/bridgetown-core/front_matter/loaders/ruby.rb
513
+ - lib/bridgetown-core/front_matter/loaders/yaml.rb
514
+ - lib/bridgetown-core/front_matter/ruby.rb
479
515
  - lib/bridgetown-core/generated_page.rb
480
516
  - lib/bridgetown-core/generator.rb
481
517
  - lib/bridgetown-core/generators/prototype_generator.rb
482
518
  - lib/bridgetown-core/helpers.rb
483
519
  - lib/bridgetown-core/hooks.rb
520
+ - lib/bridgetown-core/inflector.rb
484
521
  - lib/bridgetown-core/kramdown/parser/gfm.rb
485
522
  - lib/bridgetown-core/layout.rb
486
523
  - lib/bridgetown-core/liquid_extensions.rb
@@ -501,7 +538,6 @@ files:
501
538
  - lib/bridgetown-core/rack/boot.rb
502
539
  - lib/bridgetown-core/rack/logger.rb
503
540
  - lib/bridgetown-core/rack/routes.rb
504
- - lib/bridgetown-core/rack/static_indexes.rb
505
541
  - lib/bridgetown-core/reader.rb
506
542
  - lib/bridgetown-core/readers/defaults_reader.rb
507
543
  - lib/bridgetown-core/readers/layout_reader.rb
@@ -514,6 +550,7 @@ files:
514
550
  - lib/bridgetown-core/resource/taxonomy_type.rb
515
551
  - lib/bridgetown-core/resource/transformer.rb
516
552
  - lib/bridgetown-core/ruby_template_view.rb
553
+ - lib/bridgetown-core/signals.rb
517
554
  - lib/bridgetown-core/site.rb
518
555
  - lib/bridgetown-core/slot.rb
519
556
  - lib/bridgetown-core/static_file.rb
@@ -530,23 +567,20 @@ files:
530
567
  - lib/bridgetown-core/tags/t.rb
531
568
  - lib/bridgetown-core/tags/with.rb
532
569
  - lib/bridgetown-core/tasks/bridgetown_tasks.rake
533
- - lib/bridgetown-core/url.rb
534
570
  - lib/bridgetown-core/utils.rb
535
- - lib/bridgetown-core/utils/ansi.rb
536
571
  - lib/bridgetown-core/utils/aux.rb
537
572
  - lib/bridgetown-core/utils/initializers.rb
538
573
  - lib/bridgetown-core/utils/loaders_manager.rb
539
574
  - lib/bridgetown-core/utils/require_gems.rb
540
575
  - lib/bridgetown-core/utils/ruby_exec.rb
541
- - lib/bridgetown-core/utils/ruby_front_matter.rb
542
576
  - lib/bridgetown-core/utils/smarty_pants_converter.rb
543
- - lib/bridgetown-core/version.rb
544
577
  - lib/bridgetown-core/watcher.rb
545
578
  - lib/bridgetown-core/yaml_parser.rb
546
579
  - lib/roda/plugins/bridgetown_server.rb
547
580
  - lib/roda/plugins/bridgetown_ssr.rb
548
581
  - lib/roda/plugins/initializers.rb
549
582
  - lib/roda/plugins/method_override.rb
583
+ - lib/roda/plugins/ssg.rb
550
584
  - lib/site_template/.gitignore
551
585
  - lib/site_template/Gemfile.erb
552
586
  - lib/site_template/README.md
@@ -571,7 +605,6 @@ files:
571
605
  - lib/site_template/TEMPLATES/serbea/_layouts/post.serb
572
606
  - lib/site_template/TEMPLATES/serbea/_partials/_footer.serb
573
607
  - lib/site_template/TEMPLATES/serbea/_partials/_head.serb
574
- - lib/site_template/bridgetown.config.yml
575
608
  - lib/site_template/config.ru
576
609
  - lib/site_template/config/initializers.rb
577
610
  - lib/site_template/config/puma.rb
@@ -594,6 +627,7 @@ files:
594
627
  - lib/site_template/src/images/logo.svg
595
628
  - lib/site_template/src/index.md.erb
596
629
  - lib/site_template/src/posts.md.erb
630
+ - lib/site_template/tmp/pids/.keep
597
631
  homepage: https://www.bridgetownrb.com
598
632
  licenses:
599
633
  - MIT
@@ -612,14 +646,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
612
646
  requirements:
613
647
  - - ">="
614
648
  - !ruby/object:Gem::Version
615
- version: 2.7.0
649
+ version: 3.1.0
616
650
  required_rubygems_version: !ruby/object:Gem::Requirement
617
651
  requirements:
618
- - - ">="
652
+ - - ">"
619
653
  - !ruby/object:Gem::Version
620
- version: '0'
654
+ version: 1.3.1
621
655
  requirements: []
622
- rubygems_version: 3.2.33
656
+ rubygems_version: 3.3.26
623
657
  signing_key:
624
658
  specification_version: 4
625
659
  summary: A next-generation, progressive site generator & fullstack framework, powered
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- default_postcss_config = File.expand_path("../../../site_template/postcss.config.js.erb", __dir__)
4
-
5
- template default_postcss_config, "postcss.config.js"
6
- template "webpack.defaults.js.erb", "config/webpack.defaults.js", force: true
7
-
8
- unless Bridgetown.environment.test?
9
- packages = %w(postcss postcss-loader postcss-flexbugs-fixes postcss-preset-env)
10
- run "yarn add -D #{packages.join(" ")}"
11
- run "yarn remove sass sass-loader"
12
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- template "webpack.defaults.js.erb", "config/webpack.defaults.js"
4
- copy_file "webpack.config.js", force: true
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # rubocop:disable Layout/LineLength
4
-
5
- template "webpack.defaults.js.erb", "config/webpack.defaults.js", force: true
6
- say "🎉 Webpack configuration updated successfully!"
7
-
8
- return if Bridgetown.environment.test?
9
-
10
- required_packages = %w(esbuild esbuild-loader css-loader@6.7.1 webpack@5.72.0 webpack-cli@4.9.2 webpack-manifest-plugin@5.0.0)
11
- redundant_packages = %w(@babel/core @babel/plugin-proposal-class-properties @babel/plugin-proposal-decorators @babel/plugin-transform-runtime @babel/preset-env babel-loader file-loader)
12
-
13
- say "Installing required packages"
14
- run "yarn add -D --tilde #{required_packages.join(" ")}"
15
-
16
- packages_to_remove = package_json["devDependencies"].slice(*redundant_packages).keys
17
- unless packages_to_remove.empty?
18
- confirm = ask "\nThe following packages will be removed: \n\n#{packages_to_remove.join("\n")}\n\nWould you like to continue? [Yn]"
19
- return unless confirm.casecmp?("Y")
20
-
21
- run "yarn remove #{packages_to_remove.join(" ")}"
22
- end
23
-
24
- # rubocop:enable Layout/LineLength
@@ -1,31 +0,0 @@
1
- const { merge } = require('webpack-merge')
2
-
3
- var config = require("./config/webpack.defaults.js")
4
-
5
- // Add any overrides to the default webpack config here:
6
- //
7
- // Eg:
8
- //
9
- // ```
10
- // const path = require("path")
11
- // config.resolve.modules.push(path.resolve(__dirname, 'frontend', 'components'))
12
- // config.resolve.alias.frontendComponents = path.resolve(__dirname, 'frontend', 'components')
13
- // ```
14
- //
15
- // You can also merge in a custom config using the included `webpack-merge` package.
16
- // Complete docs available at: https://github.com/survivejs/webpack-merge
17
- //
18
- // Eg:
19
- //
20
- // ```
21
- // const customConfig = { ..... }
22
- // config = merge(config, customConfig)
23
- // ```
24
-
25
-
26
-
27
-
28
-
29
- ////////////////////////////////////////////////////////
30
-
31
- module.exports = config