문제

In Wintersmith, the default blog template generates posts from content/articles/<article>/index.md. This is fine as it allows associated files like images to be included with the article. But in practice, most "blog posts" are just text content associated with a template. Having to create subdirs is a minor annoyance, and if editing multiple entries in a tabbed editor, it's annoying having everything named index.md.

The site generator will spit out articles/basic-post.html files, but does not include these in the generated index or archive pages. How can I get the latter to work without breaking anything?

This may or may not be a simple problem, but I'm new to Wintersmith and haven't seen how to do this. I'm not sure it's as trivial as editing the default paginator (and I am not that used to CoffeeScript, which maybe it's time to address that :)

In paginator.coffee:

getArticles = (contents) ->
  # helper that returns a list of articles found in *contents*
  # note that each article is assumed to have its own directory in the articles directory
  articles = contents[options.articles]._.directories.map (item) -> item.index
  articles.sort (a, b) -> b.date - a.date
  return articles

This looks like the place, however it seems like a bad idea to directly edit a plugin, for potential future updates to work.

Wintersmith is pretty awesome btw.

도움이 되었습니까?

해결책

You were right: theanswer lies into the paginator plugin.

Wintersmith will constently watch the contents folder, building a ContentTree array. That objet array will contain a descriptor for each file and folder within contents.

The getArticles just filter this possible candidates, and you just need to enhance it to get plain markdown files in the contents/articles folder.

  getArticles = (contents) ->
    # helper that returns a list of articles found in *contents*
    # include articles with dedicated directory
    articles = contents[options.articles]._.directories.map (item) -> item.index
    # add articles that are in the *contents/articles* folder 
    articles = articles.concat contents[options.articles]._.pages
    articles.sort (a, b) -> b.date - a.date
    return articles
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top