parser VS to-markdown

Compare parser vs to-markdown and see what are their differences.

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
parser to-markdown
12 5
5,254 7,902
1.8% 1.6%
1.1 4.8
7 months ago 24 days ago
JavaScript HTML
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

parser

Posts with mentions or reviews of parser. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-14.
  • Show HN: I made a tool to clean and convert any webpage to Markdown
    17 projects | news.ycombinator.com | 14 Apr 2024
    Thoroughly scraping is challenging, especially in an environment where you don’t have (or want) a JavaScript runtime.

    For content extraction, I found the approach the Postlight library takes quite neat. It scores individual html nodes based on some heuristics (text length, link density, css classes). It the selects the nodes with the highest score. [1] I ported it to Swift for a personal read later app.

    [1] https://github.com/postlight/parser

  • Trouble Building Chrome Extension to Get News Article Content
    3 projects | /r/webdev | 22 Nov 2022
    I've been working on an enhanced reader mode extension for the last few months. I found that Mercury Reader's parser tool is useful for extracting content. If that's not exactly what you're looking for, readibility is another good option. It's a library used inside Firefox's reader moder that you can use in any project.
  • What Are The Coolest Virtual Machines You Currently Run 24/7?
    10 projects | /r/selfhosted | 10 Oct 2022
    I currently have it turned off while I search for better sources, but I have a VM that runs a custom cron script that combines a custom RSS reader, podfox, mercury-parser, and coqui-ai to generate audio podcasts from RSS news feeds. I should probably clean it up and release the script/setup process. With a few tweaks and some AI text-to-speech and a little machine learning audio processing you can get a really good podcast experience from text posts.
  • Extracting Text button no longer works
    1 project | /r/RelayForReddit | 22 Sep 2022
    It looks like Relay could be updated to convert it locally though, since the parser that it uses appears to be open source.
  • Which are some open-source Chrome extensions you want to use on Firefox?
    7 projects | /r/firefox | 16 Apr 2022
    https://github.com/postlight/mercury-parser The only one I need, shit's too good
  • API for getting news fulltext
    2 projects | /r/api | 8 Apr 2022
    An alternative would be to extract the plain text from the article's page with either some "readability" API or a library like Mercury Parser: https://github.com/postlight/mercury-parser
  • How does Firefox's Reader View work?
    15 projects | news.ycombinator.com | 30 Mar 2022
    I haven’t directly compared them, but I have also found mercury parser (https://github.com/postlight/mercury-parser) to be very reliable.

    Since it turns a website into very plain (X)HTML it‘s fairly easy to use it to make a browsing proxy or automatically produce epub files for e-readers, which is what I do.

  • Build your self-hosted Evernote
    12 projects | dev.to | 6 Jan 2022
    Make sure that at the end of the process you have the node and npm executables installed - the http.webpage integration uses the Mercury Parser API to convert web pages to Markdown.
  • Reading from the web offline and distraction-free
    7 projects | news.ycombinator.com | 10 Oct 2021
    Good luck! Those HTML issues you're coming across are tough and so varied across the web!

    I was working with Mercury Parser (pluggable parsing for different sites) in the past.

    https://github.com/postlight/mercury-parser

  • The most underused browser feature
    22 projects | news.ycombinator.com | 25 Aug 2021

to-markdown

Posts with mentions or reviews of to-markdown. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-14.
  • Show HN: I made a tool to clean and convert any webpage to Markdown
    17 projects | news.ycombinator.com | 14 Apr 2024
    https://mixmark-io.github.io/turndown/

    With some configuration you can get most of the way there.

  • I need automatic source URLs when I paste any text onto a card or note, like on OneNote.
    4 projects | /r/ObsidianMD | 20 Apr 2023
    // Original script // https://gist.github.com/kepano/90c05f162c37cf730abb8ff027987ca3 // Bookmarklet Converter // https://caiorss.github.io/bookmarklet-maker/ // Libraries // https://github.com/mixmark-io/turndown // https://github.com/mozilla/readability javascript: Promise.all([import('https://unpkg.com/[email protected]?module'), import('https://unpkg.com/@tehshrike/[email protected]'), ]).then(async ([{ default: Turndown }, { default: Readability }]) => { /* Optional vault name */ const vault = ""; /* Optional folder name such as "Clippings/" */ const folder = "Clippings/"; /* Optional tags */ const tags = ""; function getSelectionHtml() { var html = ""; if (typeof window.getSelection != "undefined") { var sel = window.getSelection(); if (sel.rangeCount) { var container = document.createElement("div"); for (var i = 0, len = sel.rangeCount; i < len; ++i) { container.appendChild(sel.getRangeAt(i).cloneContents()); } html = container.innerHTML; } } else if (typeof document.selection != "undefined") { if (document.selection.type == "Text") { html = document.selection.createRange().htmlText; } } return html; } const selection = getSelectionHtml(); const { title, byline, content } = new Readability(document.cloneNode(true)).parse(); function getFileName(fileName) { var userAgent = window.navigator.userAgent, platform = window.navigator.platform, windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE']; if (windowsPlatforms.indexOf(platform) !== -1) { fileName = fileName.replace(':', '').replace(/[/\\?%*|"<>]/g, '-'); } else { fileName = fileName.replace(':', '').replace(/\//g, '-').replace(/\\/g, '-'); } return fileName; } const fileName = getFileName(title); if (selection) { var markdownify = selection; } else { var markdownify = content; } if (vault) { var vaultName = '&vault=' + encodeURIComponent(`${vault}`); } else { var vaultName = ''; } const markdownBody = new Turndown({ headingStyle: 'atx', hr: '---', bulletListMarker: '-', codeBlockStyle: 'fenced', emDelimiter: '*', }).turndown(markdownify); var date = new Date(); function convertDate(date) { var yyyy = date.getFullYear().toString(); var mm = (date.getMonth()+1).toString(); var dd = date.getDate().toString(); var mmChars = mm.split(''); var ddChars = dd.split(''); return yyyy + '-' + (mmChars[1]?mm:"0"+mmChars[0]) + '-' + (ddChars[1]?dd:"0"+ddChars[0]); } const today = convertDate(date); // This is the output template // It is similar to an Obsidian core template // except to insert a value we use: ${value} instead of {{value}} const fileContent =`--- type: clipping date_added: ${today} aliases: [] tags: [${tags}] --- author:: ${byline.toString().split('\n')[0].trim()} source:: [${title}](${document.URL}) ${markdownBody} `; // This copies your text to the clipboard navigator.clipboard.writeText(fileContent); // This creates a new document in Obsidian containing your clipping // I commented it out as this isn't what you asked for /* document.location.href = "obsidian://new?" + "file=" + encodeURIComponent(folder + fileName) + "&content=" + encodeURIComponent(fileContent) + vaultName; */ })
  • Content Parser – Extract Markdown, HTML or text from content-heavy websites
    4 projects | news.ycombinator.com | 10 Sep 2022
  • Do you trust the Obsidian company?
    8 projects | /r/ObsidianMD | 21 Apr 2022
    turndown [MIT] https://mixmark-io.github.io/turndown/
  • Pathfinder 2 API (OGL Content)
    1 project | /r/Pathfinder2e | 17 Apr 2021
    Have a look at turndown: https://domchristie.github.io/turndown/

What are some alternatives?

When comparing parser and to-markdown you can also consider the following projects:

readability - A standalone version of the readability lib

CherryTree - cherrytree

hn-search - Hacker News Search

draw.io - draw.io is a JavaScript, client-side editor for general diagramming.

Just-Read - A customizable read mode web extension.

SiMPad

FParsec - A parser combinator library for F#

OpenNote - OpenNote was built to be an open web-based alternative to Microsoft OneNote (T) and EverNote.

tidy-html5 - The granddaddy of HTML tools, with support for modern standards

Laverna - Laverna is a JavaScript note taking application with Markdown editor and encryption support. Consider it like open source alternative to Evernote.

rdrview - Firefox Reader View as a command line tool

dillinger - The last Markdown editor, ever.