Easy Rich Text

Flutter için kolay ve esnek rich text widget'ı. RichText widget'ının karmaşıklığını basitleştirerek, hızlı ve etkili bir şekilde zengin metin içeriği oluşturmanızı sağlar.

Özellikler

  • 🎨 Kolay stil uygulama
  • 🔍 Regex ve basit metin desenleri
  • 📱 Önceden tanımlanmış desenler (email, URL, hashtag, vb.)
  • 🎯 Tıklanabilir metin alanları
  • 💡 Fluent API ile kolay kullanım
  • 🔧 Tamamen özelleştirilebilir

Kurulum

dependencies:
  easily_rich_text: ^1.0.0

Kullanım

Basit Kullanım

import 'package:easily_rich_text/easily_rich_text.dart';

EasyRichText(
  "Bu bir örnek metindir. Burada kalın yazı ve italik yazı bulunmaktadır.",
  patternList: [
    EasyPatterns.bold("kalın yazı"),
    EasyPatterns.italic("italik yazı"),
  ],
)

Önceden Tanımlanmış Desenler

EasyRichText(
  "E-posta: info@example.com\nWebsite: https://example.com\n#flutter #dart @kullanici",
  patternList: [
    EasyPatterns.email(),
    EasyPatterns.url(),
    EasyPatterns.hashtag(),
    EasyPatterns.mention(),
  ],
)

Özel Desenler

EasyRichText(
  "Kırmızı metin ve yeşil arka plan",
  patternList: [
    EasyTextPattern(
      pattern: "Kırmızı metin",
      style: TextStyle(color: Colors.red),
    ),
    EasyTextPattern(
      pattern: "yeşil arka plan",
      backgroundColor: Colors.green,
    ),
  ],
)

Tıklanabilir Metin

EasyRichText(
  "Bu linke tıklayın",
  patternList: [
    EasyTextPattern(
      pattern: "linke tıklayın",
      style: TextStyle(
        color: Colors.blue,
        decoration: TextDecoration.underline,
      ),
      onTap: () {
        print("Link tıklandı!");
      },
    ),
  ],
)

Regex Desenleri

EasyRichText(
  "Telefon: +90 555 123 45 67",
  patternList: [
    EasyTextPattern(
      pattern: r'\+?\d{2}\s?\d{3}\s?\d{3}\s?\d{2}\s?\d{2}',
      isRegex: true,
      style: TextStyle(
        color: Colors.green,
        fontWeight: FontWeight.bold,
      ),
    ),
  ],
)

Stil Yardımcıları

EasyTextStyle Kullanımı

// Önceden tanımlanmış stiller
EasyTextStyle.heading1
EasyTextStyle.heading2
EasyTextStyle.link
EasyTextStyle.error

// Fluent API
TextStyle().bold().italic().withColor(Colors.red)

API Referansı

EasyRichText

Parametre Tip Açıklama
text String Gösterilecek metin
patternList List Uygulanacak desenler
defaultStyle TextStyle? Varsayılan metin stili
caseSensitive bool Büyük/küçük harf duyarlılığı

EasyTextPattern

Parametre Tip Açıklama
pattern String Aranacak desen
style TextStyle? Uygulanacak stil
onTap VoidCallback? Tıklama eventi
isRegex bool Regex deseni mi?
backgroundColor Color? Arka plan rengi
decoration TextDecoration? Metin dekorasyonu

Örnekler

Sosyal Medya Metni

EasyRichText(
  "Harika bir gün! #güzel #hayat @arkadaşım ile birlikte",
  patternList: [
    EasyPatterns.hashtag(),
    EasyPatterns.mention(),
  ],
)

İletişim Bilgileri

EasyRichText(
  "Bize ulaşın: info@company.com veya +90 555 123 45 67",
  patternList: [
    EasyPatterns.email(),
    EasyPatterns.phone(),
  ],
)

Katkıda Bulunma

  1. Fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Commit edin (git commit -m 'Add some amazing feature')
  4. Push edin (git push origin feature/amazing-feature)
  5. Pull Request oluşturun

Lisans

MIT License - Detaylar için LICENSE dosyasına bakın.

Libraries

easily_rich_text