punch-blog-content-handler

A special content handler to manage a blog with Punch.

npm install punch-blog-content-handler
11 downloads in the last week
52 downloads in the last month

Punch Blog Content Handler

A special content handler to manage a blog with Punch.

How to Use

  • Install the package:

    npm install punch-blog-content-handler

  • Open your Punch project's configurations (config.json) and add the following:

      "plugins": {
          "content_handler": "punch-blog-content-handler"
      }
    
  • You can use blog section to provide blog specific configurations.

      "blog": {
          "posts_dir": "posts",
          "post_format": "markdown",
          "post_url": "/{year}/{month}/{date}/{title}",
          "archive_urls": {
              "all": "/archive",
              "year": "/{year}",
              "year_month": "/{year}/{month}",
              "year_month_date": "/{year}/{month}/{date}",
              "tag": "/tag/{tag}"
          }
      }
    
  • posts_dir - directory within the project, where your posts are saved. ( default: posts )

  • post_format - Punch will use the available parser for the given format to convert your posts to HTML. ( default: markdown )

  • post_url - You can use the following tags to compose the desired post permalink - {year}, {month}, {date} & {title}. ( default: /{year}/{month}/{date}/{title} )

  • archive_url - URLs to be used for different archive sections. Following archive sections are available.

    • all - to show all published posts. ( default: /archive )
    • year - to show posts published in the given year. ( default: /{year} )
    • year_month - to show posts published in the given month in the year. ( default: /{year}/{month} )
    • year_month_date - to show posts published in the given date. ( default: /{year}/{month}/{date} )
    • tag - to show posts tagged with the given tag. ( default: /tag/{tag} )

Note that content handler will create only the necessary URLs for the above archive pages. You will need to create a helper to fetch the matching posts.

License

Copyright (c) 2012 Lakshan Perera Licensed under the MIT license.

npm loves you