You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
<?php
|
|
|
|
require_once __DIR__ . '/base.php';
|
|
|
|
function process_html($s) {
|
|
$pattern = '/<!--(.*)-->/Uis';
|
|
$s = preg_replace($pattern, '', $s);
|
|
|
|
$pattern = '/(?:(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:(?<!\:|\\\|\'|\")\/\/.*))/';
|
|
$s = preg_replace($pattern, '', $s);
|
|
|
|
$pattern = '/\s+/s';
|
|
$s = preg_replace($pattern, ' ', $s);
|
|
return $s;
|
|
}
|
|
|
|
$no_tpl_files = ['help', 'cfg_wifi_conn'];
|
|
|
|
$dest = ESP_DEMO ? __DIR__ . '/../html_demo/' : __DIR__ . '/../html/';
|
|
|
|
ob_start();
|
|
foreach($_pages as $_k => $p) {
|
|
if ($p->bodyclass == 'api') {
|
|
if (ESP_DEMO) {
|
|
$target = 'term.html';
|
|
echo "Generating: ~$_k.html -> $target\n";
|
|
$s = "<!DOCTYPE HTML><meta http-equiv=\"refresh\" content=\"0;url=$target\">";
|
|
} else {
|
|
continue;
|
|
}
|
|
} else {
|
|
echo "Generating: $_k ($p->title)\n";
|
|
|
|
$_GET['page'] = $_k;
|
|
ob_flush(); // print the message
|
|
ob_clean(); // clean up
|
|
include(__DIR__ . '/index.php');
|
|
$s = ob_get_contents(); // grab the output
|
|
|
|
// remove newlines and comments
|
|
// as tests have shown, it saves just a couple kilobytes,
|
|
// making it not a very big improvement at the expense of ugly html.
|
|
// $s = process_html($s);
|
|
ob_clean();
|
|
} // clean up
|
|
$of = $dest . $_k . ((in_array($_k, $no_tpl_files)||ESP_DEMO) ? '.html' : '.tpl');
|
|
file_put_contents($of, $s); // write to a file
|
|
}
|
|
|
|
ob_flush();
|
|
|