Skip to content

Commit 92ac566

Browse files
committed
Fix assets path in all directories no matter the deep.
Add fix for js' assets. Add fix for fontawesome' assets.
1 parent 8f2e5a6 commit 92ac566

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

_build/build.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,18 @@
4747

4848
if ($result->isSuccessful()) {
4949
// fix assets URLs to make them absolute (otherwise, they don't work in subdirectories)
50-
foreach (glob($outputDir.'/**/*.html') as $htmlFilePath) {
50+
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($outputDir));
51+
52+
foreach (new RegexIterator($iterator, '/^.+\.html$/i', RegexIterator::GET_MATCH) as $match) {
53+
$htmlFilePath = array_shift($match);
54+
$htmlContents = file_get_contents($htmlFilePath);
55+
file_put_contents($htmlFilePath, str_replace('<head>', '<head><base href="/">', $htmlContents));
56+
}
57+
58+
foreach (new RegexIterator($iterator, '/^.+\.css/i', RegexIterator::GET_MATCH) as $match) {
59+
$htmlFilePath = array_shift($match);
5160
$htmlContents = file_get_contents($htmlFilePath);
52-
file_put_contents($htmlFilePath, str_replace('href="assets/', 'href="/assets/', $htmlContents));
61+
file_put_contents($htmlFilePath, str_replace('fonts/', '../fonts/', $htmlContents));
5362
}
5463

5564
$io->success(sprintf("The Symfony Docs were successfully built at %s", realpath($outputDir)));

0 commit comments

Comments
 (0)