UNPKG

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
<div align="center"> <h1>🎑 kiutils</h1> <p>A powerful JavaScript/TypeScript utility library for image manipulation, Discord utilities, and more!</p> [![npm version](https://img.shields.io/npm/v/kiutils.svg?style=flat-square)](https://www.npmjs.org/package/kiutils) [![npm downloads](https://img.shields.io/npm/dm/kiutils.svg?style=flat-square)](http://npm-stat.com/charts.html?package=kiutils) [![License](https://img.shields.io/github/license/YoruAkio/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.