kiutils
Version:
🎑 (Library) an Javascript library that provide various utilities, including Image manipulation tools, Discord-related utilities, and a logger.
167 lines (124 loc) • 3.94 kB
Markdown
<div align="center">
<h1>🎑 kiutils</h1>
<p>A powerful JavaScript/TypeScript utility library for image manipulation, Discord utilities, and more!</p>
[](https://www.npmjs.org/package/kiutils)
[](http://npm-stat.com/charts.html?package=kiutils)
[](https://github.com/YoruAkio/kiutils/blob/main/LICENSE)
</div>
## ✨ Features
- 🖼️ **Image Manipulation** - Convert, resize, and create thumbnails with ease
- 🤖 **Discord Utilities** - Create beautiful rank cards and other Discord-related graphics
- 📝 **Code Sharing** - Share code snippets via SourceBin
- 🌸 **Anime Images** - Fetch waifu images with a simple API
- 🧰 **Utility Functions** - Various helper functions for common tasks
## 📦 Installation
```bash
# Using npm
npm install kiutils
# Using yarn
yarn add kiutils
# Using pnpm
pnpm add kiutils
```
## 🚀 Quick Start
```typescript
// Import the modules you need
const { Canvas, Discord, waifu, convertImage, ImageFormat } = require('kiutils');
// OR with ES modules
import { Canvas, Discord, waifu, convertImage, ImageFormat } from 'kiutils';
```
## 📚 Usage Examples
### Image Conversion
```typescript
import { convertImage, ImageFormat } from 'kiutils';
import * as fs from 'fs';
// Convert an image to WebP format
const convertToWebP = async () => {
const buffer = await convertImage('input.jpg', ImageFormat.WEBP, {
quality: 80,
width: 800
});
fs.writeFileSync('output.webp', buffer);
console.log('Image converted successfully!');
};
convertToWebP();
```
### Creating Discord Rank Cards
```typescript
import { Discord } from 'kiutils';
import * as fs from 'fs';
const createRankCard = async () => {
const rankCard = await new Discord().createRankCard({
username: { name: 'CoolUser#1234' },
level: { data: 15, display: true },
rank: { data: 12, display: true },
currentXP: { data: 500 },
requiredXP: { data: 1000 },
avatar: { source: 'https://i.imgur.com/example.png' },
status: { type: 'online' },
progressBar: {
bar: {
type: 'gradient',
color: ['#5865F2', '#EB459E']
}
}
});
fs.writeFileSync('rank-card.png', rankCard);
console.log('Rank card created!');
};
createRankCard();
```
### Fetching Waifu Images
```typescript
import { waifu, WaifuType } from 'kiutils';
const getWaifuImage = async () => {
const imageUrl = await waifu(WaifuType.SFW);
console.log(`Waifu image URL: ${imageUrl}`);
};
getWaifuImage();
```
### Simple Canvas Creation
```typescript
import { Canvas } from 'kiutils';
import * as fs from 'fs';
const createCanvas = async () => {
const canvas = new Canvas({
width: 800,
height: 400,
background: {
color: '#5865F2',
image: 'color'
},
fontColor: '#FFFFFF'
});
const buffer = await canvas.renderWithText('Hello World!', {
font: '40px Arial',
align: 'center'
});
fs.writeFileSync('canvas.png', buffer);
console.log('Canvas created!');
};
createCanvas();
```
### Sharing Code on SourceBin
```typescript
import { bin } from 'kiutils';
const shareCode = async () => {
const code = `
function helloWorld() {
console.log('Hello from kiutils!');
}
helloWorld();
`;
const url = await bin(code);
console.log(`Code shared at: ${url}`);
};
shareCode();
```
## 📋 API Documentation
For complete API documentation, please visit our [documentation website](https://github.com/YoruAkio/kiutils#readme).
## 🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check the [issues page](https://github.com/YoruAkio/kiutils/issues).
## 📝 License
This project is [MIT](https://github.com/YoruAkio/kiutils/blob/main/LICENSE) licensed.