Releases: bridgetownrb/bridgetown
Releases · bridgetownrb/bridgetown
v0.18.2 "Taylor Street"
Changelog since 0.17.2 (0.18.0 and 0.18.1 were short-lived soft releases):
- Bugfix: Use capture helper for liquid_render #174 (jaredcwhite)
- Configurable template engines on a per-site or per-document basis #157 (jaredcwhite) (docs)
- Set a
template_engine
key in your config file. The default is assumed to be liquid, but you can change it toerb
(or other things in the future as this gets rolled out). Once that is set, you don't even have to name all your ERB files with an.erb
extension—it will process even.html.
,.md
,.json
, etc. It also means Liquid won't try to "preprocess" any ERB files, etc. - Regardless of what is configured site-wide, you can also set the
template_engine
in front matter (whether that's in an individual file or using front matter defaults), allowing you to swap out template engines wherever it's needed. - Front matter defaults support setting
template_engine
to none or anything else for a part of the source tree. - Liquid pages/layouts with a
.liquid
extension are processed as Liquid even if the configured engine is something else. - Breaking change: previously it was possible in Liquid for a child layout to set a front matter variable and a parent layout to access the child layout's variable value, aka
{{ layout.variable_from_child_layout }}
. That's no longer the case now…each layout has access to only its own front matter data. - Breaking change: a few pre-render hooks were provided access to Liquid's global payload hash. That meant they could alter the hash and thus the data being fed to Liquid templates. The problem is that there was no visibility into those changes from any other part of the system. Plugins accessing actual page/layout/site/etc. data wouldn't pick up those changes, nor would other template engines like ERB. Now if a hook needs to alter data, it needs to alter actual Ruby model data, and Liquid's payload should always reflect that model data.
- Set a
- Add render method for Ruby templates #169 (jaredcwhite) (docs)
- Add Zeitwerk loaders for component folders (any
*.rb
file will now be accessible from Ruby templates). Note: Zeitwerk will not load classes from plugins if they're already present in the source folder, so if you want a component to "reopen" a class from a plugin, you'll need torequire
the plugin class explicitly in your local component. - Allow ERB capture to pass object argument to its block.
- Breaking change: the previous
<%|= output_block do %>…<%| end %>
block style is out in favor of:<%= output_block do %>…<% end %>
, so you don't have to change a thing coming from Rails. Note: if you're coming from Middleman where blocks output by default without<%=
, you'll need to switch to Rails-style block expressions. - Breaking change: the
markdownify
helper in ERB now just returns a string rather than directly outputting to the template, so use<%= markdownify do %>…<% end %>
.
- Add Zeitwerk loaders for component folders (any
- Site documents array should exclude static files #168 (jaredcwhite)
- Obfuscate link filter #167 (julianrubisch)
- Add link/url_for and link_to helpers #164 (jaredcwhite)
- False value in front matter is now supported to ensure no layout is rendered #163 (jaredcwhite)
- Support per-document locale permalinks and config #162 (jaredcwhite)
- This isn't yet documented because an even more comprehensive i18n solution and announcement is forthcoming.
- Add blank src/images folder #172 (jaredcwhite)
- chore: Prototype pages optimizations and improvements to YARD docs #171 (jaredcwhite)
v0.17.1
Changelog since 0.17.0
- Use HashWithDotAccess::Hash for all data/config hashes #158 (jaredcwhite) (docs)
- Add view reference to template helpers object #153 (jaredcwhite) (docs)
- Support a _pages folder in the source tree #151 (jaredcwhite) (docs)
- Add reading_time filter/helper #150 (jaredcwhite) (docs)
- Rename pager variable to paginator #148 (ParamagicDev & jaredcwhite)
- Add Class Map helper and usage info in docs #147 (jaredcwhite) (docs)
v0.17.0 "Mount Scott"
Full changelog since 0.16:
- Helper DSL for plugins (similar to the Liquid Filter DSL) #135 (jaredcwhite) (docs)
- Process data cascade for folder-based frontmatter defaults #139 (jaredcwhite) (docs)
- Execute block-based filters within object scope #142 (jaredcwhite)
- Provide a Liquid find tag as easier alternative to where_exp #101 (jaredcwhite) (docs)
- First pass at implementing site locales and translations #131 (jaredcwhite)
- Add international character slug improvements #138 (jaredcwhite & swanson)
- Switch to processing Ruby front matter by default #136 (jaredcwhite)
- Switch from AwesomePrint to AmazingPrint #127 (jaredcwhite)
v.0.16.0 "Crystal Springs"
Read the announcement blog post here!
Full changelog since 0.15.0:
- Fix the "add_yarn_for_gem" action #114 (jaredcwhite)
- Call GitHub API to determine default branch name #115 (jaredcwhite)
- Add capture helper to ERB templates
- Switch to Erubi for ERB template parsing
- Move webpack parsing code to the Utils module and enable for ERB templates #105 (jaredcwhite)
- Improve handling of Webpack manifest errors #96 (ParamagicDev)
- Add a class_map Liquid tag #99 (ParamagicDev)
- Update pagination documentation #98 (andrewmcodes)
- Add ERB template support (with Slim/Haml coming as additional plugins) #79 (jaredcwhite)
- Add/update Yard documentation for Site concerns #85 (ParamagicDev)
- Resolve deprecation warnings for Ruby 2.7 #92 (jaredcwhite)
- Switched the default branch from master to main
- Remove the Convertible concern and refactor into additional concerns #80 (jaredcwhite)
- Reducing animation for users who prefer reduced motion #84 (MikeRogers0)
v0.16.0.beta2 "Crystal Springs"
This is (probably) the last beta release before we launch production 0.16. Updates since beta 1:
Changelog
(0-16-stable
branch)
- Updated content of the ERB and Beyond documentation and added links to the new Haml and Slim template plugins.
- Fix the "add_yarn_for_gem" action #114 (jaredcwhite)
- Call GitHub API to determine default branch name #115 (jaredcwhite)
- Add capture helper to ERB templates
- Switch to Erubi for ERB template parsing
- Move webpack parsing code to the Utils module and enable for ERB templates #105 (jaredcwhite)
v0.16.0.beta1 "Crystal Springs"
Lots of under-the-hood tweaks and improvements since 0.15, but a couple of awesome new features: ERB templates and a class_map
tag for Liquid! W00t! 🎉
Changelog:
(0-16-stable
branch)
- Improve handling of Webpack manifest errors #96 (ParamagicDev)
- Add a class_map Liquid tag #99 (ParamagicDev)
- Update pagination documentation #98 (andrewmcodes)
- Add ERB template support (with Slim/Haml coming as additional plugins) #79 (jaredcwhite)
- Add/update Yard documentation for Site concerns #85 (ParamagicDev)
- Resolve deprecation warnings for Ruby 2.7 #92 (jaredcwhite)
- Switched the default branch from master to main
- Remove the Convertible concern and refactor into additional concerns #80 (jaredcwhite)
- Reducing animation for users who prefer reduced motion #84 (MikeRogers0)
v0.15.0 "Overlook"
- Add documentation for Cypress testing #75 (ParamagicDev)
- Add missing related_posts to Document drop #78 (jaredcwhite)
- Use AwesomePrint gem for console #76 (jaredcwhite)
- New documentation on plugin development (including
bridgetown plugins new
), themes, automations, Liquid components, etc. Site also showcases the quick search plugin which is now available to all site devs. - Optimizations made internally to the Bridgetown test suite.
- Bridgetown website experiment with test suite #69 (jaredcwhite)
- Fix for GitHub branch URLs in automations #66 (ParamagicDev)
- Migrate CLI from Mercenery to Thor and Enable Automations #56 (jaredcwhite)
- First implementation of Liquid Components as well as a preview tool on the Bridgetown website #26 (jaredcwhite)
- Deprecate the include tag and standardize around the render tag #46 (jaredcwhite)
0.15.0.beta3
(0-15-stable
branch)
- New documentation on plugin development (including
bridgetown plugins new
), themes, automations, Liquid components, etc. now on beta website. Beta site also showcases the upcoming quick search plugin which will be made available to all site devs. - Optimizations made internally to the Bridgetown test suite.
- Bridgetown website experiment with test suite #69 (jaredcwhite)
- Fix for GitHub branch URLs in automations #66 (ParamagicDev)
- Migrate CLI from Mercenery to Thor and Enable Automations #56 (jaredcwhite)
- First implementation of Liquid Components as well as a preview tool on the Bridgetown website #26 (jaredcwhite)
- Deprecate the include tag and standardize around the render tag #46 (jaredcwhite)
0.14.1
- Patch to fix PluginManager
yarn add
bug when there is nodependencies
key inpackage.json
v0.14.0 "Hazelwood"
Release Notes
You can update your Gemfile to remove the line pointing to the Liquid fork under jaredcwhite
, it's no longer necessary.
There's also an update to start.js
you can copy from the repository here.
More general information available in a blog post here.
Changes
- Use
liquid-render-tag
backport gem and remove references to temporary GitHub fork of Liquid #52 (jaredcwhite) - Refactor
Bridgetown::Site
into multiple Concerns #51 (jaredcwhite) - Fix for
start.js
to eliminate junk terminal characters (jaredcwhite) - New Unified Plugins API with Builders, Source Manifests, and Autoreload #41 (jaredcwhite)
- Add a Posts page to the new site template #39 (andrewmcodes)
- Add
titleize
Liquid filter and improveslugify
filter description #38 (jaredcwhite) - Add Bundler cache to the build GH action to improve test speed #40 (andrewmcodes)
- Bump minimum Node requirement to 10.13 (jaredcwhite)