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.
63 lines
1.6 KiB
63 lines
1.6 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 = __DIR__ . '/out/';
|
|
|
|
ob_start();
|
|
foreach($_pages as $_k => $p) {
|
|
if ($p->bodyclass == 'api') {
|
|
if (ESP_DEMO) {
|
|
echo "Generating: ~$_k.html (bounce)\n";
|
|
|
|
if ($_k=='index') {
|
|
$s = "<!DOCTYPE HTML><meta http-equiv=\"refresh\" content=\"0;url=term.html\">";
|
|
}
|
|
else {
|
|
$s = "<!DOCTYPE HTML>
|
|
<script>
|
|
var ref = document.referrer;
|
|
var qat = document.referrer.indexOf('?');
|
|
if (qat !== -1) ref = ref.substring(0, qat)
|
|
location.href=ref+'?msg=Request ignored, this is a demo.';
|
|
</script>";
|
|
}
|
|
|
|
|
|
} 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();
|
|
|