משתמש:מ. רובין/ניסוי.js – הבדלי גרסאות
יצירת דף עם התוכן "// ==UserScript== // @name בודק קישורים // @description מציג אזהרות על קישורים בעייתיים בעריכת קוד מקור (פירושונים, הפניות, ערכים חסרים) // @version 1.0 // @match https://chabadpedia.co.il/* // @grant none // ==/UserScript== (function () { if (!['edit', 'submit'].includes(mw.config.get('wgAction'))) return; const textbox = document.getElementById('wpTextb..." |
אין תקציר עריכה |
||
| שורה 1: | שורה 1: | ||
<div dir="rtl" style="text-align: right;"> | |||
<h2>יצירת ערך אישיות חדש</h2> | |||
<p>אנא מלא את הפרטים הבאים ליצירת טיוטה של ערך אישיות. שדות המסומנים בכוכבית (*) הם חובה.</p> | |||
( | <table class="wikitable" style="width: 100%;"> | ||
<tr> | |||
<td style="width: 20%;">* <b>שם מלא:</b></td> | |||
<td><input type="text" id="personName" style="width: 95%;" placeholder="לדוגמה: מנחם מנדל שניאורסון" /></td> | |||
</tr> | |||
<tr> | |||
<td>* <b>תאריך לידה (עברי):</b></td> | |||
<td><input type="text" id="dobHebrew" style="width: 95%;" placeholder="לדוגמה: י"א בניסן ה'תרס"ב" /></td> | |||
</tr> | |||
<tr> | |||
<td><b>תאריך לידה (לועזי):</b></td> | |||
<td><input type="text" id="dobGregorian" style="width: 95%;" placeholder="לדוגמה: 18 באפריל 1902" /></td> | |||
</tr> | |||
<tr> | |||
<td>* <b>תאריך פטירה (עברי) / תאריך פטירה (אם נפטר):</b></td> | |||
<td><input type="text" id="dodHebrew" style="width: 95%;" placeholder="לדוגמה: ג' בתמוז ה'תשנ"ד (אם נפטר)" /></td> | |||
</tr> | |||
<tr> | |||
<td><b>תאריך פטירה (לועזי) / תאריך פטירה (אם נפטר):</b></td> | |||
<td><input type="text" id="dodGregorian" style="width: 95%;" placeholder="לדוגמה: 12 ביוני 1994 (אם נפטר)" /></td> | |||
</tr> | |||
<tr> | |||
<td><b>עיסוק/תפקיד:</b></td> | |||
<td><input type="text" id="occupation" style="width: 95%;" placeholder="לדוגמה: הרבי מליובאוויטש, משפיע" /></td> | |||
</tr> | |||
<tr> | |||
<td><b>קשר לחב"ד:</b></td> | |||
<td><textarea id="chabadConnection" style="width: 95%; height: 80px;" placeholder="כיצד האישיות קשורה לחסידות חב"ד? (לדוגמה: הרבי השביעי, תלמיד הישיבה, שליח)"></textarea></td> | |||
</tr> | |||
<tr> | |||
<td><b>ביוגרפיה קצרה:</b></td> | |||
<td><textarea id="shortBio" style="width: 95%; height: 120px;" placeholder="כאן יבוא תקציר ביוגרפי עיקרי."></textarea></td> | |||
</tr> | |||
<tr> | |||
<td><b>אירועים בולטים:</b></td> | |||
<td><textarea id="keyEvents" style="width: 95%; height: 100px;" placeholder="נקודות ציון חשובות בחיי האישיות."></textarea></td> | |||
</tr> | |||
<tr> | |||
<td><b>קישורים חיצוניים (אתרים, מקורות):</b></td> | |||
<td><textarea id="externalLinks" style="width: 95%; height: 80px;" placeholder="כל קישור בשורה נפרדת"></textarea></td> | |||
</tr> | |||
<tr> | |||
<td><b>קטגוריות (לדוגמה: רבני חב"ד, אדמו"רים):</b></td> | |||
<td><input type="text" id="categories" style="width: 95%;" placeholder="הפרד קטגוריות בפסיק, לדוגמה: רבנים חב"ד, מנהיגי חב"ד" /></td> | |||
</tr> | |||
</table> | |||
<br /> | |||
<button id="generateArticleButton" style="padding: 10px 20px; font-size: 16px;">צור טיוטת ערך</button> | |||
<hr /> | |||
<h3>טיוטת הערך שנוצרה:</h3> | |||
<textarea id="generatedArticle" style="width: 100%; height: 400px; font-family: monospace;" readonly></textarea> | |||
<br /> | |||
<button id="copyToClipboard" style="padding: 8px 15px; font-size: 14px;">העתק ללוח</button> | |||
<button id="openNewArticle" style="padding: 8px 15px; font-size: 14px;">פתח דף ערך חדש לעריכה</button> | |||
</div> | |||
<script> | |||
(function() { | |||
// פונקציית עזר לניקוי קלט | |||
function escapeHtml(unsafe) { | |||
return unsafe | |||
.replace(/&/g, "&") | |||
.replace(/</g, "<") | |||
.replace(/>/g, ">") | |||
.replace(/"/g, """) | |||
.replace(/'/g, "'"); | |||
} | |||
document.getElementById('generateArticleButton').addEventListener('click', function() { | |||
var name = document.getElementById('personName').value.trim(); | |||
var dobH = document.getElementById('dobHebrew').value.trim(); | |||
var dobG = document.getElementById('dobGregorian').value.trim(); | |||
var dodH = document.getElementById('dodHebrew').value.trim(); | |||
var dodG = document.getElementById('dodGregorian').value.trim(); | |||
var occupation = document.getElementById('occupation').value.trim(); | |||
var chabadConnection = document.getElementById('chabadConnection').value.trim(); | |||
var shortBio = document.getElementById('shortBio').value.trim(); | |||
var keyEvents = document.getElementById('keyEvents').value.trim(); | |||
var externalLinks = document.getElementById('externalLinks').value.trim(); | |||
var categories = document.getElementById('categories').value.trim(); | |||
// בדיקות תקינות בסיסיות | |||
if (!name || !dobH || !dodH) { | |||
alert('אנא מלא את השדות המחייבים: שם מלא, תאריך לידה (עברי) ותאריך פטירה (עברי) או תאריך פטירה (אם נפטר).'); | |||
return; | |||
} | |||
var articleContent = "\n"; | |||
articleContent += "{{אישיות"; | |||
// פרטי האישיות | |||
articleContent += "\n|שם = " + name; | |||
articleContent += "\n|תאריך לידה = " + dobH + (dobG ? " (" + dobG + ")" : ""); | |||
articleContent += "\n|תאריך פטירה = " + dodH + (dodG ? " (" + dodG + ")" : ""); | |||
if (occupation) { | |||
articleContent += "\n|עיסוק = " + occupation; | |||
} | |||
} | if (chabadConnection) { | ||
articleContent += "\n|קשר לחב\"ד = " + chabadConnection; | |||
} | |||
articleContent += "\n}}\n\n"; // סגירת תבנית אישיות | |||
} | // פתיח | ||
articleContent += "'''" + name + "'''"; | |||
if (dobH) { | |||
articleContent += " (נולד ב" + dobH; | |||
if (dobG) { | |||
articleContent += " / " + dobG; | |||
} | |||
articleContent += ")"; | |||
} | |||
if (dodH) { | |||
articleContent += " נפטר ב" + dodH; | |||
if (dodG) { | |||
articleContent += " / " + dodG; | |||
} | |||
articleContent += ") "; | |||
} | |||
articleContent += "היה" + (occupation ? " " + occupation : "") + " ש" + (chabadConnection ? chabadConnection : "") + ".\n\n"; | |||
// ביוגרפיה | |||
if (shortBio) { | |||
articleContent += "== ביוגרפיה ==\n" + shortBio + "\n\n"; | |||
} | |||
// אירועים בולטים | |||
} | if (keyEvents) { | ||
articleContent += "== אירועים בולטים בחייו ==\n" + keyEvents + "\n\n"; | |||
} | |||
} | // קישורים חיצוניים | ||
if (externalLinks) { | |||
articleContent += "== קישורים חיצוניים ==\n"; | |||
var linksArray = externalLinks.split('\n').filter(line => line.trim() !== ''); | |||
linksArray.forEach(function(link) { | |||
articleContent += "* " + link + "\n"; | |||
}); | |||
articleContent += "\n"; | |||
} | |||
// קטגוריות | |||
if (categories) { | |||
var catsArray = categories.split(',').map(cat => cat.trim()).filter(cat => cat !== ''); | |||
catsArray.forEach(function(cat) { | |||
articleContent += "[[קטגוריה:" + cat + "]]\n"; | |||
}); | |||
} | |||
document.getElementById('generatedArticle').value = articleContent; | |||
}); | |||
document.getElementById('copyToClipboard').addEventListener('click', function() { | |||
var generatedArticle = document.getElementById('generatedArticle'); | |||
generatedArticle.select(); | |||
document.execCommand('copy'); | |||
alert('התוכן הועתק ללוח.'); | |||
}); | |||
} | |||
document.getElementById('openNewArticle').addEventListener('click', function() { | |||
var name = document.getElementById('personName').value.trim(); | |||
if (name) { | |||
var articleContent = document.getElementById('generatedArticle').value; | |||
// קידוד התוכן ל-URL כדי שיוכל להיות מועבר כפרמטר | |||
var encodedContent = encodeURIComponent(articleContent); | |||
// פתיחת חלון חדש עם טופס העריכה | |||
window.open('/wiki/' + name + '?action=edit&preload=Template:ריק&text=' + encodedContent, '_blank'); | |||
} else { | |||
alert('אנא הזן שם מלא לפני פתיחת דף חדש.'); | |||
} | |||
}); | |||
})(); | |||
</script> | |||
// | |||
} | |||
} | |||