JetReader – Book Library, EPUB & PDF Reader (Lite)

Açıklama

JetReader, tam ekran React döküman okuyucusu ile WordPress sitenizi dijital bir kütüphaneye dönüştürür. Kitap, makale, dergi ve soru-cevap dökümanlarını yükleyin, yönetin ve sergileyin. Dökümanları otomatik olarak SEO dostu Özel Yazı Türleri (Custom Post Types) ile eşleştirerek tamamen aranabilir ve XML site haritası uyumlu hale getirir.

Doküman Desteği

  • EPUB — Sayfalandırılmış düzen, özelleştirilebilir yazı tipleri ve içindekiler (outline) üzerinden gezinme.
  • PDF — Yüksek performanslı işleme, yakınlaştırma (zoom) ve çift/tek sayfa görünümü.
  • TXT — Yazı tipi boyutlandırma ve otomatik kaydırma özelliklerine sahip, otomatik stillendirilmiş metin.
  • DOCX — Word dosyalarının biçimlendirmeleriyle birlikte istemci tarafında (client-side) işlenmesi ve ekrana getirilmesi.

Özellikler

  • Tam Ekran Görünümü — Maksimum odaklanma için site başlıkları/altbilgileri (header/footer) olmayan temiz bir şablon.
  • Temalar — Açık, Koyu, Sepya ve Otomatik modlar arasında geçiş yapın.
  • Döküman İçi Arama — Sayfa atlama özelliğiyle terimleri doğrudan dökümanın içinde bulun.
  • Okumaya Devam Et — Kullanıcının okuma ilerlemesini hatırlar.
  • Derin Bağlantı (Deep Linking) — Dökümanın belirli bir sayfada açılmasını sağlayan doğrudan URL’ler (örneğin, #page=12).

Dokümantasyon

Eksiksiz dokümantasyon, kısa kod (shortcode) özellikleri ve REST API uç noktaları (endpoints) için lütfen resmi dokümantasyon sayfasını ziyaret edin:
https://wplector.com

Kaynak Kod & Derleme Talimatları

Bu eklenti, dist/ dizini altında sıkıştırılmış/derlenmiş React varlıkları içerir. Derlemenin izlenebilirliği ve şeffaflığı adına, dağıtılan paket src/ dizini içinde eksiksiz, sıkıştırılmamış ve insan tarafından okunabilir kaynak kodunun yanı sıra derleme yapılandırma dosyalarını da (package.json, package-lock.json, vite.config.ts, tsconfig.json, postcss.config.js, tailwind.config.ts) barındırır. Kaynak koda ayrıca herkese açık olarak aşağıdaki depodan erişilebilir ve yönetilebilir:
https://github.com/mehdituran/jetreader-lite

Derleme Araçları & Adımları

Derlenmiş varlıkları kaynak koddan oluşturmak için:
1. Node.js (v18+) sürümünün kurulu olduğundan emin olun.
2. Depoyu (repository) klonlayın ve proje dizinine gidin.
3. Bağımlılıkları yüklemek için şu komutu çalıştırın:
npm install
4. Vite derleyicisini kullanarak canlı ortam (production) varlıklarını oluşturun:
npm run build
5. Oluşturulan derlenmiş dosyalar dist/ dizinine çıkartılacaktır.

Üçüncü Taraf Kütüphaneler

Derlenmiş varlıklar (compiled assets) aşağıdaki üçüncü taraf kütüphaneleri içerir:
* React & React DOM (MIT Lisansı) – https://react.dev/
* TanStack React Query (MIT Lisansı) – https://tanstack.com/query/
* Framer Motion (MIT Lisansı) – https://www.framer.com/motion/
* Epub.js (BSD 3-Clause Lisansı) – https://github.com/futurepress/epub.js/
* Mozilla PDF.js (Apache 2.0 Lisansı) – https://mozilla.github.io/pdf.js/
* Mammoth.js (BSD 2-Clause Lisansı) – https://github.com/mwilliamson/mammoth.js (Bluebird ve JSZip dahil)
* DOMPurify (Apache 2.0 / LGPL 2.1) – https://github.com/cure53/DOMPurify
* fflate (MIT Lisansı) – https://github.com/101arrowz/fflate
* Keen Slider (MIT Lisansı) – https://keen-slider.io/

Yerelleştirme & Çeviri

JetReader tamamen çeviriye hazırdır: PHP dizgileri WordPress i18n fonksiyonlarını (__(), _e(), vb.) kullanır; React yönetim paneli, arayüz ve okuyucu arayüzleri ise @wordpress/i18n paketinden yararlanır. Böylece eklenti, sitenizin aktif dilini (Polylang/WPML tarafından ayarlanan sayfa başına diller dahil) otomatik olarak takip eder. Çeviri şablonu languages/jetreader.pot dosyasında yer almaktadır.

Ekran Görüntüleri

Yükleme

  1. jetreader klasörünü /wp-content/plugins/ dizinine yükleyin veya doğrudan Eklentiler Yeni Ekle Eklenti Yükle menüsü üzerinden kurun.
  2. Eklentiyi Eklentiler menüsünden etkinleştirin.
  3. Eklenti etkinleştirildiğinde, otomatik olarak özel veritabanı tabloları oluşturacak ve varsayılan CPT kalıcı bağlantı (rewrite) kurallarını kaydedecektir.
  4. Varsayılan dilinizi, okuyucu seçeneklerini, kütüphane kartı düzenini ve renk paletlerini ayarlamak için JetReader Ayarlar bölümüne gidin.
  5. Yeni bir WordPress Sayfası oluşturun, içine [jetreader_library] kısa kodunu (shortcode) ekleyin ve sayfayı yayınlayın.
  6. JetReader Kütüphane Öğeleri Yeni Ekle menüsünden veya döküman yükleyerek ilk dijital öğenizi ekleyin. Kütüphaneniz artık hazır!

SSS

Hangi dosya formatları destekleniyor?

JetReader; EPUB, PDF, TXT ve DOCX dosyalarını destekler. Dosyalar doğrudan yüklenebilir veya harici URL’ler üzerinden bağlanabilir.

Ziyaretçiler üye olmadan yer işareti ekleyebilir mi veya metin vurgulayabilir mi?

Hayır. Yer işaretleri ve notların cihazlar arası kalıcı bir deneyim sunabilmesi için veritabanınıza kaydedilmesi gerekir; bu nedenle kullanıcıların bir WordPress hesabına giriş yapmış olması şarttır. Herkese açık okuma modu ise bir hesap gerektirmez.

Metin kopyalamayı devre dışı bırakabilir miyim?

Evet. JetReader Ayarlar bölümüne gidin ve “Kopyalama Açık” iznini kapatın. Bu işlem, okuyucu arayüzü içindeki metin seçimini, sağ tıklamayı ve kopyalama kısayollarını devre dışı bırakır.

Lite sürümünde arama nasıl çalışır?

JetReader, ziyaretçilerin kütüphaneye yüklenen dökümanlar arasında başlıklarına göre arama yapmasını sağlar. Döküman içi metin aramalarında ise okuyucu, sunucu tarafında herhangi bir veritabanı indekslemesine ihtiyaç duymadan metni doğrudan ziyaretçinin tarayıcısında (istemci taraflı) işler ve arar.

JetReader, WordPress sitemi yavaşlatır mı?

Hayır. Arayüz bileşenleri (JavaScript ve CSS paketleri) dinamik olarak sıraya alınır (enqueue) ve yalnızca JetReader kısa kodunun (shortcode) bulunduğu sayfalarda yüklenir.

JetReader, WooCommerce ile uyumlu mu?

Evet. JetReader, WooCommerce Yüksek Performanslı Sipariş Depolama (HPOS) özelliğiyle tam uyumlu olarak çalışır; böylece WooCommerce mağazanızda herhangi bir yönetici uyumluluk uyarısı görünmez.

Etiketler (Tags) ne için kullanılır?

Etiketler, içerik türleri arasında çalışan hafif bir sınıflandırma (taxonomy) yapısıdır. Yalnızca belirli bir içerik türüne ait olan kategorilerin aksine, tek bir etiket; kitapları, makaleleri, dergileri ve soru-cevap dökümanlarını bir arada gruplayabilir. Bu sayede tüm kütüphanenizde esnek filtreleme ve keşif imkanı sunar.

WordPress.org eklenti sayfasına ekran görüntülerini nasıl eklerim?

Gerekli görseller ve bunları nasıl yerleştireceğiniz için aşağıdaki Ekran Görüntüleri bölümüne bakın.

İncelemeler

Bu eklenti için herhangi bir değerlendirme bulunmuyor.

Katkıda Bulunanlar ve Geliştiriciler

“JetReader – Book Library, EPUB & PDF Reader (Lite)” açık kaynaklı yazılımdır. Aşağıdaki kişiler bu eklentiye katkıda bulunmuşlardır.

Katkıda bulunanlar

“JetReader – Book Library, EPUB & PDF Reader (Lite)” 2 dile çevrildi. Katkıda bulundukları için çevirmenlere teşekkürler.

“JetReader – Book Library, EPUB & PDF Reader (Lite)” eklentisini dilinize çevirin.

Geliştirmeyle ilgilenir misiniz?

Kodu görüntüleyin, SVN deposuna göz atın ya da RSS ile geliştirme günlüğüne abone olun.

Değişiklik Kaydı

1.1.0

  • Yerelleştirme: PHP ve React yönetim paneli/önyüz/okuyucu arayüzlerindeki özel lang/*.json + t() çeviri sistemi, yerel WordPress i18n (__(), _e(), sprintf()) fonksiyonları ile değiştirildi; böylece eklenti artık standart .po/.mo dosyaları aracılığıyla çevrilebilir hale geldi ve Polylang/WPML ile sorunsuz çalışıyor.
  • Eklentinin metin yönü (RTL/LTR), dile özel özel bir ayar yerine artık WordPress’in kendi is_rtl() fonksiyonunu takip ediyor.
  • Kullanılmayan “Eklenti Dili” yönetim paneli ayarı ve lang/ dizini kaldırıldı; yönetim menüsü ve özel yazı türü (CPT) etiketleri artık özel bir JSON araması yerine çekirdek WordPress fonksiyonları aracılığıyla çevriliyor.
  • Hem PHP hem de React/TypeScript kaynak kodlarındaki çevrilebilir tüm metinleri içerecek şekilde languages/jetreader.pot dosyası yeniden oluşturuldu.

1.0.3

  • Güvenlik: Dosya yeniden adlandırma uç noktası (endpoint), dosya uzantısını değiştiren tüm yeni dosya adlarını artık reddediyor; böylece yüklenen dosyaların çalıştırılabilir dosya türlerine dönüştürülmesi engelleniyor.
  • Düzeltildi: Kritik okuyucu sayfası CSS’i artık satır içi bir <style> etiketi olarak yazdırılmak yerine wp_register_style()/wp_add_inline_style() aracılığıyla kaydediliyor.
  • Düzeltildi: İstek sınırlama (rate-limit) geçici veri (transient) anahtarları, diğer eklentilerle çakışmaları önlemek için çok kısa olan jr_ öneki yerine artık jetreader_ önekini kullanıyor.

1.0.2

  • Daraltılabilir Filtre Yan Menüsü: Masaüstü düzenine daraltılabilir bir Filtre Yan Menüsü eklendi.
  • Modern Ok İkonları: Yan menü (sidebar) için özel < ve > açma/kapama butonları entegre edildi.

1.0.1

  • Özel Soru-Cevap (Q&A) düzeni: Standart ızgara kartları yerine temiz, dikey bir liste olarak görüntülendi.
  • Detay modal penceresi: Soru-Cevap (Q&A) ögeleri için sol kapak görseli sütunu gizlendi ve genişlik 650 piksel olarak ayarlandı.
  • Çoklu kısa kodlar: Tek bir sayfada birden fazla kütüphane örneğinin görüntülenmesini desteklemek için ID çakışmaları düzeltildi.
  • Tür parametresi eşlemesi: Çoğul kısa kod niteliklerini (örn. kitaplar, dergiler) otomatik olarak tekil olanlara dönüştürür.

1.0.0

  • JetReader Lite sürümünün ilk kararlı (stable) yayını.
  • EPUB, PDF, TXT ve DOCX dosyaları için destek eklendi.
  • Modern, tam ekran, React tabanlı döküman okuyucu arayüzü eklendi.
  • Özelleştirilebilir okuma temaları (Açık, Koyu, Sepya, Otomatik) ve yazı tipi boyutları eklendi.
  • Kalıcı kullanıcı yer işaretleri, notlar ve renkli vurgulamalar eklendi.
  • Derin bağlantı (deep linking) ve okumaya devam et özellikleri eklendi.
  • SEO optimizasyonu, CPT senkronizasyonu ve Schema.org üst veri enjeksiyonu eklendi.
  • Bağımsız döküman üst veri (metadata) araması eklendi.