gatsby-remark-embedder
Version:
Gatsby Remark plugin to embed well known services by their URL.
32 lines (31 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.shouldTransform = exports.getSlidesIFrameSrc = exports.getHTML = void 0;
var _utils = require("./utils");
const isSubDomain = host => /^([a-zA-Z0-9-_]{2,}\.)?slides\.com$/.test(host);
const shouldTransform = url => {
const {
host,
pathname
} = new URL(url);
return isSubDomain(host) && (0, _utils.getTrimmedPathName)(pathname).split('/').length === 2;
};
exports.shouldTransform = shouldTransform;
const getSlidesIFrameSrc = urlString => {
const {
host,
pathname,
hash
} = new URL(urlString);
const trimmedHost = host.replace('www.', '');
const trimmedPathName = (0, _utils.getTrimmedPathName)(pathname);
return `https://${trimmedHost}/${trimmedPathName}/embed${hash}`;
};
exports.getSlidesIFrameSrc = getSlidesIFrameSrc;
const getHTML = url => {
const iframeSrc = getSlidesIFrameSrc(url);
return `<iframe src="${iframeSrc}" width="576" height="420" scrolling="no" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>`;
};
exports.getHTML = getHTML;