GithubHelp home page GithubHelp logo

theoddlinguist / so_meta Goto Github PK

View Code? Open in Web Editor NEW

This project forked from brandonhilkert/so_meta

0.0 1.0 0.0 33 KB

A gem to simply manage meta content (title, description, canonical url, etc.) from within a Rails application

License: MIT License

Ruby 100.00%

so_meta's Introduction

So Meta

So Meta is a gem to simply manage meta content (title, description, canonical url, etc.) from within a Rails application

Installation

Add this line to your application's Gemfile:

gem 'so_meta'

And then execute:

$ bundle

Or install it yourself as:

$ gem install so_meta

Usage

So Meta uses the localization file to provide easy to modify SEO text content for page titles, descriptions and other text content for layouts and views.

# config/locales/en.yml

en:
  so_meta:
    defaults:
      title: "My Awesome New Rails Application"
      description: "This application will be so viral, your startup
      friends will be JEALOUS!"

    pages: # Controller name - PagesController
      about: # Action name - about
        title: "About | My Awesome New Rails Application"
        description: "Our company will blow your mind...like really."

    pages_subresource: # Controller name - Pages::SubresourceController
      about: # Action name - about
        title: "About | My Awesome New Rails Application"
        description: "Our company will blow your mind...like really."

    contact:
      title: "Contact %{name} | My Awesome New Rails Application" # Interpolation content from the view
      # By not specifying a description for this page, it'll inherit the defaults
<!-- views/layouts/application.html.erb -->

<!DOCTYPE html>
<html lang="en">
  <head>
    <title><%= so_meta(:title) %></title>
    <meta name="description" content="<%= so_meta(:description) %>" />
    <%= csrf_meta_tags %>
  </head>
  <body>
  </body>
</html>
<!-- app/views/pages/contact.html.erb -->

<% so_meta_interpolation :title, name: "Brandon" %>

<h1>Contact</h1>
<p>Contact us now!</p>

Usage with scoping

<title><%= so_meta(:title, :phone) %></title>
# config/locales/en.yml

en:
  so_meta:
    defaults:
      title: "My Awesome New Rails Application"
      description: "This application will be so viral, your startup
      friends will be JEALOUS!"

    pages: # Controller name - PagesController
      about: # Action name - about
        title: "About | My Awesome New Rails Application"
        description: "Our company will blow your mind...like really."

        phone:
          title: "Specific title for phone" # will choose this if the scope
          matches

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

so_meta's People

Contributors

brandonhilkert avatar phallguy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.