npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

joplin-plugin-paste-as-markdown

v1.1.11

Published

> [!note] > This plugin was created entirely with AI tools.

Readme

[!note] This plugin was created entirely with AI tools.

[!note] Joplin 3.6 now has a built-in Paste as Markdown function. The main difference with this plugin vs the native feature, is the plugin does some opinionated pre-processing to cleanup the HTML for cleaner markdown conversion.

Paste as Markdown

A Joplin plugin that allows you to paste HTML formatted text as markdown in the markdown editor.

The plugin uses Turndown to convert HTML to markdown.

Useful for scenarios where you can't use the joplin web clipper (e.g. copying text from an email client) and/or where you don't want to edit the note with the rich text editor (to avoid changes to existing markdown formatting by the rich text editor).

The plugin prioritizes clean markdown, the only HTML elements that are retained are: <img> embeds (only if the image has a specified width/height) and sup/sub/ins. <br> tags are removed and excess whitespace is normalized.

paste-as-markdown

How to use

In the markdown editor, right click and select "Paste HTML as Markdown" (or use the keyboard shortcut, ctrl + alt +v by default).

If you have HTML formatted text in the clipboard, the plugin will convert it to markdown formatting and paste the markdown formatted text.

If you don't have HTML formatted text in the clipboard, the plugin will fall back to pasting the plain text (if available).

Features

  • Image Handling - Keep remote/base64 encoded images as-is, convert images to Joplin resources, or remove images entirely.

  • DOM preprocessing - Sanitizes HTML with DOMPurify and uses DOM pre-processing to remove unwanted elements before turndown conversion.

    • Heading normalization - Removes all nested markup from Headings so that turndown emits a clean markdown heading. Normalize to ensure that each heading is at most 1 level deeper than the previous heading.

    • Code block normalization - Improved reliability when pasting code blocks. Normalizes known code block wrappers/containers to simple <pre>/<code> and infers language from common class patterns and applies a normalized class="language-xxx".

    • Text normalization - Removes zero width spaces and replaces "thin" spaces with normal spaces. (Optionally) normalizes smart quotes to regular quotes.

    • List normalization - Corrects invalid list HTML such as orphaned lists and ordered lists inside unordered list tags so that numbering/indentation is properly preserved when pasting nested lists from sources like Outlook/Google Docs/Onenote. Uniform spacing (one space) after list markers.

    • Image normalization - HTML <img> embeds will only contain a standardized set of attributes: src, alt, title, width, height. Images that are converted to joplin resources will be unwrapped from external anchor links. Promotes inline css width/height to HTML attributes so that image sizes are maintained through turndown conversion.

  • Whitspace normalization - Minimal post-processing to remove leftover <br> elements and excess whitespace between paragraphs.

  • Table support - HTML tables are converted to markdown tables via turndown-plugin-gfm. Additionally, the plugin wraps orphaned table elements with <table> tags, allowing pasted cells from excel/google sheets to be pasted as tables.

Settings

  • Include Images - By default, images (external or base64 encoded) are included in the pasted text. If desired, you can un-check include images in the plugin settings so that images are not included in the pasted text.

  • Convert images to Joplin resources - If enabled (along with Include images), external (http/https) and base64 encoded images will automatically be converted to Joplin resources.

  • Normalize smart quotes - Convert Word/Office smart quotes to regular quotes for better markdown compatibility.

  • Force tight lists - Removes space between list items.