Releases: CloudCannon/bookshop
v3.4.1
Fixed an error where nested object arrays in a component blueprint would error out.
blueprint:
title: Hello World
nested:
# `nested` would be made into an array structure with a value matching the below object
- title: "Nested Object #1"
double_nested:
# This would not work and `double_nested` would default to a string array
- title: "Nested Object #2"
This release fixes this behaviour, and deeply nested object arrays will behave as expected.
v3.4.0
New Hugo renderer
The main aspect of this release is a new and improved Hugo renderer when live editing on CloudCannon. Alongside being more reliable, this unlocks many templating functions that were previously unavailable, such as:
newScratch
absURL
highlight
humanize
Additionally, functions that would previously cause a full error (such as resources.Get
) will now return nil
, and as such can be handled gracefully inside a component.
Looking forward, this release also paves the path for supporting site actions like site.GetPage
in the visual editor, as well as using custom non-Bookshop Hugo partials in the visual editor.
As with all releases, your repository can be upgraded to the latest Bookshop by running:
npx @bookshop/up@latest
Other changes
- Hugo WebAssembly files are now preloaded in CloudCannon, so loading the visual editor should be significantly faster
- Improved data binding support for Hugo template files, and generally fixed many issues with complex templating
- Reduced noise in the developer console when live editing Hugo Bookshop sites
v3.3.3
- Added a
markdownify
filter to Eleventy Bookshop
v3.3.2
- Fixes a
v3.1.1
error when running the@bookshop/browser
command for Hugo
v3.3.1
- Fix nested component keys in SvelteKit websites (@NJKode — #125)
- Stopped loading Hugo WebAssembly files from
cdn.bookshop.build
- These are instead compressed and served from the site alongside Bookshop assets
- General repository tidyups and release automation, in preparation for a larger Hugo Bookshop release
v3.3.0 — SvelteKit Beta
Features & Improvements
- Component Initialization
- Component blueprints referencing nested components can now initialize those components on creation with the
!
operator. SeeInitializing Nested Components
in the relevant guide.
- Component blueprints referencing nested components can now initialize those components on creation with the
- SvelteKit Beta Support
- Bookshop now supports SvelteKit, with live editing provided by the existing CloudCannon Svelte Connector.
- See the newly created SvelteKit Guide to get started.
Fixes & Tweaks
- Fixed some console errors when live editing in Hugo
- Improved the initialization speed of Hugo live editing
v3.1.3
Bug Fixes
- eleventy collection loops no longer crash (84a64c4)
- The forloop.name feature implemented in liquidjs has now made it to Eleventy, so the Bookshop workaround has been removed. This workaround was previously causing a crash when nested inside a collection loop.
Features
- default @bookshop/init to new component if a bookshop dir was found (12ad117)
- Previously, running @bookshop/init would prompt you for the decision between creating a new component or a new Bookshop every time. Now, if it finds a Bookshop directory it will default to the new component decision.
v3.1.2
v3.1.1
v3.1.0 — Live Editing Flag
Features
- components can determine whether they are being live edited (c9b9b45)