summaryrefslogtreecommitdiff
path: root/build.php
blob: 10d93d836a73147630678f2072f7284090812833 (plain)
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");