Defuddle - Open source HTML-to-Markdown pengganti Readability
(github.com/kepano)- Alat untuk menghapus elemen yang tidak diperlukan (komentar, sidebar, header, footer, dll.) dari halaman web dan hanya menyisakan konten utama
- Tidak seperti Mozilla Readability, alat ini bekerja lebih fleksibel dan mendukung standarisasi HTML yang konsisten untuk rumus, blok kode, catatan kaki, dll.
- Dikembangkan untuk Obsidian Web Clipper, dan menargetkan kompatibilitas dengan alat konversi HTML-to-Markdown lain (seperti Turndown)
- Memiliki fitur ekstraksi berbagai metadata bawaan seperti gaya mobile dan data schema.org
- Mendukung Node.js maupun browser, dan tersedia berbagai bundle sesuai kebutuhan penggunaan
Perbedaan Defuddle dengan Readability
- Dengan pemfilteran yang lebih longgar, mengurangi penghapusan elemen yang belum pasti
- Menangani area khusus seperti catatan kaki, rumus, dan kode secara konsisten
- Merujuk pada stylesheet mobile halaman
- Dapat mengekstrak informasi tambahan seperti metadata schema.org, gambar, favicon, tanggal publikasi, dll.
Komposisi bundle
- Bundle Core (defuddle): Cocok untuk penggunaan di browser, tanpa dependensi eksternal
- Bundle Full (defuddle/full): Menyertakan fitur tambahan seperti parsing rumus
- Bundle Node (defuddle/node): Dioptimalkan untuk lingkungan Node.js (JSDOM), dengan dukungan penuh untuk rumus dan konversi Markdown
Struktur objek yang dikembalikan
Defuddle mengembalikan objek yang berisi informasi berikut
- author: Nama penulis artikel atau halaman
- content: String konten utama yang telah dibersihkan
- description: Deskripsi ringkas artikel atau halaman
- domain: Nama domain situs
- favicon: URL favicon utama situs
- image: URL gambar utama
- metaTags: Informasi meta tag
- parseTime: Waktu pemrosesan (dalam milidetik)
- published: Informasi tanggal terbit
- site: Nama situs
- schemaOrgData: Data hasil ekstraksi schema.org
- title: Judul konten
- wordCount: Jumlah kata dalam konten utama
Opsi
- debug: Mengaktifkan logging debug
- url: Menentukan URL halaman target analisis
- markdown: Mengonversi konten utama ke Markdown
- separateMarkdown: Mengembalikan HTML dan Markdown secara bersamaan
- removeExactSelectors: Opsi untuk menghapus selector dengan kecocokan tepat (iklan, tombol sosial, dll.) (default
true) - removePartialSelectors: Opsi untuk menghapus selector dengan kecocokan parsial (iklan serupa, dll.) (default
true)
1 komentar
Komentar Hacker News
Saya tidak suka cara editor wysiwyg yang saya gunakan mengonversi Markdown ke HTML, jadi saya berharap jika membuat toolbar dan editor sendiri lalu menerapkan alat ini, hasilnya akan lebih baik.
Saya baru-baru ini meneliti topik serupa, dan saya tidak yakin dengan kualitas berbagai implementasi Readability dalam banyak bahasa. Readability.js adalah yang terbaik, tetapi lingkungan Javascript tidak cocok untuk proyek saya. Akhirnya saya memilih library Python Trafilatura untuk mengekstrak konten berkualitas tertinggi beserta metadata secara akurat. Mungkin dengan membandingkan implementasi saya dengan Trafilatura, kita bisa menemukan titik-titik yang perlu ditingkatkan.
Saya sudah menggunakan Obsidian Clipper sejak awal peluncurannya, dan sangat menghargai fitur ekstraksi berbasis profil per situs. Bahkan bagi yang bukan pengguna Obsidian, kualitas ekstraksi Markdown-nya termasuk yang paling dapat dipercaya yang pernah saya lihat.
Di tengah kondisi situs web yang belakangan makin kompleks dan penuh distraksi, rasanya kita benar-benar membutuhkan konverter Markdown yang robust agar pembaca bisa fokus pada konten yang sebenarnya. Senang melihat ada proyek yang mengisi kekosongan yang ditinggalkan Readability, dan semoga sukses.
Saya menemukan Defuddle saat menganalisis source code karena kagum dengan kualitas konversi Markdown dari Obsidian Web Clipper. Saya berencana memakainya untuk aplikasi read-it-later/knowledge-base yang sedang saya kembangkan, jadi saya ingin mengucapkan terima kasih lebih dulu.
Saya penasaran apakah Readability dari Mozilla benar-benar ditelantarkan. Rilis terbarunya baru 2 bulan lalu, dan maintainer-nya, Gijs, juga sangat aktif merespons issue.
Memperkenalkan proyek serupa yang dibuat dengan PHP, markydown. Keunggulannya adalah mudah untuk self-hosting.
Obsidian Web Clipper adalah alat yang sangat berguna untuk mengonversi percakapan chatGPT ke Markdown, atau sekadar dipakai untuk keperluan cetak.
Ada rasa penasaran tentang mengapa pada beberapa situs web, saat diakses lewat mode baca (misalnya Reader di iPhone), layar menjadi putih atau artikelnya tidak tampil dengan benar. Hal ini sering terjadi terutama di situs berita. Muncul pertanyaan apakah penyebabnya adalah konten sengaja disembunyikan demi penayangan iklan, dan jika memungkinkan, bagaimana cara penerapannya.