Skip to content

Latest commit

 

History

History
862 lines (626 loc) · 65.3 KB

CHANGELOG.md

File metadata and controls

862 lines (626 loc) · 65.3 KB

Changelog

All notable changes to Bridgetown will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

[1.3.4] - 2024-03-28

  • Fix: Lock Liquid to version < 5.5 (unresolved data leakage and generation errors otherwise)
  • Fix: esbuild file endings from previous release
  • Use bundler binstubs to create bin/bt shortcut instead of by cp

[1.3.3] - 2024-03-16

  • Use global regex for Stimulus Configuration #865 (@MSILycanthropy)
  • Move site and collections console commands to locals #853 (@mpace965)
  • Relax the Rouge version requirement #864 (@matiaskorhonen)
  • esbuild: Add webp (and some others) to the file endings loaded as files #863 (@moonglum)
  • Improve Netlify bundled configuration #839 (@jclusso)
  • Improve localization helpers #842 (@jclusso)
  • Remove trailing whitespace from template resource #838 (@unasuke)
  • Thanks to @jclusso & @ayushn21 for docs improvements!

[1.3.2] - 2024-01-01

  • Fix logs and console for Ruby 3.3 #834 (jaredcwhite)
  • Auto-detect package manager in the plugin manager #821 (KonnorRogers) This allows for support of non-Yarn package managers such as npm and pnpm
  • Allow consistent permitting classes #795 (michaelherold)
  • Show a reloading log for Roda routes in the server folder #818 (jaredcwhite)
  • Fixed localization of paginated resources error #790 (jclusso)
  • Catch error and log when PostCSS conversion fails #812 (jaredcwhite)
  • Thanks to @bkjohnson, @jaredmoody, and @jclusso for improvements to documentation

[1.3.1] - 2023-08-29

  • Fix bug with prototype page pagination not working for paginate #804 (jaredcwhite)
  • Upgrade Cucumber to v8.0 #800 (michaelherold)
  • Fix link_to when passed block #791 (jclusso) …thanks also to fabionl for looking at this issue
  • Add configurable inflector with examples for ActiveSupport::Inflector #796 (jclusso)
  • esbuild & webpack version bumps #802 (jaredcwhite)
  • Add date task for generating a front matter friendly date (jaredcwhite)
  • Eager load to make DEFAULTS deterministic #776 (michaelherold)
  • Feature improvements to i18n localize #783 (akarzim)
  • Lock Rubocop to latest version that passes #779 (michaelherold)
  • Upgraded docs website to latest Ruby2JS and esbuild
  • Thanks to @jclusso and @mtomov for improvements to documentation

[1.3.0] - 2023-06-18

  • esbuild and bundled configurations fixes

[1.3.0.beta3] - 2023-06-18

  • Lit configuration bug fixes based on QA

[1.3.0.beta2] - 2023-06-18

[1.3.0.beta1] - 2023-05-01

  • Fix missing word in resources.md
  • Add support for Nokolexbor & Puma 6.x #752 (jaredcwhite)
  • Display build error on the page in a dialog in dev #747 (jaredcwhite)
  • Remove deprecated serve command and WEBrick #750 (jaredcwhite)
  • Fix locales warning bug #748 (sandstrom)
  • Fix hanging tmp dir when running test suite (jaredcwhite)
  • Relocate all Bridgetown Roda logic to new bridgetown_server plugin #737 (jaredcwhite)
  • Fix passing headers and add passing parameters to HTTP DSL #722 (michaelherold)
  • Fix: ensure hooks defined in initializers config are marked reloadable: false (jaredcwhite)
  • Fix purgecss plugin crashing when using scss #733 (goulvench)
  • Upgrade to Faraday v2 #721 (michaelherold) & #713 (alison-acuna)
    • Removed dependency on faraday_middleware, which was deprecated, and not ported to Faraday v2.
    • Added dependency on faraday-follow_redirects to replace functionality from ^ that was lost
  • Thanks to @dcr8898, @fbuys, @beeburrt, @neilvanbeinum, and @pboling for documentation improvements

[1.2.0] - 2022-01-25

  • Remove terminal-table dependency Possible breaking change — if you rely on Liquid template profiling to debug your site, you'll need to add the terminal-table gem dependency yourself
  • Add method to reset config for test suites #702 (jaredcwhite)
  • Fix: Set timezone from initializer Ruby DSL #703 (ayushn21)
  • Fix a minor typo in the plugins command #701 (ayushn21)
  • Fix: load initializers.rb instead of require for working tests #700 (jaredcwhite)
  • Docs: Add details for importing Shoelace #698 (ikass)

[1.2.0.beta5] - 2022-01-02

  • Add some DX improvements to StaticFile #677 (jaredcwhite)
  • Restore localhost URL in development when using initializers config #686 (jaredcwhite)
  • Note View Component oddities #687 (joemasilotti)
  • Fix: dynamic route sorting #690 (jaredcwhite)
  • Fix: Enture resource.data.locale consistently return symbols #682 (vvveebs)
  • Filter Bridgetown::Localizable#all_locales under the source's parent directory #671 (vvveebs)
  • Website: Fix the readability of namespaces in dark mode #674 (michaelherold)
  • Add support for alternative gemfile gems.rb to core #658 (svoop)

[1.2.0.beta4] - 2022-12-07

[1.2.0.beta3] - 2022-10-09

  • Updates to Lit and Tailwind configurations
  • Add new automation actions for v1.2 configurations
  • Fix issues around Roda processing of form submissions

[1.2.0.beta2] - 2022-10-07

  • Fix bug with builder registration in config DSL

[1.2.0.beta1] "Bonny Slope" - 2022-10-02

Don't let yourself get distracted by the moonshine! https://cedarmillnews.com/legacy/archive/706/bonny_slope_bootleggers.html

General

  • Add gemspec metadata for all gems (#619)

Added

  • Major refactor to add new configuration & initializer DSLs #618 (jaredcwhite)
    • All-new Ruby-based config file format
    • New Dotenv support
    • Refactor to setup Bundler without automatic requires
    • Relocate Roda plugins to their own files and use new init functionality
    • Add permalink placeholder to Builder DSL
    • Improve helper scope for methods, add resource extension to Builder DSL
    • Deprecate TOML, _config, and .yaml files for configurations (.yml preferred)
  • Slot content feature for templates and components #629 (jaredcwhite)
  • Allow templates to use data directly instead of resource.data or even site.data #622 (jaredcwhite and johlym)
  • Add Dockerfile to deployment options #626 (stephendolan)
  • Add hash attributes functionality to view tag helpers #589 (DRBragg)
  • Provide esbuild config typing via JSDoc #604 (jaredcwhite)

Changed

Fixed

[1.1.0] — 2022-07-18

  • Add better error message for YAML parse error around Symbols
  • Remove unnecessary excerpt_separator configuration default
  • New docs: a guide how to migrate from Jekyll #594 (jaredcwhite)
  • Improved default Liquid layout
  • Fix PurgeCSS configuration so it works with esbuild

[1.1.0.beta3] — 2022-06-28

  • Provide URL helpers to Roda #583 (jaredcwhite)
  • Support kwargs-only method calls for partial #582 (jaredcwhite)
  • Switch from rack-indifferent to Roda's indifferent_params plugin #586 (jaredcwhite) with thanks to @jeremyevans
  • Thanks to work-leonid for docs improvements
  • Fix: apply Inspectors to Generated Pages as well
    • Breaking change from beta2
  • Update Gemfile template with nokogiri commented out (helps with the Inspectors API) #574 (andrewmcodes)
  • Fix migrate-from-webpack process #573 (katafrakt)
  • Ensure gem-based Builders are part of priority sorting #567 (jaredcwhite)
  • Add fill: "forwards" to improve Turbo transition states

[1.1.0.beta2] — 2022-06-01

  • Update Webpack 5 default config to switch to native asset loaders (no more file-loader needed)

[1.1.0.beta1] — 2022-06-01

  • New bundled configurations: Lit, Shoelace, Ruby2JS, Open Props #553 (jaredcwhite)
    • NOTE: "frontend component files" (aka .js/.css files within the src/_components folder) will now be ignored by the build process watcher, thus allowing the frontend bundling refresh to trigger a dev reload
  • Improve Roda error handling and update static error pages #565 (jaredcwhite)
  • Always make sure :en is at the end of the I18n fallback chain
  • Support .rb and .json for translation files
  • Support front matter defaults for multi locale
  • Update in_locale to support filtering resources
  • Add t Liquid filter, allow I18n fallbacks
  • Allow .multi suffix on files names for multi locales
  • feat: add rb files to the Tailwind content glob #564 (andrewmcodes)
  • Fix default custom collection permalink so it includes the locale prefix
  • Add link to configuration options documentation in the default bridgetown.config.yml #563 (andrewmcodes)
  • Simplify the Roda boot process, add more route tests #562 (jaredcwhite)
  • Add Sass support for esbuild, update frontend dependency versions #542 (jaredcwhite)
    • Add ability to configure file filter for PostCSS plugin
    • Fix PostCSS esbuild watch bug & remove easy-import
  • Update Tailwind config so jit-refresh.css is git ignored #559 (jaredcwhite)
  • Ensure future-dated resources import only when expected #558 (jaredcwhite)
  • Inherit generator priority from builder
    • BREAKING CHANGE: (maybe) The exact order multiple generators will run in may be subtly different than before. Use Builder priorities to resolve
  • Add HTML & XML Inspectors API using Nokogiri #546 (jaredcwhite) & (andrewmcodes)
  • Add default locale prefixing config option, in_locale template filter/helper #540 (jaredcwhite)
  • Add Markdown support to convert == / :: to <mark> #551 (jaredcwhite)
  • Apply default theme for syntax highlighting #516 (jaredlt)
  • Add site server_shutdown hook via Puma
  • Allow route classes to be prioritized to adjust run order #538 (jaredcwhite)
  • Fix: ensure capturing helpers use dedicated component context
  • Fix typo in "Core Principles": focsued → focused #541 (das-g)
  • Allow finding and linking to alternate locale pages #522 (jaredcwhite)
  • Issue warning when a Rails-style extension is used (like .html.erb) #523 (jaredcwhite)
  • Fix Roda serving bug when index.html is missing
  • Re-run SSR setup block on live reload
  • Trigger pre/post-read hooks on SSR reload
    • BREAKING CHANGE: (maybe) If you had long-running code in a plugin build method or a hook, this might surprise you when you live reload in dev using dynamic routes. Use site.ssr? if you want to bypass code in SSR mode.
  • Fix bug where sidecar aux process wasn't requiring bundler groups #532 (jaredcwhite)

[1.0.0] (stable release) — 2022-03-07

  • Add bundled configuration for GH pages #503 (ayushn21)
  • Fix base_path issues with Roda and site templates #510 (jaredcwhite)
  • Many documentation tweaks
  • Plus everything since v0.21!

1.0.0.beta3 — 2022-02-18

1.0.0.beta2 — 2022-01-26

  • Partials rendering speedup by nearly 8x (!) #489 (jaredcwhite)
  • Map Stimulus controller filenames to identifiers as in the Stimulus docs #486 (fpsvogel)
  • Fix for issue #482: don't load front matter defaults for data collection (jaredcwhite)
  • Add bundled configuration for Vercel #483 (andrewmcodes)
  • Descendants tracker fix for issue #484 (jaredcwhite)

1.0.0.beta1 — 2022-01-13

General

  • Brand new website and refreshed documentation. Yowza! Special thanks to @adrianvalenz for contributing refreshed branding and content enhancements and to Whitefusion for overall design & development of the new site.

Added

  • Native esbuild integration, default site template switched to use esbuild + postcss #461 (jaredcwhite)
    • BREAKING CHANGE: you will need to run bin/bridgetown webpack update so the build process can find the relocated assets manifest file.
  • New site template design along with ERB and Serbea support via CLI flags #475 (jaredcwhite)

Changed

  • Refactor how Rake tasks are loaded or displayed (jaredcwhite)
  • Clean up listener and watcher, resolves #467 (jaredcwhite)
  • Update Stimulus and Turbo configurations to latest versions (jaredcwhite)
  • Permit Rails 7 versions of Active Support & Active Model (jaredcwhite)
  • Improve the display of build errors #479 (jaredcwhite)
  • Remove the Swup bundled configuration and enhance Turbo instead #471 (jaredcwhite)

Fixed

  • Switch routes to path from absolute_path for Ruby 3.1 compatibility (jaredcwhite)
  • Fix origins autoload issue in #472 (jaredcwhite)
  • Add .ruby-version file to new sites (jaredcwhite)

1.0.0.alpha11 - 2021-11-29

  • Allow saving of models with repo origin #452 (jaredcwhite)
  • Normalize previous/next resource API between Ruby and Liquid #466 (jaredcwhite)
  • Docs: Add a nginx section in deployment #447 (Eric-Guo)
  • Switch to streaming/event source mechanism for live reload #458 (jaredcwhite)
  • Hooks refactor & cleaning up SSR reload hook #457 (jaredcwhite)
  • Add BRIDGETOWN_ENV to render config #460 (ayushn21)
  • Fix production ENV issue with Roda file-based routes
  • Move Collection#sort_resources! to a public method

1.0.0.alpha10 - 2021-11-15

1.0.0.alpha9 - 2021-11-11

  • Remove the Liquid Component gem dependency
  • Add support for environment CLI flags (-e production or --environment=production)
  • Integrate Serbea 1.0 into Bridgetown #440 (jaredcwhite)
  • Add new console commands via ConsoleMethods mixin #439 (jaredcwhite
  • Support long version form in CLI (--version) #445 (Eric-Guo)

Documentation

1.0.0.alpha8 - 2021-11-05

  • Refactor builder DSL for Ruby 2.7 & 3.0 compatibility

1.0.0.alpha7 - 2021-11-05

  • Update minimum Ruby requirement to 2.7
  • Copy bin/bridgetown to bin/bt after binstubs generation
  • Ensure Webpack error messages only display once
  • Add bundled configuration for Cypress #339 (ayushn21)
  • Use Zeitwerk for autoload/eager load paths (including plugins) #434 (jaredcwhite & ayushn21)
  • Don't mutate bundler dependencies in place #433 (deivid-rodriguez)
  • Add bundled configuration for Render #431 (ayushn21)

1.0.0.alpha6 - 2021-10-26

1.0.0.alpha5 - 2021-10-22

  • The deprecated include and include_relative tags have been removed.

1.0.0.alpha4 - 2021-10-18

  • Refactor and cleanup of routing gem for better maintainability #424 (jaredcwhite)
    • Also adds bin/bridgetown secret which functions much like the bin/rails secret to generate a long randomized hex token.

1.0.0.alpha3 - 2021-10-17

  • Allow template engines to accept symbols via Ruby front matter #396 (JuanVqz)
  • Add build callbacks to Builder plugins and allow arbitrary instantiation #422 (jaredcwhite)

1.0.0.alpha2 - 2021-10-15

  • Upgrade the codebase to Rubocop 1.22 and use config from rubocop-bridgetown gem

1.0.0.alpha1 - 2021-10-15

NOTE: this is still considered experimental and largely undocumented. It's fine to use...just not recommended for production. =)

General

  • Strip out all of the legacy content engine #415 (jaredcwhite)

    • Transition Page to GeneratedPage
    • Resource content from plugins now supported
  • SSR & file-based dynamic routes in src/_routes #383 (jaredcwhite)

    • includes adding Puma, Rack, Roda, and Rake!
    • the previous WEBrick-based dev server is deprecated
    • nearly all past Yarn commands are now available through bin/bridgetown

Added

  • add_resource DSL now available for builders #419 (jaredcwhite)
  • Improve locale routing based on filenames or special front matter #414 (jaredcwhite)
  • Enhance front matter DSL with nesting and lambda value eval #398 (jaredcwhite)
  • Add debug message when saving static files

Fixed

  • Improve resource engine compatibility in link tag and url_for helper #389 (jaredcwhite)
  • Prevent .js matches with any file like foo.js.txt.bat.png #399 (nachoal)

Changed

  • Change single quotes in script folder #406 (JuanVqz)
  • Return ordered results for belongs_to array #390 (jaredcwhite)
  • Bumped minimum recommended Node requirement to v12 and updated the docs for Homebrew installation on macOS.

Removed

  • Remove pry and use binding.irb in dev console script
  • Remove incremental generation #388 (jaredcwhite)

0.21.4 - 2021-09-10

Fixed

Changed

  • Resolve postcss-focus-within to v4 #366 (ayushn21)
  • Performance refactor of the Webpack helper #382 (jaredcwhite)
  • Several documentation improvments thanks to JuanVqz and debashis-biswal

0.21.3 - 2021-08-06

Fixed

  • Resource: switch from default proc to preemptive defaults #359 (jaredcwhite)
  • Ensure there aren't double-slashes in pagination links (jaredcwhite)
  • Ensure summary content is html safe (jaredcwhite)

0.21.2 - 2021-07-21

Fixed

  • Add missing comma in package.json which broken install #354

0.21.1 - 2021-07-19

Added

Fixed

  • Unintentional overwriting of data when using the Resource content engine #343 (jaredcwhite)
  • Bug where in Liquid the next_resource method would mistakenly return the previous resource

Changed

  • Configure sites in subfolders via base_path, not baseurl #348 (jaredcwhite)
  • Swap babel for ESBuild and upgrade to Webpack 5 #334 (ayushn21)
  • Change postcss.config.js stage from 3 to 2 #349 (juhat) Read the Docs
  • Various improvements to the new Webpack config documentation

0.21.0 - 2021-06-01

Final release of 0.21.0! See below for full changelog.

Fixed

0.21.0.beta4 - 2021-05-30

Added

  • Memoization for caching templates in Bridgetown::Component #326 (jaredcwhite)
  • layout method in Resource::Base #324 (jaredcwhite)
  • Include Bridgetown version in Webpack defaults #322 (ayushn21)
  • Confirmation for overwriting postcss config in tailwindcss and bt-postcss bundled configurations #317 (ayushn21)
  • Create new config directory and move Webpack defaults into it #316 (ayushn21)

Changed

  • Fix the Bridgetown logger and other test improvements #328 (ayushn21)
    • NOTE: the Configuration file log message is now output with a debug log level instead of info. This means you will no longer see the config path in your terminal/logs unless you use the --verbose flag.

Fixed

  • Install required packages in Webpack enable postcss tool #319 (ayushn21)
  • Update Babel configuration to prevent overt warning #314 (ayushn21)
  • Resolve issue with zombie templates in Pagination/Prototype logic
  • Locale files now reload when the site regenerates

0.21.0.beta3 - 2021-05-15

Changed

  • Switch to using a Keep a Changelog format.
  • Switch plugins new command to use MiniTest from the sample plugin repo.
  • Make configure command use Thor's apply method directly #293 (ayushn21)

Fixed

  • Resources configured not to output to a destination are now transformed as expected.
  • The previous_resource method now returns the proper resource.
  • Fix warnings in plugin tests by checking if an ivar was defined #296 (ayushn21)
  • Ensure Netlify script is set to executable. #302 (ayushn21)
  • Consider the default branch from the git config when creating a new site or plugin. #294 (ayushn21)

Removed

  • A bunch of global config accessors on site (like lsi, keep_files, etc.)
  • Remove safe_yaml gem in favour of using Psych which is in the stdlib. #303 (ayushn21)

0.21.0.beta2 - 2021-05-08

  • Refactor old TODOs and deprecations
  • Remove deprecated sassify/scssify filters, add html_safe to the obfuscate_link helper
  • Fix dotfiles or multiple extension permalinks (for the resource content engine) #292 (jaredcwhite)

0.21.0.beta1 - 2021-04-25

0.20.0 - 2021-03-15

  • EXPERIMENTAL (and opt-in): the Great Resource Content Engine PR has been merged. 135 files changed. Holy guacamole! #243 (jaredcwhite) Read the Docs
  • Further improved Webpack integration by allowing multiple entry points and loading any manifest item with webpack_path helper #247 (jaredcwhite) Docs
  • Exclude current post from LSI-powered related posts #253 (katafrakt)
  • The inspect string for Bridgetown::Site is now lean and clean.
  • The history bug with the bridgetown console has been fixed! Now pressing your up arrow after entering the console will pull up all previous commands entered. Up, up, and away!
  • Support added for upcoming gem bridgetown-mdjs which will allow inline JS code blocks in Markdown similar in purpose to MDX (but for web components and other HTML-native solutions). Stay tuned!

0.19.3 - 2021-02-11

0.19.2 - 2021-02-05

  • Introducing bundled configurations! Now some popular automations, including enhanced PostCSS and Tailwind CSS setups, are available directly through the Bridgetown CLI rather than being in a separate automations repo. Documentation here. Thanks Ayush
  • Upgrade to Liquid 5.0 and remove previous backported render tag #224 (jaredcwhite)
    • Breaking Change: when using the where filter, the literals ""``, blank, and empty` are now all equivalent.
  • New plugin generator now prefers main over master for default branch name #225 (ayushn21)
  • Use ActiveSupport::DescendantsTracker for managing class hierarchies of plugins (converters, builders, and generators) #218 (jaredcwhite)
  • Lots of documentation improvements — thanks Juan, Taha, and Ayush.

0.19.1 - 2020-12-26

  • Website: Fix a grammar error in the Jamstack.md page on Bridgetown website (taha)

  • Fix for issue #73 (less likely to hit ActiveSupport error when bridgetown command is run without bundle exec prefixed)

0.19.0 - 2020-12-22

  • Improve our active ActiveSupport support =) #215 (jaredcwhite)
  • Add filters_scope option to liquid_filter DSL #214 (jaredcwhite)
  • Deprecate PageWithoutAFile class. It will be removed in v0.20.
  • Specify Webrick as a gem dependency now that it's no longer in the stdlib in Ruby 3
  • Website: documentation on how to install Bridgetown in Fedora (bkmgit)
  • Add modules resolve paths to default webpack config #206 (ayushn21)
  • Add an empty PostCSS configuration option to the "new" command #190 (ayushn21)
  • Fix obfuscate link syntax #203 julianrubisch)
  • Website: Fix class declaration keyword in liquid tags and helpers docs #198 (ayushn21)
  • Website: The Great Unification (removing all div-ision-s) #191 (jaredcwhite)
  • Website: Fix typo in generators page in docs #195 (ayushn21)
  • Add mailto:--tag to generated footer #192 (pascalwengerter)
  • Change the name attribute of the default package.json to be inferred from the path passed to bridgetown new #188 (ayushn21)

0.18.6 - 2020-11-12

  • Change the logging level for "Executing inline Ruby…" messages to the debug level #184 (ianbayne)
  • Add yarn clean script to package.json #182 (andrewmcodes)
  • Fix dash obfuscation in obfuscate filter #181 julianrubisch)
  • Ensure HashWithDotAccess converts to Hash for Liquid templates

0.18.5 - 2020-11-09

  • Bugfix: use HashWithDotAccess when parsing JSON in the HTTP Builder DSL

0.18.4 - 2020-11-05

  • Bugfix: reset payload for each Liquid template conversion
  • Change site.layouts hash to dot access

0.18.3 - 2020-11-01

  • Bugfix: For template engine converters, set template_engine frontmatter automatically #177 (jaredcwhite)

0.18.2 - 2020-10-30

  • Bugfix: Resolve bug in converter error notifications

0.18.1 - 2020-10-29

0.18.0 - 2020-10-29

  • Configurable template engines on a per-site or per-document basis #157 (jaredcwhite)
    • Set a template_engine key in your config file. The default is assumed to be liquid, but you can change it to erb (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.
  • Add render method for Ruby templates #169 (jaredcwhite)
    • 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 to require 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 %>.
  • 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)

0.17.1 - 2020-10-02

0.17.0 "Mount Scott" - 2020-09-17

Website updates

0.16.0 "Crystal Springs" - 2020-07-28

  • Final release of 0.16! Yipee yay! Keep reading for what's new since 0.15.

0.16.0.beta2 - 2020-07-24

(0-16-stable branch)

  • 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)

0.16.0.beta1 - 2020-07-16

(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)

0.15.0 "Overlook" - 2020-06-18

  • Final release of 0.15! Woo hoo! Keep reading for what's new since 0.14

0.15.0.beta4 - 2020-06-15

(0-15-stable branch)

0.15.0.beta3 - 2020-06-05

(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 - 2020-05-23

  • Patch to fix PluginManager yarn add bug when there is no dependencies key in package.json

0.14.0 "Hazelwood" - 2020-05-17

  • 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 improve slugify 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)

0.13.0 "Klickitat" - 2020-05-05

  • Configurable setting to allow executable Ruby code in Front Matter #9
  • Honor the configured site encoding when loading Liquid components #33
  • Allow configuration file as well as site metadata file to pull YAML options out of an environment specific block #34
  • Add Faraday to the default set of gems that get installed with Bridgetown #30
  • Add blank favicon.ico file to prevent error when generating a new site for the first time #32 (jaredmoody)

0.12.1 - 2020-05-01

  • Update the minimum Ruby version requirement to 2.5

0.12.0 "Lovejoy" - 2020-04-27

  • Add Concurrently and Browsersync for live reload, plus add new Yarn scripts #21
  • Add some color to terminal output
  • Add code name for minor SemVer version updates

0.11.2 - 2020-04-24

  • Add components source folder to sass-loader include paths
  • Include missing commit from PR #14

0.11.1 - 2020-04-24

  • Add a git init step to bridgetown new command #18
  • Update sass-loader webpack config to support .sass #14 (jaredmoody)
  • Add customizable permalinks to Prototype Pages (aka /path/to/:term/and/beyond). Use hooks and in-memory caching to speed up Pagination. Inspired by use cases like this #12

0.11.0 - 2020-04-21

Prototype Pages

You can now create a page, say categories/category.html, and add a prototype config to the Front Matter:

layout: default
title: Posts in category :prototype-term
prototype:
  term: category

And then all the site's different categories will have archives pages at this location (e.g. categories/awesome-movies, categories/my-cool-vacation, etc.) It enables pagination automatically, so you'd just use paginator.documents to loop through the posts. See the docs here.

#11

0.10.2 - 2020-04-19

Automatic Yarn Step for New Plugins

Now with Gem-based plugins for Bridgetown, all you need to do is add yarn-add metadata matching the NPM package name and keep the version the same as the Gem version. For example:

  spec.metadata = { "yarn-add" => "my-awesome-plugin@#{MyAwesomePlugin::VERSION}" }

With that bit of metadata, Bridgetown will know always to look for that package in the users' package.json file when they load Bridgetown, and it will trigger a yarn add command if the package and exact version number isn't present.

0.10.1 - 2020-04-18

Add {% webpack_path [js|css] } tag which pulls in the Webpack manifest and finds the hashed output bundles. Also works in concert with the Watcher so every time Webpack rebuilds the bundles, Bridgetown regenerates the site.

#6

0.10.0 - 2020-04-17

Switch gears on experimental component functionality.

Going with a new rendercontent tag instead of component. It is based on Shopify's new Render tag which recently got introduced to Liquid. Note that the feature hasn't been officially released via the Liquid gem, so we need to use the main branch that's been forked on GitHub with a higher version number).

#5

0.9.0 - 2020-04-16

  • Update table styling in Documentation
  • Now showing the plugins_dir in log output if it's present
  • With the Posts Reader changes, now you can add a Front Matter Default of _posts/drafts having published: false, put a bunch of draft posts in _posts/drafts and you're done!
  • New -U flag makes it easier to specify generating published: false docs.
  • The Posts Reader has been reworked so that files with valid front matter can be read in even if there's no YYYY-MM-DD- at the beginning. In addition, static files are also supported, which means if you can create a folder (inlinefiles), drop a post in along with a bunch of images, and use ![alt](some-image.jpg) relative paths, it'll work! Big improvement to Markdown authoring. (You'll need to use a permalink in a specific manner though, e.g. permalink: /inlinefiles/:title:output_ext) If you need a static file not to get copied to the destination, just add an _ at the beginning and it'll get ignored.
  • Collections no longer allow displaying a full server file path via Liquid.
  • {{ page.collection }} now returns a CollectionDrop, not the label of the collection. Using the jsonify filter on a document however still returns just the label for the collection key.
  • Add favicon to website
  • Add mobile improvements to website
  • Add back working feature tests for basic pagination
  • Convert to Ruby 1.9+ symbol: value hash syntax
  • Add Swup to website for some slick transitions
  • Add "where_query" feature to Paginate. For example. specify where_query: [author, sandy] in the pagination YAML to filter by that front matter key.
  • Update the Jamstack page in the docs.

0.8.1 - 2020-04-14

  • Fix bug where paginator wouldn't properly convert Markdown templates

0.8.0 - 2020-04-14

  • Add Bridgetown::Paginate gem to monorepo
  • Add CI build workflow via GitHub actions
  • Clean up Rake tasks
  • Add documentation around gem releases and contributing PRs

0.7.0 - 2020-04-12

  • Moved the default plugins folder from src/_plugins to simply plugins
  • Remove gems and plugins keys from configuration
  • Move the cache and metadata folders to the root dir
  • Define a default data file for site metadata: src/_data/site_metdata.yml that's accessible via {{ site.metadata.title }} (for example)
  • Add relevant changes to site template for bridgetown new
  • Continue work on repo cleanup and documentation

0.6.0 - 2020-04-09

  • Add bridgetown console command to invoke IRB with the current site (similar to the Rails console command). Plugins, gems, will be loaded, etc.

0.5.0 - 2020-04-07

  • Remove em-websocket dependency.
  • Change _config.yml to bridgetown.config.yml (but _config.yml will still work for compatibility purposes).
  • New Bridgetown logo and further Bridgetown URL updates.
  • Many new and improved docs.

0.4.0 - 2020-04-05

  • Added a component Liquid tag which extends the functionality of include tags.
  • Added a new bridgetown-website project to the repo, which of course is a Bridgetown site and will house the homepage, documentation, etc.

0.3.0 - 2020-04-05

  • Moved all Bridgetown code to bridgetown-core, the idea being this will now be a monorepo housing Core plus a few other official gems/projects as time goes on. Users will install the bridgetown gem which in turns installs bridgetown-core as a dependency.

0.2.0 - 2020-04-04

  • Completed comprehensive code audio and changed or removed features no longer required for the project. Fixed and successfully ran test suite accordingly.

0.1.0 - 2020-04-02

  • First version after fork from pre-released Jekyll 4.1