to-markdown

🛏 An HTML to Markdown converter written in JavaScript (by domchristie)

To-markdown Alternatives

Similar projects and alternatives to to-markdown

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better to-markdown alternative or higher similarity.

to-markdown reviews and mentions

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/
  • A note from our sponsor - SaaSHub
    www.saashub.com | 9 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic to-markdown repo stats
5
7,956
4.8
about 1 month ago

domchristie/turndown is an open source project licensed under MIT License which is an OSI approved license.

to-markdown is marked as "self-hosted". This means that it can be used as a standalone application on its own.

The primary programming language of to-markdown is HTML.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com