9
0
mirror of https://github.com/donlon/cloudflare-error-page.git synced 2025-12-22 16:29:29 +00:00

editor/web: support exporting generated webpage

This commit is contained in:
Anthony Donlon
2025-12-22 22:01:58 +08:00
parent 728ce52529
commit 6233cec91f
2 changed files with 16 additions and 1 deletions

View File

@@ -532,6 +532,9 @@
<button type="button" data-type="js" class="list-group-item list-group-item-action"> <button type="button" data-type="js" class="list-group-item list-group-item-action">
NodeJS Example NodeJS Example
</button> </button>
<button type="button" data-type="static" class="list-group-item list-group-item-action">
Static Page
</button>
</div> </div>
<div class="d-flex gap-1 save-as-dialog__buttons"> <div class="d-flex gap-1 save-as-dialog__buttons">
<button type="button" class="btn btn-success" id="saveAsDialogCopyBtn" data-bs-toggle="popover" <button type="button" class="btn btn-success" id="saveAsDialogCopyBtn" data-bs-toggle="popover"

View File

@@ -445,7 +445,15 @@ function updateSaveAsDialog(e) {
} }
const params = { ...lastCfg }; const params = { ...lastCfg };
delete params.time; delete params.time;
$('saveAsDialogCode').innerHTML = saveAsContent = codegen.generate(params); if (codegen) {
saveAsContent = codegen.generate(params);
} else if (saveAsType == 'static') {
render() // rerender the page
saveAsContent = lastRenderedHtml;
} else {
throw new Error('unexpected saveAsType=' + saveAsType)
}
$('saveAsDialogCode').innerHTML = saveAsContent;
$('saveAsDialogCode').scrollTop = 0; $('saveAsDialogCode').scrollTop = 0;
document.querySelectorAll('#saveAsDialogTypes button').forEach((element) => { document.querySelectorAll('#saveAsDialogTypes button').forEach((element) => {
@@ -489,6 +497,10 @@ $('saveAsDialogSaveBtn').addEventListener('click', (e) => {
case 'python': case 'python':
saveName = 'cf_error_page_example.py'; saveName = 'cf_error_page_example.py';
break; break;
case 'static':
saveName = 'cf_error_page.html';
break;
// TODO: name output files using page title
} }
saveFile(saveAsContent, saveName); saveFile(saveAsContent, saveName);
}); });