# All files / src/lib/markdown-it/plugins/markdown-it-block-embed/services VimeoService.js

100% Statements 7/7
100% Branches 4/4
100% Functions 3/3
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29

    17x

    30x

    4x
    4x

    4x
    4x

    17x
     // Copyright (c) Rotorz Limited and portions by original markdown-it-video authors
    // Licensed under the MIT license. See LICENSE file in the project root.

    "use strict";

    const VideoServiceBase = require("./VideoServiceBase");

    class VimeoService extends VideoServiceBase {

      getDefaultOptions() {
        return { width: 500, height: 281 };
      }

      extractVideoID(reference) {
        let match = reference.match(/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|)(\d+)(?:$|\/|\?)/);
        return match && typeof match[3] === "string" ? match[3] : reference;
      }

      getVideoUrl(videoID) {
        let escapedVideoID = this.env.md.utils.escapeHtml(videoID);
        return `//player.vimeo.com/video/${escapedVideoID}`;
      }

    }

    module.exports = VimeoService;