Skip to content

Commit 5f9a99e

Browse files
committed
Use absolute URLs for assets
1 parent 600702a commit 5f9a99e

File tree

2 files changed

+22
-39
lines changed

2 files changed

+22
-39
lines changed

packages/core/src/Page/index.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,8 @@ class Page {
141141
if (this.siteConfig.titleSuffix) {
142142
title = (title ? title + TITLE_SUFFIX_SEPARATOR : '') + this.siteConfig.titleSuffix;
143143
}
144-
// construct temporary asset object with only POSIX-style paths
145-
const asset = {};
146-
Object.entries(this.asset).forEach(([key, value]) => {
147-
asset[key] = _.isString(value) ? fsUtil.ensurePosix(value) : value;
148-
});
144+
145+
const asset = { ...this.asset };
149146
return {
150147
asset,
151148
baseUrl: this.siteConfig.baseUrl,

packages/core/src/Site/index.js

Lines changed: 20 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -281,52 +281,38 @@ class Site {
281281
const sourcePath = path.join(this.rootPath, config.pageSrc);
282282
const resultPath = path.join(this.outputPath, fsUtil.setExtension(config.pageSrc, '.html'));
283283

284+
const baseRelativePath = path.posix.join(
285+
this.siteConfig.baseUrl || '/', TEMPLATE_SITE_ASSET_FOLDER_NAME,
286+
);
287+
284288
const pageConfig = new PageConfig({
285289
asset: {
286-
bootstrap: path.relative(path.dirname(resultPath),
287-
path.join(this.siteAssetsDestPath, 'css', 'bootstrap.min.css')),
290+
bootstrap: path.posix.join(baseRelativePath, 'css', 'bootstrap.min.css'),
288291
externalScripts: _.union(this.siteConfig.externalScripts, config.externalScripts),
289-
fontAwesome: path.relative(path.dirname(resultPath),
290-
path.join(this.siteAssetsDestPath, 'fontawesome', 'css', 'all.min.css')),
291-
glyphicons: path.relative(path.dirname(resultPath),
292-
path.join(this.siteAssetsDestPath, 'glyphicons', 'css',
293-
'bootstrap-glyphicons.min.css')),
294-
octicons: path.relative(path.dirname(resultPath),
295-
path.join(this.siteAssetsDestPath, 'css', 'octicons.css')),
296-
materialIcons: path.relative(path.dirname(resultPath),
297-
path.join(this.siteAssetsDestPath,
298-
'material-icons',
299-
'material-icons.css')),
300-
highlight: path.relative(path.dirname(resultPath),
301-
path.join(this.siteAssetsDestPath, 'css',
302-
HIGHLIGHT_ASSETS[this.siteConfig.style.codeTheme])),
303-
markBindCss: path.relative(path.dirname(resultPath),
304-
path.join(this.siteAssetsDestPath, 'css', 'markbind.min.css')),
305-
markBindJs: path.relative(path.dirname(resultPath),
306-
path.join(this.siteAssetsDestPath, 'js', 'markbind.min.js')),
307-
pageNavCss: path.relative(path.dirname(resultPath),
308-
path.join(this.siteAssetsDestPath, 'css', 'page-nav.css')),
309-
siteNavCss: path.relative(path.dirname(resultPath),
310-
path.join(this.siteAssetsDestPath, 'css', 'site-nav.css')),
311-
bootstrapUtilityJs: path.relative(path.dirname(resultPath),
312-
path.join(this.siteAssetsDestPath, 'js',
313-
'bootstrap-utility.min.js')),
314-
polyfillJs: path.relative(path.dirname(resultPath),
315-
path.join(this.siteAssetsDestPath, 'js', 'polyfill.min.js')),
292+
fontAwesome: path.posix.join(baseRelativePath, 'fontawesome', 'css', 'all.min.css'),
293+
glyphicons: path.posix.join(baseRelativePath, 'glyphicons', 'css', 'bootstrap-glyphicons.min.css'),
294+
octicons: path.posix.join(baseRelativePath, 'css', 'octicons.css'),
295+
materialIcons: path.posix.join(baseRelativePath, 'material-icons', 'material-icons.css'),
296+
highlight: path.posix.join(baseRelativePath, 'css',
297+
HIGHLIGHT_ASSETS[this.siteConfig.style.codeTheme]),
298+
markBindCss: path.posix.join(baseRelativePath, 'css', 'markbind.min.css'),
299+
markBindJs: path.posix.join(baseRelativePath, 'js', 'markbind.min.js'),
300+
pageNavCss: path.posix.join(baseRelativePath, 'css', 'page-nav.css'),
301+
siteNavCss: path.posix.join(baseRelativePath, 'css', 'site-nav.css'),
302+
bootstrapUtilityJs: path.posix.join(baseRelativePath, 'js', 'bootstrap-utility.min.js'),
303+
polyfillJs: path.posix.join(baseRelativePath, 'js', 'polyfill.min.js'),
316304
// We use development Vue when MarkBind is served in 'dev' mode so that hydration issues are reported
317305
vue: this.dev
318306
? 'https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js'
319-
: path.relative(path.dirname(resultPath), path.join(this.siteAssetsDestPath, 'js', 'vue.min.js')),
320-
jQuery: path.relative(path.dirname(resultPath),
321-
path.join(this.siteAssetsDestPath, 'js', 'jquery.min.js')),
307+
: path.posix.join(baseRelativePath, 'js', 'vue.min.js'),
308+
jQuery: path.posix.join(baseRelativePath, 'js', 'jquery.min.js'),
322309
},
323310
baseUrlMap: this.baseUrlMap,
324311
dev: this.dev,
325312
faviconUrl: config.faviconUrl,
326313
frontmatterOverride: config.frontmatter,
327314
layout: config.layout,
328-
layoutsAssetPath: path.relative(path.dirname(resultPath),
329-
path.join(this.siteAssetsDestPath, LAYOUT_SITE_FOLDER_NAME)),
315+
layoutsAssetPath: path.posix.join(baseRelativePath, LAYOUT_SITE_FOLDER_NAME),
330316
pluginManager: this.pluginManager,
331317
resultPath,
332318
rootPath: this.rootPath,

0 commit comments

Comments
 (0)