Giter Site home page Giter Site logo

Comments (8)

micahgodbolt avatar micahgodbolt commented on August 11, 2024 1

Ah! Finally found it. The directory has to be set like this:

var nunjucks = require('nunjucks');
nunjucks.configure('./templates', {watch: false})

from layouts.

grancalavera avatar grancalavera commented on August 11, 2024

I'm using nunjucks, and I'm facing the same issue. I found you can configure nunjucks and add filters globally:

nunjucks
  .configure({watch: false})
  .addFilter('stretch', function(str) {
    return str.split('').map(function(char) {
      var stretched = '', i = 0
      for (i; i < 5; i++) { stretched += char }
      return stretched
    }).join('').toLowerCase()
  })

Then you can use the filter normally in your templates:

{{ title|stretch }}

from layouts.

ismay avatar ismay commented on August 11, 2024

Sorry for the late reply, I've been a little busy. But yeah, as @grancalavera said, you can configure a global instance of the templating engine to solve this.

I'm doing something similar here, where I'm instantiating handlebars and passing it some partials, to be used later in metalsmith (or gulpsmith in this case). Let me know if that solves it for you!

(I'll also add this to the documentation for posterity btw, it hasn't really been properly documented.)

from layouts.

Rowno avatar Rowno commented on August 11, 2024

Thanks, I ended up using Swig and configuring it globally using swig.setDefaults({ cache: false });. But it's likely that not all templating engines support global config.

from layouts.

ismay avatar ismay commented on August 11, 2024

@Rowno Yeah that could be, I'll check it out. It needs to at least be documented, because I ran into this myself as well.

from layouts.

ismay avatar ismay commented on August 11, 2024

Related: segment-boneyard/metalsmith-templates#23

from layouts.

ismay avatar ismay commented on August 11, 2024

So depending on the outcome of this issue: tj/consolidate.js#203, it might indeed be a good idea to expose the consolidate.requires object.


Edit: Yeah, consolidate.requires needs to be exposed. Not all templating languages can be configured without it, as @Rowno suspected.

from layouts.

micahgodbolt avatar micahgodbolt commented on August 11, 2024

@ismay your link of https://github.com/superwolff/cape/blob/master/gulp/util/gulpsmith.js 404s now. I'm still struggling with nunjucks and extending directory. Is there a new home for that file?

from layouts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.