markdown2Mathjax เป็นแพคเกจง่ายๆที่ช่วยให้คุณสามารถใช้คณิตศาสตร์รูปแบบน้ำยางที่สร้างขึ้นโดย MathJax ร่วมกับรูปแบบ markdown นิยม & nbsp;. มีสองการใช้งานของ markdown ในหลามมีแพคเกจนี้ได้รับการออกแบบมาเพื่อใช้กับการใช้อย่างกว้างขวางมากขึ้น และการบำรุงรักษาอย่างแข็งขันของทั้งสองเรียกว่า markdown2 การใช้งานโดยทั่วไปจะเป็นดังนี้:
#! / usr / bin / หลาม env
จากการนำเข้า sanitizeInput markdown2Mathjax, reconstructMath
จากการนำเข้า markdown2 markdown
tmp = sanitizeInput (sometxt)
markdedDownText = markdown (tmp [0])
finalOutput = reconstructMath (markedDownText, tmp [1])
(ในกรณีที่ "sometxt" เป็นสตริงที่มี markdown + mathjax ข้อความ.)
การติดตั้ง
markdown2Mathjax โฮสต์บน pypi เพื่อให้สามารถติดตั้งได้ทั้งจากแหล่งที่ใช้:
tar zxvf markdown2Mathjax-x.x.x.tar.gz
cd-markdown2Mathjax x.x.x
หลาม setup.py ติดตั้ง
หรือใช้จุด (หรือ easy_install ถ้าคุณต้องการ):
PIP ติดตั้ง markdown2Mathjax
การใช้งาน
โดยค่าเริ่มต้นคณิตศาสตร์มีการทำเครื่องหมายโดยสัญญาณ $ เดียวสำหรับคณิตศาสตร์แบบอินไลน์และสัญญาณ $$ คู่สม อย่างไรก็ตามสาย delimiting ใด ๆ อาจจะถูกใช้โดยการเปลี่ยนข้อโต้แย้งคำหลักเพื่อ sanitizeInput และฟังก์ชั่น reconstructMath โปรดทราบว่าโดย mathjax เริ่มต้นไม่ได้ใช้สัญญาณดอลลาร์เดียวเพื่อกำหนดเขตคณิตศาสตร์แบบอินไลน์ดังนั้นหากคุณใช้ค่าเริ่มต้นสำหรับแพคเกจนี้คุณจะต้องสั่ง mathjax จะรักษามันอย่างเหมาะสม
คำอธิบาย
ฟังก์ชั่น sanitizeInput พบว่ากรณีใด ๆ ของคณิตศาสตร์ (ตามที่กำหนดโดยตัวคั่นที่จัดมาให้) และแทนที่พวกเขาด้วยตัวยึด ตัวยึดนี้สามารถระบุโดยผู้ใช้ แต่ก็แนะนำให้คุณใช้ให้มาเริ่มต้นของ "$ 0 $" ตัวยึดจะต้องมีอะไรบางอย่างที่จะไม่ได้รับการประมวลผลโดย markdown และจะไม่เคยได้รับการผลิตโดย markdown ครั้งแรกของความต้องการเหล่านี้เป็นเรื่องง่ายมากพอที่จะตอบสนองความต้องการที่สองจะค่อนข้างลึกซึ้งยิ่งขึ้น หากยึดอยู่แล้วในข้อความที่ผู้ใช้ที่ให้มาก็ตั้งข้อสังเกตโดย sanitizeInput และจะถูกทิ้งให้อยู่คนเดียวเมื่อคณิตศาสตร์ฟื้นฟูหลังจากการประมวลผล markdown
แต่ละครั้งที่บล็อกคณิตศาสตร์ที่ถูกต้องจะพบและถูกแทนที่ด้วยตัวยึดคณิตศาสตร์จะถูกบันทึกไว้ในรายการ (เรียก codeblocks) ซึ่งจะถูกส่งกลับแล้วโดยฟังก์ชั่น sanitizeInput รายการใน codeblocks แต่ละครั้งจะถูกนำหน้าด้วยทั้ง 0 (สำหรับ occurance ที่แท้จริงของตัวยึดในข้อความ) 1 สำหรับคณิตศาสตร์อินไลน์หรือ 2 สำหรับสมการที่แยกต่างหาก
สตริงสุขอนามัยจาก sanitizeInput จากนั้นจะสามารถทำเครื่องหมายขึ้นโดย markdown โดยไม่ต้องกลัวคณิตศาสตร์ของคุณถูก mangled สุดท้าย reconstructMath แทนที่แต่ละตัวยึดตำแหน่งในข้อความขึ้นที่มีเครื่องหมาย codeblock เหมาะสม นี้ html ที่สุดท้ายจากนั้นจะสามารถแสดงด้วย mathjax เหมาะสมจาวาสคริปต์ส่วนหัว
วิธีการที่จะคิดเกี่ยวกับเรื่องนี้ก็คือกว่า reconstructMath เป็นพื้นผกผันของ sanitizeInput ดังนั้นโดยไม่ต้องใช้ markdown ในระหว่างอะไรควรเปลี่ยนระหว่างสอง (ยกเว้นเมื่อ reconstructMath ยังไม่การล้างบางพิเศษของ codeblocks คณิตศาสตร์) นั่นคือ:
tmp = sanitizeInput (ทดสอบ)
reconstructMath (tmp [0], tmp [1]) == ทดสอบ
ควรประเมินความเป็นจริง
ต้องการ .
- หลาม
ความคิดเห็นที่ไม่พบ