Indentation of the partial invocation site is not maintained when the partial is expanded.
string source =
@"<h2>Names</h2>
{{#names}}
{{> user}}
{{/names}}";
string partialSource =
@"<strong>{{name}}</strong>";
Handlebars.RegisterTemplate("user", partialSource);
var template = Handlebars.Compile(source);
var data = new {
names = new [] {
new {
name = "Karen"
},
new {
name = "Jon"
}
}
};
var result = template(data);
/* Would render:
<h2>Names</h2>
<strong>Karen</strong>
<strong>Jon</strong>
*/
<h2>Names</h2>
<strong>Karen</strong><strong>Jon</strong>
I expect the indentation of the partial invocation site to be respected when the partial is expanded. This would match other Handlebars implementations I've used, including the "official" npm package handlebars.
Describe the bug
Indentation of the partial invocation site is not maintained when the partial is expanded.
From the README:
Actual result:
Here is a Fiddle to demonstrate:
https://dotnetfiddle.net/uB3Hmu
Expected behavior:
I expect the indentation of the partial invocation site to be respected when the partial is expanded. This would match other Handlebars implementations I've used, including the "official" npm package handlebars.
You can see the expected output on the Handlebars playground:
https://handlebarsjs.com/playground.html#format=1¤tExample=%7B%22template%22%3A%22%3Ch2%3ENames%3C%2Fh2%3E%5Cn%7B%7B%23names%7D%7D%5Cn%20%20%7B%7B%3E%20user%7D%7D%5Cn%7B%7B%2Fnames%7D%7D%22%2C%22partials%22%3A%5B%7B%22name%22%3A%22user%22%2C%22content%22%3A%22%3Cstrong%3E%7B%7Bname%7D%7D%3C%2Fstrong%3E%5Cn%22%7D%5D%2C%22input%22%3A%22%7B%5Cn%20%20names%3A%20%5B%5Cn%20%20%20%20%7B%5Cn%20%20%20%20%20%20name%3A%20%5C%22Karen%5C%22%5Cn%20%20%20%20%7D%2C%5Cn%20%20%20%20%7B%5Cn%20%20%20%20%20%20name%3A%20%5C%22Jon%5C%22%5Cn%20%20%20%20%7D%5Cn%20%20%5D%5Cn%7D%5Cn%22%2C%22output%22%3A%22%3Ch2%3ENames%3C%2Fh2%3E%5Cn%20%20%3Cstrong%3EKaren%3C%2Fstrong%3E%5Cn%20%20%3Cstrong%3EJon%3C%2Fstrong%3E%5Cn%22%2C%22preparationScript%22%3A%22Handlebars.registerHelper('loud'%2C%20function%20(aString)%20%7B%5Cn%20%20return%20aString.toUpperCase()%5Cn%7D)%5Cn%22%2C%22handlebarsVersion%22%3A%224.7.9%22%7D
Screenshot:
Test to reproduce
https://dotnetfiddle.net/uB3Hmu