diff options
Diffstat (limited to 'build.php')
-rw-r--r-- | build.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/build.php b/build.php new file mode 100644 index 0000000..10d93d8 --- /dev/null +++ b/build.php @@ -0,0 +1,45 @@ +<?php + +$options = getopt("", + [ + 'build_dir:', + 'pages:', + 'languages:', + 'server:', + ] +); + +$buildDir = $options['build_dir'] ?? __DIR__ . '/build'; +$pages = explode(',', $options['pages']); +$languages = explode(',', $options['languages']); +$server = $options['server']; + + +@mkdir($buildDir, 0777, true); +$defaultLanguage = $languages[0]; + +foreach ($pages as $page) { + $pageName = trim($page, '/'); + + foreach ($languages as $language) { + $html = file_get_contents( + "$server/" . + ($pageName ? "$pageName.php" : '') . + "?page=$pageName&lang=$language" + ); + + $buildPath = "$language/$pageName/index.html"; + $buildPath = str_replace('//', '/', $buildPath); + + @mkdir(dirname("$buildDir/$buildPath"), 0777, true); + file_put_contents("$buildDir/$buildPath", $html); + + if ($language == $defaultLanguage) { + $buildPath = str_replace("$defaultLanguage/", '', $buildPath); + @mkdir(dirname("$buildDir/$buildPath"), 0777, true); + file_put_contents("$buildDir/$buildPath", $html); + } + } +} + +exec("cp -r ./src/assets $buildDir"); |