diff options
Diffstat (limited to 'vnext/src/utils/embed.js')
-rw-r--r-- | vnext/src/utils/embed.js | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/vnext/src/utils/embed.js b/vnext/src/utils/embed.js index 75985582..b5b4d505 100644 --- a/vnext/src/utils/embed.js +++ b/vnext/src/utils/embed.js @@ -268,13 +268,25 @@ function getEmbeddableLinkTypes() { name: 'Twitter', id: 'embed_twitter_status', className: 'twi compact', + ctsDefault: false, re: /^(?:https?:)?\/\/(?:www\.)?(?:mobile\.)?twitter\.com\/([\w-]+)\/status(?:es)?\/([\d]+)/i, makeNode: function(aNode, reResult, div) { - fetch('https://beta.juick.com/api/oembed?url=' + reResult[0]) - .then(response => response.json()) - .then(json => { - div.innerHTML = json.html - }).catch(console.log) + let [url, , ] = reResult + url = url.replace('mobile.','') + + div.innerHTML = `<blockquote class="twitter-tweet" data-lang="en"><a href="${url}"></a></blockquote>` + + if (window.twttr) { + // https://developer.twitter.com/en/docs/twitter-for-websites/javascript-api/guides/scripting-loading-and-initialization + window.twttr.widgets.load(div) + } else { + // innerHTML cannot insert scripts, so... + let script = document.createElement('script') + script.src = 'https://platform.twitter.com/widgets.js' + script.charset = 'utf-8' + div.appendChild(script) + } + return div } }, |