การแก้ไขโค้ดอัตโนมัติ
doQumentation ใช้การแก้ไขเล็กน้อยกับเนื้อหาบทช่วยสอนและคู่มือของ Qiskit ต้นทางโดยอัตโนมัติ เพื่อให้ประสบการณ์การใช้งานแบบโต้ตอบเป็นไปอย่างราบรื่น หน้านี้บันทึกการแก้ไขทั้งหมดไว้ เพื่อให้เข้าใจได้ชัดเจนว่ามีอะไรเปลี่ยนแปลงไปจากเอกสาร IBM Quantum ต้นฉบับ
สำเนา Notebook (Open in Colab / Binder / Code Engine)
เมื่อคลิก Open in Colab, Open in JupyterLab หรือ Open in Code Engine จะได้รับสำเนาของ notebook ต้นฉบับพร้อมสิ่งเพิ่มเติมเหล่านี้:
1. เซลล์แจ้งการตั้งค่า (markdown)
เซลล์ blockquote จะถูกแทรกไว้ที่ด้านบนสุด เพื่ออธิบายว่า doQumentation ได้เพิ่มเซลล์ตั้งค่าอัตโนมัติ พร้อมลิงก์กลับมายังหน้านี้
2. เซลล์ข้อกำหนดเบื้องต้น (code)
เซลล์โค้ดจะถูกแทรกหลังจากเซลล์แจ้งเตือน โดย:
- ติดตั้งแพ็กเกจที่จำเป็น (
qiskit,qiskit-aer,qiskit-ibm-runtime,pylatexencรวมถึงแพ็กเกจเฉพาะบทช่วยสอนที่ตรวจพบผ่านการสแกน import) การติดตั้งจะ ข้าม หากมีแพ็กเกจอยู่แล้ว (เช่น บน Binder หรือ Code Engine ที่ติดตั้งไว้ล่วงหน้า) - ให้เทมเพลตข้อมูลประจำตัวแบบคอมเมนต์ออก สำหรับ IBM Quantum เพื่อให้ผู้ใช้ ที่ต้องการรันบนฮาร์ดแวร์จริงสามารถเปิดคอมเมนต์และใส่ API key ได้
บน Google Colab เซลล์นี้จะรันอัตโนมัติเมื่อเปิด notebook ผ่าน
flag metadata cell_execution_strategy: setup
3. การเขียน path ของรูปภาพใหม่
path รูปภาพแบบ relative (/docs/images/..., /learning/images/...) จะถูกเขียนใหม่
เพื่อให้ทำงานได้ถูกต้องในสภาพแวดล้อม notebook แบบ standalone
หน้า MDX (การแสดงผลในเบราว์เซอร์)
บทช่วยสอนที่แสดงบนเว็บไซต์นี้แปลงมาจาก notebook .ipynb หรือไฟล์ .mdx ต้นทาง
โดยมีการแปลงดังต่อไปนี้:
- บรรทัด
pip installจะถูกเพิ่มในบล็อกโค้ด Python ที่ import แพ็กเกจของบุคคลที่สาม เพื่อให้รันได้ด้วยคลิกเดียวผ่าน thebelab - หัวข้อแบบสำรวจ IBM Tutorial: มีการเพิ่มหมายเหตุเพื่อชี้แจงว่าแบบสำรวจ เป็นของ IBM Quantum และลิงก์ไปยัง GitHub Issues ของ doQumentation สำหรับ ข้อเสนอแนะเกี่ยวกับไซต์
- วิดเจ็ต Feedback: วิดเจ็ต "Was this helpful?" จะถูกต่อท้ายที่ ด้านล่างของบทช่วยสอนแต่ละบท โดยติดตามผ่านการวิเคราะห์ Umami ที่เป็นมิตรกับความเป็นส่วนตัว
- การแก้ไข syntax MDX: วงเล็บปีกกา, ลำดับชั้นหัวข้อ และปัญหาความเข้ากันได้ของ JSX จะได้รับการแก้ไขโดยอัตโนมัติสำหรับการแสดงผลบน Docusaurus
- OpenInLabBanner: แบนเนอร์แบบโต้ตอบจะถูกแทรกใต้ชื่อเรื่อง พร้อมปุ่มเพื่อเปิด notebook ใน Colab, Binder หรือ Code Engine
สิ่งที่ไม่ได้รับการแก้ไข
- เนื้อหาบทช่วยสอนเอง (คำอธิบาย, ตรรกะโค้ด, ผลลัพธ์) ไม่มีการเปลี่ยนแปลงใดๆ
- การระบุผู้แต่งต้นฉบับ ได้รับการรักษาไว้ผ่าน frontmatter และไฟล์ NOTICE (ใบอนุญาต Apache 2.0 / CC BY-SA 4.0)
- ไม่มีการแทรกโค้ด telemetry หรือ tracking ลงใน notebook การวิเคราะห์ (Umami) รันเฉพาะบนเว็บไซต์ doQumentation เท่านั้น ไม่ใช่ใน notebook ที่ส่งออก
ซอร์สโค้ด
การแปลงทั้งหมดถูก implement ใน
scripts/sync-content.py