-
-
Save andymantell/1bd1e0fb5f8d659bf11f to your computer and use it in GitHub Desktop.
| var assemble = require('assemble'); | |
| var ext = require('gulp-extname'); | |
| module.exports = function(grunt) { | |
| grunt.registerTask('assemble', 'Assemble', function() { | |
| var done = this.async(); | |
| var site = assemble.init(); | |
| site.partials('src/core/templates/partials/**/*.hbs'); | |
| site.layouts('src/core/templates/layouts/*.hbs'); | |
| site.option('layout', 'default'); | |
| // Dummy helpers to stop errors being thrown for the moment | |
| site.helper('author', function() {return 'here'}); | |
| site.helper('button', function() {return 'here'}); | |
| site.helper('byline', function() {return 'here'}); | |
| site.helper('compile', function() {return 'here'}); | |
| site.helper('debug', function() {return 'here'}); | |
| site.helper('icon', function() {return 'here'}); | |
| site.helper('ifCond', function() {return true}); | |
| site.helper('image', function() {return 'here'}); | |
| site.helper('loadArticle', function() {return []}); | |
| site.helper('loadAuthorArticles', function() {return []}); | |
| site.helper('navigation', function() {return 'here'}); | |
| site.helper('panel', function() {return 'here'}); | |
| site.helper('parseJSON', function() {return []}); | |
| site.helper('render', function() {return 'here'}); | |
| site.helper('renderJSON', function() {return 'here'}); | |
| site.helper('teamFiller', function() {return ''}); | |
| // Build the pattern library | |
| site.task('demo', function() { | |
| site | |
| .src('src/sites/demo/pages/**/*.hbs') | |
| .pipe(ext()) | |
| .pipe(site.dest('converted-html/demo')); | |
| }); | |
| // Build the main site | |
| site.task('main', function() { | |
| site | |
| .src('src/sites/main/pages/**/*.hbs') | |
| .pipe(ext()) | |
| .pipe(site.dest('converted-html/main')); | |
| }); | |
| site.run(['demo', 'main'], done); | |
| }); | |
| }; |
Thanks Jon, that's good to know. What's the prognosis? It's obviously a fairly critical one that would block me from upgrading to 0.6.
Should I bail out, and return to 0.4? I'm totally expecting there to be various issues with 0.6 which I'm happy to ride out and help you diagnose etc but at the same time I have to deliver to my client so if 0.6 is not quite ready yet it would be great to get an idea of roughly how it's currently looking. Thanks!
@anymantell will you put console.log('layouts', site.views.layouts) on line 13?
It's really hard to debug this when all we have are small pieces. I haven't been having problems with layouts so I need to find out if somehow I have a different version of something that's working only for me.
Yeah, sorry, I realise it's really hard to debug this kind of stuff remotely. Here's the output of site.views.layouts from line 13 anyway:
One thing I noticed is that in all of your sub-layouts, you're using layout: default.hbs... it should just be layout: default. If you're doing this inside your pages, then it won't be pointing to the correct layout since page frontmatter overrides the global options e.g. site.option('layout', 'default');
Another thing that I had to do was return the streams inside the assemble tasks so the run waited for them to finish before telling grunt that it was done.
I created this repo with some samples based on what you described and everything seems to be working for me with those changes.
Hooray! That's pretty much sort of working now :-) It's all kinds of broken still, but that's to be expected - I still need to migrate all my helpers and I daresay fix a few other things but this is a darn good start - it gets about halfway through rendering now and the output all looks correctish and well formed. So, now I just need to finish the migration...
Thankyou so much for your help, is massively appreciated. I'll keep you posted on my progress... :-)
like @doowb mentioned, yes. but... we used to make you jump through hoops to register them, now you can just register a regular javascript function as a helper. e.g:
I think this is the issue I discussed with @doowb a day or two ago. It's not you! I think it's a bug