Ghost icon indicating copy to clipboard operation
Ghost copied to clipboard

Handlebars special partial "@partial-block" gets reported as unknown global

Open miko007 opened this issue 2 years ago • 1 comments

Issue Summary

The handlebars template engine provides an internal, special partial called @partial-block, that can be used when calling a partial in "block style".

Instead of calling the partial regularly like {{> my-partial}}, it can be called in block form like

{{#> my-partial}}
  some fallback text
{{}/my-partial}

Inside the partial, the content passed inside the block can then be accessed using the special partial {{@partial-block}}. The feature itself works like expected inside of a ghost theme, the usage gets however reported as a theme error, specifically as "{{@partial-block}} is not a known global". This should not be the case.

image

Steps to Reproduce

  1. put a partial with the content
<div>
   fancy partial
     {{#if @partial-block}}
	<article>
		{{> @partial-block}}
	</article>
     {{/if}}
</div>

in a theme.

  1. call it like
{{#> my-partial}}
   this is a fallback text
{{/my-partial}}
  1. check backend for theme errors

Ghost Version

5.75.1

Node.js Version

18.19.0

How did you install Ghost?

docker

Database type

MySQL 5.7

Browser & OS version

No response

Relevant log / error output

No response

Code of Conduct

  • [X] I agree to be friendly and polite to people in this repository

miko007 avatar Mar 26 '24 22:03 miko007

Hey there, thank you so much for the detailed bug report.

That does look like something that shouldn't happen! A PR to fix this issue would be very welcome 🙂

daniellockyer avatar Apr 01 '24 13:04 daniellockyer