Toster - hamma narsa kompostga kiradi. Filtrlang va zavqlaning

Shunday bo'ladiki, Rossiyaning IT-mavzulari bo'yicha savol-javob resursi MDHda juda mashhur - Toster. Biroq, men u bilan yaqindan tanisha boshlaganimda, unga nimadir etishmayotgan edi. Bu brauzer kengaytmasi shaklida yaxshilanishga olib keldi. Meni kutib oling.

Asosiy xususiyatlari:

  • nomi: Toster qulayligi.
  • Foydalanuvchi statistikasi: yechimlari bo'lgan savollarning foizi; Habrdan karma; profildan xulosa - bularning barchasi Tosterning savollar ro'yxatida.
  • Eslatmalar: real vaqtda saytda, piktogrammada, shuningdek push-bildirishnomalar, ko'plab sozlamalar, sayt ochiq bo'lishi kerak (wiki).
  • Filtrlar: formulalar asosidagi shartlar: siz savollarni yashirishingiz, ularni ranglashingiz, shuningdek bildirishnomalarni ko'rsatishingiz mumkin - bularning barchasi mantiqiy shartlar shaklida moslashuvchan tarzda sozlangan (wiki).
  • Interfeys: aniq sanalarni ko'rsatish yoki savollar ro'yxatida obuna holatini ko'rsatish kabi kichik yaxshilanishlar.
  • Habr interfeysi: kichik yaxshilanishlar (ixtiyoriy), masalan, sharhlardagi chekinish chiziqlari.
  • Ochiq manba: Agar chindan ham xohlasangiz, uni o'zingiz uchun qayta tiklashingiz mumkin (manbalar).
  • Ozod: MIT litsenziyasi.
  • Xotira iste'moli: Tosterdan foydalanish imkoniyatlari va intensivligiga qarab 30-50MB
  • hajmi: v93 uchun 0.8.1KB (paketdan chiqarilmagan, kichiklashtirilgan kod emas).
  • Ramka: etishmayotgan, toza JS (minimalizm).
  • Kod sifati: o'rtacha, uslublar aralashmasi, katta xususiyatlar, iflos fokuslar, bir nechta sharhlar.
  • Ruxsatlar: toster.ru, habr.com, notifications, storage, unlimitedStorage

Dastlab, men o'zim uchun kengaytmani bitta maqsadda qildim: foydalanuvchi "Yechim sifatida belgilash" tugmasini bosishdan bezovta qilgan savollarining foizini ko'rsatish. Keyin, asta-sekin, avvaliga bitta, keyin esa boshqasi qo'shildi, asbob yuz kilobaytlik yirtqich hayvonga aylandi. Shunga qaramay, "keraksiz hech narsa ishlatmaslik" tamoyiliga oxirigacha amal qilindi.

Endi asosiy xususiyatlardan biri - sozlamalarda formulalardan foydalanish. Siz ular bilan deyarli hamma narsani qilishingiz mumkin, o'zingizning e'tiboringizni boshqarishni xohlaysiz. Asosiysi, nimani xohlashingizni bilish. Yashirish, ranglar va bildirishnomalarni o'zgartirish - bu sayt bilan ishlashda e'tibor berish kerak bo'lgan uchta asosiy jihat. Har qanday narsani va hamma narsani filtrlash qulaylik kalitidir.

Muayyan mavzu bo'yicha bildirishnomalarni olish imkonini beruvchi moslashuvchan qoidaga misol:

!tag("Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹") && !contains(t,"Ρ€Π΅ΠΊΠ»Π°ΠΌ") && contains(t,"Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²") && !tag("HTACCESS") || containsWord(t,"Ρ€ΠΊΠ½") || contains(t,"роскомнадзор") || contains(t,"роскомпозор") || contains(t,"государств") || contains(t,"Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½") || contains(t,"Π·Π°ΠΏΡ€Π΅Ρ‰Ρ‘Π½") || contains(t,"пиратск") || containsWord(t,"ΠΎΠ±Ρ…ΠΎΠ΄") || containsWord(t,"ростСлСком") || containsWord(t,"яровой") || containsWord(t,"Ρ€Ρ„") && tag("ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ сСти") = notify

Darhol aytamanki, eval() funktsiyasidan foydalanib bo'lmaydi. Shunday qilib, siz ko'p zavqlanmaysiz. Shuning uchun men o'z qo'ltiqqog'imni 5 KB kodda yozishim kerak edi teskari polyak yozuvi. Aytish mumkinki, bu funksiya va sintaksis nuqtai nazaridan juda neytrallangan JS.

Yaqinda haqida post bor edi Toster kengaytmasi. Taqqoslash uchun, TE yaxshi interfeysga ega va Toster Comfort’da mavjud boβ€˜lmagan ba’zi funksiyalar mavjud. Biroq, mening kengaytmam resurs iste'molini ta'kidlaydi. Biroq, ikkala kengaytmadan foydalanish sizni hech kim bezovta qilmaydi, ular bir-biriga zid bo'lmasligi kerak.

Yaxshi ma'noda, TCni noldan qayta yozish kerak, chunki localStorage va JSON.stringify() dan voz kechish va ba'zi arxitektura echimlarini o'zgartirish orqali ishni kamida ikki marta tezlashtirish va kesh bilan ishlashni 10 marta tezlashtirish mumkin. Lekin bu jasoratni men qilishim shart emas. Va men "agar u ishlayotgan bo'lsa, unga tegmang" tamoyilining muxlisiman. Men ta'tilda bo'lganimda, men muammolar va PR bilan faol shug'ullanaman, lekin minimalizm hisobiga emas. E'tiboringiz uchun rahmat!

Manba: www.habr.com

a Izoh qo'shish