aboutsummaryrefslogtreecommitdiff
path: root/plugins/titlecase.rb
diff options
context:
space:
mode:
authorZhiming Wang <zmwangx@gmail.com>2015-05-04 14:55:10 -0700
committerZhiming Wang <zmwangx@gmail.com>2015-05-04 14:55:10 -0700
commit301679861a2440a10c9eac746cec86459f445ef9 (patch)
tree5aad22ead01cf0da226623f603f33867896c0fea /plugins/titlecase.rb
parentd0a07c64afba47bbe8bfb56ba9893296a73fc7db (diff)
downloadmy_new_personal_website-301679861a2440a10c9eac746cec86459f445ef9.tar.xz
my_new_personal_website-301679861a2440a10c9eac746cec86459f445ef9.zip
remove all Octopress stuff
Diffstat (limited to 'plugins/titlecase.rb')
-rw-r--r--plugins/titlecase.rb36
1 files changed, 0 insertions, 36 deletions
diff --git a/plugins/titlecase.rb b/plugins/titlecase.rb
deleted file mode 100644
index 7648932c..00000000
--- a/plugins/titlecase.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-class String
- def titlecase
- small_words = %w(a an and as at but by en for if in of on or the to v v. via vs vs.)
-
- x = split(" ").map do |word|
- # note: word could contain non-word characters!
- # downcase all small_words, capitalize the rest
- small_words.include?(word.gsub(/\W/, "").downcase) ? word.downcase! : word.smart_capitalize!
- word
- end
- # capitalize first and last words
- x.first.to_s.smart_capitalize!
- x.last.to_s.smart_capitalize!
- # small words are capitalized after colon, period, exclamation mark, question mark
- x.join(" ").gsub(/(:|\.|!|\?)\s?(\W*#{small_words.join("|")}\W*)\s/) { "#{$1} #{$2.smart_capitalize} " }
- end
-
- def titlecase!
- replace(titlecase)
- end
-
- def smart_capitalize
- # ignore any leading crazy characters and capitalize the first real character
- if self =~ /^['"\(\[']*([a-z])/
- i = index($1)
- x = self[i,self.length]
- # word with capitals and periods mid-word are left alone
- self[i,1] = self[i,1].upcase unless x =~ /[A-Z]/ or x =~ /\.\w+/
- end
- self
- end
-
- def smart_capitalize!
- replace(smart_capitalize)
- end
-end