to-markdown
unpkg
to-markdown | unpkg | |
---|---|---|
5 | 46 | |
8,054 | 2,905 | |
3.2% | - | |
5.2 | 0.0 | |
13 days ago | 12 months ago | |
HTML | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
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.
to-markdown
-
Show HN: I made a tool to clean and convert any webpage to Markdown
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.
// 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
-
Do you trust the Obsidian company?
turndown [MIT] https://mixmark-io.github.io/turndown/
-
Pathfinder 2 API (OGL Content)
Have a look at turndown: https://domchristie.github.io/turndown/
unpkg
- Unpkg CDN down causing dependent website outages
- React Fundamentals part 2: Basic view on React core API's
- Concrete.css
-
Show HN: YouTube Musical Spectrum Bookmarklet
On platform that doesn't support browser extension (such as Google Chrome Android), you can run YouTube Musical Spectrum [1] using one of these bookmarklets:
javascript:import("https://cdn.jsdelivr.net/npm/@mfcc64/ytms/script.mjs")
javascript:import("https://unpkg.com/@mfcc64/ytms/script.mjs")
- π₯ Big update: the Gowebly CLI now supports Templ
-
Automate NPM releases on GitHub using changesets π¦
{ "$schema": "https://unpkg.com/@changesets/[email protected]/schema.json", - "changelog": "@changesets/cli/changelog", + "changelog": ["@changesets/changelog-github", { + "repo": "your-org/your-repo" + }], "commit": false, "fixed": [], "linked": [], "access": "restricted", "baseBranch": "main", "updateInternalDependencies": "patch", "ignore": [] }
-
π₯ A next-generation CLI tool for building amazing web apps in Go using htmx & hyperscript
CLI downloads minimized versions of htmx and hyperscript (from official and trusted unpkg.com CDN) to the ./static folder and places them as separated
- Golem JavaScript Library: Latest Updates
-
Interactive Map of Linux Kernel
And the controls seem to be made with https://github.com/timmywil/panzoom:
-
CDN that bundles npm packages for browsers?
https://unpkg.com/: Seems to just provide the npm entry files straight up. Canβt use.
What are some alternatives?
CherryTree - cherrytree
gowebly - π₯ A next-generation CLI tool that makes it easy to create amazing web applications with Go on the backend, using htmx, hyperscript or Alpine.js, and the most popular CSS frameworks on the frontend.
draw.io - draw.io is a JavaScript, client-side editor for general diagramming.
expack - Express and Webpack boilerplate application
SiMPad
proposal-import-attributes - Proposal for syntax to import ES modules with assertions
OpenNote - OpenNote was built to be an open web-based alternative to Microsoft OneNote (T) and EverNote.
podman - Podman: A tool for managing OCI containers and pods.
Laverna - Laverna is a JavaScript note taking application with Markdown editor and encryption support. Consider it like open source alternative to Evernote.
langterm - πΉοΈ WebGL-based VT220 emulator, made as a learning example and frontend for a text adventure
tiddlywiki-ipfs - IPFS with TiddlyWiki
TinyMCE - The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular