কেপানো/ডিফডল: ওয়েব পৃষ্ঠাগুলি থেকে প্রধান সামগ্রীটি বের করুন।

কেপানো/ডিফডল: ওয়েব পৃষ্ঠাগুলি থেকে প্রধান সামগ্রীটি বের করুন।

ডি · fud · অনুসারে /diˈfʌdl /অনুসারে ট্রানজিটিভ ক্রিয়া
কোনও ওয়েব পৃষ্ঠা থেকে অপ্রয়োজনীয় উপাদানগুলি অপসারণ করতে এবং এটিকে সহজেই পঠনযোগ্য করে তুলুন।

সাবধান! ডিফডল খুব বেশি কাজ চলছে!

ডিফডল ওয়েব পৃষ্ঠাগুলি থেকে মূল সামগ্রীটি বের করে। এটি কেবল প্রাথমিক সামগ্রী রেখে মন্তব্য, সাইডবার, শিরোনাম, পাদচরণ এবং অন্যান্য অ-প্রয়োজনীয় উপাদানগুলির মতো বিশৃঙ্খলা সরিয়ে ওয়েব পৃষ্ঠাগুলি পরিষ্কার করে।

ডিফডল খেলার মাঠ চেষ্টা করুন →

ডিফডল এর ​​লক্ষ্য পরিষ্কার এবং ধারাবাহিক এইচটিএমএল ডকুমেন্টগুলি আউটপুট করা। এটি টার্নডাউন এর মতো এইচটিএমএল-টু-মার্কডাউন রূপান্তরকারীদের জন্য আরও দরকারী ইনপুট তৈরির লক্ষ্য নিয়ে ওবিসিডিয়ান ওয়েব ক্লিপারের জন্য লেখা হয়েছিল।

ডিফডল কয়েকটি পার্থক্য সহ মজিলা পঠনযোগ্যতার প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে:

  • আরও ক্ষমা করা, কম অনিশ্চিত উপাদানগুলি সরিয়ে দেয়।
  • পাদটীকা, গণিত, কোড ব্লক ইত্যাদির জন্য একটি ধারাবাহিক আউটপুট সরবরাহ করে
  • অপ্রয়োজনীয় উপাদানগুলিতে অনুমান করতে একটি পৃষ্ঠার মোবাইল স্টাইল ব্যবহার করে।
  • স্কিমা.অর্গ ডেটা সহ পৃষ্ঠা থেকে আরও মেটাডেটা বের করে।

নোড.জেএস ব্যবহারের জন্য, আপনাকে জেএসডম ইনস্টল করতে হবে:

import { Defuddle } from 'defuddle';

// Parse the current document
const defuddle = new Defuddle(document);
const result = defuddle.parse();

// Access the content and metadata
console.log(result.content);
console.log(result.title);
console.log(result.author);
import { JSDOM } from 'jsdom';
import { Defuddle } from 'defuddle/node';

// Parse HTML from a string
const html = '<html><body><article>...</article></body></html>';
const result = await Defuddle(html);

// Parse HTML from a URL
const dom = await JSDOM.fromURL(');
const result = await Defuddle(dom);

// With options
const result = await Defuddle(dom, {
  debug: true, // Enable debug mode for verbose logging
  markdown: true, // Convert content to markdown
  url: ' // Original URL of the page
});

// Access the content and metadata
console.log(result.content);
console.log(result.title);
console.log(result.author);

দ্রষ্টব্য: জন্য defuddle/node সঠিকভাবে আমদানি করতে, আপনার মধ্যে মডিউল ফর্ম্যাট package.json সেট করতে হবে { "type": "module" }

ডিফডল নিম্নলিখিত বৈশিষ্ট্যগুলি সহ একটি বস্তু ফেরত দেয়:

সম্পত্তিপ্রকারবর্ণনা
authorস্ট্রিংনিবন্ধের লেখক
contentস্ট্রিংনিষ্কাশিত সামগ্রীর স্ট্রিং পরিষ্কার করা হয়েছে
descriptionস্ট্রিংবিবরণ বা নিবন্ধের সংক্ষিপ্তসার
domainস্ট্রিংওয়েবসাইটের ডোমেন নাম
faviconস্ট্রিংওয়েবসাইটের ফ্যাভিকনের ইউআরএল
imageস্ট্রিংনিবন্ধের মূল চিত্রের url
metaTagsঅবজেক্টমেটা ট্যাগ
parseTimeসংখ্যামিলিসেকেন্ডে পৃষ্ঠাটি পার্স করার জন্য সময় নেওয়া
publishedস্ট্রিংনিবন্ধ প্রকাশের তারিখ
siteস্ট্রিংওয়েবসাইটের নাম
schemaOrgDataঅবজেক্টকাঁচা স্কিমা.অর্গ ডেটা পৃষ্ঠা থেকে উত্তোলন করা হয়েছে
titleস্ট্রিংনিবন্ধের শিরোনাম
wordCountসংখ্যানিষ্কাশিত সামগ্রীতে মোট শব্দের সংখ্যা

ডিফডল তিনটি পৃথক বান্ডলে পাওয়া যায়:

  1. কোর বান্ডিল (defuddle): ব্রাউজারের ব্যবহারের জন্য প্রধান বান্ডিল। কোন নির্ভরতা নেই।
  2. সম্পূর্ণ বান্ডিল (defuddle/full): গণিত সমীকরণ পার্সিংয়ের জন্য অতিরিক্ত বৈশিষ্ট্য অন্তর্ভুক্ত।
  3. নোড.জেএস বান্ডিল (defuddle/node): জেএসডম ব্যবহার করে নোড.জেএস পরিবেশের জন্য অনুকূলিত। গণিত এবং মার্কডাউন রূপান্তরকরণের জন্য সম্পূর্ণ ক্ষমতা অন্তর্ভুক্ত।

বেশিরভাগ ব্যবহারের ক্ষেত্রে মূল বান্ডিলটি সুপারিশ করা হয়। এটি এখনও গণিতের সামগ্রী পরিচালনা করে তবে ম্যাথএমএল এবং ল্যাটেক্স ফর্ম্যাটগুলির মধ্যে রূপান্তর করার জন্য ফ্যালব্যাকগুলি অন্তর্ভুক্ত করে না। সম্পূর্ণ বান্ডিল নির্ভরযোগ্য তৈরি করার ক্ষমতা যুক্ত করে <math> উপাদান ব্যবহার mathml-to-latex এবং temml গ্রন্থাগার।

বিকল্পপ্রকারবর্ণনা
debugবুলিয়ানডিবাগ লগিং সক্ষম করুন
urlস্ট্রিংপৃষ্ঠার url পার্স করা হচ্ছে
markdownবুলিয়ানরূপান্তর content মার্কডাউন
separateMarkdownবুলিয়ানরাখুন content এইচটিএমএল এবং রিটার্ন হিসাবে contentMarkdown মার্কডাউন হিসাবে
removeExactSelectorsবুলিয়ানবিজ্ঞাপন, সামাজিক বোতাম ইত্যাদির মতো সঠিক নির্বাচকদের সাথে মিলে উপাদানগুলি অপসারণ করা উচিত কিনা তা সত্য হিসাবে ডিফল্ট।
removePartialSelectorsবুলিয়ানবিজ্ঞাপন, সামাজিক বোতাম ইত্যাদির মতো আংশিক নির্বাচকদের সাথে মিলে উপাদানগুলি অপসারণ করা উচিত কিনা তা সত্য হিসাবে ডিফল্ট।

একটি নতুন ডিফডল উদাহরণ তৈরি করার সময় আপনি কোনও বিকল্প অবজেক্টটি পাস করে ডিবাগ মোড সক্ষম করতে পারেন:

const article = new Defuddle(document, { debug: true }).parse();
  • পার্সিং প্রক্রিয়া সম্পর্কে আরও ভার্বোজ কনসোল লগিং
  • এইচটিএমএল শ্রেণি এবং আইডি বৈশিষ্ট্যগুলি সংরক্ষণ করে যা সাধারণত ছিটানো হয়
  • সমস্ত ডেটা-* বৈশিষ্ট্য ধরে রাখে
  • ডকুমেন্ট কাঠামো সংরক্ষণ করতে ডিভ ফ্ল্যাটিং এড়িয়ে যান

ডিফডল এইচটিএমএল উপাদানগুলিকে স্ট্যান্ডার্ডাইজ করার চেষ্টা করে পরবর্তী হেরফেরের জন্য একটি ধারাবাহিক ইনপুট সরবরাহ করার জন্য যেমন মার্কডাউনে রূপান্তরিত করার জন্য।

  • প্রথম এইচ 1 বা এইচ 2 শিরোনামটি যদি শিরোনামের সাথে মেলে।
  • এইচ 1 এস এইচ 2 এস রূপান্তরিত হয়।
  • এইচ 1 থেকে এইচ 6 উপাদানগুলিতে অ্যাঙ্কর লিঙ্কগুলি সরানো হয় এবং সরল শিরোনামে পরিণত হয়।

কোড ব্লক মানক করা হয়। যদি উপস্থিত থাকে তবে লাইন নম্বর এবং সিনট্যাক্স হাইলাইটিং সরানো হয়, তবে ভাষাটি ধরে রাখা হয় এবং ডেটা বৈশিষ্ট্য এবং শ্রেণি হিসাবে যুক্ত করা হয়।

<pre>
  <code data-lang="js" class="language-js">
    // code
  </code>
</pre>

ইনলাইন রেফারেন্স এবং পাদটীকাগুলি একটি স্ট্যান্ডার্ড ফর্ম্যাটে রূপান্তরিত হয়:

Inline reference<sup id="fnref:1"><a href="#fn:1">1</a></sup>.

<div id="footnotes">
  <ol>
    <li class="footnote" id="fn:1">
      <p>
        Footnote content.&nbsp;<a href="#fnref:1" class="footnote-backref"></a>
      </p>
    </li>
    </ol>
</div>

ম্যাথজ্যাক্স এবং কেটেক্স সহ গণিতের উপাদানগুলি স্ট্যান্ডার্ড ম্যাথএমএলে রূপান্তরিত হয়েছে:

<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" data-latex="a \neq 0">
  <mi>a</mi>
  <mo></mo>
  <mn>0</mn>
</math>

প্যাকেজটি তৈরি করতে আপনার নোড.জেএস এবং এনপিএম ইনস্টল করা দরকার। তারপরে চালান:

# Install dependencies
npm install

# Clean and build
npm run build

Source link