to-markdown
webscrapbook
to-markdown | webscrapbook | |
---|---|---|
5 | 7 | |
8,054 | 831 | |
3.2% | - | |
5.2 | 9.5 | |
13 days ago | about 2 months ago | |
HTML | JavaScript | |
MIT License | Mozilla Public License 2.0 |
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/
webscrapbook
- Show HN: I made a tool to clean and convert any webpage to Markdown
- Portable Web Documents β An Alternative to PDF Based on HTML5 and Web Standards
-
Best addon/app/software for keeping bookmarks/text clippings/image saves/notes/reddit interesting stuff all in one place?
https://github.com/danny0838/webscrapbook/wiki/Intro haven't used myself but sounds interesting
-
Where did ScrapBook save the extra information saved with each saved webpage?
For other questions about WebScrapBook, you can read the manual first, and you are also welcomed to raise an issue if you still have an unanswered question.
-
which should use to archive webpages singlefile or webscrapbook?
WebScrapBook just seems bloaty to me, but haven't tried it and have no need for my personal notes in the archives.
-
WebScrapBook, the successor of legacy ScrapBook X add-on, is complete
After a 5βyear struggle, the tremendous migration of ScrapBook X to WebScrapBook is complete.
-
Fandom Wiki (formerly Wikia) is deleting wikis on sexual topics in 2 weeks
this extension for websites may help those who are backing up things though it can no do a full dump it is useful if you want to back up a specific page you are interested in https://github.com/danny0838/webscrapbook
What are some alternatives?
CherryTree - cherrytree
firefox-scrapbook - ScrapBook X β a legacy Firefox add-on that captures web pages to local device for future retrieval, organization, annotation, and edit.
draw.io - draw.io is a JavaScript, client-side editor for general diagramming.
PyWebScrapBook - Server backend and CLI toolkit for WebScrapBook browser extension.
SiMPad
SingleFile - Web Extension for saving a faithful copy of a complete web page in a single HTML file
OpenNote - OpenNote was built to be an open web-based alternative to Microsoft OneNote (T) and EverNote.
grasp - A reliable org-capture browser extension for Chrome/Firefox
Laverna - Laverna is a JavaScript note taking application with Markdown editor and encryption support. Consider it like open source alternative to Evernote.
floccus - :cloud: Sync your bookmarks privately across browsers and devices
tiddlywiki-ipfs - IPFS with TiddlyWiki
react-native-view-shot - Snapshot a React Native view and save it to an image