mq - ภาษา Query สำหรับ Markdown สไตล์ jq
(mqlang.org)- เครื่องมือ CLI สำหรับ สืบค้น·กรอง·แปลงเอกสาร Markdown ด้วยไวยากรณ์คล้าย jq โดยนำบทบาทที่ jq ทำกับ JSON มาใช้กับ Markdown
- ทำให้ Markdown กลายเป็นข้อมูลแบบมีโครงสร้าง จึงสามารถทำงาน ประมวลผลแบบแบตช์ เช่น slice, filter, map และ transform ได้อย่างง่ายดาย
- เนื่องจาก LLM ใช้ Markdown เป็นรูปแบบอินพุตพื้นฐาน จึงมีประโยชน์อย่างยิ่งกับ เวิร์กโฟลว์ของ LLM และการสร้างอินพุต
- ใช้กับการจัดการ Markdown ที่ใช้ในพรอมป์ต์/เอาต์พุต, การจัดการเอกสาร, การวิเคราะห์คอนเทนต์, การประมวลผลแบบแบตช์ เป็นต้น
- รองรับฟอร์แมตอินพุต/เอาต์พุตหลากหลาย: อินพุต markdown, mdx, html, csv, json, toml, xml, yaml เป็นต้น และเอาต์พุตแบบ table·grep·json เป็นต้น
- ทำ การพาร์สอัตโนมัติ ผ่านนามสกุลไฟล์หรือแฟลก
-I
- ทำ การพาร์สอัตโนมัติ ผ่านนามสกุลไฟล์หรือแฟลก
- แยก heading, code block, link, table cell ออกมาด้วย selector ได้ (
.h(1..3),.code("rust"),.link.urlเป็นต้น) - รองรับ การดึงข้อมูลระดับเซกชัน ตามชื่อหัวข้อ (
section::section("Installation")) - ใช้
mq convแปลง Excel·Word·PDF เป็น Markdown แล้วเชื่อมต่อทำงานต่อผ่าน Unix pipe ได้ - สามารถกรองและแปลงคอนเทนต์ได้ด้วยฟังก์ชันและ selector ที่มีมาให้จำนวนมาก และขยายเพิ่มได้ง่ายด้วยฟังก์ชันแบบกำหนดเอง
- มีฟีเจอร์อำนวยความสะดวกสำหรับนักพัฒนา เช่น REPL·LSP·ส่วนขยาย VSCode·ดีบักเกอร์(
mq-dbg) - ทดลองใช้งานได้ในเบราว์เซอร์โดยไม่ต้องติดตั้งผ่าน Playground
- มี mq-web ซึ่งเป็นบิลด์สำหรับ WebAssembly
- มี bindings สำหรับภาษา Elixir, Python, Ruby, Java, Go
- ใช้สัญญาอนุญาต MIT และพัฒนาด้วย Rust
1 ความคิดเห็น
ในที่สุดสิ่งที่ฉันต้องการก็ออกมาแล้ว...