<img src=“https://travis-ci.org/vulcancreative/headingify.svg” alt=“Build Status” />
Headingify
A method used to convert a string into a heading. It extends the String class; currently only supporting the English language. Please contribute if you are adept in other languages utilizing articles, conjuctions, and prepositions.
Headingify is based off of grammatical rules set forth in The Chicago Manual of Style. ed. 16 pgf. 8.155.
Download and Installation
The latest version of Headingify can be installed with RubyGems:
% [sudo] gem install headingify
Add this line to your application’s Gemfile:
gem 'headingify', '~> 1.2.0'
Usage
To execute in standalone mode do the following:
% headingify "a simple string, including the preposition 'with'."
> A Simple String, including the Preposition 'with'.
To escape words in a string do the following:
% headingify "folding of the \%CheY\% protein."
> Folding of the CheY Protein.
Headingify works on the String class, and can also be used in code:
s = "a simple string, including the preposition 'with'.".headingify
title = "folding of the \%CheY\% protein."; title.headingify!
To check if a String has already been headingified:
% s.headingify; s.headingified?
> true
This is beneficial when a String may be headingified twice, where the initial String contained escaped content:
s = "using the \%PI\% constant to access the Float variable".headingify
> "Using the PI Constant to Access the Float Variable"
# without safety (note the word "Pi" changes in case)
s.headingify
> "Using the Pi Constant to Access the Float Variable"
# with safety (nothing is changed, if previously headingified)
s.headingify! unless s.headingified?
> nil
# ...or more easily
s.headingify_safe # or #headingify_safe! for replacement
> nil
# ...and we still have our initial String, ta-da!
puts s
> "Using the PI Constant to Access the Float Variable"
License
Headingify is released under the MIT license:
* http://www.opensource.org/licenses/MIT
Contributing
Currently looking for help with i18n. If you have an adept knowledge of articles, conjunctions, prepositions, and grammatical syntax in non-English languages, you are encouraged to contribute.