+
diff --git a/src/icons/bluesky.svg b/src/icons/bluesky.svg
new file mode 100644
index 0000000..2f133ab
--- /dev/null
+++ b/src/icons/bluesky.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/shareon.css b/src/shareon.css
index 4a3a43c..1a1cd8a 100644
--- a/src/shareon.css
+++ b/src/shareon.css
@@ -73,6 +73,13 @@
vertical-align: bottom;
}
+.shareon > .bluesky {
+ background-color: #0285ff;
+}
+.shareon > .bluesky:before {
+ background-image: url("icons/bluesky.svg");
+}
+
.shareon > .copy-url:before {
background-image: url("icons/copy-url.svg");
}
diff --git a/src/shareon.js b/src/shareon.js
index 823d8f0..15713d3 100644
--- a/src/shareon.js
+++ b/src/shareon.js
@@ -18,6 +18,7 @@ import "./shareon.css";
* }) => string}}
*/
const urlBuilderMap = {
+ bluesky: (d) => `https://bsky.app/intent/compose?text=${d.text || d.title}%0A%0A${d.url}`,
facebook: (d) => `https://www.facebook.com/sharer/sharer.php?u=${d.url}${d.hashtags ? `&hashtag=%23${d.hashtags.split('%2C')[0]}` : ''}`,
fediverse: (d) => `https://${d.s2fInstance}/?text=${d.title}%0D%0A${d.url}${d.text ? `%0D%0A%0D%0A${d.text}` : ''}${d.via ? `%0D%0A%0D%0A${d.via}` : ''}`,
email: (d) => `mailto:?subject=${d.title}&body=${d.url}`,