Skip to content

[nodebb-plugin-ns-embed] NS Embed

NodeBB Plugins
137 37 114.5k 10
  • 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 πŸ˜‰ )
  • quite impressive work!

  • @Nicolas did you get twitter working in this ?
    code to implement

    Watch
    (?: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 πŸ˜‰

  • 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

  • @codejet

    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 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

    @codejet you have to disable auto-linking in Markdown plugin.

  • will try add the javascript to the custom header in nodebb panel. last time I tried this I'm sure it didn't work well

  • @codejet you have to disable auto-linking in Markdown plugin.

    @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 followed

    EDIT: 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>
    
  • 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:
    0_1450846824849_embed.jpg

  • 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 on Install 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:

    2.1.0 Twitch Live Preview

  • 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?


Suggested Topics


  • 0 Votes
    2 Posts
    428 Views
    G
    Nice little video! I find that those generic S1 based MP3 players (I have a couple videos pertaining to them on my channel) are super reliable once you get the hang of them. I especially like the support they have for .LRC files, so you can add a lyric display. There's a good few resources on making your own LRC files even (they're just plain text).
  • 7 Votes
    94 Posts
    86k Views
    T
    Hi, all: Are there plans to update this for 2.0? The formatting in this one looks easier for users than the formatting in nodebb-plugin-btn-spoilers, so I would prefer to use this.
  • [nodebb-plugin-embed-gmap] My first plugin

    NodeBB Plugins
    4
    8 Votes
    4 Posts
    3k Views
    J
    Yes, I saw it, but my needs are different: interactive maps in posts... I have a question: is a good idea to use a bbcode such as [map ...]? Maybe a [egmap]...[/egmap] is better? Or something else? I want also to add a button for the editor to add the right markup to selection with a simple click... Have you an example to suggest me? And when the plugin will reach a v1 stable version, how can I add it to the ACP? Ok, rtfm, I know... Thanks!
  • [nodebb-plugin-ns-slugify] NS Slugify

    NodeBB Plugins ns-plugin slugs cyrillic
    5
    2 Votes
    5 Posts
    4k Views
    NicolasN
    @leksar you can discard changes (git checkout -- .) before switching to the another branch (master) or you can stash them, and pop stash changes after branch switch. Anyway, It's to early for master switch, some changes are part of active pull request. As I understand, this plugin will be fully supported by future 0.7.1 release of the NodeBB.
  • 3 Votes
    43 Posts
    37k Views
    BriB
    Yeah I stopped maintaining that a while ago, it was a good exercise and an example of how to build a plugin but ultimately it’s redundant: markdown already has the capability to insert images. Open to PRs and / or a new maintainer!

Looks like your connection to NodeBB Community was lost, please wait while we try to reconnect.