M3ta
Writing meta tags can be awkward. M3ta attempts to make light work of configuring defaults that are reused on every page and giving as much flexibility as possible to append and modify those defaults on each request whether it is in a controller or view.
Installation
Add it to this line to your application's Gemfile:
gem "m3ta"
And then execute:
bundle install
Usage
Meta tags can be configured in multiple different ways. You can set defaults in to ways
Via an initializer
M3ta.defaults do |b|
b.title = 'Some blog post'
b.image = 'https://robl.me/braindeaf.png'
end
Via I18n locales
en:
m3ta:
site_name: RobL Vs...
description: I write thems code
Each request has access to a m3ta::Builder object to append data to.
- Controllers
class ApplicationController < ActionController::Base
m3ta do |b|
b.title = 'A better title'
b.description = %(...and then it will be over and that'll be alright with me...)
end
end
class ProjectsController < ApplicationController
m3ta do |b|
b.title = 'Sometimes dead is better'
end
end
- Views
:ruby
m3ta.tap do |b|
b.title = %(Thundercats are better than Gobots)
b.description = "#{b.description} - J.R. Hayes"
<%=
m3ta.tap do |b|
b.title = %(Thundercats are better than Gobots)
b.description = "#{b.description} - J.R. Hayes"
end
%>
Finally you can render your Meta Tags with a single helper in the application layout
!!!
%head
= m3ta_tags
%body
Contributing
If you wish to contribute please feel free to fork the repo and submit a PR.
License
The gem is available as open source under the terms of the MIT License.