Package Exports
- kiutils
- kiutils/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (kiutils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
🎑 kiutils
A powerful JavaScript/TypeScript utility library for image manipulation, Discord utilities, and more!
✨ 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
# Using npm
npm install kiutils
# Using yarn
yarn add kiutils
# Using pnpm
pnpm add kiutils🚀 Quick Start
// 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
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
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
import { waifu, WaifuType } from 'kiutils';
const getWaifuImage = async () => {
const imageUrl = await waifu(WaifuType.SFW);
console.log(`Waifu image URL: ${imageUrl}`);
};
getWaifuImage();Simple Canvas Creation
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
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.
🤝 Contributing
Contributions, issues and feature requests are welcome! Feel free to check the issues page.
📝 License
This project is MIT licensed.