- mdq adalah alat yang membantu menemukan bagian tertentu dalam dokumen Markdown dengan mudah
- Berguna saat memeriksa template atau checklist tertentu dalam dokumen Markdown seperti GitHub PR
- Misalnya, Anda dapat menggunakan perintah
mdq '- [ ]' untuk menemukan tugas yang belum selesai
Penggunaan dasar
- Memilih bagian yang berisi "usage":
cat example.md | mdq '# usage'
- Dapat digunakan dengan merangkai filter:
cat example.md | mdq '# usage | -'
- Memastikan pencarian issue yang sudah ada sebelum mengirim laporan bug:
mdq -q '- [x] I have searched for existing issues'
- Mengekstrak tiket referensi: saat PR menyebut tiket, Anda dapat mengekstrak tautan dari Markdown ke JSON dan mengambil URL dengan jq.
TICKET_URL="$(echo "$PR_TEXT" | mdq --output json '# Ticket | [](^https://tickets.example.com/[A-Z]+-\\d+$)' | jq -r '.items[].link.url')"
- Meringkas tabel besar: tabel dapat difilter untuk menemukan jadwal on-call pada tanggal tertentu atau untuk orang tertentu.
- Mencari tanggal on-call Alice:
cat oncall.md | mdq ':-: /On-Call|Alice/:-: *'
- Mencari personel on-call untuk minggu 15 Januari 2024:
cat oncall.md | mdq ':-: * :-: 2024-01-15'
1 komentar
Komentar Hacker News
PR GitHub adalah dokumen Markdown, dan beberapa organisasi menggunakan templat tertentu yang mencakup daftar periksa yang harus diselesaikan oleh semua reviewer
Salah satu alasan format berkas berbasis teks seperti Markdown menjadi populer adalah karena bisa dianalisis dengan ekspresi reguler dan dikelola melalui kontrol versi
Alur kerja saya adalah melewati Pandoc JSON AST lalu menggunakan Jq
Terima kasih sudah membagikannya, saya akan mencobanya
Setelah mencoba berbagai hal, satu-satunya "sistem catatan" yang terus saya gunakan adalah direktori berisi berkas Markdown yang otomatis di-commit ke git saat berubah
Saya ingin menambahkan sedikit fitur cerdas agar bisa melacak pekerjaan
Saya ingin memperlakukan dokumen Markdown sebagai pohon
MarkdownDB menyediakan backend SQLite untuk berkas Markdown
Terima kasih sudah membagikannya, saat ini saya tidak punya kasus penggunaan langsung untuk ini, tetapi bagus mengetahui bahwa hal seperti ini ada
Saya ingin menyampaikan catatan kecil tentang pemanggilan shell yang didokumentasikan
cat example.md | mdq '# usage'bisa diubah menjadi pengalihan berkas stdin agar tidak memanggil prosescatyang tidak perluecho "$ISSUE_TEXT" | mdq -q '- [x] I have searched for existing issues'juga bisa menghindari prosesechoyang tidak perluAkan bagus jika README menambahkan contoh yang lebih realistis
Satu hal menarik yang saya pelajari saat meneliti alat dan pustaka yang ada adalah banyak alat melakukan serialisasi Markdown ke HTML sebelum menjalankan ekstraksi/manipulasi terstruktur
Sepertinya saya menemukan alat ini tepat pada saat saya membutuhkannya
Terima kasih kepada Yuval karena telah membagikan alat ini, dan terima kasih karena menggunakan lisensi yang permisif sehingga saya bisa memakainya di tempat kerja