Skip to content

pilotmoon/better-title-case

 
 

Repository files navigation

better-title-case Build Status

Convert a string to title case based on the Daring Fireball rules.

Rules

  • If the string is all-caps, it will be corrected
  • The following words are not capitalized by default: a, an, and, at, but, by, for, in, nor, of, on, or, so, the, to, up, yet, v, v., vs, and vs.
  • Words with capital letters other than the first are assumed to be capitalized properly and are skipped
  • It also skips any word that looks like a file path, file name, or URL
  • The first and last word are always capitalized
  • Sub-strings (those that are within quotes or parens/braces) are capitalized according to the same rules

Installation

$ npm install --save better-title-case

Usage

const titleCase = require('better-title-case');
console.log(titleCase('Nothing to Be Afraid of?'));
// Nothing to Be Afraid Of?

Advanced

You can configure better-title-case to add your own excluded words to the default list, or to prevent the use of the default list by passing a config object as the second parameter.

excludedWords

Type: Array
Default: []

Additional words to exclude from capitalization.

titleCase('Nothing to be afraid of?', {
    excludedWords: ['be']
});
// 'Nothing to be Afraid Of?'

useDefaultExcludedWords

Type: Boolean
Default: true

Disable the usage of the default list of excluded words.

titleCase('Nothing to be afraid of?', {
	useDefaultExcludedWords: false
});
// 'Nothing To Be Afraid Of?'

License

MIT © Brad Dougherty

About

Convert a string to title case using the Daring Fireball rules.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%