# SubSlay 💅🏻
**SubSlay** transforms your text into emojis — powered by Rust & WebAssembly!
Convert words into matching emojis with smart fuzzy matching and word embeddings, all embedded inside the crate.
---
## Features
- Translate text → emojis using embedded emoji-keyword map
- Fuzzy matching via Levenshtein distance
- Semantic similarity using GloVe embeddings
- Zero setup — data files included inside the crate
- Works natively in Rust apps and as WebAssembly for web apps
---
## Installation
Add SubSlay to your `Cargo.toml` dependencies:
```toml
subslay = "0.1"
````
---
## Native Rust Usage
```rust
use subslay::EmojiStylist;
fn main() {
let slayer = EmojiStylist::default().expect("Failed to load SubSlay data");
let emojis = slayer.slay("hello world");
println!("{:?}", emojis); // Output: ["👋", "🌍"]
}
```
---
## WASM Usage (for Web)
If targeting WebAssembly, SubSlay exposes a convenient interface:
```rust
use wasm_bindgen::prelude::*;
use subslay::WasmEmojiStylist;
#[wasm_bindgen]
pub fn slay(input: &str) -> JsValue {
WasmEmojiStylist::new()
.unwrap()
.slay(input)
}
```
Build with:
```bash
wasm-pack build --target web
```
and then import the generated WASM module in your JavaScript/TypeScript frontend.
---
## Examples
Try the included example:
```bash
cargo run --example basic
```
---
## License
MIT License
---
## Repository
[https://github.com/8ria/subslay](https://github.com/8ria/subslay)
---
Made with 💅🏻 by AndriaK