code: function (done) {
      var templates = {};
  
      this.allExtensions(function (type, id, plugin, next) {
        var tasks = [];
        if (!plugin.templates) return next();
        var task = function (tpl, fname, next) {
          fs.readFile(fname, 'utf8', function (err, data) {
            if (err) return next(err);
            templates[tpl] = data;
            next();
          });
        };
        for (var tpl in plugin.templates) {
          templates[tpl] = plugin.templates[tpl];
          if (!/\.html$/.test(plugin.templates[tpl])) continue;
  
          var fname = path.join(plugin.dir, plugin.templates[tpl]);
          tasks.push(task.bind(tpl, fname));
        }
        if (!tasks.length) return next();
        async.parallel(tasks, next);
      }, function (err) {
        done(err, templates);
      });
    }
docs: initTemplates(done) -> done(err, { "tplname": "template text", ... })  find templates defined by plugins' strider.json config looks like: "templates": { "filetplname": "path/to/tpl.html", "inlinetplname": "<div>Hi</div>", ... } Template values that end in ".html" will be read from disk relative to the plugin directory