basecampjs 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +10 -7
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -128,18 +128,20 @@ async function walkFiles(dir) {
128
128
  return results;
129
129
  }
130
130
 
131
- function createNunjucksEnv(layoutsDir, pagesDir, srcDir) {
132
- // Allow templates to resolve from layouts, pages, or the src root
131
+ function createNunjucksEnv(layoutsDir, pagesDir, srcDir, partialsDir) {
132
+ // Allow templates to resolve from layouts, partials, pages, or the src root
133
+ const searchPaths = [layoutsDir, partialsDir, pagesDir, srcDir].filter(Boolean);
133
134
  return new nunjucks.Environment(
134
- new nunjucks.FileSystemLoader([layoutsDir, pagesDir, srcDir], { noCache: true }),
135
+ new nunjucks.FileSystemLoader(searchPaths, { noCache: true }),
135
136
  { autoescape: false }
136
137
  );
137
138
  }
138
139
 
139
- function createLiquidEnv(layoutsDir, pagesDir, srcDir) {
140
+ function createLiquidEnv(layoutsDir, pagesDir, srcDir, partialsDir) {
140
141
  // Liquid loader will search these roots for partials/layouts
142
+ const root = [layoutsDir, partialsDir, pagesDir, srcDir].filter(Boolean);
141
143
  return new Liquid({
142
- root: [layoutsDir, pagesDir, srcDir],
144
+ root,
143
145
  extname: ".liquid",
144
146
  cache: false
145
147
  });
@@ -261,11 +263,12 @@ async function build(cwdArg = cwd) {
261
263
  const srcDir = resolve(cwdArg, config.srcDir || "src");
262
264
  const pagesDir = join(srcDir, "pages");
263
265
  const layoutsDir = join(srcDir, "layouts");
266
+ const partialsDir = join(srcDir, "partials");
264
267
  const dataDir = join(srcDir, "data");
265
268
  const publicDir = resolve(cwdArg, "public");
266
269
  const outDir = resolve(cwdArg, config.outDir || "dist");
267
- const env = createNunjucksEnv(layoutsDir, pagesDir, srcDir);
268
- const liquidEnv = createLiquidEnv(layoutsDir, pagesDir, srcDir);
270
+ const env = createNunjucksEnv(layoutsDir, pagesDir, srcDir, partialsDir);
271
+ const liquidEnv = createLiquidEnv(layoutsDir, pagesDir, srcDir, partialsDir);
269
272
  const data = await loadData(dataDir);
270
273
 
271
274
  await cleanDir(outDir);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "basecampjs",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "type": "module",
5
5
  "description": "BasecampJS engine for CampsiteJS static site generator.",
6
6
  "bin": {