@ecency/render-helper 2.4.20 → 2.4.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +30 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.cjs +30 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.mjs +30 -1
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/node/index.cjs
CHANGED
|
@@ -109,6 +109,8 @@ var SKATEHIVE_IPFS_REGEX = /^https?:\/\/ipfs\.skatehive\.app\/ipfs\/([^/?#]+)/i;
|
|
|
109
109
|
var ARCH_REGEX = /^(https?:)?\/\/archive.org\/embed\/[^/?#]+(?:$|[?#])/i;
|
|
110
110
|
var SPEAK_REGEX = /(?:https?:\/\/(?:(?:play\.)?3speak\.([a-z]+)\/watch\?v=)|(?:(?:play\.)?3speak\.([a-z]+)\/embed\?v=))([A-Za-z0-9_\-\.\/]+)(&.*)?/i;
|
|
111
111
|
var SPEAK_EMBED_REGEX = /^(https?:)?\/\/(?:play\.)?3speak\.([a-z]+)\/(?:embed|watch)\?.+$/i;
|
|
112
|
+
var SPEAK_AUDIO_REGEX = /https?:\/\/audio\.3speak\.tv\/play\?[^\s]+/i;
|
|
113
|
+
var SPEAK_AUDIO_EMBED_REGEX = /^https?:\/\/audio\.3speak\.tv\/play\?.+$/i;
|
|
112
114
|
var TWITTER_REGEX = /(?:https?:\/\/(?:(?:twitter\.com\/(.*?)\/status\/(.*))))/gi;
|
|
113
115
|
var SPOTIFY_REGEX = /^https:\/\/open\.spotify\.com\/playlist\/(.*)?$/gi;
|
|
114
116
|
var RUMBLE_REGEX = /^https:\/\/rumble.com\/embed\/([a-zA-Z0-9-]+)\/\?pub=\w+/;
|
|
@@ -396,7 +398,7 @@ function img(el, state) {
|
|
|
396
398
|
}
|
|
397
399
|
const cls = el.getAttribute("class") || "";
|
|
398
400
|
const shouldReplace = !cls.includes("no-replace");
|
|
399
|
-
const hasAlreadyProxied = src.startsWith("https://images.ecency.com");
|
|
401
|
+
const hasAlreadyProxied = src.startsWith("https://images.ecency.com/p/") || src.startsWith("https://images.ecency.com/u/") || /^https:\/\/images\.ecency\.com\/\d+x\d+\//.test(src);
|
|
400
402
|
if (shouldReplace && !hasAlreadyProxied) {
|
|
401
403
|
const proxified = proxifyImageSrc(decodedSrc);
|
|
402
404
|
if (proxified) {
|
|
@@ -957,6 +959,19 @@ function a(el, forApp, parentDomain = "ecency.com", seoContext) {
|
|
|
957
959
|
}
|
|
958
960
|
}
|
|
959
961
|
}
|
|
962
|
+
if (href.match(SPEAK_AUDIO_REGEX) && el.textContent.trim() === href) {
|
|
963
|
+
el.setAttribute("class", "markdown-audio-link markdown-audio-link-speak");
|
|
964
|
+
el.removeAttribute("href");
|
|
965
|
+
const embedSrc = /[?&]iframe=/.test(href) ? href : `${href}&iframe=1`;
|
|
966
|
+
const finalSrc = /[?&]mode=/.test(embedSrc) ? embedSrc : `${embedSrc}&mode=compact`;
|
|
967
|
+
el.textContent = "";
|
|
968
|
+
const ifr = el.ownerDocument.createElement("iframe");
|
|
969
|
+
ifr.setAttribute("frameborder", "0");
|
|
970
|
+
ifr.setAttribute("src", finalSrc);
|
|
971
|
+
ifr.setAttribute("sandbox", "allow-scripts allow-same-origin allow-popups");
|
|
972
|
+
el.appendChild(ifr);
|
|
973
|
+
return;
|
|
974
|
+
}
|
|
960
975
|
const matchT = href.match(TWITTER_REGEX);
|
|
961
976
|
if (matchT && el.textContent.trim() === href) {
|
|
962
977
|
TWITTER_REGEX.lastIndex = 0;
|
|
@@ -1078,6 +1093,20 @@ function iframe(el, parentDomain = "ecency.com") {
|
|
|
1078
1093
|
el.setAttribute("class", "speak-iframe");
|
|
1079
1094
|
return;
|
|
1080
1095
|
}
|
|
1096
|
+
if (src.match(SPEAK_AUDIO_EMBED_REGEX)) {
|
|
1097
|
+
let normalizedSrc = src;
|
|
1098
|
+
if (!/[?&]iframe=/.test(normalizedSrc)) {
|
|
1099
|
+
normalizedSrc = `${normalizedSrc}&iframe=1`;
|
|
1100
|
+
}
|
|
1101
|
+
if (!/[?&]mode=/.test(normalizedSrc)) {
|
|
1102
|
+
normalizedSrc = `${normalizedSrc}&mode=compact`;
|
|
1103
|
+
}
|
|
1104
|
+
el.setAttribute("src", normalizedSrc);
|
|
1105
|
+
el.setAttribute("class", "speak-audio-iframe");
|
|
1106
|
+
el.setAttribute("frameborder", "0");
|
|
1107
|
+
el.setAttribute("sandbox", "allow-scripts allow-same-origin allow-popups");
|
|
1108
|
+
return;
|
|
1109
|
+
}
|
|
1081
1110
|
if (src.match(SPOTIFY_EMBED_REGEX)) {
|
|
1082
1111
|
el.setAttribute("src", src);
|
|
1083
1112
|
el.setAttribute("sandbox", "allow-scripts allow-same-origin allow-popups");
|