Blog Posts and Feeds

Managing Blog Posts

Adding a New Blog Post

Managing blog posts in Harmony is both simple and extremely flexible. Date-based publishing, in combination with Harmony’s extremely flexible template system, makes for an amazingly versatile blogging platform. To create a new blog post, pull up your blogs dashboard, then click the ‘Add New Post’ link under ‘Blog Management.’

Blog Posts and Templates

Like every item in your site, each blog post is assigned a template that’s been created in your themes section. To change the template, click the ‘Edit’ button next to the template name in the ‘Post Information’ sidebar.

When you select a different template, the form fields to collect the data for that template will be loaded into the blog post form automatically. If desired, you could create different templates for different types of posts, similar to a tumble log.

Categories and Tags

Harmony uses labels to help you organize your posts. When creating a blog post, you can choose to present your labels as categories or tags, depending on your needs. When you select categories, you’re given a list of categories to select from in the ‘Post Information’ sidebar. When you select tags, you’re given a field at the end of your blog post to fill in a comma separated list of labels, in freeform. To change how your tags are presented, just change the value in your blog settings area.

Draft Posts

If you like to compose and tweak blog posts for a bit before you publish, Harmony will allow you to save a post as a draft, and show you a list of your draft posts on the blog dashboard. We recommend creating draft posts of any blog ideas you have, even if all you do at the time is write a title. It’s an easy way to keep a todo list of posts you want to finish later.

XML Feeds

Harmony will automatically create an XML feed of your most recently published posts, located at blog/feed/ by default. You can edit the XML template for your feed, blog.feed.tpl in the themes area, if you wish to add any additional custom data to your blog posts that you want to show up in your feed.

Harmony also provides some simple filters for creating the standard link tags in head of your markup.

{{ site | blog_feed_link_tags }}

This will create link tags to the feeds for each blog in your site. If you want to link to one specific blog, there’s a filter for that as well.

{{ blog | feed_link_tag }}

If you need a basic template to show your blog feed, here’s our default blog feed template.

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>{{ blog.title }}</title>
  <link href="{{ blog.feed.url }}" rel="self" />
  <link href="{{ blog.url }}" />
  <id>{{ blog.id }}</id>
  <updated>{{ blog.last_updated_at | isodate }}</updated>
  {% for post in blog.recent_posts.15 %}
    <entry>
      <title>{{ post.title | h }}</title>
      <link href="{{ post.url }}" />
      <id>{{ post.id }}</id>
      <updated>{{ post.updated_at | isodate }}</updated>
      <published>{{ post.published_at | isodate }}</published>
      <content type="html">{{ post.data.content | h }}</content>
      <author>
        <name>{{ post.author.name | h }}</name>
      </author>
    </entry>
  {% endfor %}
</feed>

Your blog’s feed is set by navigating to your blog, in the Managing Content area, and under the blog’s feed section there’s the option in the right sidebar to change the feed template. By default it’s set to blog.feed.

Deleting a Post

To delete a post, just click the ‘Delete this Post’ button at the bottom right of the post form. You’ll be asked to confirm this, just to make sure you didn’t click it by accident.