1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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");
|