מחולל אתרים מתחדש

עריכת פסקאות ויצירת מחוללי HTML ו-JavaScript עצמאיים

✏️ עריכת האתר

הוסיפו פסקאות, כתבו טקסט או כתובות אינטרנט והקוד המלא יתעדכן אוטומטית.

👁️ תצוגה מקדימה

📄 קוד HTML + CSS שנוצר

⚙️ קוד JavaScript שנוצר

`; return html; } /* יצירת JS עצמאי של המחולל. הוא מכיל את כל קוד המנוע ואת הפסקאות הנוכחיות. */ function generateJs() { const data = JSON.stringify(paragraphs) .replace(//g, "\\u003e") .replace(/&/g, "\\u0026"); return createEngineSource(data); } function updateGeneratedCode() { htmlOutput.value = generateHtml(); jsOutput.value = generateJs(); } async function copyText(text, label) { try { if (navigator.clipboard && window.isSecureContext) { await navigator.clipboard.writeText(text); } else { const temporary = document.createElement("textarea"); temporary.value = text; temporary.style.position = "fixed"; temporary.style.opacity = "0"; document.body.appendChild(temporary); temporary.select(); const copied = document.execCommand("copy"); temporary.remove(); if (!copied) { throw new Error("ההעתקה נכשלה"); } } showStatus(label + " הועתק בהצלחה."); } catch (_) { showStatus("ההעתקה נכשלה. אפשר להעתיק מתיבת הקוד."); } } function downloadHtml() { const blob = new Blob( [generateHtml()], { type: "text/html;charset=utf-8" } ); const url = URL.createObjectURL(blob); const link = document.createElement("a"); link.href = url; link.download = "my-recursive-website.html"; document.body.appendChild(link); link.click(); link.remove(); setTimeout(() => URL.revokeObjectURL(url), 1000); } document.getElementById("addParagraph") .addEventListener("click", addParagraph); document.getElementById("copyHtml") .addEventListener("click", () => { copyText(generateHtml(), "HTML + CSS"); }); document.getElementById("copyHtmlAgain") .addEventListener("click", () => { copyText(generateHtml(), "HTML + CSS"); }); document.getElementById("copyJs") .addEventListener("click", () => { copyText(generateJs(), "JavaScript"); }); document.getElementById("copyJsAgain") .addEventListener("click", () => { copyText(generateJs(), "JavaScript"); }); document.getElementById("downloadHtml") .addEventListener("click", downloadHtml); /* בעת פתיחת הגרסה המיוצרת: הנתונים המוטמעים בקוד הם מקור האמת. הם אינם מוחלפים אוטומטית בנתונים מקומיים, כדי שהגרסה המיוצרת תשחזר את התוכן שנבחר בעת הייצוא. */ renderEditor(); renderPreview(); updateGeneratedCode(); })();