tr-slugify
v1.2.1
Published
Türkçe özel karakterleri doğru çeviren ve URL için mükemmel slug'lar oluşturan npm paketi
Maintainers
Readme
tr-slugify
Türkçe özel karakterleri doğru çeviren ve URL için mükemmel slug'lar oluşturan npm paketi.
📦 NPM Paketi
📥 Kurulum: npm install tr-slugify
🔗 NPM Sayfası: https://www.npmjs.com/package/tr-slugify
Özellikler
- ✅ Türkçe özel karakterleri doğru çevirme (ç→c, ğ→g, ı→i, İ→I, ö→o, ş→s, ü→u)
- ✅ URL-friendly slug oluşturma
- ✅ Özelleştirilebilir ayırıcı karakterler
- ✅ Çoklu metin işleme
- ✅ Benzersiz slug oluşturma
- ✅ TypeScript desteği
- ✅ Kapsamlı test coverage
- ✅ Sıfır bağımlılık
Kurulum
npm install tr-slugifyveya
yarn add tr-slugifyKullanım
Temel Kullanım
import { trSlugify } from 'tr-slugify';
// Basit kullanım
trSlugify('Türkçe Metin'); // 'turkce-metin'
// Türkçe karakterler
trSlugify('çay'); // 'cay'
trSlugify('ağaç'); // 'agac'
trSlugify('ırmak'); // 'irmak'
trSlugify('İstanbul'); // 'istanbul'
trSlugify('gözlük'); // 'gozluk'
trSlugify('şeker'); // 'seker'
trSlugify('güneş'); // 'gunes'Gelişmiş Kullanım
import { trSlugify, trSlugifyMultiple, trSlugifyUnique } from 'tr-slugify';
// Seçeneklerle kullanım
trSlugify('Türkçe Metin', {
separator: '_', // Ayırıcı karakter (varsayılan: '-')
lowercase: false, // Küçük harfe çevirme (varsayılan: true)
removeSpecialChars: true, // Özel karakterleri kaldır (varsayılan: true)
collapseSeparators: true, // Çoklu ayırıcıları tek ayırıcıya çevir (varsayılan: true)
trimSeparators: true // Başındaki ve sonundaki ayırıcıları kaldır (varsayılan: true)
});
// Çoklu metin işleme
const texts = ['Türkçe', 'İngilizce', 'Almanca'];
trSlugifyMultiple(texts); // ['turkce', 'ingilizce', 'almanca']
// Benzersiz slug oluşturma
const existingSlugs = ['test', 'test-1'];
trSlugifyUnique('test', existingSlugs); // 'test-2'API Referansı
trSlugify(text, options?)
Ana slugify fonksiyonu.
Parametreler:
text(string): Çevrilecek metinoptions(SlugifyOptions, opsiyonel): Slugify seçenekleri
Dönen değer: URL-friendly slug string
trSlugifyMultiple(texts, options?)
Birden fazla metni slug'a çevirir.
Parametreler:
texts(string[]): Çevrilecek metinler dizisioptions(SlugifyOptions, opsiyonel): Slugify seçenekleri
Dönen değer: Slug'lar dizisi
trSlugifyUnique(text, existingSlugs?, options?)
Benzersiz slug oluşturur.
Parametreler:
text(string): Çevrilecek metinexistingSlugs(string[], opsiyonel): Mevcut slug'lar dizisioptions(SlugifyOptions, opsiyonel): Slugify seçenekleri
Dönen değer: Benzersiz slug string
SlugifyOptions Interface
interface SlugifyOptions {
separator?: string; // Ayırıcı karakter (varsayılan: '-')
lowercase?: boolean; // Küçük harfe çevir (varsayılan: true)
removeSpecialChars?: boolean; // Özel karakterleri kaldır (varsayılan: true)
collapseSeparators?: boolean; // Çoklu ayırıcıları tek ayırıcıya çevir (varsayılan: true)
trimSeparators?: boolean; // Başındaki ve sonundaki ayırıcıları kaldır (varsayılan: true)
}Örnekler
Blog Başlıkları
trSlugify('Türkçe SEO Optimizasyonu Nasıl Yapılır?');
// 'turkce-seo-optimizasyonu-nasil-yapilir'
trSlugify('React.js ile Modern Web Uygulamaları');
// 'react-js-ile-modern-web-uygulamalari'Ürün İsimleri
trSlugify('iPhone 14 Pro Max 256GB');
// 'iphone-14-pro-max-256gb'
trSlugify('Samsung Galaxy S23 Ultra');
// 'samsung-galaxy-s23-ultra'Şehir İsimleri
trSlugify('İstanbul, Türkiye');
// 'istanbul-turkiye'
trSlugify('Ankara - Başkent');
// 'ankara-baskent'Özel Ayırıcılar
trSlugify('Türkçe Metin', { separator: '_' });
// 'turkce_metin'
trSlugify('Test Metin', { separator: '.' });
// 'test.metin'Büyük Harf Koruma
trSlugify('TürkÇe', { lowercase: false });
// 'TürkCe'Geliştirme
Kurulum
git clone https://github.com/ahmetseha/tr-slugify.git
cd tr-slugify
npm installTest Çalıştırma
npm testBuild
npm run buildLisans
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
Changelog
v1.0.0
- İlk sürüm
- Türkçe karakter desteği
- Temel slugify fonksiyonları
- TypeScript desteği
- Kapsamlı test coverage
