Преглед на файлове

Revert "Revert cli back to what it was while I fix the tests for windows"

This reverts commit 42fbdc3850.
pull/558/head
kookookchoozeus преди 10 години
родител
ревизия
52a44f54d2
променени са 1 файла, в които са добавени 30 реда и са изтрити 3 реда
  1. +30
    -3
      bin/mustache

+ 30
- 3
bin/mustache Целия файл

@@ -78,7 +78,13 @@ function readPartials (cb) {
var partialPath = partialsPaths.pop(); var partialPath = partialsPaths.pop();
var partial = fs.createReadStream(partialPath); var partial = fs.createReadStream(partialPath);
streamToStr(partial, function onDone (str) { streamToStr(partial, function onDone (str) {
partials[getPartialName(partialPath)] = str;

var keysArray = getPartialNames(partialPath);

keysArray.forEach(function addPartialNames (key) {
partials[key] = str;
});

readPartials(cb); readPartials(cb);
}); });
} }
@@ -131,6 +137,27 @@ function hasVersionArg () {
}); });
} }


function getPartialName (filename) {
return path.basename(filename, '.mustache');
function getPartialNames (filename) {

// get path relative to the template file
// in order to use e.g. {{> ../common/footer }}

// before, {{> footer }} used the first -p file with the filename 'footer'
// the second replace is for a consistent form between platforms
// without it, you would have to use {{> ..\\common\\footer }} for windows
// and {{> ../common/footer }} for *nix

// this can be extended to the mustache API by using the relative path as
// the key in the partials object
// e.g. mustache.render(template, view, { '../../common/footer': '...' })
var relativePath = path.
relative(templateArg, filename).
replace('.mustache', '').
replace(/\\{1,2}/g, '/');

return [
path.basename(filename, '.mustache'),
relativePath
];
} }

Loading…
Отказ
Запис