Update XSD paths in XML files
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / mediaProvider.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/5.4/mediaProvider.xsd">
3 <import>
4 <provider name="youtube">
5 <title>YouTube</title>
6 <regex><![CDATA[https?://(?:.+?\.)?youtu(?:\.be/|be\.com/(?:#/)?watch\?(?:.*?&)?v=)(?P<ID>[a-zA-Z0-9_-]+)
7 https?://(?:.+?\.)?youtube.com/shorts/(?P<ID>[a-zA-Z0-9_-]+)]]></regex>
8 <className>wcf\system\bbcode\media\provider\YouTubeBBCodeMediaProvider</className>
9 </provider>
10 <provider name="youtube-playlist">
11 <title>YouTube Playlist</title>
12 <regex><![CDATA[https?://(?:.+?\.)?youtu(?:\.be/|be\.com/)playlist\?(?:.*?&)?list=(?P<ID>[a-zA-Z0-9_-]+)]]></regex>
13 <html><![CDATA[<div class="messageVideoContainer"><iframe src="https://www.youtube.com/embed/videoseries?list={$ID}" width="560" height="315" allowfullscreen></iframe></div>]]></html>
14 </provider>
15 <provider name="vimeo">
16 <title>Vimeo</title>
17 <regex><![CDATA[https?://vimeo\.com/(?:channels/[^/]+/)?(?P<ID>\d+)
18 https?://vimeo\.com/groups/[^/]+/videos/(?P<ID>\d+)]]></regex>
19 <html><![CDATA[<div class="messageVideoContainer"><iframe src="https://player.vimeo.com/video/{$ID}" width="640" height="360" allowfullscreen></iframe></div>]]></html>
20 </provider>
21 <provider name="dailymotion">
22 <title>Dailymotion</title>
23 <regex><![CDATA[https?://(?:www\.)?dailymotion\.com/video/(?P<ID>[a-zA-Z0-9_-]+)]]></regex>
24 <html><![CDATA[<div class="messageVideoContainer"><iframe src="//www.dailymotion.com/embed/video/{$ID}" width="560" height="315"></iframe></div>]]></html>
25 </provider>
26 <provider name="github-gist">
27 <title>GitHub Gist</title>
28 <regex><![CDATA[https://gist.github.com/(?P<ID>[^/]+/[0-9a-zA-Z]+)]]></regex>
29 <html><![CDATA[<script src="https://gist.github.com/{$ID}.js"> </script>]]></html>
30 </provider>
31 <provider name="soundcloud">
32 <title>SoundCloud</title>
33 <regex><![CDATA[https?://soundcloud.com/(?P<artist>[a-zA-Z0-9_-]+)/(?!sets/)(?P<song>[a-zA-Z0-9_-]+)]]></regex>
34 <html><![CDATA[<iframe width="100%" height="166" scrolling="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fsoundcloud.com%2F{$artist}%2F{$song}"></iframe>]]></html>
35 </provider>
36 <provider name="soundcloud-set">
37 <title>Soundcloud Set</title>
38 <regex><![CDATA[https?://soundcloud.com/(?P<artist>[a-zA-Z0-9_-]+)/sets/(?P<name>[a-zA-Z0-9_-]+)]]></regex>
39 <html><![CDATA[<iframe width="100%" height="450" scrolling="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fsoundcloud.com%2F{$artist}%2Fsets%2F{$name}"></iframe>]]></html>
40 </provider>
41 <provider name="instagram">
42 <title>Instagram</title>
43 <regex><![CDATA[https?://(?:www\.)?(?:instagram\.com|instagr\.am)/p/(?<ID>[a-zA-Z0-9_-]+)]]></regex>
44 <html><![CDATA[<blockquote class="instagram-media" data-instgrm-version="7"><a href="https://www.instagram.com/p/{$ID}/"></a></blockquote><script async defer src="//platform.instagram.com/en_US/embeds.js"></script>]]></html>
45 </provider>
46 <provider name="spotify-playlist">
47 <title>Spotify Playlist</title>
48 <regex><![CDATA[https?://play.spotify.com/user/(?<USER>[0-9a-zA-Z]+)/playlist/(?<ID>[0-9a-zA-Z]+)
49 https?://open.spotify.com/user/(?<USER>[0-9a-zA-Z]+)/playlist/(?<ID>[0-9a-zA-Z]+)]]></regex>
50 <html><![CDATA[<iframe width="300" height="380" src="https://embed.spotify.com/?uri=spotify:user:{$USER}:playlist:{$ID}" frameborder="0" allowtransparency="true"></iframe>]]></html>
51 </provider>
52 <provider name="spotify">
53 <title>Spotify</title>
54 <regex><![CDATA[https?://play.spotify.com/(?<TYPE>[a-zA-Z]+)/(?<ID>[0-9a-zA-Z]+)
55 https?://open.spotify.com/(?<TYPE>[a-zA-Z]+)/(?<ID>[0-9a-zA-Z]+)]]></regex>
56 <html><![CDATA[<iframe width="300" height="380" src="https://embed.spotify.com/?uri=spotify:{$TYPE}:{$ID}" frameborder="0" allowtransparency="true"></iframe>]]></html>
57 </provider>
58 <provider name="twitch">
59 <title>Twitch</title>
60 <regex><![CDATA[https?://clips.twitch.tv/(?<CLIP>[a-zA-Z0-9_-]+)
61 https?://www.twitch.tv/(?<AUTHOR>[a-zA-Z0-9_]+)/clip/(?<CLIP>[a-zA-Z0-9_-]+)
62 https?://www.twitch.tv/(?!videos)(?!.*/v/)(?<CHANNEL>[a-zA-Z0-9_]+)
63 https?://www.twitch.tv/videos/(?<VIDEO>[0-9]+)
64 https?://www.twitch.tv/[a-zA-Z0-9]+/v/(?<VIDEO>[0-9]+)]]></regex>
65 <className><![CDATA[wcf\system\bbcode\media\provider\TwitchBBCodeMediaProvider]]></className>
66 </provider>
67 <provider name="twitter-tweet">
68 <title>Twitter Tweet</title>
69 <regex><![CDATA[https://twitter.com/(?<USERNAME>[0-9a-zA-Z_]+)/status/(?<ID>[0-9]+)]]></regex>
70 <html><![CDATA[<div data-wsc-twitter-tweet="{$ID}"><a href="https://twitter.com/{$USERNAME}/status/{$ID}/" class="externalURL" rel="nofollow ugc">https://twitter.com/{$USERNAME}/status/{$ID}/</a></div>
71 <script>require(["WoltLabSuite/Core/Ui/Message/TwitterEmbed"],function(t){t.embedAll()});</script>]]></html>
72 </provider>
73 <provider name="facebook-video">
74 <title>Facebook Video</title>
75 <regex><![CDATA[(?<HREF>https?://(www\.)?facebook\.com/watch/\?v=(?<ID>[0-9]+))
76 (?<HREF>https?://(www\.)?facebook\.com/[a-zA-Z0-9_-]+/videos/(?<ID>[0-9]+)/)]]></regex>
77 <html><![CDATA[<div class="fb-video" data-href="{$HREF}" data-allowfullscreen="true">{$HREF}</div>
78 <script>require(['WoltLabSuite/Core/Wrapper/FacebookSdk'],function(FB){FB.XFBML.parse()})</script>]]></html>
79 </provider>
80 </import>
81
82 <delete>
83 <provider name="imgur" />
84 <provider name="twitch-channel" />
85 <provider name="twitch-clip" />
86 <provider name="twitch-video" />
87 <provider name="veoh" />
88 </delete>
89 </data>