Files
MrbWebLibre/packages/flutter_mozilla_components/javascript/readability/src/index.js
T
2024-12-12 09:44:33 +01:00

35 lines
917 B
JavaScript

import { Readability } from '@mozilla/readability';
import TurndownService from 'turndown';
const removeMarkdown = require('remove-markdown');
const turndownService = new TurndownService();
function parseReaderable(document, options) {
const clonedDoc = document.cloneNode(true);
const fullMarkdown = turndownService.turndown(clonedDoc.body.innerHTML);
let response = {
fullContentMarkdown: fullMarkdown,
fullContentPlain: removeMarkdown(fullMarkdown),
}
const reader = new Readability(clonedDoc, options);
const article = reader.parse();
if(article != null) {
const extractedMarkdown = turndownService.turndown(article.content);
response = {
...response,
extractedContentMarkdown: extractedMarkdown,
extractedContentPlain: removeMarkdown(extractedMarkdown)
};
}
return response;
}
window.parseReaderable = parseReaderable;
export { parseReaderable };