Defuddle - Readability का विकल्प बनने वाला HTML-to-Markdown ओपन सोर्स
(github.com/kepano)- यह वेब पेज से गैर-ज़रूरी तत्वों (comments, sidebar, header, footer आदि) को हटाकर केवल मुख्य सामग्री छोड़ने वाला टूल है
- Mozilla Readability से अलग, यह अधिक लचीले तरीके से काम करता है और गणितीय सूत्र, code block, footnote आदि के लिए एकसमान HTML standardization को सपोर्ट करता है
- इसे Obsidian Web Clipper के लिए विकसित किया गया था, और इसका लक्ष्य अन्य HTML-to-Markdown conversion tools (Turndown आदि) के साथ compatibility रखना है
- मोबाइल स्टाइल और schema.org data सहित विभिन्न metadata extraction सुविधाएँ बिल्ट-इन हैं
- Node.js और ब्राउज़र दोनों को सपोर्ट करता है, और उपयोग के उद्देश्य के अनुसार अलग-अलग bundles चुने जा सकते हैं
Defuddle और Readability में अंतर
- अधिक उदार filtering के कारण अनिश्चित तत्वों को हटाने की संभावना कम होती है
- footnote, गणितीय सूत्र, code आदि जैसे विशेष क्षेत्रों को एकसमान तरीके से प्रोसेस करता है
- पेज की मोबाइल stylesheet को संदर्भित करता है
- schema.org metadata, image, favicon, publish date आदि जैसी अतिरिक्त जानकारी extract की जा सकती है
Bundle संरचना
- Core bundle (defuddle): ब्राउज़र उपयोग के लिए उपयुक्त, कोई बाहरी dependency नहीं
- Full bundle (defuddle/full): गणितीय सूत्र parsing जैसी अतिरिक्त सुविधाओं के साथ
- Node bundle (defuddle/node): Node.js (JSDOM) environment के लिए optimized, गणितीय सूत्र और Markdown conversion का पूर्ण समर्थन
Return object की संरचना
Defuddle नीचे जैसी जानकारी वाला object लौटाता है
- author: लेख या पेज के लेखक का नाम
- content: साफ़ की गई मुख्य सामग्री string
- description: लेख या पेज का संक्षिप्त विवरण
- domain: साइट का domain name
- favicon: साइट का प्रमुख favicon URL
- image: प्रमुख image URL
- metaTags: meta tag जानकारी
- parseTime: प्रोसेसिंग में लगा समय (मिलीसेकंड में)
- published: प्रकाशन तिथि जानकारी
- site: साइट का नाम
- schemaOrgData: schema.org extracted data
- title: सामग्री का शीर्षक
- wordCount: मुख्य सामग्री के शब्दों की संख्या
Options
- debug: debug logging सक्षम करता है
- url: विश्लेषण के लिए पेज URL निर्दिष्ट करता है
- markdown: मुख्य सामग्री को Markdown में convert करता है
- separateMarkdown: HTML और Markdown दोनों को साथ में लौटाता है
- removeExactSelectors: exact match selectors (विज्ञापन, social button आदि) हटाने का विकल्प (डिफ़ॉल्ट true)
- removePartialSelectors: partial match selectors (मिलते-जुलते विज्ञापन आदि) हटाने का विकल्प (डिफ़ॉल्ट true)
1 टिप्पणियां
Hacker News की राय
मैं जो wysiwyg editor इस्तेमाल कर रहा हूँ, उसमें markdown से HTML में बदलने का तरीका मुझे पसंद नहीं है, इसलिए अगर मैं खुद toolbar और editor बनाकर इस टूल को लागू करूँ तो शायद बेहतर नतीजे मिलें
मैंने हाल ही में इसी तरह के विषय पर शोध किया था, लेकिन अलग-अलग भाषाओं में लागू किए गए Readability की गुणवत्ता को लेकर मुझे भरोसा नहीं था। Readability.js सबसे बेहतर था, लेकिन Javascript environment मेरे प्रोजेक्ट के लिए उपयुक्त नहीं था। आखिरकार Python की Trafilatura library को metadata सहित उच्च गुणवत्ता वाला content सटीक रूप से extract करने के लिए चुना गया। अगर मेरी implementation की Trafilatura से तुलना की जाए, तो शायद सुधार के बिंदु मिल सकें
मैं Obsidian Clipper को लॉन्च के शुरुआती दिनों से इस्तेमाल कर रहा हूँ, और site-specific profile-आधारित extraction feature को खास तौर पर बहुत ऊँचा मानता हूँ। भले ही आप Obsidian user न हों, markdown extraction की quality अब तक देखी गई चीज़ों में सबसे विश्वसनीय स्तर की है
हाल के समय में websites लगातार अधिक जटिल और बिखरी हुई होती जा रही हैं, ऐसे में एक robust markdown converter की सचमुच ज़रूरत है जो पाठक को असली content पर ध्यान केंद्रित करने दे। Readability की कमी को पूरा करने वाला project सामने आया है, यह देखकर खुशी हुई, और समर्थन भी
Obsidian Web-clipper की markdown conversion quality देखकर मैं प्रभावित हुआ और source code का विश्लेषण करते हुए Defuddle मिला। मैं इसे अपने विकसित किए जा रहे read-it-later/knowledge-base app में इस्तेमाल करने वाला हूँ, इसलिए पहले से धन्यवाद कहना चाहता हूँ
यह जानने की जिज्ञासा है कि क्या Mozilla का Readability सचमुच छोड़ दिया गया है। हाल की release 2 महीने पहले आई थी और maintainer Gijs की issue responses भी बहुत सक्रिय हैं
PHP में विकसित समान project markydown का परिचय। आसान self-hosting इसका फ़ायदा है
Obsidian Web Clipper, chatGPT बातचीत को markdown में बदलने या आसान तरीके से print के लिए इस्तेमाल करने में बहुत उपयोगी टूल है — ऐसा वास्तविक उपयोग का उदाहरण
कुछ websites पर reading mode (जैसे iPhone Reader) से पहुँचने पर स्क्रीन सफेद दिखने लगती है या लेख ठीक से दिखाई नहीं देता, इस बारे में जिज्ञासा। खासकर news websites पर यह अक्सर होता है। क्या विज्ञापन दिखाने के लिए इसे जानबूझकर छिपाया जाता है, और अगर हाँ, तो इसे कैसे लागू किया जाता है — यह सवाल उठाया गया