Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jt-rails-meta

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jt-rails-meta

  • 1.0.12
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

JTRailsMeta

Gem Version

JTRailsMeta help you to manage HTML meta tags like title, description, keywords used in Search Engine Optimization (SEO).

Installation

JTRailsMeta is distributed as a gem, which is how it should be used in your app.

Include the gem in your Gemfile:

gem 'jt-rails-meta', '~> 1.0'

Create a meta.yml file for the translations:

rails g jt:meta

Usage

Basic usage

Include JT::Rails::Meta in your ApplicationController:

class ApplicationController < ActionController::Base
	include JT::Rails::Meta
	...
end

Call meta_tags in your layout:

<!DOCTYPE html>
<head>
	<meta charset="UTF-8" />
	<%= meta_tags %>
</head>
<body>
</body>

You have also access to meta_title, meta_description, meta_keywords methods.

Define your meta in meta.yml file:

en:
  meta:
    # in general you use either prefx or suffix for the title of your page
    # prefix or suffix are not applied on default title and are both optional
    prefix: "My Website - "
    suffix: " - My Website"

    # default meta used if no meta are found for a page
    default:
      title: My WebSite
      description: My super website is about something magnificent
      keywords: "website, some keywords"

    # Exemple of meta for the controller users and the action new
    # title, full_title, description and keywords are all optional
    users:
      new:
        title: Sign up
        description: Description of sign up page
        keywords: "sign up, registration"

    # Another example for the controller home and the action index
    # full_title is used if exceptionally you don't want to use the prefix or suffix
    # you can use either title or full_title
    home:
      index:
        full_title: Home
        description: Description of homepage

Pass parameters to tags

In your controller:

class PostsController < ApplicationController
  def show
    @post = Post.find(params[:id])

    set_meta_title({ title: @post.title })
    set_meta_description({ title: @post.title, author: @post.author })
    add_meta_keywords(@post.tags.map(&:name))
  end
end

In your meta.yml file:

en:
  meta:
    posts:
      show:
        title: "%{title}"
        description: "Post about %{title} by %{author}"

Add more tags

You can add more tags with add_meta_extra and add_meta_link methods:

add_meta_extra 'robots' => 'noindex,nofollow'
add_meta_extra { 
		twitter: {
			site: '@mywebsite',
			domain: 'mywebsite.com',
			title: meta_title,
			description: meta_description,
			image: [
				'http://mywebsite.com/image_1.jpg',
				'http://mywebsite.com/image_2.jpg'
			]
		}
	}

add_meta_link 'author', 'https://github.com/jonathantribouharet'
add_meta_link 'publisher', 'https://github.com/jonathantribouharet'

There is some methods already created using add_meta_link method:

  • add_meta_link_canonical which is equivalent to add_meta_link 'canonical'
  • add_meta_link_author which is equivalent to add_meta_link 'author'
  • add_meta_link_publisher which is equivalent to add_meta_link 'publisher'
  • add_meta_link_alternate which is equivalent to add_meta_link 'alternate'

Author

License

JTRailsMeta is released under the MIT license. See the LICENSE file for more info.

FAQs

Package last updated on 26 Oct 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc