Skip to content

Instantly share code, notes, and snippets.

Revisions

  1. qu13t0ne revised this gist Jun 5, 2023. 3 changed files with 23 additions and 16 deletions.
    39 changes: 23 additions & 16 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -1,18 +1,25 @@
    By [@kepano](https://www.twitter.com/kepano)
    # README.md
    The accompanying files can be used to create a browser bookmarklet which captures all or part of a webpage's contents into a markdown note in Obsidian.

    🎉 Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)
    ## Sourced and Modified From:
    [kepano/obsidian-web-clipper.js](https://gist.github.com/kepano/90c05f162c37cf730abb8ff027987ca3)

    ### Demo
    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

    ### Installation
    Create a new bookmark in your browser, then copy/paste the minified code below into the URL field.

    You can customize the output using the optional variables at the top, and the template at the bottom. The default template is designed for use with the Dataview plugin. If you make changes I recommend using [Bookmarklet Maker](https://caiorss.github.io/bookmarklet-maker/) to minify and URI encode the bookmarklet.

    ### Usage
    By default, clicking the bookmarklet creates a new Obsidian file from the main body of the article (similar to Readability view). Alternatively you can choose to create a file from a selection, by either selecting all (`CMD+A`), or just a portion of the page.

    ### Troubleshooting

    This bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality. You can troubleshoot issues by opening the Developer Console in your browser and checking if any errors appear when you click the bookmarklet. The most common error is that a website or the browser itself is blocking third party code execution. Unfortunately there is no good solve for that yet.
    **Original README Text:**
    > By [@kepano](https://www.twitter.com/kepano)
    >
    > 🎉 Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)
    >
    > ### Demo
    > You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)
    >
    > ### Installation
    > Create a new bookmark in your browser, then copy/paste the minified code below into the URL field.
    >
    > You can customize the output using the optional variables at the top, and the template at the bottom. The default template is designed for use with the Dataview plugin. If you make changes I recommend using [Bookmarklet Maker](https://caiorss.github.io/bookmarklet-maker/) to minify and URI encode the bookmarklet.
    >
    > ### Usage
    > By default, clicking the bookmarklet creates a new Obsidian file from the main body of the article (similar to Readability view). Alternatively you can choose to create a file from a selection, by either selecting all (`CMD+A`), or just a portion of the page.
    >
    > ### Troubleshooting
    >
    > This bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality. You can troubleshoot issues by opening the Developer Console in your browser and checking if any errors appear when you click the bookmarklet. The most common error is that a website or the browser itself is blocking third party code execution. Unfortunately there is no good solve for that yet.
  2. qu13t0ne revised this gist Oct 22, 2021. 2 changed files with 14 additions and 10 deletions.
    22 changes: 13 additions & 9 deletions obsidian-web-clipper.js
    Original file line number Diff line number Diff line change
    @@ -7,11 +7,11 @@ javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), impo
    /* Optional vault name */
    const vault = "";

    /* Optional folder name such as "Clippings/" */
    const folder = "";
    /* Optional folder name such as "Clippings/" -- NOTE: MUST END WITH SLASH */
    const folder = "03-Resources/";

    /* Optional tags */
    const tags = "#clippings";
    const tags = "#webcapture";

    function getSelectionHtml() {
    var html = "";
    @@ -88,12 +88,16 @@ javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), impo
    const today = convertDate(date);

    const fileContent =
    "author:: " + byline + "\n"
    + "source:: [" + title + "](" + document.URL + ")\n"
    + "clipped:: [[" + today + "]]\n"
    + "published:: \n\n"
    + tags + "\n\n"
    + markdownBody ;
    "*Primary Categories:* \n"
    + "*Secondary Categories:* \n"
    + "*Links:* \n"
    + "*Search Tags:* " + tags + " \n"
    + "*Source URL:* " + document.URL + "\n"
    + "*Author:* " + byline + "\n"
    + "%% { Add link(s) [[]] above to related PRIMARY categories, SECONDARY categories, LINKED terms, and search TAGS } %%\n\n"
    + "# [[" + fileName + "]]\n\n"
    + markdownBody
    + "\n\n---\n***##### END OF WEBCAPTURE #####***\n\n*Clipped: "+ today + "*\n*Last Modified Date: <%+tp.file.last_modified_date(\"MMMM Do, YYYY (hh:ss a)\")%>*" ;

    document.location.href = "obsidian://new?"
    + "file=" + encodeURIComponent(folder + fileName)
    2 changes: 1 addition & 1 deletion obsidian-web-clipper.min.js
    Original file line number Diff line number Diff line change
    @@ -1 +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%2F*%20Optional%20vault%20name%20*%2F%0A%20%20const%20vault%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20folder%20name%20such%20as%20%22Clippings%2F%22%20*%2F%0A%20%20const%20folder%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20tags%20%20*%2F%0A%20%20const%20tags%20%3D%20%22%23clippings%22%3B%0A%0A%20%20function%20getSelectionHtml()%20%7B%0A%20%20%20%20var%20html%20%3D%20%22%22%3B%0A%20%20%20%20if%20(typeof%20window.getSelection%20!%3D%20%22undefined%22)%20%7B%0A%20%20%20%20%20%20%20%20var%20sel%20%3D%20window.getSelection()%3B%0A%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%20var%20container%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(var%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%20container.appendChild(sel.getRangeAt(i).cloneContents())%3B%0A%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%20html%20%3D%20container.innerHTML%3B%0A%20%20%20%20%20%20%20%20%7D%0A%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%20if%20(document.selection.type%20%3D%3D%20%22Text%22)%20%7B%0A%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%7D%0A%20%20%20%20%7D%0A%20%20%20%20return%20html%3B%0A%20%20%7D%0A%0A%20%20const%20selection%20%3D%20getSelectionHtml()%3B%0A%0A%20%20const%20%7B%0A%20%20%20%20%20%20title%2C%0A%20%20%20%20%20%20byline%2C%0A%20%20%20%20%20%20content%0A%20%20%7D%20%3D%20new%20Readability(document.cloneNode(true)).parse()%3B%0A%0A%20%20function%20getFileName(fileName)%20%7B%0A%20%20%20%20var%20userAgent%20%3D%20window.navigator.userAgent%2C%0A%20%20%20%20%20%20%20%20platform%20%3D%20window.navigator.platform%2C%0A%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%20if%20(windowsPlatforms.indexOf(platform)%20!%3D%3D%20-1)%20%7B%0A%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%7D%20else%20%7B%0A%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%7D%0A%20%20%20%20return%20fileName%3B%0A%20%20%7D%0A%20%20const%20fileName%20%3D%20getFileName(title)%3B%0A%0A%20%20if%20(selection)%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20selection%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20content%3B%0A%20%20%7D%0A%0A%20%20if%20(vault)%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20'%26vault%3D'%20%2B%20encodeURIComponent(%60%24%7Bvault%7D%60)%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20''%3B%0A%20%20%7D%0A%0A%20%20const%20markdownBody%20%3D%20new%20Turndown(%7B%0A%20%20%20%20%20%20headingStyle%3A%20'atx'%2C%0A%20%20%20%20%20%20hr%3A%20'---'%2C%0A%20%20%20%20%20%20bulletListMarker%3A%20'-'%2C%0A%20%20%20%20%20%20codeBlockStyle%3A%20'fenced'%2C%0A%20%20%20%20%20%20emDelimiter%3A%20'*'%2C%0A%20%20%7D).turndown(markdownify)%3B%0A%0A%20%20var%20date%20%3D%20new%20Date()%3B%0A%0A%20%20function%20convertDate(date)%20%7B%0A%20%20%20%20var%20yyyy%20%3D%20date.getFullYear().toString()%3B%0A%20%20%20%20var%20mm%20%3D%20(date.getMonth()%2B1).toString()%3B%0A%20%20%20%20var%20dd%20%20%3D%20date.getDate().toString()%3B%0A%20%20%20%20var%20mmChars%20%3D%20mm.split('')%3B%0A%20%20%20%20var%20ddChars%20%3D%20dd.split('')%3B%0A%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%7D%0A%0A%20%20const%20today%20%3D%20convertDate(date)%3B%0A%0A%20%20const%20fileContent%20%3D%20%0A%20%20%20%20%20%20%22author%3A%3A%20%22%20%2B%20byline%20%2B%20%22%5Cn%22%0A%20%20%20%20%20%20%2B%20%22source%3A%3A%20%5B%22%20%2B%20title%20%2B%20%22%5D(%22%20%2B%20document.URL%20%2B%20%22)%5Cn%22%0A%20%20%20%20%20%20%2B%20%22clipped%3A%3A%20%5B%5B%22%20%2B%20today%20%2B%20%22%5D%5D%5Cn%22%0A%20%20%20%20%20%20%2B%20%22published%3A%3A%20%5Cn%5Cn%22%20%0A%20%20%20%20%20%20%2B%20tags%20%2B%20%22%5Cn%5Cn%22%0A%20%20%20%20%20%20%2B%20markdownBody%20%3B%0A%20%20%0A%20%20document.location.href%20%3D%20%22obsidian%3A%2F%2Fnew%3F%22%0A%20%20%20%20%2B%20%22file%3D%22%20%2B%20encodeURIComponent(folder%20%2B%20fileName)%0A%20%20%20%20%2B%20%22%26content%3D%22%20%2B%20encodeURIComponent(fileContent)%0A%20%20%20%20%2B%20vaultName%20%3B%0A%7D)%7D)()%3B
    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%2F*%20Optional%20vault%20name%20*%2F%0A%20%20const%20vault%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20folder%20name%20such%20as%20%22Clippings%2F%22%20--%20NOTE%3A%20MUST%20END%20WITH%20SLASH%20*%2F%0A%20%20const%20folder%20%3D%20%2203-Resources%2F%22%3B%0A%0A%20%20%2F*%20Optional%20tags%20%20*%2F%0A%20%20const%20tags%20%3D%20%22%23webcapture%22%3B%0A%0A%20%20function%20getSelectionHtml()%20%7B%0A%20%20%20%20var%20html%20%3D%20%22%22%3B%0A%20%20%20%20if%20(typeof%20window.getSelection%20!%3D%20%22undefined%22)%20%7B%0A%20%20%20%20%20%20%20%20var%20sel%20%3D%20window.getSelection()%3B%0A%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%20var%20container%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(var%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%20container.appendChild(sel.getRangeAt(i).cloneContents())%3B%0A%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%20html%20%3D%20container.innerHTML%3B%0A%20%20%20%20%20%20%20%20%7D%0A%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%20if%20(document.selection.type%20%3D%3D%20%22Text%22)%20%7B%0A%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%7D%0A%20%20%20%20%7D%0A%20%20%20%20return%20html%3B%0A%20%20%7D%0A%0A%20%20const%20selection%20%3D%20getSelectionHtml()%3B%0A%0A%20%20const%20%7B%0A%20%20%20%20%20%20title%2C%0A%20%20%20%20%20%20byline%2C%0A%20%20%20%20%20%20content%0A%20%20%7D%20%3D%20new%20Readability(document.cloneNode(true)).parse()%3B%0A%0A%20%20function%20getFileName(fileName)%20%7B%0A%20%20%20%20var%20userAgent%20%3D%20window.navigator.userAgent%2C%0A%20%20%20%20%20%20%20%20platform%20%3D%20window.navigator.platform%2C%0A%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%20if%20(windowsPlatforms.indexOf(platform)%20!%3D%3D%20-1)%20%7B%0A%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%7D%20else%20%7B%0A%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%7D%0A%20%20%20%20return%20fileName%3B%0A%20%20%7D%0A%20%20const%20fileName%20%3D%20getFileName(title)%3B%0A%0A%20%20if%20(selection)%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20selection%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20content%3B%0A%20%20%7D%0A%0A%20%20if%20(vault)%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20'%26vault%3D'%20%2B%20encodeURIComponent(%60%24%7Bvault%7D%60)%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20''%3B%0A%20%20%7D%0A%0A%20%20const%20markdownBody%20%3D%20new%20Turndown(%7B%0A%20%20%20%20%20%20headingStyle%3A%20'atx'%2C%0A%20%20%20%20%20%20hr%3A%20'---'%2C%0A%20%20%20%20%20%20bulletListMarker%3A%20'-'%2C%0A%20%20%20%20%20%20codeBlockStyle%3A%20'fenced'%2C%0A%20%20%20%20%20%20emDelimiter%3A%20'*'%2C%0A%20%20%7D).turndown(markdownify)%3B%0A%0A%20%20var%20date%20%3D%20new%20Date()%3B%0A%0A%20%20function%20convertDate(date)%20%7B%0A%20%20%20%20var%20yyyy%20%3D%20date.getFullYear().toString()%3B%0A%20%20%20%20var%20mm%20%3D%20(date.getMonth()%2B1).toString()%3B%0A%20%20%20%20var%20dd%20%20%3D%20date.getDate().toString()%3B%0A%20%20%20%20var%20mmChars%20%3D%20mm.split('')%3B%0A%20%20%20%20var%20ddChars%20%3D%20dd.split('')%3B%0A%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%7D%0A%0A%20%20const%20today%20%3D%20convertDate(date)%3B%0A%0A%20%20const%20fileContent%20%3D%20%0A%20%20%20%20%22*Primary%20Categories%3A*%20%5Cn%22%0A%20%20%20%20%2B%20%22*Secondary%20Categories%3A*%20%5Cn%22%0A%20%20%20%20%2B%20%22*Links%3A*%20%5Cn%22%0A%20%20%20%20%2B%20%22*Search%20Tags%3A*%20%22%20%2B%20tags%20%2B%20%22%20%5Cn%22%0A%20%20%20%20%2B%20%22*Source%20URL%3A*%20%22%20%2B%20document.URL%20%2B%20%22%5Cn%22%0A%20%20%20%20%2B%20%22*Author%3A*%20%22%20%2B%20byline%20%2B%20%22%5Cn%22%0A%20%20%20%20%2B%20%22%25%25%20%7B%20Add%20link(s)%20%5B%5B%5D%5D%20above%20to%20related%20PRIMARY%20categories%2C%20SECONDARY%20categories%2C%20LINKED%20terms%2C%20and%20search%20TAGS%20%7D%20%25%25%5Cn%5Cn%22%0A%20%20%20%20%2B%20%22%23%20%5B%5B%22%20%2B%20fileName%20%2B%20%22%5D%5D%5Cn%5Cn%22%0A%20%20%20%20%2B%20markdownBody%20%0A%20%20%20%20%2B%20%22%5Cn%5Cn---%5Cn***%23%23%23%23%23%20END%20OF%20WEBCAPTURE%20%23%23%23%23%23***%5Cn%5Cn*Clipped%3A%20%22%2B%20today%20%2B%20%22*%5Cn*Last%20Modified%20Date%3A%20%3C%25%2Btp.file.last_modified_date(%5C%22MMMM%20Do%2C%20YYYY%20(hh%3Ass%20a)%5C%22)%25%3E*%22%20%3B%0A%20%20%0A%20%20document.location.href%20%3D%20%22obsidian%3A%2F%2Fnew%3F%22%0A%20%20%20%20%2B%20%22file%3D%22%20%2B%20encodeURIComponent(folder%20%2B%20fileName)%0A%20%20%20%20%2B%20%22%26content%3D%22%20%2B%20encodeURIComponent(fileContent)%0A%20%20%20%20%2B%20vaultName%20%3B%0A%7D)%7D)()%3B
  3. Stephan Ango revised this gist Aug 14, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -15,4 +15,4 @@ By default, clicking the bookmarklet creates a new Obsidian file from the main b

    ### Troubleshooting

    This bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality. You can also troubleshoot issues by opening the Developer Console in your browser and checking if any errors appear when you click the bookmarklet. The most common error is that a website or the browser itself is blocking third party code execution. Unfortunately there is no good solve for that yet.
    This bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality. You can troubleshoot issues by opening the Developer Console in your browser and checking if any errors appear when you click the bookmarklet. The most common error is that a website or the browser itself is blocking third party code execution. Unfortunately there is no good solve for that yet.
  4. Stephan Ango revised this gist Aug 14, 2021. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -13,6 +13,6 @@ You can customize the output using the optional variables at the top, and the te
    ### Usage
    By default, clicking the bookmarklet creates a new Obsidian file from the main body of the article (similar to Readability view). Alternatively you can choose to create a file from a selection, by either selecting all (`CMD+A`), or just a portion of the page.

    ### Disclaimer
    ### Troubleshooting

    This bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
    This bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality. You can also troubleshoot issues by opening the Developer Console in your browser and checking if any errors appear when you click the bookmarklet. The most common error is that a website or the browser itself is blocking third party code execution. Unfortunately there is no good solve for that yet.
  5. Stephan Ango revised this gist Aug 9, 2021. 2 changed files with 2 additions and 2 deletions.
    2 changes: 1 addition & 1 deletion obsidian-web-clipper.js
    Original file line number Diff line number Diff line change
    @@ -96,7 +96,7 @@ javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), impo
    + markdownBody ;

    document.location.href = "obsidian://new?"
    + "name=" + encodeURIComponent(folder + fileName)
    + "file=" + encodeURIComponent(folder + fileName)
    + "&content=" + encodeURIComponent(fileContent)
    + vaultName ;
    })
    2 changes: 1 addition & 1 deletion obsidian-web-clipper.min.js
    Original file line number Diff line number Diff line change
    @@ -1 +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%2F*%20Optional%20vault%20name%20*%2F%0A%20%20const%20vault%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20folder%20name%20such%20as%20%22Clippings%2F%22%20*%2F%0A%20%20const%20folder%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20tags%20%20*%2F%0A%20%20const%20tags%20%3D%20%22%23clippings%22%3B%0A%0A%20%20function%20getSelectionHtml()%20%7B%0A%20%20%20%20var%20html%20%3D%20%22%22%3B%0A%20%20%20%20if%20(typeof%20window.getSelection%20!%3D%20%22undefined%22)%20%7B%0A%20%20%20%20%20%20%20%20var%20sel%20%3D%20window.getSelection()%3B%0A%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%20var%20container%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(var%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%20container.appendChild(sel.getRangeAt(i).cloneContents())%3B%0A%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%20html%20%3D%20container.innerHTML%3B%0A%20%20%20%20%20%20%20%20%7D%0A%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%20if%20(document.selection.type%20%3D%3D%20%22Text%22)%20%7B%0A%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%7D%0A%20%20%20%20%7D%0A%20%20%20%20return%20html%3B%0A%20%20%7D%0A%0A%20%20const%20selection%20%3D%20getSelectionHtml()%3B%0A%0A%20%20const%20%7B%0A%20%20%20%20%20%20title%2C%0A%20%20%20%20%20%20byline%2C%0A%20%20%20%20%20%20content%0A%20%20%7D%20%3D%20new%20Readability(document.cloneNode(true)).parse()%3B%0A%0A%20%20function%20getFileName(fileName)%20%7B%0A%20%20%20%20var%20userAgent%20%3D%20window.navigator.userAgent%2C%0A%20%20%20%20%20%20%20%20platform%20%3D%20window.navigator.platform%2C%0A%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%20if%20(windowsPlatforms.indexOf(platform)%20!%3D%3D%20-1)%20%7B%0A%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%7D%20else%20%7B%0A%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%7D%0A%20%20%20%20return%20fileName%3B%0A%20%20%7D%0A%20%20const%20fileName%20%3D%20getFileName(title)%3B%0A%0A%20%20if%20(selection)%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20selection%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20content%3B%0A%20%20%7D%0A%0A%20%20if%20(vault)%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20'%26vault%3D'%20%2B%20encodeURIComponent(%60%24%7Bvault%7D%60)%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20''%3B%0A%20%20%7D%0A%0A%20%20const%20markdownBody%20%3D%20new%20Turndown(%7B%0A%20%20%20%20%20%20headingStyle%3A%20'atx'%2C%0A%20%20%20%20%20%20hr%3A%20'---'%2C%0A%20%20%20%20%20%20bulletListMarker%3A%20'-'%2C%0A%20%20%20%20%20%20codeBlockStyle%3A%20'fenced'%2C%0A%20%20%20%20%20%20emDelimiter%3A%20'*'%2C%0A%20%20%7D).turndown(markdownify)%3B%0A%0A%20%20var%20date%20%3D%20new%20Date()%3B%0A%0A%20%20function%20convertDate(date)%20%7B%0A%20%20%20%20var%20yyyy%20%3D%20date.getFullYear().toString()%3B%0A%20%20%20%20var%20mm%20%3D%20(date.getMonth()%2B1).toString()%3B%0A%20%20%20%20var%20dd%20%20%3D%20date.getDate().toString()%3B%0A%20%20%20%20var%20mmChars%20%3D%20mm.split('')%3B%0A%20%20%20%20var%20ddChars%20%3D%20dd.split('')%3B%0A%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%7D%0A%0A%20%20const%20today%20%3D%20convertDate(date)%3B%0A%0A%20%20const%20fileContent%20%3D%20%0A%20%20%20%20%20%20%22author%3A%3A%20%22%20%2B%20byline%20%2B%20%22%5Cn%22%0A%20%20%20%20%20%20%2B%20%22source%3A%3A%20%5B%22%20%2B%20title%20%2B%20%22%5D(%22%20%2B%20document.URL%20%2B%20%22)%5Cn%22%0A%20%20%20%20%20%20%2B%20%22clipped%3A%3A%20%5B%5B%22%20%2B%20today%20%2B%20%22%5D%5D%5Cn%22%0A%20%20%20%20%20%20%2B%20%22published%3A%3A%20%5Cn%5Cn%22%20%0A%20%20%20%20%20%20%2B%20tags%20%2B%20%22%5Cn%5Cn%22%0A%20%20%20%20%20%20%2B%20markdownBody%20%3B%0A%20%20%0A%20%20document.location.href%20%3D%20%22obsidian%3A%2F%2Fnew%3F%22%0A%20%20%20%20%2B%20%22name%3D%22%20%2B%20encodeURIComponent(folder%20%2B%20fileName)%0A%20%20%20%20%2B%20%22%26content%3D%22%20%2B%20encodeURIComponent(fileContent)%0A%20%20%20%20%2B%20vaultName%20%3B%0A%7D)%7D)()%3B
    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%2F*%20Optional%20vault%20name%20*%2F%0A%20%20const%20vault%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20folder%20name%20such%20as%20%22Clippings%2F%22%20*%2F%0A%20%20const%20folder%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20tags%20%20*%2F%0A%20%20const%20tags%20%3D%20%22%23clippings%22%3B%0A%0A%20%20function%20getSelectionHtml()%20%7B%0A%20%20%20%20var%20html%20%3D%20%22%22%3B%0A%20%20%20%20if%20(typeof%20window.getSelection%20!%3D%20%22undefined%22)%20%7B%0A%20%20%20%20%20%20%20%20var%20sel%20%3D%20window.getSelection()%3B%0A%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%20var%20container%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(var%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%20container.appendChild(sel.getRangeAt(i).cloneContents())%3B%0A%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%20html%20%3D%20container.innerHTML%3B%0A%20%20%20%20%20%20%20%20%7D%0A%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%20if%20(document.selection.type%20%3D%3D%20%22Text%22)%20%7B%0A%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%7D%0A%20%20%20%20%7D%0A%20%20%20%20return%20html%3B%0A%20%20%7D%0A%0A%20%20const%20selection%20%3D%20getSelectionHtml()%3B%0A%0A%20%20const%20%7B%0A%20%20%20%20%20%20title%2C%0A%20%20%20%20%20%20byline%2C%0A%20%20%20%20%20%20content%0A%20%20%7D%20%3D%20new%20Readability(document.cloneNode(true)).parse()%3B%0A%0A%20%20function%20getFileName(fileName)%20%7B%0A%20%20%20%20var%20userAgent%20%3D%20window.navigator.userAgent%2C%0A%20%20%20%20%20%20%20%20platform%20%3D%20window.navigator.platform%2C%0A%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%20if%20(windowsPlatforms.indexOf(platform)%20!%3D%3D%20-1)%20%7B%0A%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%7D%20else%20%7B%0A%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%7D%0A%20%20%20%20return%20fileName%3B%0A%20%20%7D%0A%20%20const%20fileName%20%3D%20getFileName(title)%3B%0A%0A%20%20if%20(selection)%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20selection%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20content%3B%0A%20%20%7D%0A%0A%20%20if%20(vault)%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20'%26vault%3D'%20%2B%20encodeURIComponent(%60%24%7Bvault%7D%60)%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20''%3B%0A%20%20%7D%0A%0A%20%20const%20markdownBody%20%3D%20new%20Turndown(%7B%0A%20%20%20%20%20%20headingStyle%3A%20'atx'%2C%0A%20%20%20%20%20%20hr%3A%20'---'%2C%0A%20%20%20%20%20%20bulletListMarker%3A%20'-'%2C%0A%20%20%20%20%20%20codeBlockStyle%3A%20'fenced'%2C%0A%20%20%20%20%20%20emDelimiter%3A%20'*'%2C%0A%20%20%7D).turndown(markdownify)%3B%0A%0A%20%20var%20date%20%3D%20new%20Date()%3B%0A%0A%20%20function%20convertDate(date)%20%7B%0A%20%20%20%20var%20yyyy%20%3D%20date.getFullYear().toString()%3B%0A%20%20%20%20var%20mm%20%3D%20(date.getMonth()%2B1).toString()%3B%0A%20%20%20%20var%20dd%20%20%3D%20date.getDate().toString()%3B%0A%20%20%20%20var%20mmChars%20%3D%20mm.split('')%3B%0A%20%20%20%20var%20ddChars%20%3D%20dd.split('')%3B%0A%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%7D%0A%0A%20%20const%20today%20%3D%20convertDate(date)%3B%0A%0A%20%20const%20fileContent%20%3D%20%0A%20%20%20%20%20%20%22author%3A%3A%20%22%20%2B%20byline%20%2B%20%22%5Cn%22%0A%20%20%20%20%20%20%2B%20%22source%3A%3A%20%5B%22%20%2B%20title%20%2B%20%22%5D(%22%20%2B%20document.URL%20%2B%20%22)%5Cn%22%0A%20%20%20%20%20%20%2B%20%22clipped%3A%3A%20%5B%5B%22%20%2B%20today%20%2B%20%22%5D%5D%5Cn%22%0A%20%20%20%20%20%20%2B%20%22published%3A%3A%20%5Cn%5Cn%22%20%0A%20%20%20%20%20%20%2B%20tags%20%2B%20%22%5Cn%5Cn%22%0A%20%20%20%20%20%20%2B%20markdownBody%20%3B%0A%20%20%0A%20%20document.location.href%20%3D%20%22obsidian%3A%2F%2Fnew%3F%22%0A%20%20%20%20%2B%20%22file%3D%22%20%2B%20encodeURIComponent(folder%20%2B%20fileName)%0A%20%20%20%20%2B%20%22%26content%3D%22%20%2B%20encodeURIComponent(fileContent)%0A%20%20%20%20%2B%20vaultName%20%3B%0A%7D)%7D)()%3B
  6. Stephan Ango revised this gist Aug 8, 2021. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -6,13 +6,13 @@ By [@kepano](https://www.twitter.com/kepano)
    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

    ### Installation
    Create a new bookmark in your browser, then copy/paste the code below into the URL field.
    Create a new bookmark in your browser, then copy/paste the minified code below into the URL field.

    You can customize the output using the optional variables at the top, and the template at the bottom. The default template is designed for use with the Dataview plugin. If you make changes I recommend using [Bookmarklet Maker](https://caiorss.github.io/bookmarklet-maker/) to minify and URI encode the bookmarklet.

    ### Usage
    By default, clicking the bookmarklet creates a new Obsidian file from the main body of the article (similar to Readability view). Alternatively you can choose to create a file from a selection, by either selecting all (`CMD+A`), or just a portion of the page.

    You can customize the output using the optional variables at the top, and the template at the bottom. The default template is designed for use with the Dataview plugin. If you make changes I recommend using [Bookmarklet Maker](https://caiorss.github.io/bookmarklet-maker/) to minify and URI encode the bookmarklet.

    ### Disclaimer

    This bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
  7. Stephan Ango revised this gist Aug 8, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -11,7 +11,7 @@ Create a new bookmark in your browser, then copy/paste the code below into the U
    ### Usage
    By default, clicking the bookmarklet creates a new Obsidian file from the main body of the article (similar to Readability view). Alternatively you can choose to create a file from a selection, by either selecting all (`CMD+A`), or just a portion of the page.

    You can customize the output using the optional variables at the top, and the template at the bottom. The default template is designed for use with the Dataview plugin.
    You can customize the output using the optional variables at the top, and the template at the bottom. The default template is designed for use with the Dataview plugin. If you make changes I recommend using [Bookmarklet Maker](https://caiorss.github.io/bookmarklet-maker/) to minify and URI encode the bookmarklet.

    ### Disclaimer

  8. Stephan Ango revised this gist Aug 8, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion obsidian-web-clipper.min.js
    Original file line number Diff line number Diff line change
    @@ -1 +1 @@
    javascript:(function()%7BPromise.all(%5Bimport(%22https%3A%2F%2Funpkg.com%2Fturndown%406.0.0%3Fmodule%22)%2Cimport(%22https%3A%2F%2Funpkg.com%2F%40tehshrike%2Freadability%400.2.0%22)%5D).then(async(%5B%7Bdefault%3Ae%7D%2C%7Bdefault%3An%7D%5D)%3D%3E%7Bconst%20t%3Dfunction()%7Bvar%20e%3D%22%22%3Bif(void%200!%3D%3Dwindow.getSelection)%7Bvar%20n%3Dwindow.getSelection()%3Bif(n.rangeCount)%7Bfor(var%20t%3Ddocument.createElement(%22div%22)%2Co%3D0%2Ci%3Dn.rangeCount%3Bo%3Ci%3B%2B%2Bo)t.appendChild(n.getRangeAt(o).cloneContents())%3Be%3Dt.innerHTML%7D%7Delse%20void%200!%3D%3Ddocument.selection%26%26%22Text%22%3D%3Ddocument.selection.type%26%26(e%3Ddocument.selection.createRange().htmlText)%3Breturn%20e%7D()%2C%7Btitle%3Ao%2Cbyline%3Ai%2Ccontent%3Ar%7D%3Dnew%20n(document.cloneNode(!0)).parse()%3Bconst%20a%3Dfunction(e)%7Bwindow.navigator.userAgent%3Bvar%20n%3Dwindow.navigator.platform%3Breturn%20e%3D-1!%3D%3D%5B%22Win32%22%2C%22Win64%22%2C%22Windows%22%2C%22WinCE%22%5D.indexOf(n)%3Fe.replace(%22%3A%22%2C%22%22).replace(%2F%5B%5C%2F%5C%5C%3F%25*%7C%22%3C%3E%5D%2Fg%2C%22-%22)%3Ae.replace(%22%3A%22%2C%22%22).replace(%2F%5C%2F%2Fg%2C%22-%22).replace(%2F%5C%5C%2Fg%2C%22-%22)%7D(o)%3Bif(t)var%20c%3Dt%3Belse%20c%3Dr%3Bvar%20l%3D%22%22%3Bconst%20d%3Dnew%20e(%7BheadingStyle%3A%22atx%22%2Chr%3A%22---%22%2CbulletListMarker%3A%22-%22%2CcodeBlockStyle%3A%22fenced%22%2CemDelimiter%3A%22*%22%7D).turndown(c)%3Bconst%20u%3Dfunction(e)%7Bvar%20n%3De.getFullYear().toString()%2Ct%3D(e.getMonth()%2B1).toString()%2Co%3De.getDate().toString()%2Ci%3Dt.split(%22%22)%2Cr%3Do.split(%22%22)%3Breturn%20n%2B%22-%22%2B(i%5B1%5D%3Ft%3A%220%22%2Bi%5B0%5D)%2B%22-%22%2B(r%5B1%5D%3Fo%3A%220%22%2Br%5B0%5D)%7D(new%20Date)%2Cp%3D%22author%3A%3A%20%22%2Bi%2B%22%5Cnsource%3A%3A%20%5B%22%2Bo%2B%22%5D(%22%2Bdocument.URL%2B%22)%5Cnclipped%3A%3A%20%5B%5B%22%2Bu%2B%22%5D%5D%5Cnpublished%3A%3A%20%5Cn%5Cn%23clippings%5Cn%5Cn%22%2Bd%3Bwindow.location.href%3D%22obsidian%3A%2F%2Fnew%3Fname%3D%22%2BencodeURIComponent(%22%22%2Ba)%2B%22%26content%3D%22%2BencodeURIComponent(p)%2Bl%7D)%3B%7D)()%3B
    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%2F*%20Optional%20vault%20name%20*%2F%0A%20%20const%20vault%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20folder%20name%20such%20as%20%22Clippings%2F%22%20*%2F%0A%20%20const%20folder%20%3D%20%22%22%3B%0A%0A%20%20%2F*%20Optional%20tags%20%20*%2F%0A%20%20const%20tags%20%3D%20%22%23clippings%22%3B%0A%0A%20%20function%20getSelectionHtml()%20%7B%0A%20%20%20%20var%20html%20%3D%20%22%22%3B%0A%20%20%20%20if%20(typeof%20window.getSelection%20!%3D%20%22undefined%22)%20%7B%0A%20%20%20%20%20%20%20%20var%20sel%20%3D%20window.getSelection()%3B%0A%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%20var%20container%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(var%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%20container.appendChild(sel.getRangeAt(i).cloneContents())%3B%0A%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%20html%20%3D%20container.innerHTML%3B%0A%20%20%20%20%20%20%20%20%7D%0A%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%20if%20(document.selection.type%20%3D%3D%20%22Text%22)%20%7B%0A%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%7D%0A%20%20%20%20%7D%0A%20%20%20%20return%20html%3B%0A%20%20%7D%0A%0A%20%20const%20selection%20%3D%20getSelectionHtml()%3B%0A%0A%20%20const%20%7B%0A%20%20%20%20%20%20title%2C%0A%20%20%20%20%20%20byline%2C%0A%20%20%20%20%20%20content%0A%20%20%7D%20%3D%20new%20Readability(document.cloneNode(true)).parse()%3B%0A%0A%20%20function%20getFileName(fileName)%20%7B%0A%20%20%20%20var%20userAgent%20%3D%20window.navigator.userAgent%2C%0A%20%20%20%20%20%20%20%20platform%20%3D%20window.navigator.platform%2C%0A%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%20if%20(windowsPlatforms.indexOf(platform)%20!%3D%3D%20-1)%20%7B%0A%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%7D%20else%20%7B%0A%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%7D%0A%20%20%20%20return%20fileName%3B%0A%20%20%7D%0A%20%20const%20fileName%20%3D%20getFileName(title)%3B%0A%0A%20%20if%20(selection)%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20selection%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20markdownify%20%3D%20content%3B%0A%20%20%7D%0A%0A%20%20if%20(vault)%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20'%26vault%3D'%20%2B%20encodeURIComponent(%60%24%7Bvault%7D%60)%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20vaultName%20%3D%20''%3B%0A%20%20%7D%0A%0A%20%20const%20markdownBody%20%3D%20new%20Turndown(%7B%0A%20%20%20%20%20%20headingStyle%3A%20'atx'%2C%0A%20%20%20%20%20%20hr%3A%20'---'%2C%0A%20%20%20%20%20%20bulletListMarker%3A%20'-'%2C%0A%20%20%20%20%20%20codeBlockStyle%3A%20'fenced'%2C%0A%20%20%20%20%20%20emDelimiter%3A%20'*'%2C%0A%20%20%7D).turndown(markdownify)%3B%0A%0A%20%20var%20date%20%3D%20new%20Date()%3B%0A%0A%20%20function%20convertDate(date)%20%7B%0A%20%20%20%20var%20yyyy%20%3D%20date.getFullYear().toString()%3B%0A%20%20%20%20var%20mm%20%3D%20(date.getMonth()%2B1).toString()%3B%0A%20%20%20%20var%20dd%20%20%3D%20date.getDate().toString()%3B%0A%20%20%20%20var%20mmChars%20%3D%20mm.split('')%3B%0A%20%20%20%20var%20ddChars%20%3D%20dd.split('')%3B%0A%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%7D%0A%0A%20%20const%20today%20%3D%20convertDate(date)%3B%0A%0A%20%20const%20fileContent%20%3D%20%0A%20%20%20%20%20%20%22author%3A%3A%20%22%20%2B%20byline%20%2B%20%22%5Cn%22%0A%20%20%20%20%20%20%2B%20%22source%3A%3A%20%5B%22%20%2B%20title%20%2B%20%22%5D(%22%20%2B%20document.URL%20%2B%20%22)%5Cn%22%0A%20%20%20%20%20%20%2B%20%22clipped%3A%3A%20%5B%5B%22%20%2B%20today%20%2B%20%22%5D%5D%5Cn%22%0A%20%20%20%20%20%20%2B%20%22published%3A%3A%20%5Cn%5Cn%22%20%0A%20%20%20%20%20%20%2B%20tags%20%2B%20%22%5Cn%5Cn%22%0A%20%20%20%20%20%20%2B%20markdownBody%20%3B%0A%20%20%0A%20%20document.location.href%20%3D%20%22obsidian%3A%2F%2Fnew%3F%22%0A%20%20%20%20%2B%20%22name%3D%22%20%2B%20encodeURIComponent(folder%20%2B%20fileName)%0A%20%20%20%20%2B%20%22%26content%3D%22%20%2B%20encodeURIComponent(fileContent)%0A%20%20%20%20%2B%20vaultName%20%3B%0A%7D)%7D)()%3B
  9. Stephan Ango revised this gist Aug 8, 2021. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions obsidian-web-clipper.min.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    javascript:(function()%7BPromise.all(%5Bimport(%22https%3A%2F%2Funpkg.com%2Fturndown%406.0.0%3Fmodule%22)%2Cimport(%22https%3A%2F%2Funpkg.com%2F%40tehshrike%2Freadability%400.2.0%22)%5D).then(async(%5B%7Bdefault%3Ae%7D%2C%7Bdefault%3An%7D%5D)%3D%3E%7Bconst%20t%3Dfunction()%7Bvar%20e%3D%22%22%3Bif(void%200!%3D%3Dwindow.getSelection)%7Bvar%20n%3Dwindow.getSelection()%3Bif(n.rangeCount)%7Bfor(var%20t%3Ddocument.createElement(%22div%22)%2Co%3D0%2Ci%3Dn.rangeCount%3Bo%3Ci%3B%2B%2Bo)t.appendChild(n.getRangeAt(o).cloneContents())%3Be%3Dt.innerHTML%7D%7Delse%20void%200!%3D%3Ddocument.selection%26%26%22Text%22%3D%3Ddocument.selection.type%26%26(e%3Ddocument.selection.createRange().htmlText)%3Breturn%20e%7D()%2C%7Btitle%3Ao%2Cbyline%3Ai%2Ccontent%3Ar%7D%3Dnew%20n(document.cloneNode(!0)).parse()%3Bconst%20a%3Dfunction(e)%7Bwindow.navigator.userAgent%3Bvar%20n%3Dwindow.navigator.platform%3Breturn%20e%3D-1!%3D%3D%5B%22Win32%22%2C%22Win64%22%2C%22Windows%22%2C%22WinCE%22%5D.indexOf(n)%3Fe.replace(%22%3A%22%2C%22%22).replace(%2F%5B%5C%2F%5C%5C%3F%25*%7C%22%3C%3E%5D%2Fg%2C%22-%22)%3Ae.replace(%22%3A%22%2C%22%22).replace(%2F%5C%2F%2Fg%2C%22-%22).replace(%2F%5C%5C%2Fg%2C%22-%22)%7D(o)%3Bif(t)var%20c%3Dt%3Belse%20c%3Dr%3Bvar%20l%3D%22%22%3Bconst%20d%3Dnew%20e(%7BheadingStyle%3A%22atx%22%2Chr%3A%22---%22%2CbulletListMarker%3A%22-%22%2CcodeBlockStyle%3A%22fenced%22%2CemDelimiter%3A%22*%22%7D).turndown(c)%3Bconst%20u%3Dfunction(e)%7Bvar%20n%3De.getFullYear().toString()%2Ct%3D(e.getMonth()%2B1).toString()%2Co%3De.getDate().toString()%2Ci%3Dt.split(%22%22)%2Cr%3Do.split(%22%22)%3Breturn%20n%2B%22-%22%2B(i%5B1%5D%3Ft%3A%220%22%2Bi%5B0%5D)%2B%22-%22%2B(r%5B1%5D%3Fo%3A%220%22%2Br%5B0%5D)%7D(new%20Date)%2Cp%3D%22author%3A%3A%20%22%2Bi%2B%22%5Cnsource%3A%3A%20%5B%22%2Bo%2B%22%5D(%22%2Bdocument.URL%2B%22)%5Cnclipped%3A%3A%20%5B%5B%22%2Bu%2B%22%5D%5D%5Cnpublished%3A%3A%20%5Cn%5Cn%23clippings%5Cn%5Cn%22%2Bd%3Bwindow.location.href%3D%22obsidian%3A%2F%2Fnew%3Fname%3D%22%2BencodeURIComponent(%22%22%2Ba)%2B%22%26content%3D%22%2BencodeURIComponent(p)%2Bl%7D)%3B%7D)()%3B
  10. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,5 @@
    By [@kepano](https://www.twitter.com/kepano)

    🎉 Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)

    ### Demo
  11. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -14,4 +14,4 @@ You can customize the output using the optional variables at the top, and the te

    ### Disclaimer

    Note that this bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
    This bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
  12. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -10,6 +10,8 @@ Create a new bookmark in your browser, then copy/paste the code below into the U
    ### Usage
    By default, clicking the bookmarklet creates a new Obsidian file from the main body of the article (similar to Readability view). Alternatively you can choose to create a file from a selection, by either selecting all (`CMD+A`), or just a portion of the page.

    You can customize the output using the optional variables at the top, and the template at the bottom. The default template is designed for use with the Dataview plugin.

    ### Disclaimer

    Note that this bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
  13. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -1,15 +1,15 @@
    By [@kepano](https://www.twitter.com/kepano)
    🎉 Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)

    ## Demo
    ### Demo
    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

    ## Installation
    ### Installation
    Create a new bookmark in your browser, then copy/paste the code below into the URL field.

    ## Usage
    ### Usage
    By default, clicking the bookmarklet creates a new Obsidian file from the main body of the article (similar to Readability view). Alternatively you can choose to create a file from a selection, by either selecting all (`CMD+A`), or just a portion of the page.

    ## Disclaimer
    ### Disclaimer

    Note that this bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
  14. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 8 additions and 2 deletions.
    10 changes: 8 additions & 2 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -1,9 +1,15 @@
    By [@kepano](https://www.twitter.com/kepano)
    🎉 Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)

    ## Demo
    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

    To use it, create a new bookmark in your browser, then copy/paste the code below into the URL field.
    ## Installation
    Create a new bookmark in your browser, then copy/paste the code below into the URL field.

    Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)
    ## Usage
    By default, clicking the bookmarklet creates a new Obsidian file from the main body of the article (similar to Readability view). Alternatively you can choose to create a file from a selection, by either selecting all (`CMD+A`), or just a portion of the page.

    ## Disclaimer

    Note that this bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
  15. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions obsidian-web-clipper.js
    Original file line number Diff line number Diff line change
    @@ -61,7 +61,7 @@ javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), impo
    }

    if (vault) {
    var vaultName = `&vault=${vault}`
    var vaultName = '&vault=' + encodeURIComponent(`${vault}`);
    } else {
    var vaultName = '';
    }
    @@ -96,7 +96,7 @@ javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), impo
    + markdownBody ;

    document.location.href = "obsidian://new?"
    + "name=" + folder + fileName
    + "name=" + encodeURIComponent(folder + fileName)
    + "&content=" + encodeURIComponent(fileContent)
    + vaultName ;
    })
  16. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 81 additions and 48 deletions.
    129 changes: 81 additions & 48 deletions obsidian-web-clipper.js
    Original file line number Diff line number Diff line change
    @@ -4,66 +4,99 @@ javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), impo
    default: Readability
    }]) => {

    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;
    /* Optional vault name */
    const vault = "";

    /* Optional folder name such as "Clippings/" */
    const folder = "";

    /* Optional tags */
    const tags = "#clippings";

    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;
    }
    return html;
    }

    const selection = getSelectionHtml();
    const selection = getSelectionHtml();

    const {
    title,
    byline,
    content
    } = new Readability(document.cloneNode(true)).parse();
    const {
    title,
    byline,
    content
    } = new Readability(document.cloneNode(true)).parse();

    const titleUri = title.replace(':', '').replace(/\//g, '-').replace(/\\/g, '-');
    function getFileName(fileName) {
    var userAgent = window.navigator.userAgent,
    platform = window.navigator.platform,
    windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];

    if (selection) {
    var markdownify = selection;
    if (windowsPlatforms.indexOf(platform) !== -1) {
    fileName = fileName.replace(':', '').replace(/[/\\?%*|"<>]/g, '-');
    } else {
    var markdownify = content;
    fileName = fileName.replace(':', '').replace(/\//g, '-').replace(/\\/g, '-');
    }
    return fileName;
    }
    const fileName = getFileName(title);

    const markdown = new Turndown({
    headingStyle: 'atx',
    hr: '---',
    bulletListMarker: '-',
    codeBlockStyle: 'fenced',
    emDelimiter: '*',
    }).turndown(markdownify);
    if (selection) {
    var markdownify = selection;
    } else {
    var markdownify = content;
    }

    var date = new Date();
    if (vault) {
    var vaultName = `&vault=${vault}`
    } else {
    var vaultName = '';
    }

    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 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);
    const today = convertDate(date);

    const obsidian = `author:: ${byline}\nsource:: [${title}](${document.URL})\nclipped:: [[${today}]]\npublished:: \n\n#clippings\n\n${markdown}`;

    window.location.href = "obsidian://new?"
    + "name=" + titleUri
    + "&content="
    + encodeURIComponent(obsidian) + "" ;
    const fileContent =
    "author:: " + byline + "\n"
    + "source:: [" + title + "](" + document.URL + ")\n"
    + "clipped:: [[" + today + "]]\n"
    + "published:: \n\n"
    + tags + "\n\n"
    + markdownBody ;

    document.location.href = "obsidian://new?"
    + "name=" + folder + fileName
    + "&content=" + encodeURIComponent(fileContent)
    + vaultName ;
    })
  17. Stephan Ango revised this gist Aug 7, 2021. 2 changed files with 1 addition and 2 deletions.
    1 change: 0 additions & 1 deletion obsidian-web-clipper.min.js
    Original file line number Diff line number Diff line change
    @@ -1 +0,0 @@
    javascript:(function()%7BPromise.all(%5Bimport(%22https%3A%2F%2Funpkg.com%2Fturndown%406.0.0%3Fmodule%22)%2Cimport(%22https%3A%2F%2Funpkg.com%2F%40tehshrike%2Freadability%400.2.0%22)%5D).then(async(%5B%7Bdefault%3Ae%7D%2C%7Bdefault%3At%7D%5D)%3D%3E%7Bconst%20n%3Dfunction()%7Bvar%20e%3D%22%22%3Bif(void%200!%3D%3Dwindow.getSelection)%7Bvar%20t%3Dwindow.getSelection()%3Bif(t.rangeCount)%7Bfor(var%20n%3Ddocument.createElement(%22div%22)%2Co%3D0%2Ci%3Dt.rangeCount%3Bo%3Ci%3B%2B%2Bo)n.appendChild(t.getRangeAt(o).cloneContents())%3Be%3Dn.innerHTML%7D%7Delse%20void%200!%3D%3Ddocument.selection%26%26%22Text%22%3D%3Ddocument.selection.type%26%26(e%3Ddocument.selection.createRange().htmlText)%3Breturn%20e%7D()%2C%7Btitle%3Ao%2Cbyline%3Ai%2Ccontent%3Al%7D%3Dnew%20t(document.cloneNode(!0)).parse()%2Cr%3Do.replace(%22%3A%22%2C%22%22).replace(%2F%5C%2F%2Fg%2C%22-%22).replace(%2F%5C%5C%2Fg%2C%22-%22)%3Bif(n)var%20c%3Dn%3Belse%20c%3Dl%3Bconst%20a%3Dnew%20e(%7BheadingStyle%3A%22atx%22%2Chr%3A%22---%22%2CbulletListMarker%3A%22-%22%2CcodeBlockStyle%3A%22fenced%22%2CemDelimiter%3A%22*%22%7D).turndown(c)%3Bconst%20d%3Dfunction(e)%7Bvar%20t%3De.getFullYear().toString()%2Cn%3D(e.getMonth()%2B1).toString()%2Co%3De.getDate().toString()%2Ci%3Dn.split(%22%22)%2Cl%3Do.split(%22%22)%3Breturn%20t%2B%22-%22%2B(i%5B1%5D%3Fn%3A%220%22%2Bi%5B0%5D)%2B%22-%22%2B(l%5B1%5D%3Fo%3A%220%22%2Bl%5B0%5D)%7D(new%20Date)%2Cu%3D%60author%3A%3A%20%24%7Bi%7D%5Cnsource%3A%3A%20%5B%24%7Bo%7D%5D(%24%7Bdocument.URL%7D)%5Cnclipped%3A%3A%20%5B%5B%24%7Bd%7D%5D%5D%5Cnpublished%3A%3A%20%5Cn%5Cn%23clippings%5Cn%5Cn%24%7Ba%7D%60%3Bwindow.location.href%3D%22obsidian%3A%2F%2Fnew%3Fname%3D%22%2Br%2B%22%26content%3D%22%2BencodeURIComponent(u)%7D)%3B%7D)()%3B
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -6,4 +6,4 @@ To use it, create a new bookmark in your browser, then copy/paste the code below

    Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)

    If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
    Note that this bookmarklet may not work on all websites. If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
  18. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -6,4 +6,4 @@ To use it, create a new bookmark in your browser, then copy/paste the code below

    Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)

    If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality
    If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality.
  19. Stephan Ango revised this gist Aug 7, 2021. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,8 @@ By [@kepano](https://www.twitter.com/kepano)

    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

    To use it, create a new bookmark in your browser, then copy/paste the code below into the URL field
    To use it, create a new bookmark in your browser, then copy/paste the code below into the URL field.

    Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)
    Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)

    If you run into issues, you can also try the [MarkDownload browser extension](https://forum.obsidian.md/t/markdownload-markdown-web-clipper/173) which provides similar functionality
  20. Stephan Ango revised this gist Aug 5, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,6 @@ By [@kepano](https://www.twitter.com/kepano)

    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

    To use it, create a new bookmark and copy/paste the code below into the URL field
    To use it, create a new bookmark in your browser, then copy/paste the code below into the URL field

    Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)
  21. Stephan Ango revised this gist Aug 5, 2021. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -2,4 +2,6 @@ By [@kepano](https://www.twitter.com/kepano)

    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

    To use it, create a new bookmark and copy/paste the code below into the URL field

    Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)
  22. Stephan Ango revised this gist Aug 5, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    By @kepano
    By [@kepano](https://www.twitter.com/kepano)

    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

  23. Stephan Ango revised this gist Aug 5, 2021. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    By @kepano

    You can find a demo of this bookmarklet [on YouTube](https://www.youtube.com/watch?v=Vy1MdjickAI)

    Support my work at [buymeacoffee.com/kepano](https://www.buymeacoffee.com/kepano)
  24. Stephan Ango revised this gist Aug 5, 2021. No changes.
  25. Stephan Ango revised this gist Aug 5, 2021. No changes.
  26. Stephan Ango revised this gist Aug 5, 2021. No changes.
  27. Stephan Ango revised this gist Aug 5, 2021. No changes.
  28. Stephan Ango revised this gist Aug 5, 2021. No changes.
  29. Stephan Ango revised this gist Aug 5, 2021. 2 changed files with 30 additions and 2 deletions.
    30 changes: 29 additions & 1 deletion obsidian-web-clipper.js
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,28 @@ javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), impo
    }, {
    default: Readability
    }]) => {

    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,
    @@ -11,13 +33,19 @@ javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), impo

    const titleUri = title.replace(':', '').replace(/\//g, '-').replace(/\\/g, '-');

    if (selection) {
    var markdownify = selection;
    } else {
    var markdownify = content;
    }

    const markdown = new Turndown({
    headingStyle: 'atx',
    hr: '---',
    bulletListMarker: '-',
    codeBlockStyle: 'fenced',
    emDelimiter: '*',
    }).turndown(content);
    }).turndown(markdownify);

    var date = new Date();

    2 changes: 1 addition & 1 deletion obsidian-web-clipper.min.js
    Original file line number Diff line number Diff line change
    @@ -1 +1 @@
    javascript:(function()%7BPromise.all(%5Bimport(%22https%3A%2F%2Funpkg.com%2Fturndown%406.0.0%3Fmodule%22)%2Cimport(%22https%3A%2F%2Funpkg.com%2F%40tehshrike%2Freadability%400.2.0%22)%5D).then(async(%5B%7Bdefault%3Ae%7D%2C%7Bdefault%3At%7D%5D)%3D%3E%7Bconst%7Btitle%3An%2Cbyline%3Ao%2Ccontent%3Ai%7D%3Dnew%20t(document.cloneNode(!0)).parse()%2Cl%3Dn.replace(%22%3A%22%2C%22%22).replace(%2F%5C%2F%2Fg%2C%22-%22).replace(%2F%5C%5C%2Fg%2C%22-%22)%2Cr%3Dnew%20e(%7BheadingStyle%3A%22atx%22%2Chr%3A%22---%22%2CbulletListMarker%3A%22-%22%2CcodeBlockStyle%3A%22fenced%22%2CemDelimiter%3A%22*%22%7D).turndown(i)%3Bconst%20c%3Dfunction(e)%7Bvar%20t%3De.getFullYear().toString()%2Cn%3D(e.getMonth()%2B1).toString()%2Co%3De.getDate().toString()%2Ci%3Dn.split(%22%22)%2Cl%3Do.split(%22%22)%3Breturn%20t%2B%22-%22%2B(i%5B1%5D%3Fn%3A%220%22%2Bi%5B0%5D)%2B%22-%22%2B(l%5B1%5D%3Fo%3A%220%22%2Bl%5B0%5D)%7D(new%20Date)%2Ca%3D%60author%3A%3A%20%24%7Bo%7D%5Cnsource%3A%3A%20%5B%24%7Bn%7D%5D(%24%7Bdocument.URL%7D)%5Cnclipped%3A%3A%20%5B%5B%24%7Bc%7D%5D%5D%5Cnpublished%3A%3A%20%5Cn%5Cn%23clippings%5Cn%5Cn%24%7Br%7D%60%3Bwindow.location.href%3D%22obsidian%3A%2F%2Fnew%3Fname%3D%22%2Bl%2B%22%26content%3D%22%2BencodeURIComponent(a)%7D)%3B%7D)()%3B
    javascript:(function()%7BPromise.all(%5Bimport(%22https%3A%2F%2Funpkg.com%2Fturndown%406.0.0%3Fmodule%22)%2Cimport(%22https%3A%2F%2Funpkg.com%2F%40tehshrike%2Freadability%400.2.0%22)%5D).then(async(%5B%7Bdefault%3Ae%7D%2C%7Bdefault%3At%7D%5D)%3D%3E%7Bconst%20n%3Dfunction()%7Bvar%20e%3D%22%22%3Bif(void%200!%3D%3Dwindow.getSelection)%7Bvar%20t%3Dwindow.getSelection()%3Bif(t.rangeCount)%7Bfor(var%20n%3Ddocument.createElement(%22div%22)%2Co%3D0%2Ci%3Dt.rangeCount%3Bo%3Ci%3B%2B%2Bo)n.appendChild(t.getRangeAt(o).cloneContents())%3Be%3Dn.innerHTML%7D%7Delse%20void%200!%3D%3Ddocument.selection%26%26%22Text%22%3D%3Ddocument.selection.type%26%26(e%3Ddocument.selection.createRange().htmlText)%3Breturn%20e%7D()%2C%7Btitle%3Ao%2Cbyline%3Ai%2Ccontent%3Al%7D%3Dnew%20t(document.cloneNode(!0)).parse()%2Cr%3Do.replace(%22%3A%22%2C%22%22).replace(%2F%5C%2F%2Fg%2C%22-%22).replace(%2F%5C%5C%2Fg%2C%22-%22)%3Bif(n)var%20c%3Dn%3Belse%20c%3Dl%3Bconst%20a%3Dnew%20e(%7BheadingStyle%3A%22atx%22%2Chr%3A%22---%22%2CbulletListMarker%3A%22-%22%2CcodeBlockStyle%3A%22fenced%22%2CemDelimiter%3A%22*%22%7D).turndown(c)%3Bconst%20d%3Dfunction(e)%7Bvar%20t%3De.getFullYear().toString()%2Cn%3D(e.getMonth()%2B1).toString()%2Co%3De.getDate().toString()%2Ci%3Dn.split(%22%22)%2Cl%3Do.split(%22%22)%3Breturn%20t%2B%22-%22%2B(i%5B1%5D%3Fn%3A%220%22%2Bi%5B0%5D)%2B%22-%22%2B(l%5B1%5D%3Fo%3A%220%22%2Bl%5B0%5D)%7D(new%20Date)%2Cu%3D%60author%3A%3A%20%24%7Bi%7D%5Cnsource%3A%3A%20%5B%24%7Bo%7D%5D(%24%7Bdocument.URL%7D)%5Cnclipped%3A%3A%20%5B%5B%24%7Bd%7D%5D%5D%5Cnpublished%3A%3A%20%5Cn%5Cn%23clippings%5Cn%5Cn%24%7Ba%7D%60%3Bwindow.location.href%3D%22obsidian%3A%2F%2Fnew%3Fname%3D%22%2Br%2B%22%26content%3D%22%2BencodeURIComponent(u)%7D)%3B%7D)()%3B
  30. Stephan Ango revised this gist Aug 5, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion obsidian-web-clipper.min.js
    Original file line number Diff line number Diff line change
    @@ -1 +1 @@
    Promise.all([import("https://unpkg.com/turndown@6.0.0?module"),import("https://unpkg.com/@tehshrike/readability@0.2.0")]).then(async([{default:e},{default:t}])=>{const{title:n,byline:o,content:i}=new t(document.cloneNode(!0)).parse(),l=n.replace(":","").replace(/\//g,"-").replace(/\\/g,"-"),r=new e({headingStyle:"atx",hr:"---",bulletListMarker:"-",codeBlockStyle:"fenced",emDelimiter:"*"}).turndown(i);const c=function(e){var t=e.getFullYear().toString(),n=(e.getMonth()+1).toString(),o=e.getDate().toString(),i=n.split(""),l=o.split("");return t+"-"+(i[1]?n:"0"+i[0])+"-"+(l[1]?o:"0"+l[0])}(new Date),a=`author:: ${o}\nsource:: [${n}](${document.URL})\nclipped:: [[${c}]]\npublished:: \n\n#clippings\n\n${r}`;window.location.href="obsidian://new?name="+l+"&content="+encodeURIComponent(a)});
    javascript:(function()%7BPromise.all(%5Bimport(%22https%3A%2F%2Funpkg.com%2Fturndown%406.0.0%3Fmodule%22)%2Cimport(%22https%3A%2F%2Funpkg.com%2F%40tehshrike%2Freadability%400.2.0%22)%5D).then(async(%5B%7Bdefault%3Ae%7D%2C%7Bdefault%3At%7D%5D)%3D%3E%7Bconst%7Btitle%3An%2Cbyline%3Ao%2Ccontent%3Ai%7D%3Dnew%20t(document.cloneNode(!0)).parse()%2Cl%3Dn.replace(%22%3A%22%2C%22%22).replace(%2F%5C%2F%2Fg%2C%22-%22).replace(%2F%5C%5C%2Fg%2C%22-%22)%2Cr%3Dnew%20e(%7BheadingStyle%3A%22atx%22%2Chr%3A%22---%22%2CbulletListMarker%3A%22-%22%2CcodeBlockStyle%3A%22fenced%22%2CemDelimiter%3A%22*%22%7D).turndown(i)%3Bconst%20c%3Dfunction(e)%7Bvar%20t%3De.getFullYear().toString()%2Cn%3D(e.getMonth()%2B1).toString()%2Co%3De.getDate().toString()%2Ci%3Dn.split(%22%22)%2Cl%3Do.split(%22%22)%3Breturn%20t%2B%22-%22%2B(i%5B1%5D%3Fn%3A%220%22%2Bi%5B0%5D)%2B%22-%22%2B(l%5B1%5D%3Fo%3A%220%22%2Bl%5B0%5D)%7D(new%20Date)%2Ca%3D%60author%3A%3A%20%24%7Bo%7D%5Cnsource%3A%3A%20%5B%24%7Bn%7D%5D(%24%7Bdocument.URL%7D)%5Cnclipped%3A%3A%20%5B%5B%24%7Bc%7D%5D%5D%5Cnpublished%3A%3A%20%5Cn%5Cn%23clippings%5Cn%5Cn%24%7Br%7D%60%3Bwindow.location.href%3D%22obsidian%3A%2F%2Fnew%3Fname%3D%22%2Bl%2B%22%26content%3D%22%2BencodeURIComponent(a)%7D)%3B%7D)()%3B