11ty / eleventy-plugin-webc

Adds support for WebC *.webc files to Eleventy
https://www.11ty.dev/docs/languages/webc/
120 stars 10 forks source link

WebC with Nunjucks: an error with JavaScript Data Files #51

Closed rocc-o closed 1 year ago

rocc-o commented 1 year ago

I'm still experimenting, I like WebC very much and so far everything is going well, except when I try to use JavaScript Data Files inside template:

{# _components/site-footer.webc #}

<template webc:type="11ty" 11ty:type="njk">

<footer>
<div class="footer__copyright">&copy; {{ helpers.currentYear() }} </div>
</footer>

<style>
  {% include "partials/css/inline__webc__footer.min.css" %}
</style>

</template>
{# _data/helpers.js #}

module.exports = {
  currentYear() {
    const today = new Date();
    return today.getFullYear();
  }
};
{# _includes/pages-layout.njk #}

  {% renderTemplate "webc" %}
  <site-footer></site-footer>
  {% endrenderTemplate %}
  <style>{{ page.url | webcGetCss | safe }}</style>

then I get: "Error: Unable to call helpers["currentYear"], which is undefined or falsey (via Template render error)"

I have also tried <script webc:type="render">{{ helpers.currentYear() }}</script> and <script webc:type="js">{{ helpers.currentYear() }}</script> but still same Error.

Also another question, please, I cannot {% include "_footer.njk" %} inside site-footer.webc Maybe it doesn't make much sense to do it, but just out of curiosity.

Thanks!

rocc-o commented 1 year ago

Oops... https://11ty.webc.fun/recipes/generating-dynamic-data/