[nodebb-plugin-ns-embed] NS Embed
-
NodeBB: Embed
Embed media and rich content in posts: youtube, vimeo, twitch etc. It's a dynamic plugin, it means, you can add your own embed code, you don't need to write separate plugin for it. By default, plugin is shipped with several predefined embeds, you can tune them, remove them or add new ones:
- Youtube
- Vimeo
- Coub
- Vine
To install predefined embeds, use utility in ACP.
Don't forget to share your good ideas for embeds with others. Most popular will be included in predefined set.
Links
Preview
-
Version 1.1.0
- skip invalid regular expressions
- updated default youtube rule (to handle www )
-
@Nicolas did you get twitter working in this ?
code to implementWatch
(?:https?://)?(?:twitter.com)/([^/"\s])/statuse?s?/([^/"\s])(/photo/\d|)
Replace
<blockquote class="content twitter-tweet" lang="en"><a href="https://twitter.com/$1/status/$2"></a></blockquote><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>I have everything working except it keeps adding text around the embed:
" target="_blank" rel="nofollow">
[this is where tweet embeds perfectly]
/a>
this something to do with externel links in nodebb, is it doing it automatically internally or something? is there a way to remove it
love your work btw, keep it up
-
I didn't try to do it with Twitter. But, basically, you can embed nearly everything.
Double check plugin description, there are some conflicts with another plugins. Maybe you didn't do something -
@Nicolas will try reorder plugins, nope same issue
I have a feeling it's the externel link adder/checker, cos I've checked out the code, it's not the markdown / blockquote
must be the way it is checking <a href="s"></a> if you notice the way twitter embeds it's content. It's not the standard iframe embed
-
Also try to change only for blockquotes:
<blockquote class="content twitter-tweet" lang="en"><a href="https://twitter.com/$1/status/$2"></a></blockquote>
And Javascript inject only one time
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
It doesn't good, that you inject Javascript to the page after every replaced twitter url.
-
@Nicolas tried numerous things in the markdown config, but the option to work would look to be
Open external links in a new tab/window
Tell web crawlers that external links are not to be followedEDIT: Disabling both of these reduces it to
">
[embed works]
/a>th@ would seem to be the one doing you would think, but has no effect
also the twitter likes to have the javascript only after the blockquote. doesn't work in the custom header. doh, would you be able to strip it from adding it to content (between the <p></p>'s in ur plugin ?
-
If it likes after, place it in the end of the page:
<script ... </body>
-
@Nicolas said:
If it likes after, place it in the end of the page:
<script ... </body>
<script>
require(['forum/footer']);
</script>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
</body>
</html>unbelievably that updates all of the tweet embeds now without putting it in the embed replace code
but still the same issues with it putting html in the post as content between the <p></p>'s
post looks like:">
[embed]
/a>not sure what's happenning
-
ok, well placing the javascript @ the end before </body> has bad effect because the post doesn't update after hitting [Submit] button. Basically updates after you push a page reload. So my conclusion is that the javascript code is fine added to the replace code , it seems to work perfectly.
There is still the same issue with it adding html as content around the embed, somehow it does this and I don't remember actually that it had this problem around nodebb version 0.6.0/0.7.0 ...
So I'll just leave you with this pic to show progress:
-
Version 2.0.0 Final
New version is available. Summary: important one, plugin doesn't create any restrictions anymore. Auto-linking restriction is removed. Even more interesting fact - you can use plugin with
Markdown
plugin or without. It means, plugin should work in most cases.- Important: compatibility with Markdown plugin
- Compatibility with content plugins
- Best practice for ACP scripts
- Update all dependencies
P.S.
"Final" means - my TODO list is empty for this plugin. I will do patches if needed, for now, I will concentrate on another plugins. -
Version 2.0.1
New version is available. Improved parsing of Youtube Urls, now it ignores links to Youtube profiles.
Don't forget to delete your current Youtube rule and install a new one (just click onInstall Default Rules
- It will install only missing rules, it will not override any rules which are currently in use) -
Hi.
I'm currently using your plugin and it really works like a charm in order to extend the Markdown syntax, thank you.
However, I have a little issue with my code section. Can your plugin ignore <pre> and <code> tags ?Thank you for getting your attention.
-
Core functionality of the plugin is Regular Expressions. If you need to ignore some particular tag, or something, you can handle it via your regular expression.
-
Version 2.1.0
A new version is available. Twitch rules are unlocked.
Changelog:
- Add Twitch Default rule for Live content
- Add Twitch Default rule for VoD
-
Here is an example how Live embed for Twitch with disabled auto-play:
-
Is there any examples of how of the 'watch' and "replace" for embedded videos? I am trying to get uploaded videos embedded but I can't seem to get the proper regex or new replacement code to get it to work.
Do you regex on the markdown code, or the url? What is the replacement code?