Skip to content

Instantly share code, notes, and snippets.

@willsheppard
Forked from jsit/pinboard-bookmarklet.js
Created January 17, 2024 16:15
Show Gist options
  • Save willsheppard/b5413ad249aeed3bf7cf9357e79895ae to your computer and use it in GitHub Desktop.
Save willsheppard/b5413ad249aeed3bf7cf9357e79895ae to your computer and use it in GitHub Desktop.
Pinboard Bookmarklet -- Use text selection for description if available, otherwise use meta description, and include referrer in description if exists.
javascript: q = location.href;
q = q.replace(/[?&]utm_[^&]*/g, "");
q = q.replace(/[?&]mc_[^&]*/g, "");
q = q.replace(/[?&]src=[^&]*/g, "");
q = q.replace(/[?&]ref=[^&]*/g, "");
desc = "";
if (document.getElementsByName("description").length > 0) {
desc = document.getElementsByName("description")[0].getAttribute("content")
"\n\n"
} else if (document.getElementsByName("Description").length > 0) {
desc = document.getElementsByName("Description")[0].getAttribute("content")
"\n\n"
} else {
var metas = document.getElementsByTagName("meta");
for (var pcounter = 0; pcounter < metas.length; pcounter) {
if (metas[pcounter].getAttribute("property") == "og:description") desc = metas[pcounter].getAttribute("content")
"\n\n"
}
}
if (document.getSelection) {
d = document.getSelection()
} else {
d = ""
}
if (document.referrer) {
via = "\n\nvia: "
document.referrer
} else {
via = ""
}
p = document.title;
void open("https://pinboard.in/add?showtags=yes&url="
encodeURIComponent(q)
"&description="
encodeURIComponent(desc)
"\n\n"
encodeURIComponent(d) encodeURIComponent(via)
"&title="
encodeURIComponent(p), "Pinboard", "toolbar=no,scrollbars=yes,width=750,height=700");
javascript:q=location.href;q=q.replace(/%5B?&%5Dutm_%5B%5E&%5D*/g,%22%22);q=q.replace(/%5B?&%5Dmc_%5B%5E&%5D*/g,%22%22);q=q.replace(/%5B?&%5Dsrc=%5B%5E&%5D*/g,%22%22);q=q.replace(/%5B?&%5Dref=%5B%5E&%5D*/g,%22%22);desc=%22%22;if(document.getElementsByName(%22description%22).length%3E0)%7Bdesc=document.getElementsByName(%22description%22)%5B0%5D.getAttribute(%22content%22)+%22%5Cn%5Cn%22%7Delse%20if(document.getElementsByName(%22Description%22).length%3E0)%7Bdesc=document.getElementsByName(%22Description%22)%5B0%5D.getAttribute(%22content%22)+%22%5Cn%5Cn%22%7Delse%7Bvar%20metas=document.getElementsByTagName(%22meta%22);for(var%20pcounter=0;pcounter%3Cmetas.length;pcounter++)%7Bif(metas%5Bpcounter%5D.getAttribute(%22property%22)==%22og:description%22)desc=metas%5Bpcounter%5D.getAttribute(%22content%22)+%22%5Cn%5Cn%22%7D%7Dif(document.getSelection)%7Bd=document.getSelection()%7Delse%7Bd=%22%22%7Dif(document.referrer)%7Bvia=%22%5Cn%5Cnvia:%20%22+document.referrer%7Delse%7Bvia=%22%22%7Dp=document.title;void%20open(%22https://pinboard.in/add?showtags=yes&url=%22+encodeURIComponent(q)+%22&description=%22+encodeURIComponent(desc)+%22%5Cn%5Cn%22+encodeURIComponent(d)+encodeURIComponent(via)+%22&title=%22+encodeURIComponent(p),%22Pinboard%22,%22toolbar=no,scrollbars=yes,width=750,height=700%22);
@willsheppard
Copy link
Author

Latest version:

javascript:q=location.href;q=q.replace(/%5B?&%5Dutm_%5B%5E&%5D*/g,"");q=q.replace(/%5B?&%5Dmc_%5B%5E&%5D*/g,"");q=q.replace(/%5B?&%5Dsrc=%5B%5E&%5D*/g,"");q=q.replace(/%5B?&%5Dref=%5B%5E&%5D*/g,"");desc="";if(document.getElementsByName("description").length>0)%7Bdesc=document.getElementsByName("description")%5B0%5D.getAttribute("content")+"%5Cn%5Cn"%7Delse if(document.getElementsByName("Description").length>0)%7Bdesc=document.getElementsByName("Description")%5B0%5D.getAttribute("content")+"%5Cn%5Cn"%7Delse%7Bvar metas=document.getElementsByTagName("meta");for(var pcounter=0;pcounter<metas.length;pcounter++)%7Bif(metas%5Bpcounter%5D.getAttribute("property")=="og:description")desc=metas%5Bpcounter%5D.getAttribute("content")+"%5Cn%5Cn"%7D%7Dif(document.getSelection)%7Bd=document.getSelection()%7Delse%7Bd=""%7Dif(document.referrer)%7Bvia="%5Cn%5Cnvia: "+document.referrer%7Delse%7Bvia=""%7Dp=document.title;void open("https://pinboard.in/add?showtags=yes&url="+encodeURIComponent(q)+"&title="+encodeURIComponent(p),"Pinboard","toolbar=no,scrollbars=yes,width=750,height=700");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment