Yub.js เป็นบรรทัดคำสั่งเว็บฝั่งไคลเอ็นต์ที่ขยายได้ ซึ่งมาพร้อมกับเสิร์ชเอ็นจิ้นและทางลัดที่มีประโยชน์มากมาย คำสั่งที่ใช้ซ้ำได้ และสารพัดที่ซ่อนอยู่อื่นๆ อีกมากมาย เช่น นาฬิกาจับเวลาและวิดีโอ YouTube แบบอินไลน์ นอกจากนี้ยังมี API ที่ยืดหยุ่น คุณจึงสามารถเรียกใช้คำสั่ง yub.js ได้จากทุกที่ เช่น คุณสามารถเชื่อมโยงไปยังคำสั่งโดยตรง หรือเข้าถึงคำสั่งเหล่านั้นได้จากแถบที่อยู่ของเบราว์เซอร์โดยตรง (เพียงตั้งค่าทางลัดการค้นหาเดียวที่ชี้ไปที่ yub.js API และรับทางลัดการค้นหาอื่นๆ หลายร้อยรายการฟรี)
สิ่งทั้งหมดได้รับการออกแบบตั้งแต่เริ่มแรกให้เป็นเอกสาร html แบบสแตนด์อโลนหน้าเดียวที่มีทุกสิ่งที่จำเป็นในการทำงานนอกกรอบ สามารถติดตั้งในเครื่องและเรียกใช้จากคอมพิวเตอร์ของคุณได้ทันทีโดยไม่ต้องใช้เซิร์ฟเวอร์หรือเว็บโฮสติ้ง ตั้งแต่นั้นมาก็มีการเติบโตอย่างมากและการพัฒนาก็ถูกแบ่งออกเป็นไฟล์แยกกันและสามารถจัดการได้มากขึ้น เวอร์ชันเพจ html แบบสแตนด์อโลนยังคงใช้งานได้ แม้ว่าตอนนี้จะถูกสร้างขึ้นโดยอัตโนมัติด้วยสคริปต์ Ruby และมาในเวอร์ชันย่อส่วนและเวอร์ชันต้นทาง เพียงบันทึกเพจลงในคอมพิวเตอร์ของคุณโดยตรงหรือวางบนเซิร์ฟเวอร์ของคุณ เท่านี้ก็พร้อมแล้ว!
รายการเครื่องมือค้นหาที่มีอยู่เป็นแบบแยกส่วนโดยสมบูรณ์: คุณสามารถใส่รายการเว็บไซต์ที่เข้าชมบ่อยของคุณเองได้โดยการแก้ไขหรือแทนที่ไฟล์ mods.js (json) การสร้างคำสั่งใหม่ของคุณเองเป็นเรื่องง่าย เพียงใช้คำสั่ง create
(โดยมีชื่อของคำสั่งใหม่เป็นอาร์กิวเมนต์เพิ่มเติม) คุณสามารถเพิ่มฟังก์ชันใหม่ของคุณเองหรือขยายฟังก์ชันที่มีอยู่ได้โดยการแก้ไข functions.js
โอ้ และนิพจน์ทั่วไปได้รับการสนับสนุนทุกที่ตามค่าเริ่มต้น
วิธีที่ดีที่สุดในการทำความเข้าใจวิธีการทำงานของ yub.js คือการเข้าไปลองใช้คำสั่งต่างๆ ดังนั้นก่อนที่จะไปยุ่งเกี่ยวกับเรื่องน่าเบื่อ เช่น ประวัติศาสตร์หรือเรื่องภายใน เรามาดูคำสั่งเจ๋งๆ ที่คุณสามารถลองใช้ได้ทันที
list
หรือ ls
http://commandlinefu.com/
หรือ ftp://ftp.mozilla.org/
!
หน้า URL เปล่าๆ เพื่อไปที่ไซต์โดยตรง เช่น !smh.com.au เพื่อไปยัง Sydney Morning Heraldg [searchterm]
สำหรับการค้นหาโดย Google แบบธรรมดา หรือคุณอาจต้องการใช้ y
, b
, ix
หรือ sp
แทนhelp
หรือ man
(หรืออาจรวมถึงคำสั่งที่คุณต้องการความช่วยเหลือเป็นอาร์กิวเมนต์ เช่น help shuffle
)calc 857*2^3
: แก้สูตรทางคณิตศาสตร์ง่ายๆcalc (25+2)==(28-1)
: ทดสอบความเท่าเทียมกันcalc ~32.56
: ตัวเลขกลมrand 550
: ส่งกลับตัวเลขสุ่มระหว่าง 0-550rand site
: ไปที่เว็บไซต์สุ่มrand img
: แสดงภาพแบบสุ่มrand git
: เยี่ยมชมโครงการ GitHub แบบสุ่มwatch ninja cat
: ดูเพลย์ลิสต์แบบฝังของผลลัพธ์วิดีโอ YouTube สำหรับคำค้นหา "ninja cat"link flint tigers
: รับลิงก์ถาวรไปยังคำสั่ง flint Tigers (ซึ่งค้นหารูปภาพของเสือใน Flickr เรียงตาม "ความน่าสนใจ")fspell sometext
: เขียน ข้อความบางส่วน ด้วยภาพ Flickrascii sometext
: เขียน _sometext ใน ascii artwhere gn
: แสดงคีย์เวิร์ดและที่อยู่การค้นหาเริ่มต้นสำหรับคำสั่ง gn> am Alice in Wonderland
: ไปที่ผลการค้นหาแรกของ Google สำหรับคำว่า "อลิซในแดนมหัศจรรย์" บน Amazon.com> wpde Turing complete
: อ่านบทความเรื่อง "ความสมบูรณ์ของทัวริง" ในวิกิพีเดีย ภาษาเยอรมันcat engadget.com
: แสดงหน้าเว็บในรูปแบบข้อความเท่านั้นที่ engadget.compop bbc gn yn bn
: เปิดแต่ละแท็บด้วย BBC News, Google News, Yahoo News และ Bing News ทั้งหมดในคำสั่งเดียวpop gim yim bim -t horses
: ป็อปอัพแท็บใหม่ที่แสดงผลการค้นหารูปภาพสำหรับม้าบน Google, Yahoo และ Bing หมายเหตุ: หากต้องการใช้คำสั่ง pop
คุณอาจต้องตั้งค่าข้อยกเว้นในตัวบล็อกป๊อปอัปของเบราว์เซอร์สำหรับ yub.js
เครื่องมือค้นหาเริ่มต้นจะถูกจัดเก็บไว้ในไฟล์ engine.js ประกอบด้วยทางลัดเว็บอเนกประสงค์ เสิร์ชเอ็นจิ้น แหล่งข่าว และสิ่งที่น่าสนใจอื่น ๆ มากมายที่สาธิตคุณสมบัติพื้นฐานของ yub.js และน่าจะช่วยให้คุณทราบว่าทางลัดประเภทใดที่อาจเป็นประโยชน์ต่อความต้องการของคุณเอง
สิ่งที่คุณคาดหวังจะพบใน engine.js ได้แก่: เสิร์ชเอ็นจิ้นหลักๆ (Google, Yahoo, Bing... ฯลฯ) และผลิตภัณฑ์ที่เกี่ยวข้องต่างๆ (รูปภาพ วิดีโอ แผนที่ ข่าวสาร สภาพอากาศ การแปลด้วยคอมพิวเตอร์) Wikipedia และอีกมากมาย ไซต์ในเครือของ Wikimedia (Wiktionary, Wikiquote, Wikinews... ฯลฯ), องค์กรข่าวหลักที่ได้รับการคัดสรร (BBC, Deutsche Welle, France 24... ฯลฯ), ผู้ให้บริการเว็บเมลรายใหญ่ (Gmail, Yahoo, Hotmail... ฯลฯ ) เอกสารประกอบสำหรับภาษาสคริปต์ยอดนิยมหลายภาษา (Bash, JS, PHP, Python, Ruby) และเว็บไซต์และเครื่องมือที่มีประโยชน์อื่นๆ อีกมากมาย (ลงสำหรับทุกคนหรือแค่ฉัน, Whois, Ip ของฉันคืออะไร?... ฯลฯ) คำแนะนำโดยละเอียดเพิ่มเติมสามารถพบได้ในวิกิ
ข้อดีที่ดีของการใช้ทางลัด yub.js คือ https จะถูกใช้เป็นค่าเริ่มต้นทุกครั้งที่เป็นไปได้ (เช่น ทุกที่ที่รองรับ)
ลิงก์และทางลัดที่กำหนดเองทั้งหมดอยู่ใน mods.js เพื่อความสะดวก ไฟล์นี้เป็นทางเลือกทั้งหมด ดังนั้นคุณจึงสามารถวางสิ่งต่างๆ เข้าและออกจากไฟล์ได้ตามต้องการ คุณไม่จำเป็นต้องมีไฟล์ mods.js เพื่อใช้ yub.js
ไฟล์ mods.js ขนาดยักษ์ที่พบในพื้นที่เก็บข้อมูลเป็นเพียงตัวอย่างสำหรับจุดประสงค์ในการสาธิตคุณสมบัติต่างๆ ของ yub.js เท่านั้น เช่น การค้นหา Unicode regex รวมถึงไซต์ค้นหาในท้องถิ่นต่างๆ และสิ่งที่น่าสนใจอื่น ๆ ที่คุณสามารถเลือกได้ การใช้งานของคุณเอง ที่รายการ 106 Kb / 870+ (ณ วันที่เขียนนี้) ยังแสดงให้เห็นว่าแม้จะมีรายการทางลัดแบบกำหนดเองจำนวนมาก yub.js ก็ยังทำงานได้อย่างราบรื่นโดยไม่มีความเร็วลดลงอย่างเห็นได้ชัด
ตัวอย่างบางส่วนของสิ่งที่ถูกทิ้งอย่างไม่เลือกหน้าในไฟล์ mods.js ตัวอย่าง:
ebin
สำหรับ eBay India หรือ amuk
สำหรับ Amazon UK)enes
สำหรับพจนานุกรมภาษาอังกฤษ-สเปน และใช้ esen
สำหรับภาษาสเปน-อังกฤษ enko
และ koen
สำหรับภาษาเกาหลี enfr
และ fren
สำหรับภาษาฝรั่งเศส ฯลฯสิ่งหนึ่งที่ควรทราบก็คือ เว็บไซต์ที่น่าสนใจบางแห่งถูกละเว้นจาก engine.js และแม้แต่ mods.js เพื่อรักษาทางลัดเริ่มต้นให้มีประโยชน์โดย ทั่วไป มากที่สุด แต่อย่ากลัวเลย คุณยังสามารถเพิ่มมันลงในไฟล์ mods.js ของคุณได้! ต่อไปนี้คือบางสิ่งที่คุณอาจพิจารณาเพิ่มเพื่อปรับแต่ง mods.js:
cl
หรือ kj
สำหรับตำแหน่งที่คุณต้องการแล้ววางลงใน mods.jshttp://www.xe.com/ucc/convert.cgi?Amount=%s&From=[CURRENCY1]&To=[CURRENCY2]
(แทนที่ [CURRENCY1]
และ [CURRENCY2]
ด้วยรหัสสามตัวอักษรสำหรับสกุลเงินที่คุณเลือก ) การสนับสนุนธีมมีอยู่ในรูปแบบของไฟล์ css แบบกำหนดเองที่โหลดผ่านคำสั่ง skin
โดยพื้นฐานแล้วสกินเป็นเพียงไฟล์ css (อยู่ในโฟลเดอร์ /css
) และสามารถโหลดได้โดยการป้อน skin
คำสั่งและชื่อของสกิน (ไม่จำเป็นต้องเพิ่มนามสกุล .css
)
หากต้องการกลับสู่สกินเริ่มต้น เพียงพิมพ์ skin default
หากต้องการลบ CSS ทั้งหมด ให้ใช้ skin none
ขณะนี้สกินไม่คงอยู่ตลอดเซสชัน yub (ซึ่งจะต้องมีการตั้งค่าคุกกี้ ซึ่งเราได้จัดการเพื่อหลีกเลี่ยงแล้ว) แต่คุณสามารถเปลี่ยนลิงก์/บุ๊กมาร์กไปยังอินสแตนซ์ yub.js ของคุณเป็น https://dohliam.github.io/yub/?skin%20terminal
เพื่อเริ่ม yub.js ด้วยสกินเฉพาะที่โหลดไว้เสมอ อีกทางหนึ่ง เมื่อคุณตัดสินใจเลือกสกินที่ต้องการให้เป็นค่าเริ่มต้นสำหรับการติดตั้งในเครื่องของคุณ เพียงเปลี่ยนชื่อเป็น default.css
(คุณสามารถเปลี่ยนชื่อไฟล์ default.css
เดิมเป็น old.css
หรือคล้ายกันได้ หากคุณไม่ต้องการเขียนทับ มัน). ไฟล์ใหม่ของคุณจะถูกโหลดเป็นค่าเริ่มต้นในครั้งถัดไปที่คุณเปิด yub.js
หากต้องการสร้างสกินใหม่ เพียงคัดลอกไฟล์สกินที่มีอยู่ไปยังไฟล์ใหม่ เช่น mynewskin.css
และปรับแต่งให้เข้ากับเนื้อหาในใจของคุณ! (และอย่าลืมเพิ่มสกินที่คุณกำหนดเองลงในแกลเลอรีสกินในวิกิ เพื่อให้ผู้อื่นสามารถเพลิดเพลินได้!)
นี่คือภาพหน้าจอบางส่วนของสกินที่มาพร้อมกับ yub.js:
ค่าเริ่มต้น :
เทอร์มินัล :
ภูเขา :
รังสี :
เส้นขอบฟ้า :
nocss :
แน่นอนว่าคุณไม่จำเป็นต้องติดตั้ง yub.js เพื่อเริ่มใช้งาน สำหรับการค้นหาแบบครั้งเดียว คุณสามารถใช้ yub.js เวอร์ชันล่าสุดที่โฮสต์บน GitHub ได้อย่างง่ายดาย ทุกอย่างเสร็จสิ้นบนฝั่งไคลเอ็นต์ ดังนั้นจึงไม่มีการส่งคำถามของคุณผ่านเครือข่าย
คุณยังสามารถใช้ API เพื่อทำให้เวอร์ชัน GitHub เป็นการค้นหาเริ่มต้นสำหรับเบราว์เซอร์ของคุณ อย่างไรก็ตาม หากคุณใช้ API คำสั่งใดๆ ที่คุณป้อน จะ มองเห็นได้ (เช่น ในบันทึกของเซิร์ฟเวอร์ GitHub) ดังนั้น คุณอาจต้องการตั้งค่า yub.js เวอร์ชันท้องถิ่นและเรียกใช้แบบออฟไลน์ทั้งหมด (หรือบนไซต์ของคุณเอง) ).
มีคำแนะนำโดยละเอียดในวิกิเกี่ยวกับวิธีทำให้ yub.js เป็นเครื่องมือค้นหาเริ่มต้นของคุณ คุณสามารถดูคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีตั้งค่า yub.js สำหรับ Chrome/Chromium และ Firefox (หากคุณใช้เบราว์เซอร์อื่นและสามารถติดตั้ง yub.js ได้ โปรดพิจารณาเพิ่มขั้นตอนที่คุณทำลงในคู่มือ) .
สิ่งหนึ่งที่ควรพิจารณาเมื่อติดตั้ง yub.js ไม่ว่าคุณต้องการตั้งค่าให้เป็นการค้นหาคำหลักหรือใช้เป็นเครื่องมือค้นหาเริ่มต้นของคุณ ประโยชน์ของการตั้งค่าเป็นค่าเริ่มต้นก็คือ โดยพื้นฐานแล้วจะทำให้แถบ URL ของเบราว์เซอร์ของคุณกลายเป็นบรรทัดคำสั่งของเว็บ
หนึ่งในคุณสมบัติที่มีประโยชน์ที่สุดของ yub.js คือ API ที่ใช้งานง่าย ซึ่งทำงานได้ดีบนแล็ปท็อปเช่นเดียวกับบนเซิร์ฟเวอร์ เพียงชี้ลิงก์ บุ๊กมาร์ก หรือค้นหาคำหลักที่ URL yub.js ของคุณแล้วเพิ่ม ?
รวมถึงคำสั่งหรือคำค้นหาของคุณเพื่อไปยังผลลัพธ์โดยตรง
ตัวอย่างที่ 1:
http://example.com/yub
http://example.com/yub?weather tokyo
ตัวอย่างที่ 2:
file:///home/user/yub/index.html?rand site
คุณสามารถฝัง yub.js บนหน้าเว็บใดก็ได้และรับบรรทัดคำสั่งเว็บที่ใช้งานได้ซึ่งมีลักษณะดังนี้:
เพียงคัดลอกโค้ดต่อไปนี้และรวมไว้ที่ใดก็ได้บนหน้า:
<form method="get" action="#" onsubmit="window.location='https://dohliam.github.io/yub/?'+window.yub.value; return false"><img src="yub.gif" /> <input id="yub" type="text" size=27 value="yub.js web command-line" autocomplete="off" style="border-style: none none solid; color:gray; font-family:monospace;" onfocus="this.value=''; this.style.color='black'" onblur="if (this.value=='') {this.value='yub.js: enter commands here';this.style.color='gray'}"> <input style="visibility: hidden" type="submit" value="" />
อาจมีวิธีที่หรูหรากว่าในการทำเช่นนี้ แต่หลังจากการทดสอบแล้ว ดูเหมือนว่าจะเป็นวิธีเดียวที่ใช้ได้ทั้งใน Firefox และ Chrome อย่าลังเลที่จะทดลองและเปิดคำขอดึงหากคุณพบสิ่งที่ดีกว่า!
มีคุณสมบัติมากมายที่ยังไม่ได้นำมาใช้ ฟังก์ชันการทำงานใหม่ที่วางแผนไว้และคุณสมบัติที่ร้องขอกำลังถูกติดตามในตัวติดตามปัญหา หากคุณมีไอเดีย ดำเนินการต่อและเพิ่มมันเข้าไป (หรือแยกโปรเจ็กต์และดำเนินการตามคำขอดึง)!
คงจะดีมากถ้าได้เห็นไฟล์ mods.js แบบกำหนดเองของทุกคน ลิงก์ไปยังไฟล์เหล่านี้สามารถแชร์ในวิกิได้ แม้ว่าพื้นที่เก็บข้อมูลที่แยกออกไปก็เป็นไปได้อีกอย่างหนึ่งในอนาคต หากรายการมีขนาดใหญ่เพียงพอ ในระหว่างนี้ โปรดแจ้งให้เราทราบหากคุณมีไฟล์ mods.js ที่คุณต้องการแบ่งปัน โดยเฉพาะอย่างยิ่งหากไฟล์นั้นถูกจัดระเบียบตามธีมเฉพาะ (เช่น คอลเลกชันของไซต์โซเชียลมีเดีย หนังสือพิมพ์สวีเดน ฐานข้อมูลการวิจัย เครื่องมือสำหรับนักประวัติศาสตร์ หรือ นักชีววิทยาทางทะเล... ฯลฯ)
คุณสมบัติที่วางแผนไว้บางส่วนที่ยังใช้งานได้:
watch
แต่สำหรับเพลง)หากคุณต้องการมีส่วนร่วมในการเพิ่มคุณสมบัติเหล่านี้ (หรือคุณสมบัติอื่น ๆ ที่ฉันไม่เคยนึกถึง) โปรดส่งคำขอดึง
นานมาแล้ว (ปี 2005) เว็บไซต์แหวกแนวชื่อ YubNub ได้รับการเปิดเผย ซึ่งอนุญาตให้ผู้ใช้เขียนคำสั่งและทางลัดของตนเองสำหรับบริการเว็บต่างๆ แนวคิดในการเข้าถึงเว็บไซต์ที่มีคำสั่งคล้ายทุบตีสั้นๆ ค่อนข้างน่าสนใจและน่าดึงดูดจริงๆ และนำไปสู่เครื่องมือสร้างสรรค์ทุกประเภทอย่างรวดเร็ว เช่น split และ gimyim นอกเหนือจากคำสั่งอื่นๆ อีกมากมาย ฉันได้สร้างคำสั่งขึ้นมามากมายและใช้งานเว็บไซต์ค่อนข้างหนักมาระยะหนึ่งแล้ว
อย่างไรก็ตาม มีสิ่งหนึ่งที่ไม่ค่อยสมเหตุสมผลนัก -- ทำไมใครๆ ก็ต้องการกรองทุกการค้นหาที่พวกเขาทำผ่านเว็บไซต์บุคคลที่สาม (ไม่ใช่) ไม่ว่าในกรณีใด เมื่อฟังก์ชัน การค้นหาคำหลัก ของ Firefox เป็นที่รู้จักอย่างกว้างขวาง เสน่ห์ของการใช้ทางลัด YubNub ก็เริ่มจางหายไป - มันง่ายกว่าที่จะตั้งค่าคำหลัก Firefox ท้องถิ่นสำหรับการค้นหาทั่วไปส่วนใหญ่แล้วใช้คำหลักเหล่านั้นแทน ดังนั้นไฟล์บุ๊กมาร์กที่ประกอบด้วยคำสั่ง YubNub ในอดีตหลายสิบคำสั่งในรูปแบบของคำค้นหาที่เดินทางจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง ซึ่งรอดมาได้เกือบหนึ่งทศวรรษก่อนที่จะเห็นได้ชัดว่าระบบนี้ก็เทอะทะเกินไป ช้าและทำไม่ได้เช่นกัน (เช่น การเข้าถึงจาก คอมพิวเตอร์เครื่องอื่นมีปัญหา และการอัปเดตรายการในคอมพิวเตอร์ทุกเครื่องก็ไม่น่าพอใจเช่นกัน) ที่แย่กว่านั้นคือวิธีนี้ยังพลาดฟังก์ชันคำสั่งที่ไม่ใช่การค้นหาที่น่าตื่นเต้นมากมายที่ YubNub นำเสนออีกด้วย
เก้าปีต่อมา การเยี่ยมชม YubNub เผยให้เห็นว่าบริการนี้ยังคงทำงานอยู่ และตามข้อมูลของ Wikipedia ระบุว่ามีคำสั่งที่ผู้ใช้ส่งมามากกว่า 22,000 คำสั่ง... ณ ปี 2008 การดูรายการคำสั่งนำไปสู่ข้อสรุปที่น่าท้อใจว่า เมื่อบริการที่ยอดเยี่ยมล้นหลามไปด้วยรายการสแปมนับพันรายการ ขัดขวางความรู้สึกของชุมชนที่เหลืออยู่ ( บรรทัดคำสั่งทางสังคม ) ซึ่งครั้งหนึ่งเคยเป็นหนึ่งในสิ่งที่น่ารักที่สุดเกี่ยวกับไซต์
น่าผิดหวังยิ่งกว่านั้น คำสั่งที่เจ๋งที่สุดหลายคำสั่ง (เช่น split , gimyim ) ไม่สามารถใช้งานได้อีกต่อไป แน่นอนว่า นี่ไม่ใช่เรื่องน่าแปลกใจเลยจริงๆ สถาปัตยกรรมของเว็บมีการเปลี่ยนแปลงไปมากตั้งแต่ปี 2548 (ในกรณีของการแยก ทั้งสองอย่างเป็นเพราะการโหลดเว็บไซต์ในเฟรมได้หยุดเป็นเรื่องปกติและเป็นที่ยอมรับแล้ว และ ดังที่แสดงให้เห็นโดย gimyim เนื่องจากทั้ง Google และ Yahoo รวมทั้งเว็บไซต์หลักๆ แทบทุกเว็บไซต์ ต่างไม่สนับสนุนให้พยายามโหลดเนื้อหาจากเว็บไซต์ภายนอก) คนเกียจคร้าน
Yub.js เริ่มต้นจากความพยายามที่จะนำฟังก์ชันการทำงานบางอย่างของบรรทัดคำสั่ง YubNub แบบเก่ากลับมาในแอปพลิเคชันฝั่งไคลเอ็นต์ทั้งหมดที่ใครๆ ก็สามารถปรับแต่งหรือปรับเปลี่ยนให้เหมาะกับความต้องการของตนได้ จากนั้นจึงเรียกใช้บนเครื่องท้องถิ่นของตน -- หรือปล่อย สู่ระบบคลาวด์หรือบนเซิร์ฟเวอร์ส่วนตัวและเข้าถึงได้จากทุกที่
แม้ว่าฉันจะใช้ความคิดนี้อย่างเกียจคร้านมาหลายปีแล้ว แต่มันก็ยังคงเป็นความฝันที่ไพเราะอยู่เสมอ เนื่องจากฉันไม่แน่ใจด้วยซ้ำว่าฉันจะสามารถทำสิ่งส่วนใหญ่ที่ฉันต้องการทำด้วย JavaScript ได้หรือไม่ ในที่สุดฉันก็สร้างหน้า html เล็กๆ น้อยๆ เพื่อเปลี่ยนเส้นทางข้อความค้นหาไปยังเครื่องมือค้นหาทั่วไปสองสามรายการ และ "yubSearch" ก็ถือกำเนิดขึ้น
อย่างไรก็ตาม ในไม่ช้าก็เห็นได้ชัดว่าทางลัดการค้นหาเพียงอย่างเดียวนั้นไม่เพียงพอ คำสั่งง่ายๆ ในการค้นหาผ่านรายการทางลัดตามด้วยคำสั่งอื่นๆ เพื่อพิมพ์วันที่และเวลา แสดงคำอธิบายสำหรับทางลัดแต่ละรายการ และจัดเรียงข้อความ มีการเพิ่มเครื่องคิดเลข ตามด้วยนาฬิกาจับเวลา เมื่อคำสั่งใหม่พัฒนามาจากบิตและส่วนย่อยของโค้ดและวิธีแก้ไขปัญหาจากทุกที่ แทบจะกลายเป็นเรื่องท้าทายในการดูว่าสิ่งใดสามารถผสมผสานกันได้ด้วย JavaScript เพียงอย่างเดียว มันไม่ได้เกี่ยวกับทางลัดการค้นหาอีกต่อไป -- และด้วยเหตุนี้ yubSearch จึงกลายเป็น yub.js
การพัฒนาดำเนินไปบนพื้นฐานที่ทำให้เกิดรอยขีดข่วนอย่างเคร่งครัด โดยมีการเพิ่มฟังก์ชันการทำงานใหม่เมื่อและตามความจำเป็นจริง ๆ ตั้งแต่แรกเริ่ม yub.js กลายเป็นสภาพแวดล้อมการพัฒนาของตัวเอง และมีเครื่องมืออ้างอิงในตัวสำหรับ JavaScript (รวมถึงภาษาสคริปต์ยอดนิยมอื่นๆ) linters และไวยากรณ์การสร้างคำสั่งภายในที่ช่วยในการพัฒนาร่วมกัน - งานที่เกี่ยวข้องง่ายขึ้นมาก
เมื่อถึงจุดหนึ่ง yub.js ก็มีชีวิตของตัวเอง แม้ว่าทัวริงจะไม่สมบูรณ์นัก แต่ก็ปิดตัวลงอย่างเป็นอันตรายเมื่อแพตช์ได้รับการพิจารณาให้เพิ่มเอลิซ่าเป็นเครื่องมือในการตอบสนองต่อข้อความแจ้งเตือน...
Yub.js ยังคงได้รับการพัฒนาใน JS ล้วนๆ โดยไม่ต้องใช้เฟรมเวิร์กหรือไลบรารีภายนอก แม้ว่าจะสามารถเพิ่มฟังก์ชันที่น่าสนใจมากมายได้โดยใช้สคริปต์ฝั่งเซิร์ฟเวอร์ เฟรมเวิร์ก และส่วนอื่นๆ ของปืนใหญ่การเข้ารหัสแบบ whiz-bang แต่เป้าหมายหลักก็คือความสะดวกในการพกพาและการตอบสนอง คุณสามารถวาง yub.js ได้ทุกที่ ไม่ว่าจะเป็นเดสก์ท็อป เซิร์ฟเวอร์, ChromeBook หรือแม้แต่โทรศัพท์มือถือ และจะทำงานในลักษณะเดียวกันทุกประการ สิ่งนี้ได้รับการพิสูจน์แล้วว่าสามารถช่วยชีวิตบนอุปกรณ์เคลื่อนที่ได้ ซึ่งแม้แต่การค้นหาง่ายๆ (ไม่ต้องพูดถึงอะไรที่ซับซ้อนกว่านี้เลย) บางครั้งก็อาจดูงุ่มง่ามและหงุดหงิดอย่างไม่น่าเชื่อในการทำงานด้วย และเมื่อเว็บไซต์บนมือถือมักจะซ่อนหรือปิดบังคุณลักษณะพื้นฐาน เช่น การค้นหา
ดังที่กล่าวข้างต้น โค้ดได้ถูกนำมารวมเข้าด้วยกันอย่างแท้จริงจากชิ้นส่วนอะไหล่ โดย (จนกระทั่งเมื่อไม่นานมานี้) ไม่คิดใดๆ ที่จะทำให้โค้ดดู สวยงาม ไม่ต้องพูดถึง เรื่องมาตรฐาน หรือ มีประสิทธิภาพ อย่างไรก็ตาม ทุกอย่างดำเนินไปอย่างรวดเร็วอย่างไม่น่าเชื่อ ต้องขอบคุณขนาดไฟล์ที่ค่อนข้างเล็กและประโยชน์ของการทำงานทั้งหมดบนฝั่งไคลเอ็นต์
มันอาจจะเร็วกว่านี้อีกไหม? อย่างแน่นอน! ไม่ต้องสงสัยเลยว่ายังมีงานอีกมากที่ต้องทำเพื่อเพิ่มประสิทธิภาพและทำให้โค้ดเบสที่มีอยู่ (ยอมรับว่าค่อนข้างน่าเกลียด) ที่มีอยู่ ผู้ใช้โดยเฉลี่ยจะสังเกตเห็นการปรับปรุงเหล่านี้หรือไม่ พูดได้ยากกว่า เพราะท้ายที่สุดแล้ว ความแตกต่างระหว่างเวลาตอบสนองทันทีกับเวลาตอบสนองที่มีความเร็วเพียงครึ่งหนึ่งนั้นอาจแยกแยะได้ยาก งานส่วนใหญ่ที่ JavaScript จัดการในเวลาใดก็ตามเป็นเรื่องเล็กน้อยอย่างไม่น่าเชื่อ (การสร้างรายการ การเปลี่ยนเส้นทางไปยัง URL) ดังนั้นความเร็วจึงแทบจะไม่เคยเป็นปัญหาในระหว่างการใช้งานจริงเลย
ในทางกลับกัน หากสิ่งที่ช้ากว่านั้นจำเป็นต้องรบกวนคุณ ตามหลักการ คุณอาจต้องการดูหัวข้อถัดไป
ผู้สนใจรักการซิงค์บนคลาวด์ : หากคุณยังคงสงสัยว่าประเด็นทั้งหมดนี้คืออะไรเมื่อคุณสามารถใช้ Firefox Sync หรือลงชื่อเข้าใช้ Chrome ด้วยบัญชี Google ของคุณ yub.js อาจไม่เหมาะกับคุณ
ผู้จัดการบุ๊กมาร์ก : ขณะนี้ตัวเลือกการซิงค์บนคลาวด์สำหรับเบราว์เซอร์หลักเกือบทั้งหมดมีอยู่ทั่วไปแล้ว และหากไม่ใช่หนึ่งในบริการเหล่านั้น คุณสามารถสำรองไฟล์บุ๊กมาร์กของคุณบนเซิร์ฟเวอร์ที่ไหนสักแห่งและดำเนินการกับมันให้เสร็จเรียบร้อย หากวิธีนี้ใช้ได้ผลสำหรับคุณ ก็เยี่ยมมาก แต่ความยุ่งยากกับแนวทางเหล่านี้คือสิ่งที่นำไปสู่ yub.js ตั้งแต่แรก
Sticklers สำหรับโค้ดที่หรูหรา : ตามที่กล่าวไว้ก่อนหน้านี้ โค้ดค่อนข้างน่าเกลียดในขณะนี้ - แน่นอนว่าไม่ได้ตั้งใจ แต่เนื่องจากมีการเพิ่มฟีเจอร์ใหม่ทั้งหมดเนื่องจากความต้องการเร่งด่วนบางอย่าง kludges และลูปที่ไม่มีประสิทธิภาพทุกประเภท อุดมสมบูรณ์ หวังว่าจะมีการเปลี่ยนแปลงเมื่อเวลาผ่านไปเนื่องจากโค้ดได้รับการปรับโครงสร้างใหม่ (อย่างช้าๆ) แต่หากโค้ดที่น่าเกลียดทำให้คุณขุ่นเคือง คุณอาจต้องหลบสายตา
Haters of eval : หากคุณเชื่อว่า eval นั้นชั่วร้ายไม่ว่าในสถานการณ์ ใดๆ (แม้แต่การแยกวิเคราะห์นิพจน์ทางคณิตศาสตร์ที่ถูกสุขลักษณะ)... คุณอาจต้องการลบฟังก์ชันเครื่องคิดเลขออกจาก yub.js เวอร์ชันของคุณ
ผู้ค้นหา bash.js : Yub.js ไม่ใช่พอร์ตของ bash ใน JavaScript หากคุณสงสัยว่าเหตุใด yub.js จึงไม่เสนอคำสั่ง mount
หรือมีวิธีในการ kill
กระบวนการหรือ modprobe
ไดรเวอร์เมาส์ของคุณ... คุณอาจอยู่ผิดที่ (บางทีคุณกำลังมองหา unixkcd) ในทางกลับกัน หากคุณนึกถึงคำเปรียบเทียบที่เหมาะสมสำหรับ mount
, kill
หรือ modprobe
ที่จะสมเหตุสมผลบนบรรทัดคำสั่ง ของเว็บ ฉันยินดีรับฟังจากคุณ! -
ขอขอบคุณ Jon Aquino และทุกคนที่มีส่วนทำให้ YubNub ในยุครุ่งเรือง สำหรับคำอุปมาทางเว็บในฐานะบรรทัดคำสั่งที่เป็นแรงบันดาลใจดั้งเดิมสำหรับ yub.js
เวอร์ชันหน้าเดียวย่อขนาดโดยใช้ Uglifier สำหรับ Ruby
สารบัญที่สร้างโดย https://github.com/dohliam/tocdown
repo GitHub แบบสุ่มนั้นใช้ RandomRepo โดย RyanDavison
วอลล์เปเปอร์พื้นหลังสำหรับสกินต่างๆ:
MIT -- ดูไฟล์ลิขสิทธิ์เพื่อดูรายละเอียด