Π’Π°ΠΊ ΡΠΆ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π² Π‘ΠΠ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΡΡΡΡΠΊΠΈΠΉ Q&A ΡΠ΅ΡΡΡΡ ΠΏΠΎ ΠΠ’ ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ β
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: Toster Comfort.
- Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ: ΠΏΡΠΎΡΠ΅Π½Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ; ΠΊΠ°ΡΠΌΠ° Ρ Π₯Π°Π±ΡΠ°; ΡΠ²ΠΎΠ΄ΠΊΠ° ΠΈΠ· ΠΏΡΠΎΡΠΈΠ»Ρ β Π²ΡΡ ΡΡΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π’ΠΎΡΡΠ΅ΡΠ°.
- Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ: Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅, Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅, ΠΏΠ»ΡΡ push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΡΠ°ΠΉΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠΊΡΡΡ (
Π²ΠΈΠΊΠΈ ).
- Π€ΠΈΠ»ΡΡΡΡ: ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΡΠΌΡΠ»: ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΡΠ²Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ°ΡΠΊΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΡ
ΡΠ²Π΅ΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, β Π²ΡΡ ΡΡΠΎ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ»ΠΎΠ²ΠΈΠΉ (
Π²ΠΈΠΊΠΈ ).
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ: ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΊΠ°Π· ΡΠΎΡΠ½ΡΡ Π΄Π°Ρ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²ΠΎΠΏΡΠΎΡΠΎΠ².
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π₯Π°Π±ΡΠ°: ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΈΠ½ΠΈΠΈ Π½Π° ΠΎΡΡΡΡΠΏΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ .
- Open source: ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ, Π΅ΡΠ»ΠΈ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠ΅ΡΡΡ (
ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ).
- Free: MIT License.
- ΠΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ: 30-50ΠΠ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠΏΡΠΈΠΉ ΠΈ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π’ΠΎΡΡΠ΅ΡΠ°
- Π Π°Π·ΠΌΠ΅Ρ: 93ΠΠ Π΄Π»Ρ v0.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 ΠΠ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
ΠΠ΅Π΄Π°Π²Π½ΠΎ Π±ΡΠ» ΠΏΠΎΡΡ ΠΏΡΠΎ
ΠΠΎ-Ρ
ΠΎΡΠΎΡΠ΅ΠΌΡ, TC Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Ρ Π½ΡΠ»Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Π΄Π²ΠΎΠ΅, Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΡΡΠ΅ΠΌ β ΡΠ°Π· Π² 10, ΠΎΡΠΊΠ°Π·Π°Π²ΡΠΈΡΡ ΠΎΡ localStorage ΠΈ JSON.stringify() ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΡΡΠΎΡ ΠΏΠΎΠ΄Π²ΠΈΠ³ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ Π΄Π΅Π»Π°ΡΡ ΡΠΆΠ΅ Π½Π΅ ΠΌΠ½Π΅. Π Ρ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Β«ΡΠ°Π±ΠΎΡΠ°Π΅Ρ β Π½Π΅ ΡΡΠΎΠ³Π°ΠΉΒ». ΠΠΎΠΊΠ° ΠΎΡΠΏΡΡΠΊ, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ issues ΠΈ PR, Π½ΠΎ Π½Π΅ Π² ΡΡΠ΅ΡΠ± ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com