ข้ามไปยังเนื้อหาหลัก

การแก้ไขโค้ดอัตโนมัติ

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