10 poin oleh GN⁺ 2025-06-04 | 5 komentar | Bagikan ke WhatsApp
  • Sistem tipografi modern yang memperluas sintaks Markdown yang ada sehingga dokumen dalam berbagai format seperti buku, makalah, slide, dan presentasi dapat dibuat dengan mudah
  • Dengan menanamkan langsung fitur tingkat lanjut seperti dukungan fungsi, penggunaan variabel, kondisional/perulangan, dan pustaka standar ke dalam Markdown, Quarkdown memiliki keunggulan dalam ekstensibilitas dan otomatisasi dibanding Markdown biasa maupun LaTeX
  • Dari satu berkas sumber, dapat menghasilkan berbagai output seperti HTML, PDF, slide (reveal.js), dan buku berpaginasi (paged.js), sehingga sangat cocok untuk pembuatan konten berbasis kode
  • Dengan fitur scripting dan sintaks ekstensi yang ekspresif, konten yang kompleks atau dinamis pun dapat diwujudkan dengan leluasa
  • Menyediakan lingkungan REPL, live preview, dan kompilasi cepat, sehingga penyuntingan dan debugging dokumen dapat dilakukan secara real time
  • Dibandingkan alat yang sudah ada, Quarkdown unggul dalam fitur scripting, kontrol dokumen, dan kurva belajar yang mudah dibanding Markdown, LaTeX, Typst, AsciiDoc, dan MDX
  • Tanpa lingkungan pengembangan terpisah atau konfigurasi rumit, Quarkdown dapat digunakan di semua sistem operasi utama selama tersedia Java 17 atau lebih baru

About

  • Quarkdown adalah sistem typesetting modern yang dirancang agar pengguna dapat dengan mudah membuat hasil akhir berkualitas tinggi, mulai dari teks sederhana hingga buku, makalah, dan slide, dengan menambahkan fungsi serta sintaks ekstensi ke struktur dasar Markdown
  • Dikembangkan berdasarkan CommonMark dan GFM, serta mendukung sintaks sendiri, fungsi, variabel, hingga pustaka buatan pengguna
    • Menyediakan sintaks khusus bernama Quarkdown Flavor
    • Melalui sintaks ekstensi fungsi yang Turing-complete, Quarkdown menambahkan fitur tingkat lanjut seperti fungsi, kondisional, dan perulangan ke dalam Markdown
  • Dengan pustaka .qmd, pengguna dapat memanfaatkan berbagai fitur seperti layout, input/output, matematika, kondisional, dan perulangan
  • Bahkan saat membutuhkan struktur dokumen yang kompleks atau konten dinamis, Quarkdown dapat meningkatkan ekstensibilitas dan produktivitas

Fitur utama dan cara penggunaan

  • Mendukung berbagai format output seperti HTML, slide, buku (Paged), dan PDF
    • Jenis dokumen dapat ditentukan melalui pemanggilan fungsi seperti .doctype {slides} dan .doctype {paged}
    • Terintegrasi dengan engine berbasis open source seperti reveal.js dan paged.js
  • Scripting dan konten dinamis
    • Mengadopsi elemen pemrograman seperti fungsi, variabel, kondisional, dan perulangan
    • contoh) .function {greet} ... .greet {world} from:{iamgio}
  • Live preview dan kompilasi cepat
    • Menyediakan pratinjau real time dan fitur deteksi perubahan berkas (Watch)
    • Opsi -p --preview dan -w --watch meningkatkan efisiensi kerja
  • Perbandingan dengan alat dokumen lain
    • Kurva belajarnya lebih rendah dibanding LaTeX, dan kemampuan ekstensinya lebih baik daripada Markdown
    • Dibanding Typst, AsciiDoc, MDX, dan lainnya, Quarkdown unggul dalam scripting dan daya ekspresi

Target yang didukung

  • HTML
    • Output umum (default)
    • Slide (menggunakan reveal.js)
    • Bentuk buku/makalah (menggunakan paged.js, memerlukan web server)
  • PDF
    • Semua jenis dokumen dan fitur yang didukung HTML dapat dikeluarkan ke PDF apa adanya
    • Untuk detail lebih lanjut tentang output PDF, lihat dokumen wiki
  • Format output dapat dikendalikan melalui pemanggilan fungsi seperti .doctype {slides} dan .doctype {paged}

Perbandingan

Quarkdown Markdown LaTeX Typst AsciiDoc MDX
Kesederhanaan·keterbacaan
Kontrol dokumen menyeluruh
Fitur scripting Dukungan sebagian
Output format buku/artikel 3rd party
Output presentasi 3rd party
Kurva belajar hijau hijau merah oranye hijau hijau
Dukungan target HTML, PDF HTML PDF, PostScript PDF HTML, PDF, ePub HTML

5 komentar

 
plastic041 2025-06-05

Mungkin karena ada tabel, tata letak di perangkat seluler jadi rusak.

 
plastic041 2025-06-05

Memberi .topic_contents min-width: 0 memperbaiki masalahnya. min-width memang benar-benar bikin pusing...

 
xguru 2025-06-05

Ah, saya sudah menemukan solusinya dengan cara lain. Terima kasih!

 
plastic041 2025-06-05

Terima kasih atas tanggapan cepatnya~

 
GN⁺ 2025-06-04
Komentar Hacker News
  • Editor teks FOSS saya, KeenWrite, menggunakan pendekatan serupa untuk mengonversi Markdown menjadi XHTML, TeX, dan PDF
    Arsitektur perangkat lunaknya menunjukkan bagaimana rantai prosesor bisa dirancang
    Saya membuat KeenWrite karena ingin bisa memakai variabel seperti nama tokoh atau lokasi saat menulis novel fiksi ilmiah
    Untuk detailnya, lihat tutorial
    Bagi yang masih memakai pandoc dan shell script, seri Typesetting Markdown menjelaskan cara membangun infrastruktur berbasis skrip untuk mengubah Markdown menjadi PDF
    Informasi tentang KeenWrite sendiri bisa dilihat di sini
    Diagram arsitekturnya bisa dilihat di sini

  • Akan menarik membandingkan proyek ini dengan Typst, yang belakangan mendapat banyak perhatian, jadi agak mengejutkan bahwa Typst sama sekali tidak disebut dalam matriks perbandingan fitur

    • Saat terakhir saya lihat, Typst belum bisa mengekspor ke HTML
    • Sekarang Typst juga sudah disebut
      Secara keseluruhan, kedua proyek ini terlihat sangat mirip
  • Saya penasaran apakah chart perbandingannya akurat – tautan
    LaTeX jelas punya kemampuan scripting yang lengkap, walau memang menyiksa untuk dipakai
    Saya skeptis terhadap klaim bahwa sintaks Quarkdown yang aneh lebih ringkas dan mudah dibaca daripada Typst
    Kurva belajarnya juga sepertinya tidak akan lebih mudah daripada Typst; keduanya tampak hampir sama
    Saya rasa LaTeX juga bisa menghasilkan HTML lewat tex4ht

    • Jujur saja, sebagian besar Markdown bisa dipakai apa adanya di Quarkdown
      Hambatan masuk rasanya tidak bisa lebih rendah lagi dari itu
      Tentu saja kurva belajar tidak sama persis dengan hambatan masuk, tapi banyak tumpang tindihnya
      Dan "kurva belajar" adalah sifat yang subjektif
      Kalau dimasukkan ke tabel perbandingan, pasti sejak awal akan bias
      Fitur yang jelas lebih objektif, meski kadang suatu produk memang tidak membutuhkan fitur tertentu secara desain
    • Pandoc adalah yang terbaik untuk use case seperti ini
    • TikZ dan pgf langsung menunjukkan sejauh mana kemampuan scripting LaTeX dan TeX
      Tabel perbandingannya jelas tidak akurat
  • Hasil output contohnya terlihat keren
    Tapi saya memang tidak terlalu suka saat bahasa template berkembang dengan pemanggilan fungsi atau kompleksitas lain
    Tentu saja dalam konteks ini mungkin masuk akal
    Namun jika harus dipakai bersama bahasa lain, misalnya untuk server-side rendering atau pembuatan dokumen berbasis data, waktu habis hanya untuk bolak-balik antara dua bahasa
    Bahasa template tidak pernah sekuat bahasa yang "sesungguhnya"
    Karena itu saya lebih suka pendekatan seperti JSX atau tagged template literal di JavaScript
    Lebih baik memakai bahasa pemrograman sungguhan sambil tetap memahami konteks dokumen, sehingga kekhawatiran soal escaping seperti XSS bisa berkurang

  • Saya penasaran apa bedanya proyek ini dengan Quarto
    Namanya mirip, ekstensinya juga sama, dan arahnya pun tampak serupa, tapi fiturnya malah kelihatan lebih sedikit – Quarto

    • Quarto adalah penerus de facto ekosistem R Markdown
      Di FAQ disebutkan bahwa pengembangnya juga orang yang sama
    • Saya juga tadinya mau menanyakan hal yang sama
      Beberapa hari lalu seorang teman memperlihatkan bagaimana dia menulis ulang semua naskah kuliahnya di Quarto dan bahkan menyematkan presentasi, dan hasilnya terlihat cukup rapi
      Kelebihan besar Quarto adalah integrasinya yang baik dengan R Studio dan Jupyter Notebook
    • Kemiripan namanya tampaknya berasal dari referensi atau asosiasi dengan QuarkXPress
      Menurut saya ini semacam evolusi konvergen
  • Menarik bahwa sesuatu yang bisa terlihat seperti "planet" itu ternyata adalah quark, khususnya down quark
    Proyeknya keren, tapi karena QuarkXPress adalah merek terkenal di industri penerbitan, memakai kata "Quark" sebagai nama sistem penerbitan terasa agak berisiko
    Informasi pendaftaran merek terkait bisa dilihat di sini, di sini
    (Saya juga penasaran kenapa ada dua merek terdaftar untuk kata yang sama)

  • Di setiap thread diskusi bidang ini, selalu ada sekitar 70% komentar tipe "kenapa tidak pakai LaTeX?", jadi biar saya tegaskan dulu dari awal
    Saya jelas butuh sistem typesetting modern berbasis Markdown
    Saya ingin ada banyak upaya untuk menggantikan LaTeX
    LaTeX benar-benar tidak nyaman, kuno, dan akan bagus jika ada sistem yang memberi markup lebih bebas
    Bahkan jika akhirnya kaya fitur sampai sintaksnya menjadi panjang, tetap ada kebutuhan nyata untuk sesuatu yang sedikit lebih kuat daripada Markdown
    Tapi saya merasa proyek ini bukan yang saya cari
    Dari contoh-contohnya, kelihatannya ia cenderung hanya sedikit lebih kuat dari Markdown biasa, dan belum cukup sebagai pengganti penuh LaTeX (atau Typst)
    Sistem dokumen seperti ini harus terasa "sangat mulus" dipakai, dan ini tidak memberi kesan seperti itu

    1. Dan karena berbasis JVM, saya bahkan tidak ingin menginstalnya
      Itu bukan hal yang baik untuk penyebaran
    2. Saya juga tidak suka sintaksnya
      Saya ingin ia semaksimal mungkin kompatibel dengan Markdown normal, tetapi kalau argumen fungsi wajib diindentasi, seluruh dokumen bisa ikut terindentasi, padahal titik ekstensi Markdown biasanya lebih alami dalam bentuk code block (gaya ```plugin-name`)
      Karena perbedaan sintaks, struktur seluruh dokumen mungkin perlu diubah
    3. Konsep "Markdown yang lebih baik" menurut saya lebih cocok untuk kasus yang berawal dari catatan pribadi lalu berkembang bertahap menjadi dokumen publik
      Kalau dokumennya memang dibuat untuk tujuan penerbitan, ya sekalian saja pakai LaTeX
      Yang paling berguna justru saat ia terintegrasi baik dengan aplikasi pencatatan
      Mungkin ada yang tetap melakukannya di Emacs atau Vim, tapi bahkan saya yang cukup retro pun akhirnya pindah ke Obsidian dan sejenisnya
      Akan bagus kalau ada bagian yang membuat struktur dokumen lebih mudah dikendalikan dari aplikasi catatan, atau yang juga bisa terhubung ke fitur publishing
      Kalau berdiri sendiri, saya jadi bertanya kenapa harus memakainya
      Setidaknya Typst punya editor online, dan semua orang memakainya
    • LaTeX bukan sampah tua; itu salah satu perangkat lunak terbaik yang pernah ada
      Kuncinya adalah tidak menambahkan hal-hal yang tidak perlu ke dokumen
  • Sistem seperti ini (termasuk Typst) pada dasarnya ditujukan untuk typesetting teks panjang seperti paper
    Saya berharap ini bisa menjadi alternatif HTML, tapi setelah mencoba Typst pun, rasanya para pembuatnya hampir hanya peduli pada "paper atau teks panjang"
    Saya juga ingin membuat formulir, invoice, flyer, kartu nama, dan semacamnya, tetapi elemen-elemen seperti itu berada di luar perhatian mereka
    (Sebenarnya saya sedang memikirkan Sile, tapi Typst juga mirip)
    Saya tidak mendalami Typst karena sifat komersialnya

    • Saya tidak tahu apakah ada alasan khusus kenapa Typst tidak bisa dipakai untuk formulir, invoice, dan sebagainya yang disebut tadi
      Khususnya untuk formulir interaktif, kabarnya itu sudah sedang dikerjakan (backend pdf writer bahkan sudah mendukung sebagian)
      Seiring waktu, fitur formulir tampaknya akan hadir di Typst – lihat issue
    • Menurut saya itu karena ranah ini lebih dekat ke "desain grafis" daripada "typesetting"
      Invoice, brosur iklan, kartu nama, dan semacamnya perlu menempatkan elemen kecil secara tepat di tengah halaman atau di tepi, dan untuk itu alat WYSIWYG lebih nyaman
      Kalau hanya mengandalkan typesetting berbasis teks, trial and error-nya jadi terlalu banyak
      Misalnya di tabloid, teks harus mengalir dan membungkus mengikuti gambar atau potongan yang bentuknya tidak persegi, dan melakukan itu hanya dengan menulis koordinat tanpa melihat hasilnya secara langsung sangat sulit
    • Editor online Typst memang komersial, tetapi Typst sendiri terbuka dengan lisensi Apache 2.0
      Saya menginstalnya lewat cargo di Rust dan bisa memakainya dengan sangat baik tanpa editor online
    • Typst bisa dipakai secara lokal dan Anda bisa melewati bagian komersialnya sepenuhnya
      Cukup mudah dipakai untuk membuat berbagai jenis dokumen
      Saya sendiri sudah memakainya sebagai pengganti untuk membuat slide dan handout
    • "Pemakaian nyata" pertama saya untuk Typst justru poster, dan itu jauh lebih mudah daripada LaTeX
      Memang masih ada beberapa fitur seperti image wrapping dan text flow yang belum ada, tetapi di TeX pun itu sulit dan direncanakan akan ditambahkan ke Typst nanti
      Contoh poster
  • Ini kelihatannya hampir persis sama dengan reStructuredText (rST)
    Sintaks fungsi Quarkdown (.somefunction {argumen} {argumen} body) sangat mirip dengan sintaks fungsi rST (.. somefunction:: {argumen} {argumen} body)

  • Markdown, Quarkdown, Typst, dan sebagainya terlalu banyak dan terasa tidak terstandarisasi, jadi saya akhirnya kembali ke HTML+CSS

    • Bagaimana dengan XML?
      Saya belum pernah benar-benar memakainya, tapi sedang mempertimbangkannya cukup serius
      Format-format lain terlalu rumit dan punya kurva belajar yang mengganggu kegiatan menulis itu sendiri
      Di XML saya bisa mendefinisikan tag saya sendiri dan membangun berbagai struktur dengan parser, seperti pembuatan catatan kaki otomatis
      Penasaran apakah ada yang pernah mencoba pendekatan seperti ini
    • Markdown benar-benar efisien pada tingkat dasar
      Masalah muncul ketika terlalu banyak orang mulai menumpuk sistem di atasnya, lalu mencoba menyelesaikan sesuatu yang sejak awal memang "lebih kompleks"
      Menurut saya mereka berusaha memperbaiki sistem yang awalnya ditujukan untuk hal sederhana, tetapi gagal memahami batasannya, sehingga yang bertambah justru pengulangan yang tidak perlu dan kebingungan
      Ini bukan soal kekurangan fitur, melainkan soal dipakai di luar cakupan tujuan desainnya
      Bahkan kalau Windows Notepad menambahkan pemformatan pun, menurut saya itu tetap bukan perbaikan secara esensial
      Karena Notepad memang punya peran aslinya sendiri
    • Ada juga Org-mode yang matang dan andal
      Kalau Anda tidak membenci Emacs, itu pilihan yang bagus
    • Saya juga merasa memanipulasi DOM untuk pengembangan web dengan HTML, CSS, dan Javascript justru lebih menyenangkan
      Tidak perlu menghafal ratusan framework dan sintaks rumit sebanyak itu
      Bahkan cukup memberi AI perintah untuk membuat konverter markdown ke html
    • Kalau autocomplete di editor teks tahun 2005 sudah mendukung penyeimbangan tag, indentasi, dan highlighting sebaik sekarang, mungkin format seperti JSON, YAML, dan Markdown tidak akan meledak sepopuler ini
      Bahkan dalam The Art of Unix Programming yang terbit pada 2003 ada pembahasan bahwa mengedit XML secara langsung itu menyakitkan, sehingga perlu dibuat berbagai format dan parser baru