Toaster - kila kitu kinaingia kwenye mbolea. Chuja na ufurahie

Inatokea kwamba rasilimali ya Q&A ya Kirusi kwenye mada ya IT ni maarufu sana katika CIS - Kibaniko. Hata hivyo, alikosa kitu nilipoanza kumfahamu kwa ukaribu. Hii ilisababisha uboreshaji katika fomu ya kiendelezi cha kivinjari. Kutana nami.

Vipengele muhimu:

  • Title: Faraja ya Toaster.
  • Takwimu za mtumiaji: asilimia ya maswali yenye suluhu; karma kutoka kwa Habr; muhtasari kutoka kwa wasifu - yote haya yako kwenye orodha ya maswali ya Toaster.
  • Notisi: kwa wakati halisi kwenye tovuti, kwenye ikoni, pamoja na arifa za kushinikiza, mipangilio mingi, tovuti lazima iwe wazi (wiki).
  • Vichujio: masharti kulingana na kanuni: unaweza kuficha maswali, rangi, na pia kuonyesha arifa - yote haya yameundwa kwa urahisi katika mfumo wa hali ya kimantiki (wiki).
  • Kiolesura: maboresho madogo, kama vile kuonyesha tarehe kamili au kuonyesha hali ya usajili katika orodha ya maswali.
  • Kiolesura cha Habr: maboresho madogo (ya hiari), kwa mfano, mistari ya kuingiza kwenye maoni.
  • Chanzo wazi: Unaweza kujitengenezea mwenyewe ikiwa kweli unataka (vyanzo).
  • Bure: Leseni ya MIT.
  • Matumizi ya kumbukumbu: 30-50MB, kulingana na chaguzi na ukubwa wa matumizi ya Toaster
  • Size: 93KB kwa v0.8.1 (isiyojazwa, si iliyopunguzwa).
  • Mfumo: kukosa, safi JS (minimalism).
  • Ubora wa msimbo: wastani, mchanganyiko wa mitindo, vipengele vikubwa, mbinu chafu, maoni machache.
  • Ruhusa: toster.ru, habr.com, notifications, storage, unlimitedStorage

Hapo awali, nilijifanyia upanuzi kwa lengo moja: kuonyesha asilimia ya maswali ya mtumiaji ambayo alijishughulisha kubofya kitufe cha "Weka alama kama suluhisho". Kisha, kidogo kidogo, kwanza moja na kisha nyingine ziliongezwa, mpaka chombo kilikua monster ya kilobytes mia. Walakini, kanuni ya "kutotumia chochote kisicho cha lazima" ilifuatwa hadi mwisho.

Moja ya sifa kuu sasa ni matumizi ya fomula katika mipangilio. Unaweza kufanya karibu chochote nao, chochote unachotaka kudhibiti umakini wako. Jambo kuu ni kujua nini cha kutaka. Kuficha, kubadilisha rangi na arifa ni vipengele vitatu vya kuzingatia unapofanya kazi na tovuti. Kuchuja chochote na kila kitu ni muhimu kwa urahisi.

Mfano wa sheria inayoweza kubadilika ambayo itakuruhusu kupokea arifa juu ya mada maalum:

!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

Nitasema mara moja kuwa kazi ya eval() haikuweza kutumika. Kwa hivyo hautafurahiya sana. Kwa hivyo, ilibidi niandike mkongojo wangu mwenyewe katika 5 KB ya nambari kwa kutumia geuza nukuu ya Kipolandi. Hii, mtu anaweza kusema, ni JS isiyo na msingi sana, katika suala la kazi na syntax.

Kulikuwa na chapisho kuhusu Ugani wa Toster. Kwa kulinganisha, TE ina kiolesura kizuri zaidi na baadhi ya vipengele ambavyo Toster Comfort haina. Walakini, ugani wangu unasisitiza matumizi ya rasilimali. Walakini, hakuna mtu anayekusumbua kutumia viendelezi vyote viwili; haipaswi kupingana.

Kwa njia nzuri, TC inahitaji kuandikwa upya kuanzia mwanzo, kwa sababu kazi inaweza kuharakishwa angalau mara mbili, na kufanya kazi na akiba - mara 10, kwa kuacha localStorage na JSON.stringify() na kubadilisha baadhi ya ufumbuzi wa usanifu. Lakini sio mimi ninayepaswa kufanya kazi hii. Na mimi ni shabiki wa kanuni ya "ikiwa inafanya kazi, usiiguse". Wakati niko likizo, ninachukua kikamilifu masuala na PR, lakini si kwa gharama ya minimalism. Asante kwa umakini wako!

Chanzo: www.habr.com

Kuongeza maoni