Тостер - бәрі компостерге түседі. Сүзіп, ләззат алыңыз

IT тақырыптарындағы ресейлік сұрақ-жауап ресурсы ТМД елдерінде өте танымал. Тостер. Алайда, мен оны жақыннан тани бастағанда оған бірдеңе жетіспейтін болды. Бұл шолғыш кеңейтімі түріндегі жақсартуға әкелді. Менімен таныс.

Негізгі ерекшеліктері:

  • атауы: Тостер жайлылығы.
  • Пайдаланушы статистикасы: шешімдері бар сұрақтардың пайызы; Хабрдан алынған карма; профильдегі қорытынды - мұның бәрі Тостер сұрақтар тізімінде.
  • Ескертулер: нақты уақытта сайтта, белгішеде, плюс push хабарландырулары, көптеген параметрлер, сайт ашық болуы керек (wiki).
  • Сүзгілер: формулаларға негізделген шарттар: сұрақтарды жасыруға, оларды бояуға, сондай-ақ хабарландыруларды көрсетуге болады - мұның бәрі логикалық шарттар түрінде икемді түрде конфигурацияланған (wiki).
  • Интерфейс: нақты күндерді көрсету немесе сұрақтар тізімінде жазылу күйін көрсету сияқты шамалы жақсартулар.
  • Habr интерфейсі: шамалы жақсартулар (міндетті емес), мысалы, түсініктемелердегі шегініс жолдары.
  • Ашық дереккөз: Егер шынымен қаласаңыз, оны өзіңіз үшін қайта жасай аласыз (көздері).
  • Тегін: MIT лицензиясы.
  • Жадты тұтыну: Тостер опциялары мен пайдалану қарқындылығына байланысты 30-50 МБ
  • Өлшем: v93 үшін 0.8.1 КБ (орамадан шығарылған, кішірейтілмеген код).
  • Рамка: жоқ, таза JS (минимализм).
  • Код сапасы: орташа, стильдердің араласуы, үлкен мүмкіндіктер, лас амалдар, аз пікірлер.
  • Рұқсаттар: toster.ru, habr.com, notifications, storage, unlimitedStorage

Бастапқыда мен кеңейтімді өзім үшін бір мақсатпен жасадым: ол «Шешім ретінде белгілеу» түймесін басуға алаңдаған пайдаланушы сұрақтарының пайызын көрсету. Содан кейін бірте-бірте алдымен біреуі, содан кейін екіншісі қосылды, бұл құрал жүз килобайттық құбыжық болып өсті. Соған қарамастан «қажетсіз ештеңе қолданбау» қағидасы соңына дейін сақталды.

Ендігі басты мүмкіндіктердің бірі - параметрлерде формулаларды пайдалану. Сіз олармен дерлік кез келген нәрсені жасай аласыз, кез келген назарыңызды басқарғыңыз келеді. Ең бастысы - не қалайтынын білу. Жасыру, түстер мен хабарландыруларды өзгерту сайтпен жұмыс істеу кезінде назар аудару керек үш негізгі аспект болып табылады. Кез келген нәрсені және барлығын сүзу - ыңғайлылықтың кілті.

Белгілі бір тақырып бойынша хабарландырулар алуға мүмкіндік беретін икемді ереженің мысалы:

!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

Мен eval() функциясын пайдалану мүмкін емес екенін бірден айтамын. Сондықтан көп көңілді болмайды. Сондықтан мен өзімнің балдақты 5 Кбайт кодта жазуға тура келді кері поляк белгісі. Бұл функциялар мен синтаксис тұрғысынан жоғары зарарсыздандырылған JS деп айтуға болады.

Жақында бір пост шықты Toster кеңейтімі. Салыстыру үшін, TE жақсырақ интерфейске және Toster Comfort қолданбасында жоқ кейбір мүмкіндіктерге ие. Дегенмен, менің кеңейтім ресурстарды тұтынуға баса назар аударады. Дегенмен, екі кеңейтімді де пайдалануға ешкім сізді алаңдатпайды, олар бір-біріне қайшы келмеуі керек.

Жақсы мағынада, ТК-ны нөлден қайта жазу керек, себебі localStorage және JSON.stringify() қолданбаларынан бас тартып, кейбір архитектуралық шешімдерді өзгерту арқылы жұмысты кем дегенде екі рет, ал кэшпен жұмысты 10 есе жылдамдатуға болады. Бірақ бұл ерлік жасау мен емес. Мен «егер ол жұмыс істесе, оған қол тигізбе» қағидасының жанкүйерімін. Мен демалыста болған кезде мен мәселелер мен PR-мен белсенді айналысамын, бірақ минимализм есебінен емес. Назарларыңызға рахмет!

Дереккөз: www.habr.com

пікір қалдыру