- reStructured Text(rST) dari Sphinx lebih sulit dipelajari daripada Markdown, tetapi memudahkan kontrol yang lebih rinci atas struktur dan format keluaran pada dokumen berskala besar seperti buku
- Markdown lebih mirip notasi ringan untuk menulis HTML, sedangkan rST berpusat pada pohon dokumen abstrak dan dapat menambahkan objek dokumen baru dengan menggabungkan directive, node, dan renderer
- Sphinx mentransformasi doctree sebelum rendering, sehingga pekerjaan seperti cross-reference, pemrosesan per format keluaran, dan transformasi pada tahap build tertentu dapat ditangani di dalam sistem dokumentasi
- Dalam Logic for Programmers, latihan dan pembahasannya ditulis dekat dengan teks asli, lalu menggunakan ekstensi kustom untuk mengubah posisi dan cara tampilnya pada keluaran EPUB dan LaTeX
- Markdown sederhana tidak memiliki sintaks ekstensi yang terpadu dan dukungan transformasi prarendering; semakin generator dokumen mengakalinya dengan preprocessing terpisah, semakin lemah dukungan alat dan ekstensibilitasnya
Alasan memilih rST
- Versi baru Logic for Programmers adalah buku kedua yang ditulis dengan Sphinx, dan karya sebelumnya, Learn TLA+ yang baru, juga menggunakan Sphinx
- Sphinx menggunakan reStructured Text, dan rST memiliki kurva belajar yang lebih curam daripada Markdown
- Setelah menulis beberapa buku dengan Markdown, penulis membutuhkan alat yang lebih baik dan beralih ke rST
- rST sendiri independen dari Sphinx, tetapi dalam praktiknya banyak orang memakai rST karena Sphinx, jadi keduanya dibahas bersama
Perbedaan struktur Markdown dan rST
- Perbedaan terbesarnya adalah Markdown lebih mirip notasi ringan HTML, sedangkan rST adalah notasi skala menengah yang membuat pohon dokumen abstrak
- Sintaks gambar Markdown dapat diubah menjadi HTML seperti
<img alt="alttext" src="example.jpg"/>hanya dengan transformasi sederhana- Mesin Markdown modern pun sering mem-parse ke representasi perantara, tetapi karakter dasarnya lebih dekat ke notasi HTML ringan
- Gambar dalam rST direpresentasikan dengan directive
.. image::- Sphinx mencari handler directive yang terdaftar dan menjalankan
ImageDirective.run - Hasil eksekusinya menjadi objek node seperti
image_nodeyang memiliki fieldalt - Setelah seluruh pemrosesan doctree selesai, HTML Writer mencari fungsi rendering
image_nodedan mengeluarkan tag HTML
- Sphinx mencari handler directive yang terdaftar dan menjalankan
- Pendekatan rST memiliki implementasi dan sintaks yang lebih kompleks serta lebih banyak boilerplate dibanding Markdown, tetapi gambar pun ditangani melalui mekanisme ekstensi yang sama seperti directive lain
Cara menambahkan objek dokumen baru
- Di rST/Sphinx, objek teks baru dapat ditambahkan sebagai ekstensi
- Misalnya, jika ingin membuat
<figure>dan<figcaption>alih-alih<image>, pada Markdown dasar harus menyisipkan HTML secara langsung - Di Sphinx, ini ditangani dengan mendaftarkan directive
figurebaruFigureDirectivejuga bisa mewarisiImageDirectiveuntuk memakai ulang sebagian besar pemrosesan gambar
- Pola pendaftaran directive, pembuatan node, dan pendaftaran renderer per builder diterapkan dengan cara yang sama pada semua ekstensi
Transformasi doctree sebelum rendering
- Sphinx dapat melakukan transformasi doctree sebelum rendering
- Cross-reference antar dokumen juga ditangani dengan fitur ini
- Jika satu dokumen memiliki anchor
foodan dokumen lain memiliki:ref:\image <foo>``, Sphinx akan menyisipkan URL yang benar pada tahap post-processing
- Jika satu dokumen memiliki anchor
- Kode transformasi diperlakukan seperti fitur kelas satu dalam proses build
- Transformasi tertentu dapat diterapkan hanya saat keluaran HTML
- Transformasi dapat dijalankan pada tahap build tertentu
- Transformasi bawaan yang tidak ingin dijalankan juga dapat dihapus
- Tidak semua dokumen membutuhkan kekuatan seperti ini, dan Markdown banyak digunakan karena ringan dan portabel
Contoh ekstensi latihan dan pembahasan
- Logic for Programmers adalah buku yang dekat dengan matematika, sehingga membutuhkan latihan untuk pembaca
- Saat menulis, lebih mudah menaruh latihan dan pembahasannya berdekatan di dalam dokumen, tetapi bagi pembaca pembahasan harus muncul di bagian belakang buku
- Kebutuhannya berbeda untuk tiap format keluaran
- Latihan dan pembahasan harus saling ditautkan
- Dengan mempertimbangkan kemungkinan dicetak, PDF juga membutuhkan referensi halaman
- Cara rendering harus berbeda antara keluaran LaTeX/PDF dan keluaran EPUB
- Untuk itu, penulis membuat ekstensi Sphinx kustom yang menangani
exercise,solution, dansolutionlist - Pada keluaran debugging HTML, latihan dan pembahasan dirender secara inline
- Pada pembuatan EPUB dan LaTeX, transformasi dijalankan setelah seluruh doctree dibuat
- Semua
solution_nodedari posisi aslinya dipindahkan ke bawahsolutionlist - Pada setiap latihan ditambahkan node referensi menuju lokasi pembahasan yang baru
- Pada setiap pembahasan ditambahkan node referensi untuk kembali ke latihan asal
- Semua
- Builder LaTeX membungkus latihan dan pembahasan dengan answers environment
- Builder EPUB merender pembahasan sebagai popup footnote
- Struktur ini juga membantu saat membuat sampel gratis dari buku
- Di bagian belakang sampel gratis, yang dimasukkan hanya pembahasan untuk bagian yang ada dalam sampel, bukan pembahasan seluruh buku
Preferensi sintaks dan alternatif
- Keberatan paling umum terhadap rST adalah sintaksnya jelek
- Memilih tidak memakai alat karena tidak enak dilihat adalah pilihan yang sepenuhnya masuk akal, dan alasan sulit menerima Lisp juga bisa dilihat sebagai masalah selera yang sama
- Alternatifnya antara lain asciidoc, MyST, Typst, Pollen, dan pandoc-extended markdown
- Intinya bukan bahwa Sphinx/rST luar biasa bagus untuk dokumentasi berskala besar, melainkan bahwa Markdown sederhana luar biasa tidak cocok untuk dokumentasi berskala besar
Keterbatasan generator berbasis Markdown
- Markdown sederhana tidak memiliki sintaks ekstensi terpadu atau dukungan native untuk transformasi sebelum rendering
- Banyak generator dokumen berbasis Markdown menambahkan tahap preprocessing sendiri untuk mendukung kasus penggunaan baru
- Cara ini umumnya berfungsi, tetapi strukturnya bukan memproses di dalam Markdown, melainkan mengakalinya di sekitar Markdown
- Akibatnya ada batas pada kekuatan fiturnya, dan alat untuk programmer sulit memahami varian tersebut dengan baik
- Ada LSP dan treesitter untuk Markdown dan rST, tetapi sulit mengharapkan alat dengan tingkat yang sama untuk gitbook-markdown, md-markdown, atau leanpub-markdown
- Sintaks rST yang jelek justru dapat menjadi keunggulan karena pohon sintaksnya kaya
- Query treesitter yang hanya mengubah isi directive
todotertentu dimungkinkan - Ini mungkin karena pohon sintaks rST lebih kaya daripada pohon sintaks Markdown
- Query treesitter yang hanya mengubah isi directive
Pembaruan Logic for Programmers
- Logic for Programmers adalah buku tentang bagaimana logika formal berguna dalam rekayasa perangkat lunak sehari-hari
- Buku ini dimulai dengan ikhtisar matematika dasar, lalu berlanjut ke 8 aplikasi seperti property testing, constraint database, dan tabel keputusan
- Masih dalam tahap alfa, tetapi sudah berukuran 20.000 kata dan sedang menerima masukan dari pembaca
1 komentar
Komentar Hacker News
Jika ditanya, “apa kamu tidak akan memakai alat yang bagus hanya karena melihatnya saja sudah bikin ingin muntah,” maka jawabannya ya. Kelebihan terbesar Markdown adalah mudah dibaca, dan kelebihan keduanya adalah mudah ditulis
Seberapa mudah diparsing atau diperluas hampir tidak penting. Terlepas dari apakah Markdown adalah pilihan terbaik untuk menulis buku, untuk menulis cepat dengan format yang tetap mudah dibaca bahkan oleh orang yang tidak terlalu paham sintaks, Markdown adalah yang terbaik. Yang dibutuhkan bukan menulis buku, melainkan catatan, dokumentasi cepat, dan menulis komentar; dan jika harus menulis buku, saya akan memilih LaTeX sebelum RST
Namun setelah dipakai di aplikasi nyata, ternyata inti Markdown bukan itu. Tujuannya adalah menyediakan format seminimal mungkin agar dalam keadaan teks biasa pun tetap terbaca senatural saat dirender menjadi HTML. Format yang didukung sengaja sedikit sehingga mudah diingat dan bisa dipakai tanpa toolbar. Cocok untuk kotak komentar, chat, pesan commit, mungkin juga posting blog, tetapi tidak cocok untuk penulisan dokumentasi produk tingkat enterprise. Sekarang Markdown bahkan dipakai di tempat yang tidak akan dirender menjadi HTML, karena memang enak dibaca apa adanya, dan saya berharap HN juga mendukungnya
Saya juga cukup banyak membuat dokumen teknis dengan Markdown, dan dengan ekstensi Pandochttps://pandoc.org/MANUAL.html hampir semua format yang dibutuhkan bisa dimasukkan, termasuk rumus yang kompleks dan code block dengan syntax highlighting. Markdown itu bisa dikonversi menjadi HTML, dokumen Word, ePub, PDF, dan lain-lain. Perlu alasan yang sangat meyakinkan untuk memilih sesuatu selain Markdown
Masalah terbesar yang saya lihat di TeX bukan pada bahasanya, melainkan pada manusianya. Orang-orang sering menulis TeX spaghetti dengan gaya yang buruk. Namun jika ditulis dengan pola pikir “dokumen adalah kode”, hasilnya bisa cukup rapi. Masalah terbesar kedua adalah tidak adanya kompiler TeX → HTML yang bagus
Saya memang tidak mahir LaTeX, tetapi saat pernah mencoba mempelajarinya rasanya seperti belajar bahasa milik peradaban alien serangga. Sama sekali tidak intuitif, dan rasanya hampir mustahil melakukan sesuatu yang baru kecuali menyalin apa yang sudah dibuat orang lain lalu menyisipkan tulisan saya sendiri. Kalau tidak salah ingat, dulu juga tidak ada dukungan Unicode kelas satu
Memakai tanda bintang atau garis bawah untuk huruf miring juga perlu pembiasaan, padahal ada cara yang jauh lebih intuitif seperti
/italic slashes/. Di luar hal-hal dasar, tabel, metadata, dan tag justru menutupi teks sehingga tanpa alat yang tepat tidak mudah ditulis maupun dibaca. Jika mudah diperluas, masalah-masalah dasar seperti ini juga bisa diperbaiki, jadi ekstensibilitas juga relevanSaya telah bekerja sekitar 12 tahun sebagai penulis dokumentasi teknis, dan di awal karier saya memindahkan dokumentasi startup dari Word ke Sphinx. Setelah itu saya bekerja dengan CMS/platform dokumentasi developer milik Google, situs berbasis Eleventy, dan dalam 2 tahun terakhir kembali bekerja di situs berbasis Sphinx, pigweed.dev. Saya juga pernah bekerja di startup berbasis readme.com dan sedikit mencoba Docusaurus, Astro, serta Hugo
reStructuredText sendiri bisa terasa kasar, tetapi reST yang dipadukan dengan Sphinx sangat bagus. Kekuatan Sphinx jauh melampaui kelemahan reST. Untuk situs dokumentasi profesional besar dengan lebih dari 100 halaman dan lebih dari 10 kontributor, saya cukup yakin bahwa dalam jangka panjang Sphinx adalah pilihan yang paling bertanggung jawab. Misalnya, di Pigweed kami membuat cukup dengan menulis
:bug:\59385981`` agar otomatis berubah menjadi tautan https://pwbug.dev/59385981, dan nanti pun mudah jika harus memindahkan banyak tautan bug sekaligus. Tautan internal juga selalu dijamin bisa di-resolve, dan jika menautkan ke lokasi yang tidak ada akan muncul peringatan atau error. Dulu saya pernah menulis di https://technicalwriting.dev/src/link-text-automation.html bahwa aneh rasanya jika ini bukan standar untuk situs dokumentasi. Sphinx juga punya API ekstensi dan tema yang terdefinisi dengan baik, dan ekosistemnya di PyPI cukup besar. Belakangan ini saya menyebut Sphinx sebagai raksasa tidur di dunia sistem dokumentasi, dan dengan sedikit dorongan bersama, potensinya bisa menjadi jauh lebih hebatBegitu slug berubah atau struktur situs dirombak, kita harus melakukan find-and-replace di seluruh situs. Static site generator sebenarnya bisa saja membiarkan kita menautkan seperti
[Hello](../hello.md)lalu me-resolve-nya saat build, tetapi banyak alat yang saya pakai atau telusuri justru mengharuskan kita mengetik[Hello](/why/hello/)secara langsung. Fitur ini tampaknya memang memecah pendapat. Bahkan ketika saya membicarakannya dengan anggota tim static site generator, jawabannya adalah “kenapa Anda menginginkan itu”, dan penjelasan saya pun tidak mempan. Entah orang baru memahami nilai solusinya setelah mengalami masalahnya sendiri, atau mungkin mereka terbiasa dengan sesuatu yang dipakai sekali lalu tidak dipelihara selama 10 tahun lebih, tetapi saya berharap dukungannya bisa lebih luasSepengetahuan saya, Sphinx adalah satu-satunya framework dokumentasi yang kokoh secara struktural, dapat diperluas, dan digunakan luas. Ekosistem pluginnya luar biasa sehingga menjadi pengungkit besar untuk meningkatkan dokumentasi tim dan proyek. Saya sendiri tidak menyukai reStructuredText, tetapi sekarang berkat MyST-Parser, banyak hal yang dulu membuat Sphinx sangat terikat pada RST kini juga bisa dilakukan dengan Markdown: https://github.com/executablebooks/MyST-Parser
Saya baru saja memindahkan buku lebih dari 200 halaman yang menjelaskan bahasa/VM/lapisan abstraksi internal ke Sphinx, dan ini benar-benar sistem yang mengubah hidup. Saya berharap dokumentasi Sphinx sendiri punya hambatan masuk yang lebih rendah atau lebih banyak contoh, tetapi untuk saat ini rasanya seperti fase bulan madu yang cukup kuat. Minat utama saya adalah cara membuat buku PDF yang enak dilihat, serta sistem untuk memotong buku menjadi halaman man yang kompatibel dengan POSIX per bab dan per bagian
Estetika adalah faktor yang cukup penting saat memilih site generator. Hugo dan Gatsby punya tema bawaan yang sangat bagus, dan saya benar-benar pernah memilih keduanya untuk sebuah proyek hanya karena alasan itu. Kumpulan tema Sphinx di https://sphinx-themes.org/ dan https://sphinxthemes.com/#featured-themes umumnya terasa hambar. Jika membandingkan tema RTD standar Sphinx https://sphinx-rtd-theme.readthedocs.io/en/stable/ dengan dokumentasi Apple https://developer.apple.com/documentation/swift/array atau Fluent UI https://react.fluentui.dev/?path=/docs/concepts-developer-positioning-components--default, tampilannya terlihat usang
Saya menganggap kalimat “Markdown adalah representasi ringan dari HTML” sebagai masalah terbesar dalam tulisan ini. Itu jelas tidak akurat.
Markdown dirancang sebagai alat untuk mengonversi kebiasaan pemformatan teks yang secara de facto digunakan seperti standar dalam email dan posting Usenet pada awal 1990-an. Karena keterbatasan 7-bit ASCII, format seperti penekanan dan judul ditandai dengan simbol khusus, dan HTML juga punya banyak kemiripan dengan kebiasaan tak bernama itu. Karena itu John Gruber pada 2004 menulis skrip dasar untuk mengubahnya menjadi HTML https://daringfireball.net/projects/markdown/, tetapi kemungkinan ia tidak menyangka ini akan menjadi standar de facto yang begitu universal
Gruber tidak sekadar mengambil standar de facto Usenet lalu membuat konverter HTML sederhana, melainkan merancang markup versinya sendiri dengan meminjam dari Usenet dan kebiasaan lain. Bagian “Acknowledgements” di bawah tautan itu juga menunjukkan hal tersebut. Sejak awal Markdown memang dimaksudkan sebagai sintaks markup untuk web CMS, dan menyebutnya sebagai representasi ringan dari HTML itu tepat. Intinya adalah membuat setiap bagian sintaks menghasilkan HTML yang berkorespondensi langsung
Fakta bahwa ia terinspirasi oleh kebiasaan email tidak membuat pernyataan “Markdown adalah representasi ringan dari HTML” jadi kurang tepat
Ada aturan untuk menanggapi tafsiran paling masuk akal dan paling kuat dari ucapan lawan, bukan menangkap tafsiran lemah yang lebih mudah dikritik. Ada juga aturan agar tidak hanya memilih kalimat paling provokatif dari tulisan untuk dikeluhkan, tetapi menanggapi bagian yang menarik: https://news.ycombinator.com/newsguidelines.html
Jika Anda tidak setuju dengan inti tulisannya, cukup katakan Anda lebih memilih Markdown daripada rST dan jelaskan alasannya. Bertengkar hanya soal satu kalimat tentang apa sebenarnya Markdown itu adalah hal yang konyol
Memang terinspirasi oleh kebiasaan seperti email atau Usenet, dan sebagian di antaranya bahkan sudah ada sebelum era komputer. Misalnya, rasanya saya pernah melihat contoh dokumen ketikan lama yang memakai tanda bintang seperti huruf miring. Namun Markdown sangat terikat dengan HTML, sintaksnya juga sangat dibatasi oleh HTML, dan upaya untuk memisahkannya dari HTML pada umumnya memang sulit untuk berhasil
Menurut saya inti Markdown adalah memungkinkan hal-hal yang lebih sederhana daripada HTML mentah dilakukan lebih cepat, sambil tetap memungkinkan HTML mentah dicampurkan bila perlu
Dalam proyek yang membutuhkan kekuatan RST melebihi Markdown, saya justru merasa lebih nyaman menulis HTML langsung
Saat membangun sistem dokumentasi dengan kompleksitas serupa, saya mempertimbangkan RST karena sangat membutuhkan markup yang punya makna jelas, misalnya menyimpan struktur file RST di database dan mencampurkan hasil database ke dalam konten
Ada dua masalah yang saya hadapi. Pertama, alat RST tidak punya unparser untuk mengeluarkan RST lagi. Saya ingin menggabungkan beberapa file RST dan sumber lain, lalu otomatis menghasilkan file RST dan menanganinya sebagai API dokumen, tetapi itu tidak didukung. Kedua, alat RST mengharapkan sekumpulan blok yang sudah didefinisikan untuk dokumen tertentu. Jika blok bisa direpresentasikan secara umum, seharusnya mungkin membuat alat yang mengubah dokumen tanpa mengetahui definisi blok internal, tetapi kenyataannya tidak begitu. Ini lebih merupakan masalah alat daripada RST itu sendiri, tetapi setiap kali harus membongkar kode sampai ke lapisan paling bawah, saya jadi memikirkan sistem markup lain yang berbasis HTML
Kelebihan pendekatan ini adalah Anda bisa mengontrol sepenuhnya skema input dan output, sedangkan kekurangannya adalah kebisingan sintaksnya jauh lebih besar daripada Markdown atau RST, dan Anda perlu skrip untuk parsing dan mengubahnya ke format keluaran yang diinginkan
Seluruh tujuan docutils adalah mem-parsing format dan mengubahnya menjadi API: https://www.docutils.org/docs/index.html#api-reference-material-for-client-developers
Beberapa tahun lalu saya pernah merangkum subset reStructuredText yang layak dihafal: https://simonwillison.net/2018/Aug/25/restructuredtext/
Dalam proyek terbaru saya mulai menggunakan MyST, yang menyediakan fitur referensi dan daftar isi yang saya anggap penting di reStructuredText, sambil tetap memungkinkan kontributor memakai sintaks Markdown yang lebih mudah ditulis
Yang benar-benar mengubah permainan adalah rST+Sphinx untuk tautan internal serta direktif
:ref:dan:doc:. Saat merujuk anchor atau tautan dokumen di dalam konten yang sama, kita tidak perlu mengetik header secara langsung, dan bisa menghindari masalah header yang diketik manual lalu akhirnya usang: https://www.sphinx-doc.org/en/master/usage/referencing.html#ref-roleIni salah satu fitur yang paling saya rindukan saat menulis dengan rST
Bukan bermaksud membajak percakapan tentang ReStructuredText, tetapi jika Anda mencari bahasa markup yang memberi lebih banyak daripada Markdown, saya ingin menyarankan agar melihat AsciiDoc alih-alih ReStructuredText. Saya telah menulis dokumentasi teknis selama bertahun-tahun dengan ketiganya, dan menurut saya AsciiDoc lebih baik daripada ReStructuredText maupun Markdown
Misalnya, dukungan tabel di Markdown dan ReStructuredText sangat merepotkan. Pemformatan tabel AsciiDoc mudah dibaca, ditulis, dan dipelihara, serta lebih kuat karena mendukung header, caption, ukuran kustom tabel dan baris, sampai pemformatan kompleks di dalam tabel. Tidak seperti Markdown, ia memiliki satu format standar tanpa banyak dialek, sintaksnya ringkas dan mudah dibaca, serta kurva belajarnya lebih landai daripada ReStructuredText. Pilihan styling output juga lebih baik, toolchain-nya unggul, dan fitur dokumentasi bawaannya kaya sehingga lebih jarang perlu bergantung pada plugin pihak ketiga. AsciiDoc sejak awal dirancang untuk dokumentasi teknis, sementara dua lainnya lebih merupakan alat yang dipaksa menyesuaikan diri dengan peran itu
Kalau Anda menyusun dokumen Markdown sekitar 5–10 halaman dengan rapi, lalu membiarkannya dirender dalam template Jinja yang lebih dinamis, awalnya semuanya terasa cukup memuaskan. Ada juga proses build untuk dokumentasi otomatis, dan skalanya sudah terlalu besar untuk sekadar satu README GitHub. Namun sejak titik itu, penderitaan dimulai
Dokumentasi halaman proyek GitHub rasanya kurang cocok, membingungkan apakah perlu file
.nojekyl, apakah branchgh-pagesmasih dibutuhkan, dan tidak jelas apakah perubahan tidak muncul karena salah konfigurasi repositori atau sebab lain. Setelah mencoba GitHub Actions selama beberapa jam, semuanya mulai terasa tidak masuk akal. Saat melihat lagi Read the Docs, tampaknya ia ingin memakai Sphinx, jadi Markdown saya sambungkan ke Sphinx; build-nya berhasil, tetapi setelah deployment lebar halaman rusak dan masalah itu tidak bisa direproduksi secara lokal, jadi sepertinya karena penyisipan iklan di tier komunitas. Banyak proyek berjalan baik dengan ini dan saya juga pernah melakukannya sendiri, tetapi sampai benar-benar berjalan, detail-detail kecilnya terasa sangat rewel dan sulit dipercaya. Pada akhirnya, Markdown versus RST bukanlah inti persoalannya; yang penting adalah menemukan kombinasi yang cocok untuk proyek dokumentasi skala menengah dan static hostingPanduan deployment otomatisnya juga bagus: https://github.com/rust-lang/mdBook
Tampaknya orang melewatkan bahwa penulis berbicara dalam konteks typesetting bukunya sendiri. Ia bukan sedang mengklaim bahwa rST secara umum lebih baik daripada Markdown
Dalam kasus umum, kesederhanaan Markdown adalah alasan ia dipakai luas, tetapi itu bukan sasaran pembahasan penulis
Menarik melihat orang bereaksi seolah-olah reST dibuat sebagai pesaing Markdown. Sebenarnya hampir sebaliknya. reST adalah pengembangan dari StructuredText pada 2002, sedangkan Markdown pertama kali dipublikasikan pada 2004
Tujuan keduanya sangat mirip, dan untuk teks yang paling dasar keduanya sama-sama bisa dibaca dan ditulis seperti plain text. Yang terjadi adalah banyak format bermunculan pada masa itu karena semua orang menginginkan hal semacam ini. Menurut saya, alasan Markdown menang hampir tidak ada hubungannya dengan “lebih sederhana” atau “lebih mudah dibaca”. Untuk hal-hal yang mudah direpresentasikan dengan ASCII murni dan spasi, keduanya umumnya bisa saling menggantikan. Adakah yang akan mengatakan bahwa dokumen reST pada contoh itu adalah tulisan rumit yang tidak bisa dibaca tanpa parser? Saya juga tidak begitu paham dalam hal apa varian Markdown lebih baik dari itu; lebih terasa seperti kebetulan sejarah satu format akhirnya lebih dominan, sementara keduanya sama-sama cukup baik untuk tujuan intinya
reST memang menyediakan banyak fitur pemformatan tambahan yang berguna bila diperlukan, tetapi menjadi berlebihan saat tidak dibutuhkan. Saya mulai menggunakan GitHub-flavored Markdown sekitar saat mendaftar GitHub pada 2010, dan juga beberapa kali memakai reStructuredText karena dokumentasi Python. Yang terakhir punya kurva belajar yang jauh lebih tinggi, dan setelah itu saya tidak punya alasan untuk memakainya lagi
Backtick ganda juga merupakan sintaks yang terasa terlalu menjengkelkan dibanding waktu yang sebenarnya dibutuhkan