forked from N4M3Z/obisidian-web-clipper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
obsidian-web-clipper.min.js
1 lines (1 loc) · 6.69 KB
/
obsidian-web-clipper.min.js
1
javascript:(function()%7Bjavascript%3A%20Promise.all(%5Bimport('https%3A%2F%2Funpkg.com%2Fturndown%406.0.0%3Fmodule')%2C%20import('https%3A%2F%2Funpkg.com%2F%40tehshrike%2Freadability%400.2.0')%2C%20%5D).then(async%20(%5B%7B%0A%20%20%20%20default%3A%20Turndown%0A%7D%2C%20%7B%0A%20%20%20%20default%3A%20Readability%0A%7D%5D)%20%3D%3E%20%7B%0A%0A%20%20%20%20%2F*%20Optional%20vault%20name%20*%2F%0A%20%20%20%20const%20vault%20%3D%20%22Vault%22%3B%0A%0A%20%20%20%20%2F*%20Optional%20folder%20name%20such%20as%20%22Clippings%2F%22%20*%2F%0A%20%20%20%20let%20folder%20%3D%20%22Inbox%22%3B%0A%20%20%20%20if%20(!folder)%20%7B%0A%20%20%20%20%20%20%20%20folder%20%3D%20prompt(%22Folder%3A%22%2C%20%22Inbox%22)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F*%20Optional%20tags%20%20*%2F%0A%20%20%20%20let%20tags%20%3D%20%22%23resource%22%3B%0A%20%20%20%20let%20allowExtraTags%20%3D%20false%3B%0A%20%20%20%20if%20(allowExtraTags)%20%7B%0A%20%20%20%20%20%20%20%20let%20extraTags%20%3D%20prompt(%22Additional%20tags%3A%22%2C%20%22%23read%22)%3B%0A%20%20%20%20%20%20%20%20tags%20%2B%3D%20extraTags%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20getSelectionHtml()%20%7B%0A%20%20%20%20%20%20%20%20let%20html%20%3D%20%22%22%3B%0A%20%20%20%20%20%20%20%20if%20(typeof%20window.getSelection%20!%3D%20%22undefined%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20sel%20%3D%20window.getSelection()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(sel.rangeCount)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20container%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20(let%20i%20%3D%200%2C%20len%20%3D%20sel.rangeCount%3B%20i%20%3C%20len%3B%20%2B%2Bi)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20container.appendChild(sel.getRangeAt(i).cloneContents())%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20html%20%3D%20container.innerHTML%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%20else%20if%20(typeof%20document.selection%20!%3D%20%22undefined%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(document.selection.type%20%3D%3D%3D%20%22Text%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20html%20%3D%20document.selection.createRange().htmlText%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20html%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20const%20selection%20%3D%20getSelectionHtml()%3B%0A%0A%20%20%20%20const%20%7B%0A%20%20%20%20%20%20%20%20title%2C%0A%20%20%20%20%20%20%20%20byline%2C%0A%20%20%20%20%20%20%20%20content%0A%20%20%20%20%7D%20%3D%20new%20Readability(document.cloneNode(true)).parse()%3B%0A%0A%20%20%20%20function%20getFileName(fileName)%20%7B%0A%20%20%20%20%20%20%20%20let%20userAgent%20%3D%20window.navigator.userAgent%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20platform%20%3D%20window.navigator.platform%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20windowsPlatforms%20%3D%20%5B'Win32'%2C%20'Win64'%2C%20'Windows'%2C%20'WinCE'%5D%3B%0A%0A%20%20%20%20%20%20%20%20if%20(windowsPlatforms.indexOf(platform)%20!%3D%3D%20-1)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20fileName%20%3D%20fileName.replace('%3A'%2C%20'').replace(%2F%5B%2F%5C%5C%3F%25*%7C%22%3C%3E%5D%2Fg%2C%20'-')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20fileName%20%3D%20fileName.replace('%3A'%2C%20'').replace(%2F%5C%2F%2Fg%2C%20'-').replace(%2F%5C%5C%2Fg%2C%20'-')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20fileName%3B%0A%20%20%20%20%7D%0A%20%20%20%20const%20fileName%20%3D%20getFileName(title)%3B%0A%0A%20%20%20%20let%20markdownify%3B%0A%20%20%20%20if%20(selection)%20%7B%0A%20%20%20%20%20%20%20%20markdownify%20%3D%20selection%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20markdownify%20%3D%20content%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20let%20vaultName%3B%0A%20%20%20%20if%20(vault)%20%7B%0A%20%20%20%20%20%20%20%20vaultName%20%3D%20'%26vault%3D'%20%2B%20encodeURIComponent(%60%24%7Bvault%7D%60)%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20vaultName%20%3D%20''%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20const%20markdownBody%20%3D%20new%20Turndown(%7B%0A%20%20%20%20%20%20%20%20headingStyle%3A%20'atx'%2C%0A%20%20%20%20%20%20%20%20hr%3A%20'---'%2C%0A%20%20%20%20%20%20%20%20bulletListMarker%3A%20'-'%2C%0A%20%20%20%20%20%20%20%20codeBlockStyle%3A%20'fenced'%2C%0A%20%20%20%20%20%20%20%20emDelimiter%3A%20'*'%2C%0A%20%20%20%20%7D).turndown(markdownify)%3B%0A%0A%20%20%20%20let%20date%20%3D%20new%20Date()%3B%0A%0A%20%20%20%20function%20convertDate(date)%20%7B%0A%20%20%20%20%20%20%20%20let%20yyyy%20%3D%20date.getFullYear().toString()%3B%0A%20%20%20%20%20%20%20%20let%20mm%20%3D%20(date.getMonth()%2B1).toString()%3B%0A%20%20%20%20%20%20%20%20let%20dd%20%20%3D%20date.getDate().toString()%3B%0A%20%20%20%20%20%20%20%20let%20mmChars%20%3D%20mm.split('')%3B%0A%20%20%20%20%20%20%20%20let%20ddChars%20%3D%20dd.split('')%3B%0A%20%20%20%20%20%20%20%20return%20yyyy%20%2B%20'-'%20%2B%20(mmChars%5B1%5D%3Fmm%3A%220%22%2BmmChars%5B0%5D)%20%2B%20'-'%20%2B%20(ddChars%5B1%5D%3Fdd%3A%220%22%2BddChars%5B0%5D)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20let%20type%20%3D%20'resource'%3B%0A%20%20%20%20let%20description%20%3D%20''%3B%0A%20%20%20%20let%20starred%20%3D%20'false'%3B%0A%20%20%20%20let%20archived%20%3D%20'false'%3B%0A%20%20%20%20const%20today%20%3D%20convertDate(date)%3B%0A%0A%20%20%20%20const%20fileContent%20%3D%20'---%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'type%3A%20'%20%2B%20type%20%2B%20'%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'description%3A%20'%20%2B%20description%20%2B%20'%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'starred%3A%20'%20%2B%20starred%20%2B%20'%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'archived%3A%20'%20%2B%20archived%20%2B%20'%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'captured%3A%20'%20%2B%20today%20%2B%20'%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'---%5Cn%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'Area%3A%3A%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'Projects%3A%3A%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'Author%3A%3A%20'%20%2B%20byline%20%2B%20'%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'Publisher%3A%3A%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'Source%3A%3A%20'%20%2B%20document.URL%20%2B%20'%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'Files%3A%3A%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'Tags%3A%3A%20'%20%2B%20tags%20%2B%20'%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20'%5Cn---%5Cn'%0A%20%20%20%20%20%20%20%20%2B%20markdownBody%3B%0A%0A%20%20%20%20document.location.href%20%3D%20%22obsidian%3A%2F%2Fnew%3F%22%0A%20%20%20%20%20%20%20%20%2B%20%22name%3D%22%20%2B%20encodeURIComponent(folder%20%2B%20'%2F'%20%2B%20fileName)%0A%20%20%20%20%20%20%20%20%2B%20%22%26content%3D%22%20%2B%20encodeURIComponent(fileContent)%0A%20%20%20%20%20%20%20%20%2B%20vaultName%3B%0A%7D)%7D)()%3B