Sfoglia il codice sorgente

:sparkles: reformatting youtube urls for embed

undefined
J 5 anni fa
parent
commit
0c032758d8
1 ha cambiato i file con 16 aggiunte e 5 eliminazioni
  1. 16
    5
      vue-theme/src/components/content-block/block.vue

+ 16
- 5
vue-theme/src/components/content-block/block.vue Vedi File

@@ -3,15 +3,14 @@
3 3
     p place-holder gallery {{ block.gallery }}
4 4
 
5 5
 .block.embed(v-else-if="block[0].blockName == 'core/embed'")
6
-    .youtube(v-if="block[0].attrs.providerNameSlug == 'youtube'")
7
-        p youtube: {{ block[0].attrs.url }}
6
+    figure.youtube(v-if="block[0].attrs.providerNameSlug == 'youtube'").is-provider-youtube.wp-block-youtube
7
+        p youtube: {{ fixYoutubeUrl(block[0].attrs.url) }}
8 8
         iframe(
9
-            :src="block[0].attrs.url"
9
+            :src="fixYoutubeUrl(block[0].attrs.url)"
10 10
             title="YouTube video player"
11 11
             frameborder="0"
12
-            allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
13 12
             allowfullscreen
14
-        )
13
+        ).embed--player
15 14
     .not-youtube(v-else)
16 15
         p not youtube: {{ block[0].attrs }}
17 16
 
@@ -29,6 +28,13 @@ export default {
29 28
     props: {
30 29
         block: { required: true }
31 30
     },
31
+    methods: {
32
+        fixYoutubeUrl(url) {
33
+            const videoUid = url.split('https://youtu.be/').filter(pieces => pieces.length > 0)[0]
34
+
35
+            return `https://www.youtube.com/embed/${videoUid}`
36
+        }
37
+    },
32 38
     data() {
33 39
         return {
34 40
         }
@@ -40,4 +46,9 @@ export default {
40 46
 
41 47
 <style lang="postcss">
42 48
 .block
49
+    &.embed
50
+        min-height: 40vh
51
+        > figure.youtube, > figure.youtube iframe
52
+            height: 40vh
53
+            width: 100%
43 54
 </style>

Loading…
Annulla
Salva