Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically generate index.html pages when not specified in path property #14

Closed
almirfilho opened this issue Apr 12, 2016 · 10 comments
Closed

Comments

@almirfilho
Copy link

Today, if you wanna have your pages paths set as page/2/, and not as page/2/index.html, setting the path option as page/:num/ will make the generation just to output files named like /page/2, but we want files to be named as /page/2/index.html.

metalsmith.use(pagination({
  "collections.posts": {
    "path": "page/:num/"
  }
}));

Current output:

root/
  page/
    1        <- file, not folder
    2        <- file, not folder
    3        <- file, not folder
    ...

Desired output:

root/
  page/
    1/
      index.html
    2/
      index.html
    3/
      index.html
    ...

That way, it works in accordance with metalsmith-permalinks as well.

Let me know what you think about this.
And thanks for this awesome plugin! =)

@blakeembrey
Copy link
Owner

I don't understand the issue you've written. What are you asking for?

@blakeembrey
Copy link
Owner

and not as page/2/index.html

You state this in the beginning, but everything else says that's actually what you want? That's literally the example in the README, so is there something else you're trying to do?

@almirfilho
Copy link
Author

The problem is that when we configure the option {path: 'page/:num/index.html'}, the value of page.path of every page inside the templates (pagination variable) contains an 'index.html' appended to its end.

What I want is the possibility to configure the option {path: 'page/:num/'} (note, without 'index.html') to get the value of page.path inside templates as just 'page/2/' (without 'index.html') – but this way, pages are not being generated as an index.html file inside a '2' folder (page/2/index.html), they are being generated just as a file called '2'. I wanna fix this to get them generated as page/2/index.html in anyway.

@almirfilho
Copy link
Author

@blakeembrey just take a look at the differences between the current and desired outputs in issue description above. I hope I made this clearer now =)

@blakeembrey
Copy link
Owner

Ok, now I understand the question. It should already work fine with metalsmith-pagination. Just look at http://blakeembrey.com/.

@blakeembrey
Copy link
Owner

What exactly do you intend to do that would change the behaviour?

@blakeembrey
Copy link
Owner

Actually, it's still not clear. Can you state the issue without mixing up implementation details? To confirm, you want to generate /path/2/index.html but have the path set as path/2? If so, that's what the permalinks plugin does already and I'll need to clear up what's missing.

@almirfilho
Copy link
Author

Yeap, that's it. Generate the index.html file but have the path set without index.html at the end.

I took a look at your blog source and it's exactly in the same way I'm already using here. But path remains with the index.html at the end. Odd.

@blakeembrey
Copy link
Owner

@almirfilho It definitely works, been using it forever 😄 Are you using permalinks before or after pagination - remember that metalsmith is just a stack of functions (like Express, etc).

@almirfilho
Copy link
Author

I was using it after metalsmith-permalinks and that was the problem. Sorry for the confusion and thanks for your help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants