A simple TypeScript package for generating slugs. This package provides features like:
- Genrate Random slug
- Generate random slug form a user provided custom wordSet
- Convert sentence to slug (Slugify)
- Generate Complex AlphaNum like Coupons
Installation
To install the package, run:
npm install slugmaster
Usage
1. Generate Slug from random set of Words (generateSlug)
import { generateSlug } from 'slugmaster';
const slug = generateSlug({
wordCount: 3
});
const customWordSlug = generateSlug({
wordCount: 4,
wordSet: ["tech", "code", "learn", "build", "scale", "launch"],
});
2. Generate slug from a sentence (slugify)
import { slugify } from 'slugmaster';
const sentenceSlug = slugify("A blog title! to be converted to slug.");
OR
const sentenceSlug = slugify("A blog title! to be converted to SLUG.", {
lowercase: false,
});
3. Generate Coupon codes
import { generateCouponCode } from 'slugmaster';
const couponCode = generateCouponCode({
length: 10,
prefix: 'SAVE',
type: 'alphanumeric',
includeLowercase: true,
includeSymbols: false
});
Options
For Slug Generation
wordCount
: Number of words in the slug (default: 3)randomStringLength
: Length of the random string to append (default: 0)
Custom Word Set Options (for generateSlug)
wordSet
: Array of custom words for slug generationwordCount
: Number of words in the slug (default: 3)randomStringLength
: Length of random string appended to slug (default: 0)
Slugify Options
lowercase
: Convert text to lowercase (default: true)trim
: Trim whitespace from the start and end of the text (default: true)replaceSpaces
: Replace spaces with dashes (default: true)removeNonWordChars
: Remove non-word characters (default: true)replaceMultipleDashes
: Replace multiple dashes with a single dash (default: true)trimDashes
: Trim dashes from the start and end of the text (default: true)
For Coupon Code
length
: Length of the coupon code (default: 6)type
: Character types (alpha
, alphanumeric
, numeric
)prefix
: Prefix for the coupon code (default: 'CP')includeLowercase
: Include lowercase letters (default: false)includeSymbols
: Include special characters (default: false)