diff --git a/news/changelog-1.7.md b/news/changelog-1.7.md index e9d7589e4e..02b92a2287 100644 --- a/news/changelog-1.7.md +++ b/news/changelog-1.7.md @@ -11,7 +11,11 @@ All changes included in 1.7: - ([#11654](https://github.com/quarto-dev/quarto-cli/issues/11654)): Allow `page-inset` as value in `column` key for code cells. -## Book Project +## Website projects + +- ([#11701](https://github.com/quarto-dev/quarto-cli/issues/11701)): Wrap HTML emitted by EJS templates in `{=html}` blocks to avoid memory blowup issues with Pandoc's parser. + +## Book projects - ([#11520](https://github.com/quarto-dev/quarto-cli/issues/11520)): Book's cover image now escapes lightbox treatment, which was incorrectly applied to it when `lightbox: true` was set in the book's configuration. diff --git a/src/resources/projects/website/listing/item-default.ejs.md b/src/resources/projects/website/listing/item-default.ejs.md index 278b153b32..edaebc664f 100644 --- a/src/resources/projects/website/listing/item-default.ejs.md +++ b/src/resources/projects/website/listing/item-default.ejs.md @@ -65,7 +65,7 @@ print(`
${listing.utilities.outputLi <% } %>
-<% if (fields.includes('date') && item.date) { %>
`<%= item.date %>`{=html}
<% } %> +<% if (fields.includes('date') && item.date) { %>
<%= item.date %>
<% } %> <% if (fields.includes('author') && item.author) { %>
<%= item.author %>
<% } %> <% if (fields.includes('reading-time') && item['reading-time']) { %>
<%= item['reading-time'] %>
<% } %> <% for (const field of otherFields) { %> diff --git a/src/resources/projects/website/listing/item-grid.ejs.md b/src/resources/projects/website/listing/item-grid.ejs.md index 860e77ad6a..a584349734 100644 --- a/src/resources/projects/website/listing/item-grid.ejs.md +++ b/src/resources/projects/website/listing/item-grid.ejs.md @@ -79,7 +79,7 @@ const flexJustify = showField('author') && showField('date') ? "justify" : showF <% if (showField('author') || showField('date')) { %>
<% if (showField('author')) { %>
<%= item.author %>
<% } %> -<% if (showField('date')) { %>
`<%= item.date %>`{=html}
<% } %> +<% if (showField('date')) { %>
<%= item.date %>
<% } %>
<% } %> diff --git a/src/resources/projects/website/listing/listing-default.ejs.md b/src/resources/projects/website/listing/listing-default.ejs.md index a191a600f2..c95f18c77d 100644 --- a/src/resources/projects/website/listing/listing-default.ejs.md +++ b/src/resources/projects/website/listing/listing-default.ejs.md @@ -1,5 +1,7 @@ :::{.list .quarto-listing-default} +``````{=html} <% for (const item of items) { %> <% partial('item-default.ejs.md', {listing, item, utils }) %> <% } %> +`````` ::: diff --git a/src/resources/projects/website/listing/listing-grid.ejs.md b/src/resources/projects/website/listing/listing-grid.ejs.md index 855865c50c..f049b94bb3 100644 --- a/src/resources/projects/website/listing/listing-grid.ejs.md +++ b/src/resources/projects/website/listing/listing-grid.ejs.md @@ -3,7 +3,9 @@ const cols = listing['grid-columns']; %> :::{.list .grid .quarto-listing-cols-<%=cols%>} +```{=html} <% for (const item of items) { %> <% partial('item-grid.ejs.md', {listing, item, utils }) %> <% } %> +``` ::: diff --git a/src/resources/projects/website/listing/listing-table.ejs.md b/src/resources/projects/website/listing/listing-table.ejs.md index 14b56db05b..864a26f70f 100644 --- a/src/resources/projects/website/listing/listing-table.ejs.md +++ b/src/resources/projects/website/listing/listing-table.ejs.md @@ -64,6 +64,7 @@ return listing.utilities.outputLink(item, field, value, `listing-${field}`); } %> +```{=html} @@ -90,3 +91,4 @@ return listing.utilities.outputLink(item, field, value, `listing-${field}`); <% } %>
+``` \ No newline at end of file