This Middleman extension allows you to easily set page titles for your website.
Add the following line to Gemfile, then run bundle install:
gem 'middleman-title'After installation, activate the extension in config.rb:
activate :title, site: 'Your Website Name', separator: ' — 'The separator is optional and will default to a dash.
In your layout file, you can use the page_title helper to output the current page title:
<title><%= page_title %></title>Then, add a page title to the Frontmatter any page:
---
title: The title of this page goes here
---This would output:
The title of this page goes here — Your Website Name
Sometimes it is desirable to put the website name first, such as on the home page. This can be done by setting title_reverse to true in the frontmatter of the page.
---
title: The title of this page goes here
title_reverse: true
---This would output:
Your Website Name — The title of this page goes here
You can also put the website name first on every page by setting it when you activate the extension:
activate :title, site: 'Your Website Name', reverse: trueThen on any page where you want the website name to come last, you can set title_reverse to false in the Frontmatter:
---
title: The title of this page goes here
title_reverse: false
---When your website has heirachy, it is sometimes desirable to have multiple parts to the title. This can be done by passing an array in the Frontmatter:
---
title:
- John Doe
- Staff
---This would output:
John Doe — Staff — Your Website Name
If at any point you want to completely override the page title, you can use page_title in the Frontmatter.
page_title: The title of a page to be used as-is in <title> without site name- Fork it ( https://github.com/jcypret/middleman-title/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request