assemble / grunt-assemble-permalinks

Permalinks middleware for Assemble, the static site generator for Grunt.js and Yeoman. This plugin enables powerful and configurable URI replacement patterns, presets, uses Moment.js for parsing dates, and much more.
MIT License
43 stars 11 forks source link

adding plugins to assemble options causes task to hang #55

Closed adamwong246 closed 10 years ago

adamwong246 commented 10 years ago
    assemble: {
      options: {
        layout: '<%= config.src %>/layouts/default.hbs',
        plugins: ['assemble-middleware-permalinks', 'assemble-middleware-contextual']
      },

      blog: {
        options: {
          permalinks: {
            structure: ':title:ext'
          }
        },
        src: ['<%= config.src %>/blog/*/*.hbs'],
        dest: './build'
      }
    },

Anytime I add any plugins to the options, the task simply hangs forever. Running "assemble:blog" (assemble) task

doowb commented 10 years ago

@adamwong246 which version of assemble are you using? We had some issues with one of the versions of permalinks and marked.js that caused the hanging. Will you post your package.json?

adamwong246 commented 10 years ago

as I bang my head against my keyboard, I realize that I'm using 4.x. Should noticed the very first line in the docs which state quite clearly that this plugin does not work with assemble. 4.x Though, installing and running Assemble 5.0 is running into an entirely different issue, which I will open on the https://github.com/assemble/assemble/

jonschlinkert commented 10 years ago

sorry @adamwong246, this is totally our messup. thanks for reporting it

adamwong246 commented 10 years ago

Oh really? I don't understand... what was the root of the problem?

jonschlinkert commented 10 years ago

no I just mean that the way we started the transition to v0.5.0, although with good intent, we thought that v0.5.0 would be released faster but now we have repos that need v0.5.0 and it's not even released yet. wtf? however, I think we'll be making up for it soon... :-)

adamwong246 commented 10 years ago

oh cool. So, is there an eta on 5.0? Futhermore, whats the best way to run 0.5.0? I was able to install the 0.5.0 branch with npm install "git://github.com/assemble/assemble.git#v0.5.0" --save-dev however Grunt is reporting that assemble is not installed.

➜  adamwong246.github.io git:(assemble) ✗ npm list  | grep assemble
├─┬ assemble@0.5.0-alpha (git://github.com/assemble/assemble.git#d25bff080dda3b2eb2bf7537cec1dd2ce6e7983d)
│ ├─┬ assemble-collections@0.1.5
│ ├─┬ handlebars-helpers@0.6.0 (git://github.com/assemble/handlebars-helpers#f3de61c6305158d78943f2ff63f3d1a283bce3f3)
├─┬ assemble-middleware-contextual@0.2.2
├─┬ assemble-middleware-permalinks@0.5.2
➜  adamwong246.github.io git:(assemble) ✗ grunt assemble
>> Local Npm module "assemble@0.5.0-alpha" not found. Is it installed?
Warning: Task "assemble" not found. Use --force to continue.

package.json

{
  "dependencies": {
    "moment": "2.3.x",
    "underscore": "1.4.x",
    "typogr": "0.5.x"
  },
  "repository": "none",
  "devDependencies": {
    "grunt-shell": "^0.7.0",
    "grunt-github-pages": "0.0.4",
    "time-grunt": "^0.3.1",
    "grunt-contrib-clean": "^0.5.0",
    "grunt-contrib-connect": "^0.7.1",
    "grunt-contrib-copy": "^0.5.0",
    "grunt-contrib-watch": "^0.6.1",
    "grunt-markdown-pdf": "^2.1.1",
    "assemble": "git://github.com/assemble/assemble.git#v0.5.0",
    "assemble-middleware-permalinks": "^0.5.2",
    "assemble-middleware-contextual": "^0.2.2",
    "typogr": "^0.5.2",
    "underscore": "^1.4.4",
    "moment": "^2.3.1"
  }
}
doowb commented 10 years ago

If you'd like to use assemble 0.5 you should use grunt-assemble, but as @jonschlinkert pointed out, it's still in development.

adamwong246 commented 10 years ago

so that is the difference between https://github.com/assemble/assemble and https://github.com/assemble/grunt-assemble?

doowb commented 10 years ago

yes, the next version of assemble is just a node library so we can use it in other types of things like grunt and gulp or just in a normal javascript file.