Skip to content

Refinery CMS engine to manage copywriting, application wide or per pages with i18n.

Notifications You must be signed in to change notification settings

markstuart/refinerycms-copywriting

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Copywriting engine for Refinery CMS

How do you manage your string in RefineryCMS?

Extended copywriting management: extract all your strings and leave no human word behind + i18n.

Do like this

<%= copywriting('phone number', { :scope => 'header', :default => '1-800-888-5555' }) %>

Or using block

<%= copywriting('slogan', { :scope => 'header' }) do %>
  Insert a slogan here
<% end %>

Just give it a name anyway

<%= copywriting('note1') %>

When it get more complex, avoid redundant options hash with options block

<% copywriting_options({ :scope => 'header', :phrase_type => 'wysiwyg' }) do %>
  ...
  <%= copywriting('contact information' }).html_safe do %>
    ...
  <% end %>
  ...
  <%= copywriting('phone number', { :phrase_type => 'string', :default => '1-800-888-5555' }) %>
  ...
<% end %>

Then edit the copywriting from the backend:

screenshot

Okay, but now, what if you want to have a string that change on every page, like a slogan?

Pass the @page object in the options hash:

<%= copywriting('slogan', { :scope => 'header', :page => @page }) do %>
  Insert a slogan here
<% end %>

screenshot

Install

# Gemfile
gem 'refinerycms-copywriting'
bundle
rails generate refinerycms_copywriting
rake db:migrate

Pull request?

Yes.

Helper method

copywriting('name', options) { ... optional block ... }

{
  :default => 'string...',        # if no block is given
  :page => @page,                 # the string will be scoped to the page, if no page_id option is provided
  :page_id => 1                   # using integer instead of page object
  :phrase_type => "wysiwyg"       # default is "text". Sets the type of field this is when editing. "string" gives you a single line text field. "text" gives you a multiline textarea. "wysiwyg" gives you the default Refinery visual editor.
}

copywriting_options(options) { ... use copywriting helper with default options hash ... }

About

Refinery CMS engine to manage copywriting, application wide or per pages with i18n.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%