register built-in helpers (resolvePage and resolvePageURL) with stub implementation...
authorDan Allen <dan@opendevise.com>
Wed, 18 Mar 2020 22:02:54 +0000 (16:02 -0600)
committerDan Allen <dan@opendevise.com>
Wed, 18 Mar 2020 22:41:31 +0000 (16:41 -0600)
gulp.d/tasks/build-preview-pages.js

index 74d61ae..91cb1e9 100644 (file)
@@ -79,6 +79,8 @@ function registerPartials (src) {
 }
 
 function registerHelpers (src) {
+  handlebars.registerHelper('resolvePage', resolvePage)
+  handlebars.registerHelper('resolvePageURL', resolvePageURL)
   return vfs.src('helpers/*.js', { base: src, cwd: src }).pipe(
     map((file, enc, next) => {
       handlebars.registerHelper(file.stem, requireFromString(file.contents.toString()))
@@ -100,6 +102,14 @@ function copyImages (src, dest) {
   return vfs.src('**/*.{png,svg}', { base: src, cwd: src }).pipe(vfs.dest(dest))
 }
 
+function resolvePage (spec, context = {}) {
+  if (spec) return { pub: { url: resolvePageURL(spec) } }
+}
+
+function resolvePageURL (spec, context = {}) {
+  if (spec) return '/' + (spec = spec.split(':').pop()).slice(0, spec.lastIndexOf('.')) + '.html'
+}
+
 function toPromise (stream) {
   return new Promise((resolve, reject) => stream.on('error', reject).on('finish', resolve))
 }