nuxt-content-plugins/fix_review_urls.js (23 lines of code) (raw):

const visit = require('unist-util-visit'); const fixUrlInReviewApp = require('../helpers/fix_url_in_review_app'); const elementsWhichNeedSourceFixing = (node, index, parent) => { if (node.tagName === 'img') { return true; } if (node.tagName === 'source' && parent.tagName === 'video') { return true; } return false; }; /** * This is a REHYPE plugin (working on HTML) */ module.exports = function transform() { /* This transformer fixes URLs to images in our markdown Our review apps do not run under example.org/ but under example.org/longer-base-path/ */ return function transformer(tree) { if (process.env.CI_ENVIRONMENT_URL) { visit(tree, elementsWhichNeedSourceFixing, (node) => { const src = node?.properties?.src; if (src?.startsWith('/')) { node.properties.src = fixUrlInReviewApp(src); } }); } }; };