From 57a94fe476fefacdce012a74a756de0d082d3fa2 Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 14:58:50 +0300 Subject: [PATCH 01/10] Add WhatsApp. Closed #11 --- example/index.html | 1 + src/share-buttons.js | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/example/index.html b/example/index.html index becdbfb..7cb527c 100644 --- a/example/index.html +++ b/example/index.html @@ -38,6 +38,7 @@ LinkedIn Pinterest Skype + WhatsApp EMail diff --git a/src/share-buttons.js b/src/share-buttons.js index 2760689..b9f1858 100644 --- a/src/share-buttons.js +++ b/src/share-buttons.js @@ -20,6 +20,7 @@ IN_LINK_FORMAT = 'https://www.linkedin.com/shareArticle?mini=true&url={0}&title={1}&summary={2}&source={0}', PI_LINK_FORMAT = 'https://pinterest.com/pin/create/button/?url={0}&media={0}&description={1}', SK_LINK_FORMAT = 'https://web.skype.com/share?url={0}&source=button&text={1}', + WA_LINK_FORMAT = 'whatsapp://send?text={0}%20{1}', MAIL_LINK_FORMAT = 'mailto:?Subject={0}{1}&body={2}{3}', FB_CLASS_NAME = 'fb', VK_CLASS_NAME = 'vk', @@ -31,6 +32,7 @@ IN_CLASS_NAME = 'in', PI_CLASS_NAME = 'pi', SK_CLASS_NAME = 'sk', + WA_CLASS_NAME = 'wa', MAIL_CLASS_NAME = 'mail'; /** @@ -251,6 +253,15 @@ titleDef); break; + case WA_CLASS_NAME: + popupCenter( + stringFormat(WA_LINK_FORMAT, [ + mergeForTitle([title, desc]), + url + ]), + titleDef); + break; + case MAIL_CLASS_NAME: if (title.length > 0 && desc.length > 0) { text = mergeForTitle([title, desc]); From 8ddefd3c5208316a28490b8bc9835501eb50e75b Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:04:09 +0300 Subject: [PATCH 02/10] Add Odnoklassniki. Closed #12 --- example/index.html | 1 + src/share-buttons.js | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/example/index.html b/example/index.html index 7cb527c..0904519 100644 --- a/example/index.html +++ b/example/index.html @@ -39,6 +39,7 @@ Pinterest Skype WhatsApp + Odnoklassniki EMail diff --git a/src/share-buttons.js b/src/share-buttons.js index b9f1858..0ba3128 100644 --- a/src/share-buttons.js +++ b/src/share-buttons.js @@ -21,6 +21,7 @@ PI_LINK_FORMAT = 'https://pinterest.com/pin/create/button/?url={0}&media={0}&description={1}', SK_LINK_FORMAT = 'https://web.skype.com/share?url={0}&source=button&text={1}', WA_LINK_FORMAT = 'whatsapp://send?text={0}%20{1}', + OK_LINK_FORMAT = 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={0}', MAIL_LINK_FORMAT = 'mailto:?Subject={0}{1}&body={2}{3}', FB_CLASS_NAME = 'fb', VK_CLASS_NAME = 'vk', @@ -33,6 +34,7 @@ PI_CLASS_NAME = 'pi', SK_CLASS_NAME = 'sk', WA_CLASS_NAME = 'wa', + OK_CLASS_NAME = 'ok', MAIL_CLASS_NAME = 'mail'; /** @@ -262,6 +264,12 @@ titleDef); break; + case OK_CLASS_NAME: + popupCenter( + stringFormat(OK_LINK_FORMAT, [ url ]), + titleDef); + break; + case MAIL_CLASS_NAME: if (title.length > 0 && desc.length > 0) { text = mergeForTitle([title, desc]); From cba25e7c0f1ecb2a43a1ec8732cd34dec4068377 Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:09:27 +0300 Subject: [PATCH 03/10] Add Tumblr. Closed #13 --- example/index.html | 1 + src/share-buttons.js | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/example/index.html b/example/index.html index 0904519..9fd0704 100644 --- a/example/index.html +++ b/example/index.html @@ -40,6 +40,7 @@ Skype WhatsApp Odnoklassniki + Tumblr EMail diff --git a/src/share-buttons.js b/src/share-buttons.js index 0ba3128..8e99576 100644 --- a/src/share-buttons.js +++ b/src/share-buttons.js @@ -22,6 +22,7 @@ SK_LINK_FORMAT = 'https://web.skype.com/share?url={0}&source=button&text={1}', WA_LINK_FORMAT = 'whatsapp://send?text={0}%20{1}', OK_LINK_FORMAT = 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={0}', + TU_LINK_FORMAT = 'https://www.tumblr.com/widgets/share/tool?posttype=link&title={0}&caption={0}&content={1}&canonicalUrl={1}&shareSource=tumblr_share_button', MAIL_LINK_FORMAT = 'mailto:?Subject={0}{1}&body={2}{3}', FB_CLASS_NAME = 'fb', VK_CLASS_NAME = 'vk', @@ -35,6 +36,7 @@ SK_CLASS_NAME = 'sk', WA_CLASS_NAME = 'wa', OK_CLASS_NAME = 'ok', + TU_CLASS_NAME = 'tu', MAIL_CLASS_NAME = 'mail'; /** @@ -270,6 +272,15 @@ titleDef); break; + case TU_CLASS_NAME: + popupCenter( + stringFormat(TU_LINK_FORMAT, [ + mergeForTitle([title, desc]), + url + ]), + titleDef); + break; + case MAIL_CLASS_NAME: if (title.length > 0 && desc.length > 0) { text = mergeForTitle([title, desc]); From eaf94e9874a02b326fde808eb621874279288faf Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:19:38 +0300 Subject: [PATCH 04/10] Add HackerNews. Closed #14 --- example/index.html | 1 + src/share-buttons.js | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/example/index.html b/example/index.html index 9fd0704..21b6e2a 100644 --- a/example/index.html +++ b/example/index.html @@ -41,6 +41,7 @@ WhatsApp Odnoklassniki Tumblr + Hacker News EMail diff --git a/src/share-buttons.js b/src/share-buttons.js index 8e99576..dd00d71 100644 --- a/src/share-buttons.js +++ b/src/share-buttons.js @@ -23,6 +23,7 @@ WA_LINK_FORMAT = 'whatsapp://send?text={0}%20{1}', OK_LINK_FORMAT = 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={0}', TU_LINK_FORMAT = 'https://www.tumblr.com/widgets/share/tool?posttype=link&title={0}&caption={0}&content={1}&canonicalUrl={1}&shareSource=tumblr_share_button', + HN_LINK_FORMAT = 'https://news.ycombinator.com/submitlink?t={0}&u={1}', MAIL_LINK_FORMAT = 'mailto:?Subject={0}{1}&body={2}{3}', FB_CLASS_NAME = 'fb', VK_CLASS_NAME = 'vk', @@ -37,6 +38,7 @@ WA_CLASS_NAME = 'wa', OK_CLASS_NAME = 'ok', TU_CLASS_NAME = 'tu', + HN_CLASS_NAME = 'hn', MAIL_CLASS_NAME = 'mail'; /** @@ -281,6 +283,15 @@ titleDef); break; + case HN_CLASS_NAME: + popupCenter( + stringFormat(HN_LINK_FORMAT, [ + mergeForTitle([title, desc]), + url + ]), + titleDef); + break; + case MAIL_CLASS_NAME: if (title.length > 0 && desc.length > 0) { text = mergeForTitle([title, desc]); From 728a9932023d32e1cf2c04685aed791747cb1c2b Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:30:25 +0300 Subject: [PATCH 05/10] Add Xing. Closed #15 --- example/index.html | 1 + src/share-buttons.js | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/example/index.html b/example/index.html index 21b6e2a..15821df 100644 --- a/example/index.html +++ b/example/index.html @@ -42,6 +42,7 @@ Odnoklassniki Tumblr Hacker News + Xing EMail diff --git a/src/share-buttons.js b/src/share-buttons.js index dd00d71..c46e6b7 100644 --- a/src/share-buttons.js +++ b/src/share-buttons.js @@ -24,6 +24,7 @@ OK_LINK_FORMAT = 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={0}', TU_LINK_FORMAT = 'https://www.tumblr.com/widgets/share/tool?posttype=link&title={0}&caption={0}&content={1}&canonicalUrl={1}&shareSource=tumblr_share_button', HN_LINK_FORMAT = 'https://news.ycombinator.com/submitlink?t={0}&u={1}', + XI_LINK_FORMAT = 'https://www.xing.com/app/user?op=share;url={0};title={1}', MAIL_LINK_FORMAT = 'mailto:?Subject={0}{1}&body={2}{3}', FB_CLASS_NAME = 'fb', VK_CLASS_NAME = 'vk', @@ -39,6 +40,7 @@ OK_CLASS_NAME = 'ok', TU_CLASS_NAME = 'tu', HN_CLASS_NAME = 'hn', + XI_CLASS_NAME = 'xi', MAIL_CLASS_NAME = 'mail'; /** @@ -292,6 +294,15 @@ titleDef); break; + case XI_CLASS_NAME: + popupCenter( + stringFormat(XI_LINK_FORMAT, [ + url, + mergeForTitle([title, desc]) + ]), + titleDef); + break; + case MAIL_CLASS_NAME: if (title.length > 0 && desc.length > 0) { text = mergeForTitle([title, desc]); From 02fceb987291a79acaef6358a3854ab438374223 Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:35:35 +0300 Subject: [PATCH 06/10] Add Print button. Closed #16 --- example/index.html | 1 + src/share-buttons.js | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/example/index.html b/example/index.html index 15821df..7e73929 100644 --- a/example/index.html +++ b/example/index.html @@ -44,6 +44,7 @@ Hacker News Xing EMail + Print diff --git a/src/share-buttons.js b/src/share-buttons.js index c46e6b7..f6b6c6d 100644 --- a/src/share-buttons.js +++ b/src/share-buttons.js @@ -41,7 +41,8 @@ TU_CLASS_NAME = 'tu', HN_CLASS_NAME = 'hn', XI_CLASS_NAME = 'xi', - MAIL_CLASS_NAME = 'mail'; + MAIL_CLASS_NAME = 'mail', + PRINT_CLASS_NAME = 'print'; /** * Method for get string in the special format by arguments @@ -317,6 +318,10 @@ location.href = stringFormat(MAIL_LINK_FORMAT, [title, titleDef, text, url]); break; + case PRINT_CLASS_NAME: + window.print(); + break; + default: break; } From feff04233f8525cd5792aecfcd1c701eb30fbcd9 Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:38:25 +0300 Subject: [PATCH 07/10] Update README --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index caf25f0..3acc293 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,13 @@ Evernote | ev LinkedIn | in Pinterest | pi Skype | sk +WhatsApp | wa +Odnoklassniki | ok +Tumblr | tu +Hacker News | hn +Xing | xi EMail | mail +Print | print ## Customizing @@ -104,4 +110,4 @@ If your using [Font-Awesome](https://github.com/FortAwesome/Font-Awesome): ---- -© 2015 - 2018 Yauheni Pakala +© 2015 - 2019 Yauheni Pakala From 5934eecef267356216f81ede3c9f64d6eda9fa2d Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:47:15 +0300 Subject: [PATCH 08/10] Update fontawesome. Clean up sample --- example/index.html | 93 ++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 49 deletions(-) diff --git a/example/index.html b/example/index.html index 7e73929..f54cfcf 100644 --- a/example/index.html +++ b/example/index.html @@ -1,57 +1,52 @@ - - - Test page for sharing - - - - + + + Test page for sharing + + + + -

Share this page with:

- - - - - - - - - - - +

Share this page with:

+ + + + + + + \ No newline at end of file From 47991a0c15a533a94be84070cfe74890d6adf53f Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:49:18 +0300 Subject: [PATCH 09/10] Update dev dependecies --- package-lock.json | 35 ++++++++++++++++++----------------- package.json | 2 +- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3a0dad3..a833509 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "share-buttons", - "version": "1.0.0", + "version": "1.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -495,9 +495,9 @@ "dev": true }, "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "dev": true }, "component-emitter": { @@ -1716,15 +1716,16 @@ } }, "gulp-uglify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.0.tgz", - "integrity": "sha1-DfAzHXKg0wLj434QlIXd3zPG0co=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.1.tgz", + "integrity": "sha512-KVffbGY9d4Wv90bW/B1KZJyunLMyfHTBbilpDvmcrj5Go0/a1G3uVpt+1gRBWSw/11dqR3coJ1oWNTt1AiXuWQ==", "dev": true, "requires": { "gulplog": "^1.0.0", "has-gulplog": "^0.1.0", "lodash": "^4.13.1", "make-error-cause": "^1.1.1", + "safe-buffer": "^5.1.2", "through2": "^2.0.0", "uglify-js": "^3.0.5", "vinyl-sourcemaps-apply": "^0.2.0" @@ -2164,15 +2165,15 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true }, "make-error": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", - "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", "dev": true }, "make-error-cause": { @@ -3231,12 +3232,12 @@ "dev": true }, "uglify-js": { - "version": "3.3.27", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.27.tgz", - "integrity": "sha512-O94wxMSb3td/TlofkITYvYIlvIVdldvNXDVRekzK13CQZuL37ua4nrdXX0Ro7MapfUVzglRHs0/+imPRUdOghg==", + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", "dev": true, "requires": { - "commander": "~2.15.0", + "commander": "~2.17.1", "source-map": "~0.6.1" }, "dependencies": { diff --git a/package.json b/package.json index 347d8c7..43cd471 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "homepage": "https://wcoder.github.io/share-buttons", "devDependencies": { "gulp": "^4.0.0", - "gulp-uglify": "^3.0.0" + "gulp-uglify": "^3.0.1" }, "main": "dist/share-buttons.js", "dependencies": {}, From 6abb5d4fb454228128248a65fab522eac428391f Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Mon, 7 Jan 2019 15:50:21 +0300 Subject: [PATCH 10/10] Create new version --- dist/share-buttons.js | 2 +- package.json | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/dist/share-buttons.js b/dist/share-buttons.js index 1c26cf9..fa4a986 100644 --- a/dist/share-buttons.js +++ b/dist/share-buttons.js @@ -1 +1 @@ -!function(p,m){"use strict";(new function(){var s=function(e,n){return e.replace(/\{(\d+)\}/g,function(e,t){return n[t]||e})},u=function(e){return e.join(" - ")};this.i=function(){var e,t=m.querySelectorAll(".share-btn");for(e=t.length;e--;)n(t[e])};var n=function(e){var t,n=e.querySelectorAll("a");for(t=n.length;t--;)r(n[t],{id:"",url:c(e),title:i(e),desc:o(e)})},r=function(e,t){t.id=l(e,"data-id"),t.id&&a(e,"click",t)},c=function(e){return l(e,"data-url")||location.href||" "},i=function(e){return l(e,"data-title")||m.title||" "},o=function(e){var t=m.querySelector("meta[name=description]");return l(e,"data-desc")||t&&l(t,"content")||" "},a=function(e,t,n){var r=function(){d(n.id,n.url,n.title,n.desc)};e.addEventListener?e.addEventListener(t,r):e.attachEvent("on"+t,function(){r.call(e)})},l=function(e,t){return e.getAttribute(t)},h=function(e){return encodeURIComponent(e)},d=function(e,t,n,r){var c=h(t),i=h(r),o=h(n),a=o||i||"";switch(e){case"fb":f(s("https://www.facebook.com/sharer/sharer.php?u={0}",[c]),n);break;case"vk":f(s("https://vk.com/share.php?url={0}&title={1}",[c,u([o,i])]),n);break;case"tw":f(s("https://twitter.com/intent/tweet?url={0}&text={1}",[c,u([o,i])]),n);break;case"tg":f(s("https://t.me/share/url?url={0}&text={1}",[c,u([o,i])]),n);break;case"pk":f(s("https://getpocket.com/edit?url={0}&title={1}",[c,u([o,i])]),n);break;case"re":f(s("https://reddit.com/submit/?url={0}",[c]),n);break;case"ev":f(s("https://www.evernote.com/clip.action?url={0}&t={1}",[c,o]),n);break;case"in":f(s("https://www.linkedin.com/shareArticle?mini=true&url={0}&title={1}&summary={2}&source={0}",[c,o,u([o,i])]),n);break;case"pi":f(s("https://pinterest.com/pin/create/button/?url={0}&media={0}&description={1}",[c,u([o,i])]),n);break;case"sk":f(s("https://web.skype.com/share?url={0}&source=button&text={1}",[c,u([o,i])]),n);break;case"mail":0