/owoify_cr

Turning your worst nightmare into a Crystal shard. This is a Crystal port of mohan-cao's owoify-js, which will help you turn any string into nonsensical babyspeak similar to LeafySweet's infamous Chrome extension.

Primary LanguageCrystalMIT LicenseMIT

owoify_cr

Turning your worst nightmare into a Crystal shard.

This is a Crystal port of mohan-cao's owoify-js, which will help you turn any string into nonsensical babyspeak similar to LeafySweet's infamous Chrome extension.

Just like my other Owoify ports, three levels of owoness are available:

  1. owo (default): The most vanilla one.
  2. uwu: The moderate one.
  3. uvu: Litewawwy unweadabwal.

Please refer to the original owoify-js repository for more information.

Seriously, if you have seen my other ports, you probably have already known the details.

Reason for development

Because crystalshards.xyz doesn't have any owoify package, and since I have already ported it to several languages, I might as well just keep porting it. Furthermore, Crystal is a compiled, statically typed language which features Ruby's joy to write and expressiveness, so of course it deserves a owoify package.

Yes, this is the latest port after owoify_ex (Elixir). Also check out my owoifyKt, which just got online on Maven Central yesterday.

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      owoify_cr:
        github: deadshot465/owoify_cr
  2. Run shards install

Usage

require "owoify_cr"

puts Owoify.owoify("This is the string to owo! Kinda cute isn't it?")
puts Owoify.owoify("This is the string to owo! Kinda cute isn't it?", :uvu)

# Example output:
# This is teh stwing two owo! Kinda cute isn't it?
# fwis is teh stwing two owowowo (*^.^*) Kinda cute isn't it?

owoify_cr is implemented as a function inside the module Owoify. That means you don't need to create an instance of any class; instead, just call the method owoify with the module name.

Development

Pull requests and issues are extremely welcomed. I also might update it from time to time if I find something to add.

Disclaimer

As usual, I'm writing this package for both practicing and bots' needs. Performance is NOT guaranteed.

That being said, all regular expressions are declared beforehand rather than being declared inside a function. That should be able to avoid the performance cost of building regular expressions every time the method is called.

Contributing

  1. Fork it (https://github.com/deadshot465/owoify_cr/fork)
  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 a new Pull Request

Contributors

See also

  • owoify-js - The original owoify-js repository.
  • Owoify.Net - The C# port of Owoify written by me.
  • Owoify++ - The C++ header-only port of Owoify written by me.
  • owoify_rs - The Rust port of Owoify written by me.
  • owoify-py - The Python port of Owoify written by me.
  • owoify_dart - The Dart port of Owoify written by me.
  • owoify_rb - The Ruby port of Owoify written by me.
  • owoify-go - The Go port of Owoify written by me.
  • owoifySwift - The Swift port of Owoify written by me.
  • owoifyKt - The Kotlin port of Owoify written by me.
  • owoify_ex - The Elixir port of Owoify written by me.
  • owoify_cr - The Crystal port of Owoify written by me.
  • owoifynim - The Nim port of Owoify written by me.
  • owoify-clj - The Clojure port of Owoify written by me.
  • purescript-owoify - The PureScript port of Owoify written by me.
  • owoify-hs - The Haskell port of Owoify written by me.
  • owoify_erl - The Erlang port of Owoify written by me.