คู่มือ readme: การอัปเดต /เรียนรู้ระบบนิเวศด้วย webhooks gitHub
คู่มือนี้สรุปกระบวนการสำหรับการจัดการการอัปเดตภายใน /เรียนรู้ระบบนิเวศ, ศูนย์กลางเนื้อหาของเราโดยใช้ GitHub WebHooks เพื่อทำการอัปเดตเนื้อหาโดยอัตโนมัติในดัชนีการค้นหาข้อความแบบเต็มของเราและไฟล์ Markdown ใน JavaScript
ภาพรวม
แต่ละโฟลเดอร์ภายในระบบนิเวศ /เรียนรู้จะแสดงหน้าหรือส่วน โฟลเดอร์เหล่านี้มีไฟล์ Markdown (.MD) ซึ่งเป็นเนื้อหาของหน้า เมื่อมีการเปลี่ยนแปลงไฟล์ markdown เหล่านี้ทริกเกอร์ GitHub จะถูกเปิดใช้งานส่งไฟล์ที่อัปเดตไปยัง WebHook ที่กำหนดไว้ล่วงหน้า Webhook นี้จะอัปเดตเนื้อหาในดัชนีการค้นหาข้อความเต็มของเรา ในที่สุดเนื้อหา Markdown ที่อัปเดตจะแสดงใน JavaScript บนเว็บไซต์
ข้อกำหนดเบื้องต้น
- ที่เก็บ GitHub ที่มีเนื้อหา markdown ของคุณมีโครงสร้างในโฟลเดอร์
- เข้าถึงเว็บเซิร์ฟเวอร์หรือบริการโฮสติ้งของคุณเพื่อตั้งค่าผู้ฟัง webhook
- บริการค้นหาข้อความแบบเต็ม (เช่น Elasticsearch) ตั้งค่าเป็นดัชนีเนื้อหาของคุณ
- ความรู้พื้นฐานเกี่ยวกับ JavaScript สำหรับการแสดงไฟล์ Markdown บนเว็บ
ขั้นตอนที่ 1: การจัดระเบียบเนื้อหาของคุณ
- จัดโครงสร้างเนื้อหาของคุณในโฟลเดอร์ภายในที่เก็บ GitHub ซึ่งแต่ละโฟลเดอร์แสดงหน้าหรือส่วนในระบบนิเวศ /เรียนรู้
- ตรวจสอบให้แน่ใจว่าเนื้อหาทั้งหมดถูกเขียนในไฟล์ Markdown (.MD) และตั้งชื่ออย่างถูกต้องเพื่อสะท้อนวัตถุประสงค์หรือเนื้อหาของพวกเขา
ขั้นตอนที่ 2: การตั้งค่า webhook github
- ในพื้นที่เก็บข้อมูล GitHub ของคุณไปที่
Settings > Webhooks > Add webhook - เข้าสู่ URL ของเพย์โหลด URL นี้ควรชี้ไปที่ผู้ฟัง WebHook บนเซิร์ฟเวอร์ของคุณที่จะได้รับการอัปเดต
- เลือกประเภทเนื้อหาเป็น
application/json - เลือก
Just the push event สำหรับเหตุการณ์ที่จะกระตุ้น webhook นี้ - ตรวจสอบให้แน่ใจว่ามีการเลือกช่องทำเครื่องหมาย
Active และสร้าง webhook
ขั้นตอนที่ 3: การสร้าง WebHook Listener
- บนเซิร์ฟเวอร์ของคุณสร้างสคริปต์ที่รับฟังคำขอโพสต์ที่ URL ที่ระบุในการตั้งค่า GitHub WebHook
- เมื่อได้รับการร้องขอโพสต์ให้แยกเพย์โหลด JSON เพื่อระบุไฟล์ Markdown ที่อัปเดต
- สำหรับแต่ละไฟล์ที่อัปเดตให้อัปเดตเนื้อหาที่เกี่ยวข้องในดัชนีการค้นหาข้อความเต็มของคุณ
ตัวอย่าง (รหัสหลอก):
app . post ( '/webhook-url' , ( req , res ) => {
const updatedFiles = req . body . commits . map ( commit => commit . modified ) ;
updatedFiles . forEach ( file => {
updateSearchIndex ( file ) ;
} ) ;
res . status ( 200 ) . send ( 'Update received' ) ;
} ) ; ขั้นตอนที่ 4: อัปเดตดัชนีการค้นหาข้อความแบบเต็ม
- แยกเนื้อหาออกจากไฟล์ Markdown ที่อัปเดต
- อัปเดตเนื้อหาในดัชนีการค้นหาข้อความเต็มรูปแบบของคุณเพื่อให้มั่นใจว่าสามารถค้นหาและจัดทำดัชนีได้อย่างเหมาะสม
ขั้นตอนที่ 5: การเรนเดอร์ markdown ใน JavaScript
- ใช้ไลบรารี JavaScript เช่น
marked.js เพื่อแปลงเนื้อหา markdown เป็น HTML - ดึงเนื้อหา markdown ที่อัปเดตจากดัชนีการค้นหาข้อความเต็มของคุณหรือโดยตรงจากที่เก็บ GitHub หากจำเป็น
- แสดงเนื้อหา HTML ในหน้าเหมาะสมภายในระบบนิเวศ /เรียนรู้
ตัวอย่าง (JavaScript):
fetch ( 'path/to/markdown.md' )
. then ( response => response . text ( ) )
. then ( markdown => {
const htmlContent = marked ( markdown ) ;
document . getElementById ( 'content' ) . innerHTML = htmlContent ;
} ) ; บทสรุป
คู่มือนี้มีวิธีการที่มีความคล่องตัวในการอัปเดตเนื้อหาอัตโนมัติภายในระบบ /เรียนรู้ระบบนิเวศโดยใช้ GitHub WebHooks ดัชนีการค้นหาข้อความแบบเต็มและ JavaScript โดยทำตามขั้นตอนเหล่านี้คุณสามารถมั่นใจได้ว่าเนื้อหาของคุณจะทันสมัยและค้นหาได้ง่ายโดยผู้ชมของคุณ