Odaklanmayı artırmak için cümle bazlı vurgu efekti veren bir Chrome uzantısı geliştirdim.
(github.com/hamsteak1488)Web sayfalarını daha rahat okumayı sağlamak için cümle bazlı vurgu ve otomatik kaydırma yapan bir Chrome uzantısı geliştirdim. Tanıtım görselleri GitHub'da yer alıyor.
[Features]
- Cümle bazlı vurgu
- Altı çizili, dış hat, fosforlu kalem, spot ışığı gibi çeşitli efektler.
- Fare tıklamasıyla istenen cümleye odaklanma.
- Klavyedeki ok tuşlarıyla önceki ve sonraki cümleye odak taşınabilmesi.
- Otomatik kaydırma
- Odaklanan cümleye otomatik olarak kaydırma.
- İç içe geçmiş kaydırma kapsayıcılarında da doğru çalışma.
- Kaydırma sonrası cümlenin ekranda hangi yükseklikte konumlanacağını kullanıcı ayarlayabilir.
- Genel kullanım
- Google, GitHub, ChatGPT, Notion, Youtube, GeekNews, HackerNews, BOJ, Naver, LinkedIn, Tistory, Velog, SamsungSDS gibi çeşitli ortamlarda iyi çalıştığı doğrulandı.
- Şu ana kadar DOM ağacının gerçek zamanlı değiştiği durumlar dışında tüm web sayfalarında çalışmayı başardı.
[Geliştirme arka planı]
Mülakatlara hazırlanırken şirketlerle ilgili çok sayıda haber okumam gerekiyordu; ancak bazen dikkatim dağılıyor ve okuma hızım ciddi biçimde yavaşlıyordu. Bir şekilde odağımı korumak için, her cümleyi okurken fareyle ilk harfi sürükleyerek o anda hangi cümleyi okuduğumu sürekli işaretliyordum.
Ama her cümlede fareyi tekrar tekrar kullanmak zorunda kalınca bileğim ağrımaya başladı. Ayrıca ayağımı masaya koyup koltuğu geriye yatırdığım rahat bir pozisyonda fareyi hassas biçimde hareket ettirmek de çok zordu.
Okuduğum konumu cümle bazında gösterebilen bir Chrome uzantısı aradım, ancak popüler seçenekler arasında böyle bir şey yoktu. Web Store'da daha çok arayınca tam iki tane bulabildim, fakat birçok web sayfasında çalışmıyorlardı, sayfayı bozuyorlardı, cümle sınırlarını doğru ayıramıyorlardı ve vurgu stilini istediğim gibi ayarlayamıyordum; bunlar hoşuma gitmedi.
Bu yüzden önce sadece kendim kullanmak için doğrudan geliştirmeye başladım. Sonrasında iyileştirmelere devam ettikçe ortaya oldukça iyi bir sonuç çıktı ve belki birilerinin işine yarar diye Web Store'a da yükledim.
[Geliştirme süreci]
Temel olan cümle ayırma mantığında, DOM ağacını pre-order dolaşarak metin parçalarından cümlelerin başlangıç ve bitiş konumlarını bulup saklama yöntemini uyguladım. “Kabaca nokta ve soru işaretine bakıp cümleleri ayırmak yeterlidir herhalde?” diye fazla rahat düşünmüştüm, ancak cümlelerin arasına çeşitli etiketler girdiğinde tek bir metin düğümünde cümlenin tamamı bulunmadığı için algoritmayı epey karmaşık kurmak zorunda kaldım.
Otomatik kaydırma özelliği aslında ilk planda yoktu; fakat cümle ayırma mantığını tamamladıktan sonra bu kez aşağı kaydırmak için yine fareye uzanmak gerektiğini fark edip bunu da geliştirmeye başladım. Otomatik kaydırma için başta scrollTo metodunu kullanınca işin hemen çözüleceğini sanmıştım, ancak ChatGPT dahil çeşitli web sayfalarında yalnızca basit scrollTo ile çalışmayan epey çok durum vardı. Ayrıca scrollTo, cümle değil düğüm birimini kullandığından, tek bir metin düğümünde birden fazla cümle olduğunda odağı sonraki cümleye taşısanız bile kaydırmanın hareket etmemesi sorununu da çözmem gerekiyordu.
[Geri bildirim rica ediyorum]
Böyle bir rica ne kadar uygun bilmiyorum ama, eğer ilginizi çekip bir kez denediyseniz geri bildiriminizi rica ederim. Şimdiye kadar çeşitli yerlerde tanıttığım için kullanıcı sayısı yavaş yavaş artıyor, ama hâlâ tek bir yorum bırakan bile olmadı.
Hiç yorum almamanın kötü yorumdan daha ürkütücü olduğunu bizzat yaşayan biri olarak; eleştiri, iyileştirme önerisi, hata bildirimi ya da aklınıza gelen çok küçük bir nokta bile olsa görüş bırakırsanız gerçekten çok sevinirim.
GitHub: https://github.com/hamsteak1488/focus-anchor
Chrome Webstore: https://chromewebstore.google.com/detail/focus-anchor/…
4 yorum
Gerçekten çok iyi bir eklenti!
Metni fareyle seçerek okuyan biriyim, bu yüzden inanılmaz kullanışlı görünüyor!
vimtuş atamalarını da desteklese harika olurdu!Bir de acaba Firefox desteği de planlıyor musunuz?
Şu anda kısayol atama seçeneğini uyguluyorum ve bir sonraki sürüme eklemeyi planlıyorum!
Firefox desteğini de kod refaktörünü bitirir bitirmez hemen eklemeye çalışacağım.
Gerçekten çok sade ve iyi bir özellik!
Şirkete kurup uzun süre kullanmak gerekir.
Eksik kalan yanı, kısayolunun olmaması denebilir.
Eklentiler çoğaldıkça üstte sabitlenmiş olanlar çok artıyor; bu yüzden bir klavye kısayolunun olması da iyi olurdu
Görüşünüz için teşekkürler! Kısayol özelliğini bir sonraki sürüme hemen ekleyebilmek için geliştirmeye çalışacağım.