
Kosmonaut เป็นเครื่องยนต์เว็บเบราว์เซอร์ที่สร้างขึ้นเพื่อใช้เป็นยานพาหนะสำหรับการเดินทางของคุณทั่วเวิลด์ไวด์เว็บ
ถนนสู่ดวงดาวสูงชันและอันตราย แต่เราไม่กลัว ... เที่ยวบินอวกาศไม่สามารถหยุดได้
- ยูริกาการิน
จนถึงตอนนี้ไม่มาก รองรับเฉพาะชุดย่อยของ CSS ที่ จำกัด มากดังนั้นหน้าเว็บส่วนใหญ่จะไม่ทำงาน อย่างไรก็ตามด้วย HTML และ CSS ขั้นพื้นฐานมาก Kosmonaut ทำให้สิ่งที่ถูกต้อง - ดูการแสดงผลของรหัสนี้ของ Kosmonaut เมื่อเทียบกับ Firefox:

นี่คือบทสรุปของสิ่งที่ Kosmonaut สามารถทำได้สิ่งที่ฉันกำลังทำอยู่และสิ่งต่าง ๆ ที่อยู่ด้านหน้าของรายการสิ่งที่ต้องทำ
writing-mode และคุณสมบัติ direction 1: ไม่รองรับการไหลของมุมฉาก (ดูข้อมูลจำเพาะ) การสนับสนุน writing-mode แบบผสมโดยทั่วไป (รวมถึงการไหลแบบขนาน) ขณะนี้ไม่สามารถใช้งานได้-ฉันขอแนะนำให้ใช้ * { writing-mode: <val> }
Kosmonaut ถูกสร้างขึ้นด้วยความตั้งใจในการเรียนรู้การพัฒนาเครื่องยนต์เบราว์เซอร์ อย่างไรก็ตามโครงการได้มาเล็กน้อยในตอนนี้และฉันคิดเกี่ยวกับซอกที่ฉันสามารถทำงานเพื่อปรับ Kosmonaut ให้เหมาะสม ฉันได้แบ่งปันความคิดบางอย่างเกี่ยวกับซอกที่มีศักยภาพในเรื่องนี้และชอบที่จะได้ยินความคิดของคุณเช่นกัน
Kosmonaut ถูกสร้างขึ้นด้วยการเกิดสนิมโดยใช้การผูก OpenGL ผ่าน GL-RS, Glutin สำหรับการจัดการหน้าต่างและการสร้างบริบท OpenGL, HTML5ever ของ Servo และ CSSparser สำหรับการแยกวิเคราะห์ HTML และ CSS และห้องสมุดเสริมอื่น ๆ อีกมากมาย
เพื่อสร้างจากแหล่งที่มา:
apt-get install )pacman -Syu )cargo buildในการแสดงผล HTML และ CSS กับ Kosmonaut ไม่ว่าจะผ่านไฟล์ (HTML และ CSS เป็นทางเลือก):
cargo run -- tests/websrc/rainbow-divs.html
หรือ URL:
cargo run -- https://twilco.github.io/assets/html/rainbow-divs.html
ในการเรียกใช้การทดสอบทั้งหน่วยและเลย์เอาต์ดำเนินการ:
cargo test --all
สำหรับการทดสอบเลย์เอาต์ Kosmonaut จะแปลง HTML และ CSS ที่กำหนดเป็นต้นไม้กล่องวางมันออกมาและทิ้งเป็นข้อความ ภาพรวมข้อความเหล่านั้นได้รับการตรวจสอบด้วย Insta
หากคุณต้องการตรวจสอบ / อัปเดตสแน็ปช็อตเลย์เอาต์จะมีประโยชน์ในการติดตั้งเครื่องมือ Cargo Insta CLI เช่น So:
cargo install cargo-insta
Kosmonaut ยังสามารถเรียกใช้การทดสอบการอ้างอิง การทดสอบอ้างอิงแสดงไฟล์ HTML สองไฟล์และเปรียบเทียบผลลัพธ์พิกเซลต่อพิกเซลเพื่อให้แน่ใจว่าพวกเขาเหมือนกัน สิ่งนี้มีประโยชน์ในสถานการณ์ต่าง ๆ มากมายเช่นการทดสอบที่ชวเลขทำให้เทียบเท่ากับมือยาวของพวกเขา
การใช้งานในปัจจุบันของ Kosmonaut ได้รับแรงบันดาลใจอย่างมากจากเซอร์โวบางครั้งก็ใช้รหัสโดยตรงจากมัน ดังนั้น Kosmonaut จึงได้รับใบอนุญาตด้วยใบอนุญาตสาธารณะ Mozilla 2.0
Kosmonaut ยังได้รับแรงบันดาลใจจากโรบินสัน ขอบคุณ Mbrubeck สำหรับบทความที่ยอดเยี่ยมของพวกเขาเกี่ยวกับเครื่องยนต์เบราว์เซอร์
ในที่สุดการใช้งาน DOM ของ Kosomonaut ถูกนำมาจาก Kuchiki และได้รับการแก้ไขเล็กน้อยเพื่อให้เหมาะกับความต้องการของเรา