{"category":{"version":"58c81e8e693cdd1900606acf","project":"542fe92a5eceb608003fddc8","_id":"58c81e8e693cdd1900606ad0","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2014-10-04T12:33:46.255Z","from_sync":false,"order":0,"slug":"documentation","title":"Documentation"},"parentDoc":null,"project":"542fe92a5eceb608003fddc8","user":"542c5cfcddd3190e00228849","version":{"__v":1,"_id":"58c81e8e693cdd1900606acf","project":"542fe92a5eceb608003fddc8","createdAt":"2017-03-14T16:47:10.620Z","releaseDate":"2017-03-14T16:47:10.620Z","categories":["58c81e8e693cdd1900606ad0","58c81e8e693cdd1900606ad1","58c81e8e693cdd1900606ad2","58c81e8e693cdd1900606ad3","58c81e8e693cdd1900606ad4","58c81e8e693cdd1900606ad5"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"0.11.7","version":"0.11.7"},"_id":"58c81e8e693cdd1900606adb","__v":0,"updates":["57a892f2b1641a1700ede44a"],"next":{"pages":[],"description":""},"createdAt":"2014-10-04T16:00:04.179Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"never","params":[],"url":""},"isReference":false,"order":5,"body":"The following document acts as a reference for developers who  want to keep their theme up-to-date with the latest changes in the Ghost theme API. Since the original [public release of 0.3.2](https://github.com/TryGhost/Ghost/releases/tag/0.3.2) there have been a number of changes to the Ghost theme API and the way Ghost themes work, resulting in some new requirements and some deprecated features.\n\n### Keeping up to date\n\nThe best way to keep up-to-date with the changes is to subscribe to the [developer blog](http://dev.ghost.org). All theme related blog posts are tagged with '[themes](http://dev.ghost.org/tag/themes/)', so you can subscribe to an RSS feed of only [theme related posts](http://dev.ghost.org/tag/themes/rss/) if you prefer.\n\n## Deprecated features\n\nThese features have been deprecated and will be removed in a future version.\n\n* `{{pageUrl}}` helper, used in pagination templates, was renamed to `{{page_url}}` in Ghost 0.4.2\n* `{{author.email}}` was removed in Ghost 0.5.0\n* `.archive-template` and `.page` classes from `{{body_class}}` helper deprecated in 0.5.2\n* `.post-template` class appearing on pages (it will only appear on posts) deprecated as of Ghost 0.5.2\n\n## Important new requirements\n\n* `{{asset}}` helper, introduced in Ghost 0.4.0, is required for including css, js and images in your theme.\nPlease see the [asset helper](/themes/helpers/asset/) documentation for further information.\n* `package.json` file, introduced in Ghost 0.4.2, is required to define the name of your theme file. \nPlease see the [package.json](/themes/structure/#package.json) documentation for further information.\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 1.0 (planned)\"\n}\n[/block]\n(Last Update: 14th March 2017)\n\nWe are in the process of developing Ghost 1.0.0, which is expected to have several breaking changes for theme developers. So far the planned changes are:\n\n- Strong requirements around package.json. Full spec & validator coming soon.\n- Favicon is moving to be an upload, rather than a theme feature, favicons in themes will no longer work\n- Removal of deprecated `{{pageUrl}}` helper. Use `{{page_url}}` instead.\n- Removal of deprecated `{{body_class}}` classes. Use only classes listed in the [Context Overview](doc:context-overview). Classes that are deprecated include:\n    - `.archive-template` appearing on paginated pages, use `.paged`\n    - `.post-template` and `.page` appearing on static pages, use `.page-template`\n    - `.page-template-{{slug}}` appearing on static pages, use `.page-{{slug}}`\n    - Also note, `.page-{{slug}}` used to only appear on pages with custom templates, in 1.0.0 they will be ever present, the same as `.tag-{{slug}}` or `.author-{{slug}}`.\n- Removal of support for the legacy hack {{content words=\"0\"}}\n- Moving the output of meta description to be part of {{ghost_head}}\n- Changing the get helper to support `{{else}}` within `{{#foreach}}`\n- Moving the posts_per_page setting to be theme configuration, and moving it from `{{:::at:::blog.posts_per_page}}` to `{{@config.posts_per_page}}`\n- MAYBE: Improving the public API ghost-url.js tool (renaming, changing how it is included, etc)\n\nAlso in the works are: changes to the get helper, improvement around the image features & an overhaul of how themes are loaded inside of Ghost to reduce bugs.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.11.0 - Ghost 0.11.7\"\n}\n[/block]\nNo changes\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.10.0\"\n}\n[/block]\n(29th August 2016)\n\n### New\n- helpers `{{amp_ghost_head}}`, `{{amp_content}}` and `{{amp_components}` for AMP support\n- template `amp.hbs`\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.9.0\"\n}\n[/block]\n(27th July 2016)\n\n### New\n- `timezone` property available via `@blog`\n- `{{#foreach}}` and `{{tags}}` respect the `visibility` property, meaning internal tags are not shown\n- if your theme contains a `manifest.json` in the root it is now served as a static file\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.8.0\"\n}\n[/block]\n(18th May 2016)\n\n#### New\n- `@labs` global property, currently has `publicAPI` and `subscribers` properties\n- `twitter` and `facebook` properties available via `@blog`\n- `twitter` and `facebook` properties available for authors / users\n- `{{twitter_url}}` and `{{facebook_url}}` helpers for outputting urls based on usernames\n- (labs only) `subscribe` context, with `subscribe.hbs` template & `{{subscribe_form}}` helper\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.9\"\n}\n[/block]\n(7th April 2016)\n\n#### Improved\n- page_url helper now supports \"next\" and \"prev\" as strings, rather than variables\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.8\"\n}\n[/block]\n(18th February 2016)\n\nNo changes \n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.7\"\n}\n[/block]\n(18th February 2016)\n\nNo changes\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.6\"\n}\n[/block]\n(3rd February 2016)\n\n#### Fixed\n- `current` class in navigation now gets applied even if you missed a trailing slash from the URL.\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.5\"\n}\n[/block]\n(12th Jan 2016)\n\n#### New\n* `from` and `to` attribute for both `{{foreach}}` and `{{tags}}`\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.4\"\n}\n[/block]\n(22nd Dec 2015)\n\n#### Fixed\n\n* `{{meta_title}}`, `{{meta_description}}`, `{{body_class}}` & `{{post_class}}` no longer throw aSyNcId errors when used inside the `{{#get}}` helper, or the prev & next post helpers.\n* The `@last` variable will now be correct when using the `limit` attribute with `{{#foreach}}`\n* `ghost.url.api` JavaScript utility works correctly with multiple requests\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.3\"\n}\n[/block]\n(16th Dec 2015)\n\n#### New\n\n* `permalinks` and `posts_per_page` properties available via `@blog`\n* `limit` attribute for both `{{foreach}}` and `{{tags}}`\n*  Custom post templates i.e. `post-{{slug}}.hbs`\n\n#### Fixed\n\n* `{{ghost_head}}` overwriting author.image with author.cover\n* `{{pagination}}` now works inside the `{{#get}}` helper\n\n#### Changed\n\n* `ghost.url.api` JavaScript utility can now be included on external sites\n\n**Note:** in 0.7.3 the way Ghost handles pages of the RSS feed that don't exist has changed (they now correctly return 404). This has impacted on some themes which were parsing the RSS feed to provide features.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.2\"\n}\n[/block]\n(27th Nov 2015)\n\n#### New\n\n* `{{#get}}` helper (Beta access only)\n* `ghost.url.api` JavaScript function (Beta access only)\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.1\"\n}\n[/block]\n(27th Sep 2015)\n\n#### Fixed\n\n* bug with `{{#if current}}` in `{{navigation}}` helper\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.7.0\"\n}\n[/block]\n(3rd Sep 2015)\n\n#### New\n\n* `{{foreach}}` now supports block params e.g. `{{foreach posts as |mypost|}}`\n* `{{foreach}}` has an a `@number` property that outputs the index, starting with 1 instead of 0. \n\n#### Fixed\n\n* `{{tags}}` and `{{author}}` not working inside `{{prev_post}}` and `{{next_post}}`\n\n#### Changed\n\n* `{{tags}}` now respects the order that tags are added to posts\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.6.4\"\n}\n[/block]\n(21 May 2015)\n\n#### Fixed\n\n* `{{meta_description}}` not working correctly on pages\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.6.3\"\n}\n[/block]\n(14 May 2015)\n\n#### New\n\n* New `private` context, with `private.hbs` template & `.private-template` body class \n* Custom author templates i.e. `author-{{slug}}.hbs`\n\n#### Fixed\n\n* `{{meta_title}}` not working correctly on pages\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.6.2\"\n}\n[/block]\n(22 Apr 2015)\n\n#### Fixed\n\n* `{{#prev_post}}` & `{{#next_post}}` helpers not rendering\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.6.1\"\n}\n[/block]\n(22 Apr 2015)\n\n#### Fixed\n\n* {{ghost_head}} throwing errors on custom error.hbs pages\n* {{author.email}} being incorrectly available sometimes\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.6.0\"\n}\n[/block]\n(13 Apr 2015)\n\n#### New:\n\n* `{{#prev_post}}` & `{{#next_post}}` helper\n\n#### Fixed\n\n* @blog globals now work in `navigation.hbs` and `pagination.hbs`\n* `{{meta_title}}` and `{{meta_description}}` now work inside of the post scope\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.10\"\n}\n[/block]\n(9 Mar 2015)\n\nNo changes\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.9\"\n}\n[/block]\n(28 Feb 2015)\n\n#### New:\n\n* `{{navigation}}` helper\n* `{{@blog.navigation}}` data\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.8\"\n}\n[/block]\n(12 Jan 2015)\n\n#### Fixed\n\n* `{{#has}}` helper no longer matches partial tags\n* `{{excerpt}}` helper handles footnotes correctly\n\n#### Changed\n\n* `{{image}}`, `{{meta_title}}` and `{{meta_description}}` updated for tags\n* `{{url}}` and `{{image}}` are now synchronous\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.7\"\n}\n[/block]\n(15 Dec 2014)\n\nNo changes\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.6\"\n}\n[/block]\n(4 Dec 2014)\n\n#### Fixed\n\n* `{{image}}` helper works correctly with subdirectories\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.5\"\n}\n[/block]\n(19 Nov 2014)\n\nNo changes\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.4\"\n}\n[/block]\n(18 Nov 2014)\n\nNo changes\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.3\"\n}\n[/block]\n(21 Oct 2014)\n\n#### Changed\n\n* `{{ghost_head}}` output\n\n#### Fixed\n\n* Themes now work correctly when symlinked\n\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.2\"\n}\n[/block]\n(25 Sep 2014)\n\n#### New:\n\n* `{{#is}}` helper\n* `{{image}}` for posts\n* Custom tag templates i.e. `tag-{{slug}}.hbs`\n\n#### Changed\n\n* `{{body_class}}` output\n* `{{meta_title}}` output\n* `{{meta_description}}` output\n* `{{ghost_head}}` output\n\n#### Deprecated\n\n* `.archive-template` and `.page` classes from `{{body_class}}`.\n* `.post-template` will soon only appear on posts, not pages.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.5.0\"\n}\n[/block]\n(11th Aug 2014)\n\n#### New\n\n* Author pages i.e. `author.hbs`\n* `home.hbs` template\n* `{{plural}}` helper\n\n#### Changed\n\n* `{{has}}` helper updates for authors\n* `{{author}}` changed to output HTML\n\n#### Deprecated\n\n* `{{author.email}}` now outputs an empty string\n\nPlease see the [multi-user blog post](http://dev.ghost.org/themes-multi-user-ready/) for more information.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.4.2\"\n}\n[/block]\n(26th Mar 2014)\n\n#### New\n\n* `package.json` support (will be required)\n* `{{log}}` helper\n* `{{#has}}` helper\n* Tag pages `tag.hbs`\n* Custom page templates i.e. `page-{{slug}}.hbs`\n\n#### Changed\n\n* `{{pageUrl}}` -> `{{page_url}}`\n* `{{tags}}` changed to output HTML\n\n#### Deprecated\n\n* `{{pageUrl}}` will be removed\n\nPlease see the [0.4.2 blog post](http://dev.ghost.org/new-for-themes-0-4-2/) for more information.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Ghost 0.4.0\"\n}\n[/block]\n(13th Jan 2014)\n\n#### New\n\n* Featured posts\n* Static pages with `page.hbs`\n* Custom error pages `error.hbs`\n* Customisable favicon\n* `{{asset}}` helper\n* `{{encode}}` helper\n\n#### Changed\n\n* `{{tags}}` got `prefix` and `suffix` options\n* `{{excerpt}}` got unicode character support\n\n#### Deprecated\n\n* Using `{{@blog.url}}` or relative urls for assets - please use the `{{asset}}` helper\n\nPlease see the [0.4.0 blog post](http://dev.ghost.org/ghost-0-4-themes/) for more information.","excerpt":"Keep up to date with the latest changes","slug":"changelog","type":"basic","title":"Changelog"}

Changelog

Keep up to date with the latest changes

The following document acts as a reference for developers who want to keep their theme up-to-date with the latest changes in the Ghost theme API. Since the original [public release of 0.3.2](https://github.com/TryGhost/Ghost/releases/tag/0.3.2) there have been a number of changes to the Ghost theme API and the way Ghost themes work, resulting in some new requirements and some deprecated features. ### Keeping up to date The best way to keep up-to-date with the changes is to subscribe to the [developer blog](http://dev.ghost.org). All theme related blog posts are tagged with '[themes](http://dev.ghost.org/tag/themes/)', so you can subscribe to an RSS feed of only [theme related posts](http://dev.ghost.org/tag/themes/rss/) if you prefer. ## Deprecated features These features have been deprecated and will be removed in a future version. * `{{pageUrl}}` helper, used in pagination templates, was renamed to `{{page_url}}` in Ghost 0.4.2 * `{{author.email}}` was removed in Ghost 0.5.0 * `.archive-template` and `.page` classes from `{{body_class}}` helper deprecated in 0.5.2 * `.post-template` class appearing on pages (it will only appear on posts) deprecated as of Ghost 0.5.2 ## Important new requirements * `{{asset}}` helper, introduced in Ghost 0.4.0, is required for including css, js and images in your theme. Please see the [asset helper](/themes/helpers/asset/) documentation for further information. * `package.json` file, introduced in Ghost 0.4.2, is required to define the name of your theme file. Please see the [package.json](/themes/structure/#package.json) documentation for further information. [block:api-header] { "type": "basic", "title": "Ghost 1.0 (planned)" } [/block] (Last Update: 14th March 2017) We are in the process of developing Ghost 1.0.0, which is expected to have several breaking changes for theme developers. So far the planned changes are: - Strong requirements around package.json. Full spec & validator coming soon. - Favicon is moving to be an upload, rather than a theme feature, favicons in themes will no longer work - Removal of deprecated `{{pageUrl}}` helper. Use `{{page_url}}` instead. - Removal of deprecated `{{body_class}}` classes. Use only classes listed in the [Context Overview](doc:context-overview). Classes that are deprecated include: - `.archive-template` appearing on paginated pages, use `.paged` - `.post-template` and `.page` appearing on static pages, use `.page-template` - `.page-template-{{slug}}` appearing on static pages, use `.page-{{slug}}` - Also note, `.page-{{slug}}` used to only appear on pages with custom templates, in 1.0.0 they will be ever present, the same as `.tag-{{slug}}` or `.author-{{slug}}`. - Removal of support for the legacy hack {{content words="0"}} - Moving the output of meta description to be part of {{ghost_head}} - Changing the get helper to support `{{else}}` within `{{#foreach}}` - Moving the posts_per_page setting to be theme configuration, and moving it from `{{@blog.posts_per_page}}` to `{{@config.posts_per_page}}` - MAYBE: Improving the public API ghost-url.js tool (renaming, changing how it is included, etc) Also in the works are: changes to the get helper, improvement around the image features & an overhaul of how themes are loaded inside of Ghost to reduce bugs. [block:api-header] { "type": "basic", "title": "Ghost 0.11.0 - Ghost 0.11.7" } [/block] No changes [block:api-header] { "type": "basic", "title": "Ghost 0.10.0" } [/block] (29th August 2016) ### New - helpers `{{amp_ghost_head}}`, `{{amp_content}}` and `{{amp_components}` for AMP support - template `amp.hbs` [block:api-header] { "type": "basic", "title": "Ghost 0.9.0" } [/block] (27th July 2016) ### New - `timezone` property available via `@blog` - `{{#foreach}}` and `{{tags}}` respect the `visibility` property, meaning internal tags are not shown - if your theme contains a `manifest.json` in the root it is now served as a static file [block:api-header] { "type": "basic", "title": "Ghost 0.8.0" } [/block] (18th May 2016) #### New - `@labs` global property, currently has `publicAPI` and `subscribers` properties - `twitter` and `facebook` properties available via `@blog` - `twitter` and `facebook` properties available for authors / users - `{{twitter_url}}` and `{{facebook_url}}` helpers for outputting urls based on usernames - (labs only) `subscribe` context, with `subscribe.hbs` template & `{{subscribe_form}}` helper [block:api-header] { "type": "basic", "title": "Ghost 0.7.9" } [/block] (7th April 2016) #### Improved - page_url helper now supports "next" and "prev" as strings, rather than variables [block:api-header] { "type": "basic", "title": "Ghost 0.7.8" } [/block] (18th February 2016) No changes [block:api-header] { "type": "basic", "title": "Ghost 0.7.7" } [/block] (18th February 2016) No changes [block:api-header] { "type": "basic", "title": "Ghost 0.7.6" } [/block] (3rd February 2016) #### Fixed - `current` class in navigation now gets applied even if you missed a trailing slash from the URL. [block:api-header] { "type": "basic", "title": "Ghost 0.7.5" } [/block] (12th Jan 2016) #### New * `from` and `to` attribute for both `{{foreach}}` and `{{tags}}` [block:api-header] { "type": "basic", "title": "Ghost 0.7.4" } [/block] (22nd Dec 2015) #### Fixed * `{{meta_title}}`, `{{meta_description}}`, `{{body_class}}` & `{{post_class}}` no longer throw aSyNcId errors when used inside the `{{#get}}` helper, or the prev & next post helpers. * The `@last` variable will now be correct when using the `limit` attribute with `{{#foreach}}` * `ghost.url.api` JavaScript utility works correctly with multiple requests [block:api-header] { "type": "basic", "title": "Ghost 0.7.3" } [/block] (16th Dec 2015) #### New * `permalinks` and `posts_per_page` properties available via `@blog` * `limit` attribute for both `{{foreach}}` and `{{tags}}` * Custom post templates i.e. `post-{{slug}}.hbs` #### Fixed * `{{ghost_head}}` overwriting author.image with author.cover * `{{pagination}}` now works inside the `{{#get}}` helper #### Changed * `ghost.url.api` JavaScript utility can now be included on external sites **Note:** in 0.7.3 the way Ghost handles pages of the RSS feed that don't exist has changed (they now correctly return 404). This has impacted on some themes which were parsing the RSS feed to provide features. [block:api-header] { "type": "basic", "title": "Ghost 0.7.2" } [/block] (27th Nov 2015) #### New * `{{#get}}` helper (Beta access only) * `ghost.url.api` JavaScript function (Beta access only) [block:api-header] { "type": "basic", "title": "Ghost 0.7.1" } [/block] (27th Sep 2015) #### Fixed * bug with `{{#if current}}` in `{{navigation}}` helper [block:api-header] { "type": "basic", "title": "Ghost 0.7.0" } [/block] (3rd Sep 2015) #### New * `{{foreach}}` now supports block params e.g. `{{foreach posts as |mypost|}}` * `{{foreach}}` has an a `@number` property that outputs the index, starting with 1 instead of 0. #### Fixed * `{{tags}}` and `{{author}}` not working inside `{{prev_post}}` and `{{next_post}}` #### Changed * `{{tags}}` now respects the order that tags are added to posts [block:api-header] { "type": "basic", "title": "Ghost 0.6.4" } [/block] (21 May 2015) #### Fixed * `{{meta_description}}` not working correctly on pages [block:api-header] { "type": "basic", "title": "Ghost 0.6.3" } [/block] (14 May 2015) #### New * New `private` context, with `private.hbs` template & `.private-template` body class * Custom author templates i.e. `author-{{slug}}.hbs` #### Fixed * `{{meta_title}}` not working correctly on pages [block:api-header] { "type": "basic", "title": "Ghost 0.6.2" } [/block] (22 Apr 2015) #### Fixed * `{{#prev_post}}` & `{{#next_post}}` helpers not rendering [block:api-header] { "type": "basic", "title": "Ghost 0.6.1" } [/block] (22 Apr 2015) #### Fixed * {{ghost_head}} throwing errors on custom error.hbs pages * {{author.email}} being incorrectly available sometimes [block:api-header] { "type": "basic", "title": "Ghost 0.6.0" } [/block] (13 Apr 2015) #### New: * `{{#prev_post}}` & `{{#next_post}}` helper #### Fixed * @blog globals now work in `navigation.hbs` and `pagination.hbs` * `{{meta_title}}` and `{{meta_description}}` now work inside of the post scope [block:api-header] { "type": "basic", "title": "Ghost 0.5.10" } [/block] (9 Mar 2015) No changes [block:api-header] { "type": "basic", "title": "Ghost 0.5.9" } [/block] (28 Feb 2015) #### New: * `{{navigation}}` helper * `{{@blog.navigation}}` data [block:api-header] { "type": "basic", "title": "Ghost 0.5.8" } [/block] (12 Jan 2015) #### Fixed * `{{#has}}` helper no longer matches partial tags * `{{excerpt}}` helper handles footnotes correctly #### Changed * `{{image}}`, `{{meta_title}}` and `{{meta_description}}` updated for tags * `{{url}}` and `{{image}}` are now synchronous [block:api-header] { "type": "basic", "title": "Ghost 0.5.7" } [/block] (15 Dec 2014) No changes [block:api-header] { "type": "basic", "title": "Ghost 0.5.6" } [/block] (4 Dec 2014) #### Fixed * `{{image}}` helper works correctly with subdirectories [block:api-header] { "type": "basic", "title": "Ghost 0.5.5" } [/block] (19 Nov 2014) No changes [block:api-header] { "type": "basic", "title": "Ghost 0.5.4" } [/block] (18 Nov 2014) No changes [block:api-header] { "type": "basic", "title": "Ghost 0.5.3" } [/block] (21 Oct 2014) #### Changed * `{{ghost_head}}` output #### Fixed * Themes now work correctly when symlinked [block:api-header] { "type": "basic", "title": "Ghost 0.5.2" } [/block] (25 Sep 2014) #### New: * `{{#is}}` helper * `{{image}}` for posts * Custom tag templates i.e. `tag-{{slug}}.hbs` #### Changed * `{{body_class}}` output * `{{meta_title}}` output * `{{meta_description}}` output * `{{ghost_head}}` output #### Deprecated * `.archive-template` and `.page` classes from `{{body_class}}`. * `.post-template` will soon only appear on posts, not pages. [block:api-header] { "type": "basic", "title": "Ghost 0.5.0" } [/block] (11th Aug 2014) #### New * Author pages i.e. `author.hbs` * `home.hbs` template * `{{plural}}` helper #### Changed * `{{has}}` helper updates for authors * `{{author}}` changed to output HTML #### Deprecated * `{{author.email}}` now outputs an empty string Please see the [multi-user blog post](http://dev.ghost.org/themes-multi-user-ready/) for more information. [block:api-header] { "type": "basic", "title": "Ghost 0.4.2" } [/block] (26th Mar 2014) #### New * `package.json` support (will be required) * `{{log}}` helper * `{{#has}}` helper * Tag pages `tag.hbs` * Custom page templates i.e. `page-{{slug}}.hbs` #### Changed * `{{pageUrl}}` -> `{{page_url}}` * `{{tags}}` changed to output HTML #### Deprecated * `{{pageUrl}}` will be removed Please see the [0.4.2 blog post](http://dev.ghost.org/new-for-themes-0-4-2/) for more information. [block:api-header] { "type": "basic", "title": "Ghost 0.4.0" } [/block] (13th Jan 2014) #### New * Featured posts * Static pages with `page.hbs` * Custom error pages `error.hbs` * Customisable favicon * `{{asset}}` helper * `{{encode}}` helper #### Changed * `{{tags}}` got `prefix` and `suffix` options * `{{excerpt}}` got unicode character support #### Deprecated * Using `{{@blog.url}}` or relative urls for assets - please use the `{{asset}}` helper Please see the [0.4.0 blog post](http://dev.ghost.org/ghost-0-4-themes/) for more information.