อ้างอิงการแก้ไขเอเวอร์กรีนอัปเดต 2026.08อ่านประมาณ 1 นาที
ภาพรวมภาค I · การแก้ไข
ภาค I · การแก้ไข

แก้ไขทีละบล็อก

การแก้ไขทำงานแบบเดียวกับการแก้คำผิดบน Wikipedia: คุณแก้ย่อหน้าที่กำลังมองอยู่ ไม่ใช่ textarea ยักษ์ที่อุ้มทั้งหน้าไว้ ในโหมดแก้ไข (npm run wiki) ลงชื่อเข้าใช้ เอาเมาส์ชี้ที่บล็อกไหนก็ได้บนบันทึกเรื่องไหนก็ได้ — รวมถึงบล็อกนี้ด้วย — แล้วคลิก ✎

§1.1วงจรการแก้ไข

บล็อกที่เรนเดอร์แล้วจะหลบไป และตัวแก้ไข CodeMirror กางออกมาแทนที่ พร้อมซอร์ส Markdown ของบล็อกนั้น พรีวิวสดเรนเดอร์อยู่ข้างใต้ตามที่คุณพิมพ์ — ผ่านไวยากรณ์เฉพาะของเอนจิน บวกปลั๊กอินที่ไซต์ส่งให้ inkbrush({ markdown }) ซึ่งเป็นกติกาชุดเดียวกับที่ไปป์ไลน์ของหน้าเว็บติดตั้งไว้ พรีวิวกับหน้าเว็บจึงไม่มีวันเห็นไม่ตรงกัน ⌘/Ctrl + Enter เซฟ ส่วน Esc ยกเลิก

frontmatter ก็เป็นบล็อกเช่นกัน: แถบหมวดหมู่ที่หัวของทุกบันทึกในนี้พก ✎ ของตัวเอง คลิกแล้วจะเปิด YAML ของบันทึก — เปลี่ยนสถานะหรือวันที่สักค่า แล้วส่วนหัวจะเรนเดอร์ใหม่จาก frontmatter ที่อัปเดตแล้ว

§1.2ตาข่ายนิรภัยสองผืน

ล็อกแบบมองโลกในแง่ดี (optimistic locking) แต่ละบล็อกพกแฮชของซอร์สที่มันถูกตัดออกมา ถ้ามีคนอื่นแก้ไฟล์ตัดหน้าคุณไปแล้ว การเซฟจะถูกปฏิเสธเป็นข้อขัดแย้ง แทนที่จะเขียนทับงานของเขาเงียบ ๆ — รีเฟรชแล้วลองใหม่

ด่านบิลด์ ก่อนที่อะไรจะถูกเขียนลงดิสก์ ไฟล์ทั้งไฟล์ต้องวิ่งผ่านไปป์ไลน์ Markdown ของไซต์ — ไวยากรณ์เฉพาะ ตัวตรวจเนื้อหา ปลั๊กอินของไซต์เอง และคอมไพเลอร์ MDX สำหรับไฟล์ .mdx การเซฟที่จะทำให้หน้าพัง — ** ที่จับคู่ไม่ได้ แท็กคอมโพเนนต์ที่ไม่ได้ปิด นิพจน์ผิดรูป — จะถูกปฏิเสธพร้อมข้อผิดพลาดระบุชัด และไฟล์บนดิสก์ไม่ถูกแตะต้อง รายการที่ตัวตรวจปัดตกฉบับเต็มสาธิตอยู่ท้ายหน้ารวมทุกองค์ประกอบ

§1.3การเซฟไปลงที่ไหน

การเซฟเขียนไฟล์ Markdown และเมื่อเปิด autocommit ก็กลายเป็น git commit ที่ลงชื่อผู้ใช้ที่ลงชื่อเข้าใช้เป็นผู้เขียน ไม่มีฐานข้อมูลอยู่ที่ไหนเลย: ไฟล์เนื้อหาคือแหล่งความจริงหนึ่งเดียว และ git คือประวัติถาวร ส่วนปูมละเอียดรายบล็อกที่ขับเคลื่อนประวัติการแก้ไขขี่อยู่บนนั้นอีกชั้นหนึ่ง

ตัวไวยากรณ์เฉพาะเอง — GFM บวกกติกาตัวเน้นที่เป็นมิตรกับอักษร CJK และตัวตรวจเนื้อหาที่ปฏิเสธ Markdown ที่บิดรูปเงียบ ๆ — ถูกนิยามครั้งเดียวในเอนจิน แล้วแชร์กันระหว่างตัวเรนเดอร์หน้าเว็บ พรีวิวของตัวแก้ไขตัวนี้ และ CLI check-content (การตรวจสอบห้าด่าน) หนึ่งไวยากรณ์ ถูกใช้ในสามที่ ไม่มีวันเคลื่อนออกจากกัน

ค้นได้ทั้งชื่อเรื่อง หัวข้อ และเนื้อหา ภายในภาษานี้
    ↑↓ · Enter · Escastro-inkstone