improve docs

This commit is contained in:
askiiart 2025-01-12 13:57:57 -06:00
parent 79dbcb1d3d
commit 39ebf700e7
Signed by untrusted user who does not match committer: askiiart
GPG key ID: 6A32977DAF31746A
2 changed files with 57 additions and 2 deletions

View file

@ -2,7 +2,7 @@
This is a port of [Cat2Text](https://github.com/askiiart/Cat2Text) to Rust, with extra functionality, better documentation, and support for using it as a library as well.
## Base4 Format
## Base 4 Format
Using the original base4 format, it works like this. First off, each word is equal to a value in base 4:
@ -13,7 +13,29 @@ Using the original base4 format, it works like this. First off, each word is equ
| 2 | mreow |
| 3 | mrow |
Then, the text is converted into lowercase
Then, the text is converted into lowercase, 96 is subtracted from its ASCII value (i.e. "a" (97) -> 1), and it's converted to base 4, which is then replaced by the cat sounds above; Each cat sound is separated by a space (" "), then each word is delimited by a semicolon and a space ("; ").
For example, "i love cats" is translated into:
> meow mreow mrrp; meow mrow meow meow mrow mrow mrrp mrrp mreow meow mrrp mrrp; meow meow mrow meow meow mrrp mrrp mrrp meow mrrp meow mrow
Separating out the letters and words:
> [
> ["meow mreow mrrp"],
> [
> "meow mrow meow",
> "meow mrow mrow",
> "mrrp mrrp mreow",
> "meow mrrp mrrp"
> ],
> [
> "meow meow mrow",
> "meow meow mrrp",
> "mrrp mrrp meow",
> "mrrp meow mrow"
> ]
> ]
## Limitations

View file

@ -1,5 +1,38 @@
//! # Cat2Text-rs
//!
//! This is a port of [Cat2Text](https://github.com/askiiart/Cat2Text) to Rust, with extra functionality, better documentation, and support for using it as a library as well.
//! This is a port of [Cat2Text](https://github.com/askiiart/Cat2Text) to Rust, with extra functionality, better documentation, and support for using it as a library as well.
//!
//! ## Base 4 Format
//!
//! Using the original base4 format, it works like this. First off, each word is equal to a value in base 4:
//!
//! | Value | Cat sound |
//! | ----- | --------- |
//! | 0 | meow |
//! | 1 | mrrp |
//! | 2 | mreow |
//! | 3 | mrow |
//!
//! Then, the text is converted into lowercase, 96 is subtracted from its ASCII value (i.e. "a" (97) -> 1), and it's converted to base 4, which is then replaced by the cat sounds above; Each cat sound is separated by a space (" "), then each word is delimited by a semicolon and a space ("; ").
//!
//! For example, "i love cats" is translated into:
//!
//! > meow mreow mrrp; meow mrow meow meow mrow mrow mrrp mrrp mreow meow mrrp mrrp; meow meow mrow meow meow mrrp mrrp mrrp meow mrrp meow mrow
//!
//! Separating out the letters and words:
//!
//! > [ ["meow mreow mrrp"], [ "meow mrow meow", "meow mrow mrow", "mrrp mrrp mreow", "meow mrrp mrrp" ], [ "meow meow mrow", "meow meow mrrp", "mrrp mrrp meow", "mrrp meow mrow" ] ]
//!
//! ## Limitations
//!
//! This currently only supports lowercase text in the latin alphabet without numbers or anything - however, using `cat2text::core`, you can convert anything to meows, as long as you can put it in integers - which, you can.
//!
//! ## TODO
//!
//! - Add functionality for converting `Vec<u8>` to cat.
//! - Add more bases - adaptable base option?
pub mod anybase;
pub mod base4;
pub mod core;