summaryrefslogtreecommitdiff
path: root/build.php
diff options
context:
space:
mode:
Diffstat (limited to 'build.php')
-rw-r--r--build.php45
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");