Skip to content

Commit

Permalink
feat: support layout none, closes #299
Browse files Browse the repository at this point in the history
  • Loading branch information
harttle committed Feb 11, 2021
1 parent 71d5d24 commit 81e11bb
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
8 changes: 7 additions & 1 deletion src/builtin/tags/layout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,18 @@ export default {
render: function * (ctx: Context, emitter: Emitter) {
const { liquid, hash, file } = this
const { renderer } = liquid
if (file.getText() === 'none') {
ctx.setRegister('blockMode', BlockMode.OUTPUT)
const html = yield renderer.renderTemplates(this.tpls, ctx)
emitter.write(html)
return
}
const filepath = ctx.opts.dynamicPartials
? (TypeGuards.isQuotedToken(file)
? yield renderer.renderTemplates(liquid.parse(evalQuotedToken(file)), ctx)
: evalToken(this.file, ctx))
: file.getText()
assert(filepath, () => `illegal filename "${file.getText()}":"${filepath}"`)
assert(filepath, () => `file "${file.getText()}"("${filepath}") not available`)
const templates = yield liquid._parseFile(filepath, ctx.opts, ctx.sync)

// render remaining contents and store rendered results
Expand Down
9 changes: 8 additions & 1 deletion test/integration/builtin/tags/layout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,16 @@ describe('tags/layout', function () {
})
return liquid.renderFile('/parent.html').catch(function (e) {
expect(e.name).to.equal('RenderError')
expect(e.message).to.match(/illegal filename "foo":"undefined"/)
expect(e.message).to.contain('file "foo"("undefined") not available')
})
})
it('should handle layout none', async function () {
const src = '{% layout none %}' +
'{%block a%}A{%endblock%}' +
'B'
const html = await liquid.parseAndRender(src)
return expect(html).to.equal('AB')
})
describe('anonymous block', function () {
it('should handle anonymous block', async function () {
mock({
Expand Down

0 comments on commit 81e11bb

Please sign in to comment.