{"id":32122,"date":"2019-10-31T21:45:16","date_gmt":"2019-10-31T18:45:16","guid":{"rendered":"https:\/\/prohoster.info\/blog\/toster-vsyo-v-komposter-filtruj-i-kajfuj\/"},"modified":"2019-10-31T21:45:16","modified_gmt":"2019-10-31T18:45:16","slug":"toster-vsyo-v-komposter-filtruj-i-kajfuj","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/toster-vsyo-v-komposter-filtruj-i-kajfuj","title":{"rendered":"Toaster \u2014 everything into the composter. Filter and enjoy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>It so happens that a Russian Q&amp;A resource on IT is quite popular in the CIS \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/toster.ru\/\">Toaster<\/a><\/noindex>However, something was missing when I started getting familiar with it. This led to improvements in the form of a browser extension. Meet it.<\/p>\n<p>Key features:<\/p>\n<ul>\n<li><b>Name:<\/b> Toster Comfort.<\/li>\n<\/ul>\n<ul>\n<li><b>User statistics:<\/b> percentage of questions solved; karma from Habr; summary from profile \u2014 all this is included in the list of Toster's questions.<\/li>\n<\/ul>\n<ul>\n<li><b>Notifications:<\/b> in real-time on the site, on the icon, plus push notifications, with many settings, the site needs to be open (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/MarisKori\/Toster-Comfort\/wiki\/%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F\">wiki<\/a><\/noindex>).<\/li>\n<\/ul>\n<ul>\n<li><b>Filters:<\/b> conditions based on formulas: you can hide questions, color them, and show notifications \u2014 all of this can be flexibly adjusted with logical conditions (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/MarisKori\/Toster-Comfort\/wiki\/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0\">wiki<\/a><\/noindex>).<\/li>\n<\/ul>\n<ul>\n<li><b>Interface:<\/b> minor improvements, for example, showing exact dates or displaying subscription status in the list of questions.<\/li>\n<\/ul>\n<ul>\n<li><b>Habr Interface:<\/b> minor improvements (optional), for example, lines for indentation in comments.<\/li>\n<\/ul>\n<ul>\n<li><b>Open source:<\/b> you can modify it for yourself if you really want to (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/MarisKori\/Toster-Comfort\">the source code<\/a><\/noindex>).<\/li>\n<\/ul>\n<ul>\n<li><b>Free:<\/b> MIT License.<\/li>\n<\/ul>\n<ul>\n<li><b>Platform:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/chrome.google.com\/webstore\/detail\/toster-comfort\/opmddoloccnldcfbglknhpjgcljkodko\">Activated<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/addons.mozilla.org\/ru\/firefox\/addon\/toster-comfort\/\">Firefox<\/a><\/noindex>.<\/li>\n<\/ul>\n<ul>\n<li><b>Memory consumption:<\/b> 30-50MB, depending on options and intensity of Toster usage<\/li>\n<\/ul>\n<ul>\n<li><b>Size:<\/b> 93KB for v0.8.1 (unpacked, non-minimized code).<\/li>\n<\/ul>\n<ul>\n<li><b>Framework:<\/b> none, pure JS (minimalism).<\/li>\n<\/ul>\n<ul>\n<li><b>Code quality:<\/b> average, mixed styles, large functions, messy techniques, few comments.<\/li>\n<\/ul>\n<ul>\n<li><b>Permissions:<\/b> <code>toster.ru, habr.com, notifications, storage, unlimitedStorage<\/code><\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex>Originally, the extension was made for myself with one simple goal: to show the percentage of questions where the user clicked the 'Mark as solved' button. Gradually, various other features were added until the tool grew into a hundred-kilobyte monster. Nevertheless, the principle of 'not using anything unnecessary' was maintained until the end.<\/p>\n<p>One of the main features now is the use of formulas in the settings. With them, you can do almost anything, tailoring your attention management. The main thing is to know what you want. Hiding, changing colors, and notifications are the three main aspects of attention while working with the site. Filtering everything is the key to convenience.<\/p>\n<p>An example of a flexible rule that allows you to receive notifications on a specific topic:<\/p>\n<pre><code class=\"javascript\">!tag(\"Ad Blocking\") &amp;&amp; !contains(t,\"ads\") &amp;&amp; contains(t,\"block\") &amp;&amp; !tag(\"HTACCESS\") || containsWord(t,\"rkn\") || contains(t,\"roskomnadzor\") || contains(t,\"roskomp\u043e\u0437\u043e\u0440\") || contains(t,\"government\") || contains(t,\"prohibited\") || contains(t,\"banned\") || contains(t,\"pirate\") || containsWord(t,\"bypass\") || containsWord(t,\"rostelecom\") || containsWord(t,\"yarovaya\") || containsWord(t,\"rf\") &amp;&amp; tag(\"Computer Networks\") = notify<\/code><\/pre>\n<p>\nLet me say right away that the eval() function shouldn\u2019t be used. So there\u2019s not much room for creativity. Therefore, I had to write my own workaround with 5 KB of code using <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%BB%D1%8C%D1%81%D0%BA%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C\">reverse Polish notation<\/a><\/noindex>. This can be regarded as a heavily restricted JS, both in terms of functions and syntax.<\/p>\n<p>Recently, there was a post about <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445450\/\">Toster Extension<\/a><\/noindex>. Compared to it, TE has a more user-friendly interface and some features that Toster Comfort lacks. However, my extension focuses on resource consumption. Still, nothing prevents you from using both extensions; they shouldn\u2019t conflict.<\/p>\n<p>In an ideal world, TC should be rewritten from scratch because the performance can be improved at least twofold, and cache handling could be ten times more efficient by eliminating localStorage and JSON.stringify() and changing some architectural decisions. But this feat isn't for me to tackle. I\u2019m a fan of the principle \"if it works, don\u2019t touch it.\" For now, while on vacation, I\u2019m actively accepting issues and PRs, but not at the expense of minimalism. Thank you for your attention!<br \/>\n<br \/>Source: habr.com<\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0422\u0430\u043a \u0443\u0436 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0432 \u0421\u041d\u0413 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d \u0440\u0443\u0441\u0441\u043a\u0438\u0439 Q&amp;A \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u043e \u0418\u0422 \u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435 \u2014 \u0422\u043e\u0441\u0442\u0435\u0440. \u041e\u0434\u043d\u0430\u043a\u043e \u0447\u0435\u0433\u043e-\u0442\u043e \u0435\u043c\u0443 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e, \u043a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0447\u0430\u043b \u043f\u043b\u043e\u0442\u043d\u043e \u0441 \u043d\u0438\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f. \u042d\u0442\u043e \u0438 \u0432\u044b\u043b\u0438\u043b\u043e\u0441\u044c \u0432 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u0432 \u0432\u0438\u0434\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u0412\u0441\u0442\u0440\u0435\u0447\u0430\u0439\u0442\u0435. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438: \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435: Toster Comfort. \u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439: \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c; \u043a\u0430\u0440\u043c\u0430 \u0441 \u0425\u0430\u0431\u0440\u0430; \u0441\u0432\u043e\u0434\u043a\u0430 \u0438\u0437 \u043f\u0440\u043e\u0444\u0438\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-32122","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0422\u0430\u043a \u0443\u0436 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0432 \u0421\u041d\u0413 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d \u0440\u0443\u0441\u0441\u043a\u0438\u0439 Q&amp;A \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u043e \u0418\u0422 \u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435 \u2014 \u0422\u043e\u0441\u0442\u0435\u0440.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/toster-vsyo-v-komposter-filtruj-i-kajfuj\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u043e\u0441\u0442\u0435\u0440 \u2014 \u0432\u0441\u0451 \u0432 \u043a\u043e\u043c\u043f\u043e\u0441\u0442\u0435\u0440. \u0424\u0438\u043b\u044c\u0442\u0440\u0443\u0439 \u0438 \u043a\u0430\u0439\u0444\u0443\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0422\u0430\u043a \u0443\u0436 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0432 \u0421\u041d\u0413 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d \u0440\u0443\u0441\u0441\u043a\u0438\u0439 Q&amp;A \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u043e \u0418\u0422 \u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435 \u2014 \u0422\u043e\u0441\u0442\u0435\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/toster-vsyo-v-komposter-filtruj-i-kajfuj\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:45:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:45:16+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Toster \u2014 everything in one place. Filter and enjoy | ProHoster","description":"It just so happens that in the CIS, a Russian Q&amp;A resource on IT topics \u2014 Toster \u2014 is quite popular.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/toster-vsyo-v-komposter-filtruj-i-kajfuj","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u043e\u0441\u0442\u0435\u0440 \u2014 \u0432\u0441\u0451 \u0432 \u043a\u043e\u043c\u043f\u043e\u0441\u0442\u0435\u0440. \u0424\u0438\u043b\u044c\u0442\u0440\u0443\u0439 \u0438 \u043a\u0430\u0439\u0444\u0443\u0439 | ProHoster","og:description":"\u0422\u0430\u043a \u0443\u0436 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0432 \u0421\u041d\u0413 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d \u0440\u0443\u0441\u0441\u043a\u0438\u0439 Q&amp;A \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u043e \u0418\u0422 \u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435 \u2014 \u0422\u043e\u0441\u0442\u0435\u0440.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/toster-vsyo-v-komposter-filtruj-i-kajfuj","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:45:16+00:00","article:modified_time":"2019-10-31T18:45:16+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32122","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 09:22:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:04:40","updated":"2026-01-21 09:22:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/32122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=32122"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/32122\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=32122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=32122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=32122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}