Skip to content

Commit ddc4fb3

Browse files
committed
injects S3 CSS/JS files properly into preview, as found in #196
1 parent 167828b commit ddc4fb3

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

client/modules/IDE/components/PreviewFrame.jsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,14 +233,25 @@ class PreviewFrame extends React.Component {
233233
jsFiles.forEach(jsFile => {
234234
const fileName = escapeStringRegexp(jsFile.name);
235235
const fileRegex = new RegExp(`<script.*?src=('|")((\.\/)|\/)?${fileName}('|").*?>([\s\S]*?)<\/script>`, 'gmi');
236-
const replacementString = `<script data-tag="${startTag}${jsFile.name}">\n${jsFile.content}\n</script>`;
236+
let replacementString;
237+
if (jsFile.url) {
238+
replacementString = `<script data-tag="${startTag}${jsFile.name}" src="${jsFile.url}"></script>`;
239+
} else {
240+
replacementString = `<script data-tag="${startTag}${jsFile.name}">\n${jsFile.content}\n</script>`;
241+
}
237242
htmlFile = htmlFile.replace(fileRegex, replacementString);
238243
});
239244

240245
cssFiles.forEach(cssFile => {
241246
const fileName = escapeStringRegexp(cssFile.name);
242247
const fileRegex = new RegExp(`<link.*?href=('|")((\.\/)|\/)?${fileName}('|").*?>`, 'gmi');
243-
htmlFile = htmlFile.replace(fileRegex, `<style>\n${cssFile.content}\n</style>`);
248+
let replacementString;
249+
if (cssFile.url) {
250+
replacementString = `<link rel="stylesheet" href="${cssFile.url}" >`;
251+
} else {
252+
replacementString = `<style>\n${cssFile.content}\n</style>`;
253+
}
254+
htmlFile = htmlFile.replace(fileRegex, replacementString);
244255
});
245256

246257
const htmlHead = htmlFile.match(/(?:<head.*?>)([\s\S]*?)(?:<\/head>)/gmi);

0 commit comments

Comments
 (0)