Skip to content

Releases: brokenhandsio/SteamPress

0.11.1

22 Jun 01:00
Compare
Choose a tag to compare

SteamPress 0.11.1

This release contains the Auth tests PR (#14) which massively improves code coverage! It also contains some updates for the latest Vapor releases and some general tidy ups

0.11.0

24 May 12:22
Compare
Choose a tag to compare

SteamPress 0.11.0

This release finally brings in support for Vapor 2! For full information how to use, checkout the README

Also checkout the blog post on the migration at https://www.steampress.io/blog/posts/migrating-to-vapor-2/

0.10.2

17 Apr 19:45
Compare
Choose a tag to compare

SteamPress 0.10.2

Warning - This will be the last release of SteamPress that supports Vapor 1. After this release only Vapor 2 will be supported.

This release adds the ability to disable various routes. You can disable the routes for authors pages and tags pages (both individual and all) by adding the option in your configuration file. To disable all of the authors pages, in your steampress.json add:

{
    "enableAuthorsPages": false
}

To disable all of the tags pages, set:

{
    "enableTagsPages": false
}

Both of these settings can also be configured if manually setting up the Provider:

let steampress = SteamPress.Provider(postsPerPage:5, enableAuthorsPages: true, enableTagsPages: true)

0.10.1

13 Apr 13:26
Compare
Choose a tag to compare

SteamPress 0.10.1

Warning - This will be the last release of SteamPress that supports Vapor 1. After this release only Vapor 2 will be supported.

This release adds support for configuring the Bootstrap version of the Paginator used in SteamPress. By default, the paginator used by SteamPress is expecting to use Bootstrap 4. You can configure it to use Bootstrap 3 by either adding it to the configuration file or the manual initialisation. To add to a config file, in your steampress.json, add:

{
    "postsPerPage": 5,
    "blogPath": "blog",
    "paginator": {
        "useBootstrap4": false
    }
}

To manually iniatialise, set up the Provider like so:

let steampress = SteamPress.Provider(postsPerPage: 5, blogPath: "blog", useBootstrap4: false)

0.10.0

05 Apr 10:42
Compare
Choose a tag to compare

SteamPress 0.10.0 - The Author's Grand Renaming

Warning - This will be the last release of SteamPress that supports Vapor 1. After this release only Vapor 2 will be supported.

This should hopefully be the last major breaking change for a while! This release expands the author's profile, adding things like a profile picture, Twitter handle, and a tagline, so it can look like this. It also standardises the naming of parameters in Leaf templates to make them consistent.

Author Profile

The BlogUser has a number of added optional properties to it. These include in the Node:

  • profile_picture - an HTTP URL to a profile picture
  • twitter_handle - the Twitter username of the Author (without the @)
  • biography - A biography of the author
  • tagline - A short tagline about the author

The profile.leaf Posts in now Paginated so you will need to make changes, similar to the tag.leaf template.

The Grand Renaming

In order to standardise the naming across all of the parameters in the Leaf templates, they have all been converted to snake_case. Previously they were a mixture of snake_case and camelCase but this has now been fixed. This does of course break a lot of parameters in the Leaf files, but it means it will be easier going forward. For details about the names, see the (README)[https://github.com/brokenhandsio/SteamPress/blob/master/README.md].

0.9.0

24 Mar 00:44
Compare
Choose a tag to compare

SteamPress 0.9.0

This release introduces Draft blog posts to SteamPress. Posts can now be saved and published at a later date. Draft posts are viewable to anyone with the link, but they will not appear on the Blog index page or in the pages of tags or authors that they may be linked to. There is also a new parameter, published on BlogPost which will be passed into all Contexts.

Breaking Changes

There are a number of breaking changes to the Leaf templates and POST requests to accommodate drafts.

POST Changes

You must send your create/edit forms with either a publish or save-draft parameter. If neither of these are supplied with the POST then a 400 error will be returned. An example of how this can be done with two form submit buttons can be seen in the Example Site.

Leaf Changes

On the Admin page index.leaf template, the posts parameter has been removed. Published posts will be passed into a published_posts parameter and draft posts will be passed into a draft_posts parameter.

Finally, in the createPost.leaf template, if the post is a draft, a draft parameter will be passed in.

Database Changes

Thankfully I have finally done migrations properly and this release will not require any database changes, despite it breaking the scheme for BlogPost. There is a BlogPostDraft preparation that will do the migration for you, so you shouldn't lose any data*.

(* Obviously you should always back up your data as things can go wrong!)

0.8.0

17 Mar 18:41
Compare
Choose a tag to compare

SteamPress 0.8.0

This release improves Open Graph support and adds more endpoints to help users and SEO.

New Endpoints

There are new endpoints for all tags and all authors that require two new Leaf templates in the blog directory:

  • tags.leaf - A page for all of the tags on the blog
  • authors.leaf - A page for all of the authors on the blog

Full details about the parameters for these templates can be found on the README.

New Open Graph Image support

The post_description parameter that is passed to the blogpost.leaf template now also uses SwiftSoup for better HTML parsing.

New Contexts

The BlogUser and BlogTag both now have a new Context enum - BlogUserContext and BlogTagContext, with a withPostCount option - this will provide the number of posts for that user or tag as a post_count parameter on the Node.

New Parameters

The Blog index page now gets passed an array of authors containing all of the BlogUsers on the blog.

Breaking Changes

Other than the new endpoints outlined above, there should be no other breaking changes (and no databases breaking changes).

0.7.0

14 Mar 10:02
Compare
Choose a tag to compare

SteamPress 0.7.0

This release enables support for Social Media with Open Graph and Twitter cards as well as a number of bug fixes.

New Features

  • All the public pages will get a site_twitter_handle passed to them as a parameter if a twitter configuration option is set with a siteHandle property - though this can easily be hardcoded in if you prefer
  • All public pages are passed the full URL of that page as a uri paramater, except the blog post page which is different (see below)
  • The BlogPostContext.all context now has two additional parameters, created_date_iso8601 and last_edited_date_iso8601 (if the post has been edited). These contain the dates in ISO8601 (shock horror) which is what Open Graph and Twitter require.
  • The BlogTag.makeNode() function now has a new parameter (when not called with a DatabaseContext) - url_encoded_name - this is for adding to web links in case the tags contain any URL reserved characters. Note there is a bug in Vapor #899 that is blocking this functionality
  • The Blog Post page now has a number of additional parameters to help with sharing on social media etc and to support Open Graph fully. These are:
    • post_uri - the URL of the blog post
    • post_uri_encoded - the URL encoded link to the post - useful for adding to sharing links in a query
    • site_uri - The URL of the root site - useful for creating links to the author's page for Open Graph
    • post_description - Useful for SEO and snippets for sharing, as well as required for Open Graph. This is the short snippet with all the HTML stripped out
    • site_twitter_handle - see above

Bugs fixed

  • The page for a tag now just shows the posts under that tag...as opposed to every post on the blog! I've even made it so they are in the right order now - which helps!

Breaking Changes

There should be no breaking changes as part of this release.

0.6.1

07 Mar 12:24
Compare
Choose a tag to compare

SteamPress 0.6.1

This release uses the BCrypt.digest() function to generate password digest instead of the old hash() function to remove deprecation warnings. The BlogUser initialiser that takes the BlogUserCredentials can now throw but this is all handled within SteamPress so there should be no outward facing changes since 0.6.1.

There are no other changes in this release.

0.6.0

04 Mar 22:24
Compare
Choose a tag to compare

SteamPress 0.6.0

This release improves the way tags are handled when creating and editing blog posts. Enabling you to do things like this:

Tag Demo

New Features

A new API has been added at /<blog-path>/api/tags that will return all of the tags in JSON form the have currently been added.

Breaking Changes

This release contains breaking changes when dealing with tags. For the createPost.leaf template, the tagsSupplied parameter is now an array of BlogTags instead of a space-separated string. This allows for tags to have spaces in the name.

The POST handlers for creating and editing posts now expect the inputTags fields to come from a select element instead of a input element. This is to help support the likes of Select2 and allow for tags with spaces and other punctuation in.