From 79450f91fe8cfee9671c2b04687a7a0ec3f4f366 Mon Sep 17 00:00:00 2001 From: Zach Leatherman Date: Wed, 16 Nov 2022 16:24:44 -0600 Subject: [PATCH] Fixes #16 --- package.json | 2 +- src/eleventyWebcTemplate.js | 2 +- .../_components/say-hello.webc | 1 + test/shortcodes-issue-16/eleventy.config.js | 17 +++++++++++++++++ test/shortcodes-issue-16/page.webc | 8 ++++++++ test/test.js | 12 ++++++++++++ 6 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 test/shortcodes-issue-16/_components/say-hello.webc create mode 100644 test/shortcodes-issue-16/eleventy.config.js create mode 100644 test/shortcodes-issue-16/page.webc diff --git a/package.json b/package.json index 04aa703..660411a 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ ] }, "dependencies": { - "@11ty/eleventy": "^2.0.0-canary.16", + "@11ty/eleventy": "^2.0.0-canary.17", "@11ty/webc": "^0.7.1" }, "devDependencies": { diff --git a/src/eleventyWebcTemplate.js b/src/eleventyWebcTemplate.js index 2e15af7..f541a96 100644 --- a/src/eleventyWebcTemplate.js +++ b/src/eleventyWebcTemplate.js @@ -125,7 +125,7 @@ module.exports = function(eleventyConfig, options = {}) { let fn = await CompileString(content, syntax, { templateConfig: eleventyConfig }); - return fn(data); + return fn(this); } return content; }); diff --git a/test/shortcodes-issue-16/_components/say-hello.webc b/test/shortcodes-issue-16/_components/say-hello.webc new file mode 100644 index 0000000..ad7eb5a --- /dev/null +++ b/test/shortcodes-issue-16/_components/say-hello.webc @@ -0,0 +1 @@ +COMPONENTS DIR \ No newline at end of file diff --git a/test/shortcodes-issue-16/eleventy.config.js b/test/shortcodes-issue-16/eleventy.config.js new file mode 100644 index 0000000..f367190 --- /dev/null +++ b/test/shortcodes-issue-16/eleventy.config.js @@ -0,0 +1,17 @@ +const EleventyWebcPlugin = require("../../eleventyWebcPlugin.js"); + +module.exports = function (eleventyConfig) { + eleventyConfig.addShortcode("testing", () => { + // WebC in a shortcode! + return ""; + }); + + eleventyConfig.addFilter("uppercase", (str) => { + return str.toUpperCase(); + }); + + + eleventyConfig.addPlugin(EleventyWebcPlugin, { + components: "./test/shortcodes-issue-16/_components/*.webc" + }); +}; diff --git a/test/shortcodes-issue-16/page.webc b/test/shortcodes-issue-16/page.webc new file mode 100644 index 0000000..25a228a --- /dev/null +++ b/test/shortcodes-issue-16/page.webc @@ -0,0 +1,8 @@ +--- +frontmatterdata: "HELLO FROM FRONT MATTER" +--- + \ No newline at end of file diff --git a/test/test.js b/test/test.js index c30d89a..51cec85 100644 --- a/test/test.js +++ b/test/test.js @@ -314,3 +314,15 @@ hi `); }); + +test("Shortcodes, issue #16", async t => { + let elev = new Eleventy("./test/shortcodes-issue-16/page.webc", "./test/shortcodes-issue-16/_site", { + configPath: "./test/shortcodes-issue-16/eleventy.config.js" + }); + + let results = await elev.toJSON(); + let [result] = results; + t.is(normalize(result.content), `HELLO FROM FRONT MATTER +COMPONENTS DIR +LOWERCASE`); +});