เครื่องปิ้งขนมปัง - ทุกอย่างเข้าสู่เครื่องย่อยอาหาร กรองและเพลิดเพลิน

มันบังเอิญว่าแหล่งข้อมูลถามตอบของรัสเซียในหัวข้อไอทีค่อนข้างได้รับความนิยมใน CIS - เครื่องปิ้งขนมปัง- อย่างไรก็ตาม เขาขาดอะไรบางอย่างไปเมื่อฉันเริ่มรู้จักเขาอย่างใกล้ชิด ส่งผลให้มีการปรับปรุงรูปแบบของส่วนขยายเบราว์เซอร์ เจอฉัน.

คุณสมบัติหลัก:

  • ชื่อ: ความสบายของเครื่องปิ้งขนมปัง
  • สถิติผู้ใช้: เปอร์เซ็นต์ของคำถามพร้อมคำตอบ กรรมจาก Habr; สรุปจากโปรไฟล์ - ทั้งหมดนี้อยู่ในรายการคำถามของ Toaster
  • ประกาศ: แบบเรียลไทม์บนเว็บไซต์ บนไอคอน พร้อมการแจ้งเตือนแบบพุช การตั้งค่าต่างๆ มากมาย เว็บไซต์ต้องเปิดอยู่ (วิกิพีเดีย).
  • ตัวกรอง: เงื่อนไขตามสูตร: คุณสามารถซ่อนคำถาม ใส่สี และแสดงการแจ้งเตือนได้ - ทั้งหมดนี้ได้รับการกำหนดค่าอย่างยืดหยุ่นในรูปแบบของเงื่อนไขเชิงตรรกะ (วิกิพีเดีย).
  • อินเตอร์เฟซ: การปรับปรุงเล็กน้อย เช่น การแสดงวันที่แน่นอนหรือการแสดงสถานะการสมัครสมาชิกในรายการคำถาม
  • อินเทอร์เฟซ Habr: การปรับปรุงเล็กน้อย (ไม่บังคับ) เช่น การเยื้องบรรทัดในความคิดเห็น
  • โอเพ่นซอร์ส: คุณสามารถสร้างใหม่ได้ด้วยตัวเองถ้าคุณต้องการ (แหล่งที่มา).
  • ฟรี: ใบอนุญาต MIT
  • การใช้หน่วยความจำ: 30-50MB ขึ้นอยู่กับตัวเลือกและความเข้มข้นในการใช้งานของเครื่องปิ้งขนมปัง
  • ขนาด: 93KB สำหรับ 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 KB โดยใช้ สัญกรณ์โปแลนด์ย้อนกลับ- นี่อาจกล่าวได้ว่าเป็น JS ที่มีการทำหมันอย่างมากทั้งในแง่ของฟังก์ชันและไวยากรณ์

เมื่อเร็วๆ นี้ มีกระทู้เกี่ยวกับ ส่วนขยายของโทสเตอร์- เมื่อเปรียบเทียบกันแล้ว TE มีอินเทอร์เฟซที่ดีกว่าและฟีเจอร์บางอย่างที่ Toster Comfort ไม่มี อย่างไรก็ตาม ส่วนขยายของฉันเน้นการใช้ทรัพยากร อย่างไรก็ตาม ไม่มีใครรบกวนคุณให้ใช้ทั้งสองส่วนขยาย เพราะไม่ควรขัดแย้งกัน

ในทางที่ดี จะต้องเขียน TC ใหม่ตั้งแต่ต้น เนื่องจากงานสามารถเร่งได้อย่างน้อยสองครั้ง และทำงานกับแคชได้ 10 ครั้ง โดยการละทิ้ง localStorage และ JSON.stringify() และเปลี่ยนโซลูชันทางสถาปัตยกรรมบางอย่าง แต่ไม่ใช่ฉันที่ต้องทำเพลงนี้ และฉันเป็นแฟนตัวยงของหลักการ “ถ้ามันได้ผล อย่าแตะต้องมัน” ในขณะที่ฉันอยู่ในช่วงพักร้อน ฉันกำลังแก้ไขปัญหาและประชาสัมพันธ์อย่างแข็งขัน แต่ไม่ต้องเสียค่าใช้จ่ายในเรื่องความเรียบง่าย ขอขอบคุณสำหรับความสนใจของคุณ!

ที่มา: www.habr.com

เพิ่มความคิดเห็น