```html
', '');
// Remove editing functions
html = html.replace(/function openCreateModal\(\)\s*\{[\s\S]*?\}\s*/, '');
html = html.replace(/function closeCreateModal\(\)\s*\{[\s\S]*?\}\s*/, '');
html = html.replace(/function insertImageURL\(\)\s*\{[\s\S]*?\}\s*/, '');
html = html.replace(/function saveArticle\(\)\s*\{[\s\S]*?\}\s*/, '');
html = html.replace(/function deleteArticle\(id\)\s*\{[\s\S]*?\}\s*/, '');
html = html.replace(/function getLocalPath\(url\)\s*\{[\s\S]*?\}\s*/, '');
html = html.replace(/function downloadPage\(\)\s*\{[\s\S]*?\}\s*/, '');
// Add HTML to ZIP
zip.file('index.html', html);
// Generate ZIP blob and download
const zipBlob = await zip.generateAsync({ type: 'blob' });
const url = URL.createObjectURL(zipBlob);
const a = document.createElement('a');
a.href = url;
a.download = 'warningnonpotablewater.zip';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
// Reopen article if was open
if (wasOpen && currentId) {
showArticle(currentId);
}
}
// Initialize
loadArticles();
```