diff --git a/.husky/.gitignore b/.husky/.gitignore
new file mode 100644
index 00000000..31354ec1
--- /dev/null
+++ b/.husky/.gitignore
@@ -0,0 +1 @@
+_
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 00000000..36af2198
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+npx lint-staged
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 00000000..825c83e0
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1,2 @@
+registry=https://registry.npmjs.org/
+
diff --git a/.prettierrc.js b/.prettierrc.js
new file mode 100644
index 00000000..e10a46d9
--- /dev/null
+++ b/.prettierrc.js
@@ -0,0 +1,5 @@
+module.exports = {
+ semi: false,
+ singleQuote: true,
+ trailingComma: 'all',
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 282eea26..8a3750b9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,23 @@
# Changelog
+## v2.3.0, 2023-10-19
+
+Fetched from [heiseonline/shariff](https://github.com/heiseonline/shariff):
+
+- Remove AddThis service ([heiseonline#424](https://github.com/heiseonline/shariff/pull/424)).
+- Add button for Mastodon/Fediverse ([heiseonline#405](https://github.com/heiseonline/shariff/pull/405)).
+- Twitter: Updated max text length ([heiseonline#401](https://github.com/heiseonline/shariff/pull/401)).
+- Feature: copy to clipboard ([heiseonline#389](https://github.com/heiseonline/shariff/pull/389)).
+- Add support for shariff-share custom event ([heiseonline#266](https://github.com/heiseonline/shariff/pull/266)).
+- Compatibility to WordPress Theme Twentyseventeen ([heiseonline#265](https://github.com/heiseonline/shariff/pull/265)).
+- Update README.md to https ([heiseonline#432](https://github.com/heiseonline/shariff/pull/432)).
+- Code style changes.
+- Dependency updates.
+
+Fetched open pull requests from [heiseonline/shariff](https://github.com/heiseonline/shariff):
+
+- Fix missing services in demo, fix README files and add missing CSS for fediverse ([heiseonline#434](https://github.com/heiseonline/shariff/pull/434)).
+
## v2.2.3, 2021-06-13
Fixed npm package.
diff --git a/README-de.md b/README-de.md
index 9b2f3100..672ffd4b 100644
--- a/README-de.md
+++ b/README-de.md
@@ -33,7 +33,7 @@ Code-Beispiel:
-
+
My article
@@ -43,10 +43,10 @@ Code-Beispiel:
Fortgeschrittene Optionen:
-
+
-
+
```
@@ -106,7 +106,7 @@ Unterschiede zu Shariff sind mit (1), (2) usw. markiert und werden unterhalb der
| `data-media-url` | Zu teilendes Bild (pinterest) | `null` |
| `data-orientation` | Anordnung der Buttons. Verfügbar: `horizontal`, `vertical` | `horizontal` |
| `data-referrer-track` | Wenn angegeben, wird dieser String an die geteilte URL angehängt. Mit `null` deaktivieren. | `null` |
-| `data-services` (3) | Liste der Services, die verwendet werden sollen. Für die Verwendung im `data`-Attribut muss die Angabe Entity-enkodiert werden. Die Reihenfolge wird berücksichtigt. Beispiel: `data-services="["facebook","twitter"]"` Verfügbare Dienste: `twitter`, `facebook`, `facebooklike`, `linkedin`, `pinterest`, `xing`, `whatsapp`, `mail`, `info`, `addthis`, `tumblr`, `flattr`, `diaspora`, `reddit`, `stumbleupon`, `threema`, `weibo`, `tencent-weibo`, `qzone`, `print`, `telegram`, `vk`, `flipboard`, `pocket`, `buffer` | `twitter`, `facebooklike`, `facebook`, `info` |
+| `data-services` (3) | Liste der Services, die verwendet werden sollen. Für die Verwendung im `data`-Attribut muss die Angabe Entity-enkodiert werden. Die Reihenfolge wird berücksichtigt. Beispiel: `data-services="["facebook","twitter"]"` Verfügbare Dienste: `buffer`, `clipboard`, `diaspora`, `facebook`, `facebooklike`, `fediverse`, `flattr`, `flipboard`, `info`, `linkedin`, `mail`, `pinterest`, `pocket`, `print`, `qzone`, `reddit`, `stumbleupon`, `telegram`, `tencent`, `threema`, `tumblr`, `twitter`, `vk`, `weibo`, `whatsapp`, `xing` | `twitter`, `facebooklike`, `facebook`, `info` |
| `data-theme` | Farbschema auswählen. Verfügbar: `standard`, `grey` und `white`. | `standard` |
| `data-title` | Titel der zu teilenden Seite. | Entweder `DC.title`/`DC.creator` oder `` |
| `data-twitter-via` | User von dem der Tweet ursprünglich stammt. | `null` |
@@ -114,7 +114,7 @@ Unterschiede zu Shariff sind mit (1), (2) usw. markiert und werden unterhalb der
(1) Diese Option gibt es nur bei Shariff-Plus.
-(2) Der Standardwert bei Shariff ist `http://ct.de/-2467514`.
+(2) Der Standardwert bei Shariff ist `https://ct.de/-2467514`.
(3) Den Service `facebooklike` gibt es nur bei Shariff-Plus.
@@ -131,6 +131,36 @@ new Shariff(buttonsContainer, {
});
```
+## Events
+
+Beim Klick auf einen Share-Button wird der `shariff-share` Event ausgelöst.
+
+```js
+$('body').on('shariff-share', function(event) {
+ var service = event.details;
+ ...
+});
+```
+
+Der Event kann verwendet werden um die Interaktionen mittels Analyse-Software aufzuzeichnen. Eine saubere Integration mit dem Tracker setzt voraus, dass der Event-Handler erst registriert wird nachdem das Analytics-Script geladen wurde.
+
+**Beispiel für Piwik:**
+
+```js
+(function() {
+ var _my_piwik_onload = function() {
+ var piwik = this;
+
+ $('body').on('shariff-share', function(event) {
+ var service = event.detail;
+ piwik.trackEvent('Sharing', service.name);
+ });
+ }
+
+ _paq.push([ _my_piwik_onload ]);
+})();
+```
+
## Unterstützte Browser
Shariff-Plus unterstützt folgende Browser:
@@ -146,10 +176,11 @@ Die jeweils aktuell letzten und vorletzten Versionen von Firefox, Google Chrome,
Shariff-Plus unterstützt folgende Social-Sharing-Services:
-- AddThis
- buffer
+- Clipboard
- diaspora*
- facebook
+- Fediverse
- Flattr
- Flipboard
- LinkedIn
@@ -180,13 +211,13 @@ Die Projekt-Homepage ist auch auf [Englisch](https://www.richard-fath.de/en/soft
Wenn in den Shariff-Buttons die Share-Counts angezeigt werden sollen, wird das folgende Backend benötigt:
-* [shariff-backend-php](http://github.com/heiseonline/shariff-backend-php)
+* [shariff-backend-php](https://github.com/heiseonline/shariff-backend-php)
Drittanbieter-Backends:
* [shariff-backend-java](https://github.com/shred/shariff-backend-java)
-Die URL, unter der das Backend erreichbar ist, muss im `data`-Attribut `data-backend-url` angegeben werden. Ein Backend unter der URL `http://example.com/my-shariff-backend/` wird in `data-backend-url` so angegeben: `/my-shariff-backend/`. Den Rest erledigt das Skript.
+Die URL, unter der das Backend erreichbar ist, muss im `data`-Attribut `data-backend-url` angegeben werden. Ein Backend unter der URL `https://example.com/my-shariff-backend/` wird in `data-backend-url` so angegeben: `/my-shariff-backend/`. Den Rest erledigt das Skript.
## Drittanbieter-Integrationen
diff --git a/README.md b/README.md
index 10551334..c5704dee 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@ Usage example:
More advanced buttons:
-
+
@@ -106,7 +106,7 @@ Differences to Shariff are marked with (1), (2) and so on and explained below th
| `data-media-url` | Media url to be shared (pinterest) | `null` |
| `data-orientation` | `vertical` will stack the buttons vertically. | `horizontal` |
| `data-referrer-track` | A string that will be appended to the share url. Can be disabled using `null`. | `null` |
-| `data-services` (3) | An entity-encoded JSON string containing an array of service names to be enabled. Example: `data-services="["facebook","twitter"]"` Available service names: `twitter`, `facebook`, `facebooklike`, `linkedin`, `pinterest`, `xing`, `whatsapp`, `mail`, `info`, `addthis`, `tumblr`, `flattr`, `diaspora`, `reddit`, `stumbleupon`, `threema`, `weibo`, `tencent-weibo`, `qzone`, `print`, `telegram`, `vk`, `flipboard`, `pocket`, `buffer` | `twitter`, `facebooklike`, `facebook`, `info` |
+| `data-services` (3) | An entity-encoded JSON string containing an array of service names to be enabled. Example: `data-services="["facebook","twitter"]"` Available service names: `buffer`, `clipboard`, `diaspora`, `facebook`, `facebooklike`, `fediverse`, `flattr`, `flipboard`, `info`, `linkedin`, `mail`, `pinterest`, `pocket`, `print`, `qzone`, `reddit`, `stumbleupon`, `telegram`, `tencent`, `threema`, `tumblr`, `twitter`, `vk`, `weibo`, `whatsapp`, `xing` | `twitter`, `facebooklike`, `facebook`, `info` |
| `data-theme` | We include 3 color schemes, `standard`, `grey` and `white`. | `standard` |
| `data-title` | Title to be used as share text in Twitter/Whatsapp | page's `DC.title`/`DC.creator` or `` |
| `data-twitter-via` | Screen name of the user to attribute the Tweet to | `null` |
@@ -114,7 +114,7 @@ Differences to Shariff are marked with (1), (2) and so on and explained below th
(1) This option exists only in Shariff-Plus.
-(2) The default value of Shariff is `http://ct.de/-2467514`.
+(2) The default value of Shariff is `https://ct.de/-2467514`.
(3) The service `facebooklike` exists only in Shariff-Plus.
@@ -132,6 +132,36 @@ new Shariff(buttonsContainer, {
});
```
+## Events
+
+Shariff buttons emit the `shariff-share` event if they are clicked.
+
+```js
+$('body').on('shariff-share', function(event) {
+ var service = event.details;
+ ...
+});
+```
+
+This can be used to track shares using analytics software. It is recommended to register the event handler only after the analytics script becomes available.
+
+**Piwik example:**
+
+```js
+(function() {
+ var _my_piwik_onload = function() {
+ var piwik = this;
+
+ $('body').on('shariff-share', function(event) {
+ var service = event.detail;
+ piwik.trackEvent('Sharing', service.name);
+ });
+ }
+
+ _paq.push([ _my_piwik_onload ]);
+})();
+```
+
## Supported browsers
Shariff-Plus supports the following Browsers:
@@ -147,10 +177,11 @@ The current and previous major releases of Firefox, Google Chrome, Internet Expl
Shariff-Plus supports the following social sharing services:
-- AddThis
- buffer
+- Clipboard
- diaspora*
- facebook
+- Fediverse
- Flattr
- Flipboard
- LinkedIn
@@ -181,13 +212,13 @@ The project homepage is also available in [English](https://www.richard-fath.de/
In order to display share counts with Shariff, you need the following backend:
-* [shariff-backend-php](http://github.com/heiseonline/shariff-backend-php)
+* [shariff-backend-php](https://github.com/heiseonline/shariff-backend-php)
Third-party backends:
* [shariff-backend-java](https://github.com/shred/shariff-backend-java)
-Once you have one of these backends up and running, insert its URL into the `data-backend-url` attribute. For example, if the backend runs under `http://example.com/my-shariff-backend/`, the `data-backend-url` should be `/my-shariff-backend/`. The script will handle the rest.
+Once you have one of these backends up and running, insert its URL into the `data-backend-url` attribute. For example, if the backend runs under `https://example.com/my-shariff-backend/`, the `data-backend-url` should be `/my-shariff-backend/`. The script will handle the rest.
## Third-party integrations
diff --git a/demo/data-title.html b/demo/data-title.html
index c9854d37..77d76788 100644
--- a/demo/data-title.html
+++ b/demo/data-title.html
@@ -14,29 +14,29 @@