<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="he">
	<id>https://www.betmidrash.org.il/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Neriah</id>
	<title>ויקיסוגיה - תרומות המשתמש [he]</title>
	<link rel="self" type="application/atom+xml" href="https://www.betmidrash.org.il/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Neriah"/>
	<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/%D7%9E%D7%99%D7%95%D7%97%D7%93:%D7%AA%D7%A8%D7%95%D7%9E%D7%95%D7%AA/Neriah"/>
	<updated>2026-06-23T00:47:06Z</updated>
	<subtitle>תרומות המשתמש</subtitle>
	<generator>MediaWiki 1.37.0</generator>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9%D7%AA:%D7%93%D7%95%D7%92%D7%A7%D7%9F&amp;diff=20351</id>
		<title>שיחת משתמשת:דוגקן</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9%D7%AA:%D7%93%D7%95%D7%92%D7%A7%D7%9F&amp;diff=20351"/>
		<updated>2023-04-13T12:25:37Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{תבנית:ברוך בואך|realName=|name=דוגקן}}&lt;br /&gt;
&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 14:28, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:שבוע טוב ותודה רבה :). [[משתמש:דוגקן|דוגקן]] ([[שיחת משתמש:דוגקן|שיחה]]) 17:48, 7 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== קרדיט ==&lt;br /&gt;
&lt;br /&gt;
שים לב לכתוב מאיפה אתה מייבא. --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 19:55, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:ויקיפדיה. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 19:56, 7 בנובמבר 2020 (IST)&lt;br /&gt;
::אז תכתוב את זה בתקציר עריכה. --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 19:57, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::ואל תשכח להוסיף את התגית &amp;quot;צ'קטי&amp;quot;. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 19:59, 7 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Neriah&amp;diff=20352</id>
		<title>שיחת משתמש:Neriah</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Neriah&amp;diff=20352"/>
		<updated>2023-04-13T12:25:36Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{בה}}&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 20:38, 1 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
:{{א|א.א}}, תודה רבה! למה לא עושים תבנית יותר פשוטה כמו {{תב|בה}} וצריך לעשות תבנית מסובכת? --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 20:41, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::צודק. ייעשה. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 21:09, 1 בנובמבר 2020 (IST)&lt;br /&gt;
:::{{א|novik}}, אתה מטפל בזה? --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 21:14, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::::בוצע. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 11:06, 2 בנובמבר 2020 (IST)&lt;br /&gt;
:::::שכוייח! יש לך אפשרות לעשות שגם בדף של ה[[וק:במ|בקשות ממעפילים]] תהיה אפשרות לחתימה בסקריפט ולא רק ע&amp;quot;י הקלדת ארבעה סימני טילדה &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;? {{תודה רבה}}! --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 12:47, 2 בנובמבר 2020 (IST)&lt;br /&gt;
::::::לא חושב. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 17:08, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::חבל... --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 21:30, 5 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== דפים בשביל אנונימים ==&lt;br /&gt;
&lt;br /&gt;
היי, מחקתי את דפי המדיה ויקי האלו כי זה לא רלוונטי, אנונימים לא יכולים לערוך באתר. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 12:46, 9 בנובמבר 2020 (IST)&lt;br /&gt;
:{{א|א.א}}, למה לא לפתוח את האתר לעריכת אנונימים? --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 16:14, 10 בנובמבר 2020 (IST)&lt;br /&gt;
::א. זה מונע פריצות והשחתות. ב. למה כן? [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 16:20, 10 בנובמבר 2020 (IST)&lt;br /&gt;
:::{{א|א.א}}, לי לא נראה שיהיו השחתות, ויכול להות שזה יביא עוד עורכים. --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 16:28, 10 בנובמבר 2020 (IST)&lt;br /&gt;
::::אתרי ויקי הם מאוד פרוצים. בלי אישור דוא&amp;quot;ל זה עוד יותר פרוץ. לויקיפדיה יש את ההגנות שלה, לא יודע מה בדיוק, אבל מכיר כמה אתרי ויקי שבוטים השחיתו להם את כל האתר. מלבד זה, זה אתר של לימוד תורה והרעיון הוא שיהיה משא ומתן ושיח סביב התוכן. ברגע שמישהו כותב משהו, יש ענין שאחרים יענו לו, יתקנו אותו וכו' וכו'. מי שזה באמת חשוב לו ורוצה לתרום, יקדיש חצי דקה ויפתח חשבון. [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 17:14, 10 בנובמבר 2020 (IST)&lt;br /&gt;
:::::נכון. גם הכתובת IP משתנות ואי אפשר לדעת עם מי דיברת. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 19:30, 10 בנובמבר 2020 (IST)&lt;br /&gt;
::::::טוב. --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 17:41, 11 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Novik&amp;diff=20350</id>
		<title>שיחת משתמש:Novik</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Novik&amp;diff=20350"/>
		<updated>2023-04-13T12:24:59Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{תבנית:ברוך בואך|realName=|name=novik}}&lt;br /&gt;
&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 20:41, 27 ביולי 2020 (IDT)&lt;br /&gt;
:{{א|א.א}} תודה רבה!. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 14:45, 28 ביולי 2020 (IDT)&lt;br /&gt;
&lt;br /&gt;
== שלחת לי מייל ==&lt;br /&gt;
אבל לא כל כך נוח לי להשתמש במייל דרך האתר. מה בדיוק רצית לדעת, לא כל כך הבנתי? [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 23:19, 28 ביולי 2020 (IDT)&lt;br /&gt;
:איך בניית את האתר. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 15:21, 29 ביולי 2020 (IDT)&lt;br /&gt;
::אתה פשוט [https://www.mediawiki.org/wiki/Download מוריד את התוכנה] ומתקין אותה על שרת כלשהו... [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 05:06, 3 באוגוסט 2020 (IDT)&lt;br /&gt;
:::צריך לקנות שרת?. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 13:28, 3 באוגוסט 2020 (IDT)&lt;br /&gt;
::::זה תלוי, אם אתה רוצה אתר אינטרנט אתה צריך לקנות מקום בשרת אינטרנט כלשהו ועליו להתקין את התוכנה. אבל את התוכנה עצמה אפשר להתקין על שרת פרטי שמותקן על המחשב. אם אתה רוצה אני יכול להסביר לך בפירוט איך עושים את זה. [[משתמש:עמד|עמד]] ([[שיחת משתמש:עמד|שיחה]]) 20:27, 9 באוגוסט 2020 (IDT)&lt;br /&gt;
:::::תודה {{א|עמד}}. אני כרגע נמצא בחופשה ואין לי זמן להסתכל. תוכל לשלוח לי למייל הסבר שבוע הבא. תודה רבה!.&lt;br /&gt;
::::::{{א|עמד}} עכשיו אתה יכול. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 18:00, 16 באוגוסט 2020 (IDT)&lt;br /&gt;
&lt;br /&gt;
== קרדיט ==&lt;br /&gt;
&lt;br /&gt;
תזכור לתת קרדיט על הדפים שאתה מייבא. --[[משתמש:מושך בשבט|מושך בשבט]] ([[שיחת משתמש:מושך בשבט|שיחה]]) 20:27, 1 בנובמבר 2020 (IST)&lt;br /&gt;
:הי. לא חושב שצריך לתת עליהם קרדיט אלו דפי מדיה ויקי והם עם רישון נחלת הכלל. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 20:29, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::צריך לתת קרדיט על כל דף. --[[משתמש:מושך בשבט|מושך בשבט]] ([[שיחת משתמש:מושך בשבט|שיחה]]) 20:36, 1 בנובמבר 2020 (IST)&lt;br /&gt;
:::המכלול לא נותנים והם מאוד מקפידים. אז כנראה שבדפים כאלה לא. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 21:05, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::::דרך אגב, אסור להעתיק תוכן מהמכלול. --[[משתמש:מושך בשבט|מושך בשבט]] ([[שיחת משתמש:מושך בשבט|שיחה]]) 16:55, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::זה מויקיפדיה. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 17:02, 5 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== מנהל ממשק ==&lt;br /&gt;
&lt;br /&gt;
לא הספקתי לשנות. אשמח אם תחזיר לי את ההרשאה. בע&amp;quot;ה מחר אשנה. תודה. --[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 21:30, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:{{א|Neriah}} (ראיתי את ההודעה אבל לא הצלחתי להיכנס) בסדר. תשתמש בה בזהירות, אם אתה מייבא מויקיפדיה החלף לויקיסוגיה. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 13:26, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::יש עוד כמה דברים שאני צריך לייבא. תוכל להחזיר לי את ההרשאה?--[[משתמש:Neriah|Neriah]] ([[שיחת משתמש:Neriah|שיחה]]) 20:19, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::אחזיר לך את הרשאת עורך הממשק, צריך לבדוק את דפי המדיה ויקי ולהחליף את הטקסט לשם האתר הנוכחי. [[משתמש:novik|novik]] ([[שיחת משתמש:novik|שיחה]]) 20:24, 7 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== בנוגע לשאלתך ==&lt;br /&gt;
&lt;br /&gt;
למדתי עצמאית (איני יכול לענות כרגע במייל, עמך הסליחה). [[משתמש:צורבא מדרבנן|צורבא מדרבנן]] ([[שיחת משתמש:צורבא מדרבנן|שיחה]]) 16:00, 29 ביוני 2021 (IDT)&lt;br /&gt;
:אה, חשבתי שהמייל לא נשלח. יפה. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 16:23, 29 ביוני 2021 (IDT)&lt;br /&gt;
&lt;br /&gt;
== עורך חזותי ==&lt;br /&gt;
&lt;br /&gt;
מה אתו? הוא לא פעיל. [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 12:33, 30 ביוני 2021 (IDT)&lt;br /&gt;
:עובד, הרגע עבד. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 12:51, 30 ביוני 2021 (IDT)&lt;br /&gt;
::תודה. --[[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 15:35, 30 ביוני 2021 (IDT)&lt;br /&gt;
:::בשמחה. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 15:43, 30 ביוני 2021 (IDT)&lt;br /&gt;
== הרחבה ==&lt;br /&gt;
&lt;br /&gt;
אני צריך שתתקין בבקשה את ההרחבה templateStyle‏. תודה. [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 15:31, 30 ביוני 2021 (IDT)&lt;br /&gt;
:אבדוק את זה. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 15:43, 30 ביוני 2021 (IDT)&lt;br /&gt;
::{{א|צורבא מרבנן}}, &amp;quot;שגיאה אנושה: לא נתפס ExtensionDependency שגיאה : TemplateStyles אינה תואמת לליבת MediaWiki הנוכחית (גרסה 1.33.1), היא דורשת:&amp;gt; = 1.36.0.&amp;quot; הגרסה מגבילה את האתר ברוב ההרחבות. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 15:53, 30 ביוני 2021 (IDT)&lt;br /&gt;
:::{{א|Novik|ואין}} אפשרות לשדרג את הגרסא?  במה זה תלוי? [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 15:59, 30 ביוני 2021 (IDT)&lt;br /&gt;
::::יש, בוודאי שיש, אבל זה תהליך מסובך, ואני גם לא יודע לעשות את זה 100% [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 16:04, 30 ביוני 2021 (IDT)&lt;br /&gt;
:::::{{א|א.א}}, יודע? [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 16:06, 30 ביוני 2021 (IDT)&lt;br /&gt;
::::::לא. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 16:07, 30 ביוני 2021 (IDT)&lt;br /&gt;
:::::::נ.ב אני מנסה להתקין הרחבה ויהיו מדי פעם קריסות באתר. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 16:08, 30 ביוני 2021 (IDT)&lt;br /&gt;
{{שבירה}}בהצלחה! [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 16:10, 30 ביוני 2021 (IDT)&lt;br /&gt;
:לשנות גירסה, זה לא מאוד מסובך. עשיתי זאת בעבר. [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 21:32, 30 ביוני 2021 (IDT)&lt;br /&gt;
::א&amp;quot;כ אודה {{א|א.א|לך}} שתשדרג את הגרסא. [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 21:55, 30 ביוני 2021 (IDT)&lt;br /&gt;
&lt;br /&gt;
== הרשאות ==&lt;br /&gt;
&lt;br /&gt;
להבא כדאי לפני שנותנים הרשאות לבקשה מהמשתמש, ולייעוץ עם הביורקרטים. תודה! [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 17:44, 30 ביוני 2021 (IDT)&lt;br /&gt;
:אוקיי. הוא רשום באתר כבר שנה, ומוכר כאן. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 17:48, 30 ביוני 2021 (IDT)&lt;br /&gt;
::אכן כן, וגם פעולתו מבורכת עד מאוד. רק חשוב להבהיר, שההרשאות באתר הם לא כתפקידי כבוד וכדו', אלא פעולות טכניות, שמי שעומד מאחוריהן צריך להיות משתמש וותיק בתחום ובעיקר שיהיה צורך בבעל הרשאה כזו. בעז&amp;quot;ה, כאשר קהילת העורכים תתרחב כאן, ושיהיה צורך, נבדוק בהתאם. [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 17:51, 30 ביוני 2021 (IDT)&lt;br /&gt;
:::בוודאי שלא, הוא ביקש את ההרשאה למטרה מסוימת. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 17:53, 30 ביוני 2021 (IDT)&lt;br /&gt;
::::להריחב את הקהילה - אפשר לעשות סרטוני פרסום ולפרסם בפורומים. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 17:53, 30 ביוני 2021 (IDT)&lt;br /&gt;
:::::ממליץ שיפנה אלי. [[משתמש:צורבא מרבנן|צורבא מרבנן]] ([[שיחת משתמש:צורבא מרבנן|שיחה]]) 17:54, 30 ביוני 2021 (IDT)&lt;br /&gt;
::::::תכתוב לו. [[משתמש:Novik|Novik]] ([[שיחת משתמש:Novik|שיחה]]) 17:55, 30 ביוני 2021 (IDT)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Neriah&amp;diff=16066</id>
		<title>שיחת משתמש:Neriah</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Neriah&amp;diff=16066"/>
		<updated>2020-11-11T15:41:30Z</updated>

		<summary type="html">&lt;p&gt;Neriah: /* דפים בשביל אנונימים */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{בה}}&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 20:38, 1 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
:{{א|א.א}}, תודה רבה! למה לא עושים תבנית יותר פשוטה כמו {{תב|בה}} וצריך לעשות תבנית מסובכת? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 20:41, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::צודק. ייעשה. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 21:09, 1 בנובמבר 2020 (IST)&lt;br /&gt;
:::{{א|מגזין יהלום}}, אתה מטפל בזה? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:14, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::::בוצע. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 11:06, 2 בנובמבר 2020 (IST)&lt;br /&gt;
:::::שכוייח! יש לך אפשרות לעשות שגם בדף של ה[[וק:במ|בקשות ממעפילים]] תהיה אפשרות לחתימה בסקריפט ולא רק ע&amp;quot;י הקלדת ארבעה סימני טילדה &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;? {{תודה רבה}}! --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 12:47, 2 בנובמבר 2020 (IST)&lt;br /&gt;
::::::לא חושב. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 17:08, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::חבל... --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:30, 5 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== דפים בשביל אנונימים ==&lt;br /&gt;
&lt;br /&gt;
היי, מחקתי את דפי המדיה ויקי האלו כי זה לא רלוונטי, אנונימים לא יכולים לערוך באתר. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 12:46, 9 בנובמבר 2020 (IST)&lt;br /&gt;
:{{א|א.א}}, למה לא לפתוח את האתר לעריכת אנונימים? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 16:14, 10 בנובמבר 2020 (IST)&lt;br /&gt;
::א. זה מונע פריצות והשחתות. ב. למה כן? [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 16:20, 10 בנובמבר 2020 (IST)&lt;br /&gt;
:::{{א|א.א}}, לי לא נראה שיהיו השחתות, ויכול להות שזה יביא עוד עורכים. --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 16:28, 10 בנובמבר 2020 (IST)&lt;br /&gt;
::::אתרי ויקי הם מאוד פרוצים. בלי אישור דוא&amp;quot;ל זה עוד יותר פרוץ. לויקיפדיה יש את ההגנות שלה, לא יודע מה בדיוק, אבל מכיר כמה אתרי ויקי שבוטים השחיתו להם את כל האתר. מלבד זה, זה אתר של לימוד תורה והרעיון הוא שיהיה משא ומתן ושיח סביב התוכן. ברגע שמישהו כותב משהו, יש ענין שאחרים יענו לו, יתקנו אותו וכו' וכו'. מי שזה באמת חשוב לו ורוצה לתרום, יקדיש חצי דקה ויפתח חשבון. [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 17:14, 10 בנובמבר 2020 (IST)&lt;br /&gt;
:::::נכון. גם הכתובת IP משתנות ואי אפשר לדעת עם מי דיברת. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 19:30, 10 בנובמבר 2020 (IST)&lt;br /&gt;
::::::טוב. --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 17:41, 11 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Neriah&amp;diff=16059</id>
		<title>שיחת משתמש:Neriah</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Neriah&amp;diff=16059"/>
		<updated>2020-11-10T14:28:07Z</updated>

		<summary type="html">&lt;p&gt;Neriah: /* דפים בשביל אנונימים */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{בה}}&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 20:38, 1 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
:{{א|א.א}}, תודה רבה! למה לא עושים תבנית יותר פשוטה כמו {{תב|בה}} וצריך לעשות תבנית מסובכת? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 20:41, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::צודק. ייעשה. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 21:09, 1 בנובמבר 2020 (IST)&lt;br /&gt;
:::{{א|מגזין יהלום}}, אתה מטפל בזה? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:14, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::::בוצע. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 11:06, 2 בנובמבר 2020 (IST)&lt;br /&gt;
:::::שכוייח! יש לך אפשרות לעשות שגם בדף של ה[[וק:במ|בקשות ממעפילים]] תהיה אפשרות לחתימה בסקריפט ולא רק ע&amp;quot;י הקלדת ארבעה סימני טילדה &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;? {{תודה רבה}}! --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 12:47, 2 בנובמבר 2020 (IST)&lt;br /&gt;
::::::לא חושב. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 17:08, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::חבל... --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:30, 5 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== דפים בשביל אנונימים ==&lt;br /&gt;
&lt;br /&gt;
היי, מחקתי את דפי המדיה ויקי האלו כי זה לא רלוונטי, אנונימים לא יכולים לערוך באתר. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 12:46, 9 בנובמבר 2020 (IST)&lt;br /&gt;
:{{א|א.א}}, למה לא לפתוח את האתר לעריכת אנונימים? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 16:14, 10 בנובמבר 2020 (IST)&lt;br /&gt;
::א. זה מונע פריצות והשחתות. ב. למה כן? [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 16:20, 10 בנובמבר 2020 (IST)&lt;br /&gt;
:::{{א|א.א}}, לי לא נראה שיהיו השחתות, ויכול להות שזה יביא עוד עורכים. --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 16:28, 10 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Neriah&amp;diff=16057</id>
		<title>שיחת משתמש:Neriah</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Neriah&amp;diff=16057"/>
		<updated>2020-11-10T14:14:11Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{בה}}&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 20:38, 1 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
:{{א|א.א}}, תודה רבה! למה לא עושים תבנית יותר פשוטה כמו {{תב|בה}} וצריך לעשות תבנית מסובכת? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 20:41, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::צודק. ייעשה. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 21:09, 1 בנובמבר 2020 (IST)&lt;br /&gt;
:::{{א|מגזין יהלום}}, אתה מטפל בזה? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:14, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::::בוצע. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 11:06, 2 בנובמבר 2020 (IST)&lt;br /&gt;
:::::שכוייח! יש לך אפשרות לעשות שגם בדף של ה[[וק:במ|בקשות ממעפילים]] תהיה אפשרות לחתימה בסקריפט ולא רק ע&amp;quot;י הקלדת ארבעה סימני טילדה &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;? {{תודה רבה}}! --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 12:47, 2 בנובמבר 2020 (IST)&lt;br /&gt;
::::::לא חושב. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 17:08, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::חבל... --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:30, 5 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== דפים בשביל אנונימים ==&lt;br /&gt;
&lt;br /&gt;
היי, מחקתי את דפי המדיה ויקי האלו כי זה לא רלוונטי, אנונימים לא יכולים לערוך באתר. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 12:46, 9 בנובמבר 2020 (IST)&lt;br /&gt;
:{{א|א.א}}, למה לא לפתוח את האתר לעריכת אנונימים? --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 16:14, 10 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Ancientpages&amp;diff=16036</id>
		<title>מדיה ויקי:Ancientpages</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Ancientpages&amp;diff=16036"/>
		<updated>2020-11-09T10:22:00Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;דפים מוזנחים&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;דפים מוזנחים&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Anoncontribs&amp;diff=16035</id>
		<title>מדיה ויקי:Anoncontribs</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Anoncontribs&amp;diff=16035"/>
		<updated>2020-11-09T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;תרומות&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;תרומות&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Allpagesfrom&amp;diff=16034</id>
		<title>מדיה ויקי:Allpagesfrom</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Allpagesfrom&amp;diff=16034"/>
		<updated>2020-11-09T10:21:21Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;הצגת דפים החל מ:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;הצגת דפים החל מ:&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Allpagesbadtitle&amp;diff=16033</id>
		<title>מדיה ויקי:Allpagesbadtitle</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Allpagesbadtitle&amp;diff=16033"/>
		<updated>2020-11-09T10:21:08Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;כותרת הדף שניתנה הייתה בלתי־תקינה או שהייתה בה קידומת של קישור לשפה אחרת או לאתר ויקי אח...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;כותרת הדף שניתנה הייתה בלתי־תקינה או שהייתה בה קידומת של קישור לשפה אחרת או לאתר ויקי אחר.&lt;br /&gt;
ייתכן שהיא מכילה תו אחד או יותר האסורים לשימוש בכותרות.&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Novik&amp;diff=15959</id>
		<title>שיחת משתמש:Novik</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Novik&amp;diff=15959"/>
		<updated>2020-11-07T18:19:20Z</updated>

		<summary type="html">&lt;p&gt;Neriah: /* מנהל ממשק */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{תבנית:ברוך בואך|realName=|name=מגזין יהלום}}&lt;br /&gt;
&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 20:41, 27 ביולי 2020 (IDT)&lt;br /&gt;
:{{א|א.א}} תודה רבה!. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 14:45, 28 ביולי 2020 (IDT)&lt;br /&gt;
&lt;br /&gt;
== שלחת לי מייל ==&lt;br /&gt;
אבל לא כל כך נוח לי להשתמש במייל דרך האתר. מה בדיוק רצית לדעת, לא כל כך הבנתי? [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 23:19, 28 ביולי 2020 (IDT)&lt;br /&gt;
:איך בניית את האתר. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:21, 29 ביולי 2020 (IDT)&lt;br /&gt;
::אתה פשוט [https://www.mediawiki.org/wiki/Download מוריד את התוכנה] ומתקין אותה על שרת כלשהו... [[משתמש:א.א|א.א]] ([[שיחת משתמש:א.א|שיחה]]) 05:06, 3 באוגוסט 2020 (IDT)&lt;br /&gt;
:::צריך לקנות שרת?. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 13:28, 3 באוגוסט 2020 (IDT)&lt;br /&gt;
::::זה תלוי, אם אתה רוצה אתר אינטרנט אתה צריך לקנות מקום בשרת אינטרנט כלשהו ועליו להתקין את התוכנה. אבל את התוכנה עצמה אפשר להתקין על שרת פרטי שמותקן על המחשב. אם אתה רוצה אני יכול להסביר לך בפירוט איך עושים את זה. [[משתמש:עמד|עמד]] ([[שיחת משתמש:עמד|שיחה]]) 20:27, 9 באוגוסט 2020 (IDT)&lt;br /&gt;
:::::תודה {{א|עמד}}. אני כרגע נמצא בחופשה ואין לי זמן להסתכל. תוכל לשלוח לי למייל הסבר שבוע הבא. תודה רבה!.&lt;br /&gt;
::::::{{א|עמד}} עכשיו אתה יכול. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 18:00, 16 באוגוסט 2020 (IDT)&lt;br /&gt;
&lt;br /&gt;
== קרדיט ==&lt;br /&gt;
&lt;br /&gt;
תזכור לתת קרדיט על הדפים שאתה מייבא. --[[משתמש:ישראל קלר|ישראל קלר]] ([[שיחת משתמש:ישראל קלר|שיחה]]) 20:27, 1 בנובמבר 2020 (IST)&lt;br /&gt;
:הי. לא חושב שצריך לתת עליהם קרדיט אלו דפי מדיה ויקי והם עם רישון נחלת הכלל. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 20:29, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::צריך לתת קרדיט על כל דף. --[[משתמש:ישראל קלר|ישראל קלר]] ([[שיחת משתמש:ישראל קלר|שיחה]]) 20:36, 1 בנובמבר 2020 (IST)&lt;br /&gt;
:::המכלול לא נותנים והם מאוד מקפידים. אז כנראה שבדפים כאלה לא. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 21:05, 1 בנובמבר 2020 (IST)&lt;br /&gt;
::::דרך אגב, אסור להעתיק תוכן מהמכלול. --[[משתמש:ישראל קלר|ישראל קלר]] ([[שיחת משתמש:ישראל קלר|שיחה]]) 16:55, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::זה מויקיפדיה. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 17:02, 5 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== מנהל ממשק ==&lt;br /&gt;
&lt;br /&gt;
לא הספקתי לשנות. אשמח אם תחזיר לי את ההרשאה. בע&amp;quot;ה מחר אשנה. תודה. --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:30, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:{{א|נריה קלר}} (ראיתי את ההודעה אבל לא הצלחתי להיכנס) בסדר. תשתמש בה בזהירות, אם אתה מייבא מויקיפדיה החלף לויקיסוגיה. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 13:26, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::יש עוד כמה דברים שאני צריך לייבא. תוכל להחזיר לי את ההרשאה?--[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 20:19, 7 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Tag-%D7%A6%27%D7%A7%D7%98%D7%99&amp;diff=15958</id>
		<title>מדיה ויקי:Tag-צ'קטי</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Tag-%D7%A6%27%D7%A7%D7%98%D7%99&amp;diff=15958"/>
		<updated>2020-11-07T18:01:59Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[מדיה ויקי:Gadget-Checkty|צ'קטי]]&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Tag-%D7%A6%27%D7%A7%D7%98%D7%99&amp;diff=15957</id>
		<title>מדיה ויקי:Tag-צ'קטי</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Tag-%D7%A6%27%D7%A7%D7%98%D7%99&amp;diff=15957"/>
		<updated>2020-11-07T18:01:33Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;צ'קטי&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[שיחת מדיה ויקי:Gadget-Checkty|צ'קטי]]&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%95%D7%99%D7%A7%D7%99%D7%A1%D7%95%D7%92%D7%99%D7%94:%D7%91%D7%A7%D7%A9%D7%95%D7%AA_%D7%9E%D7%9E%D7%A4%D7%A2%D7%99%D7%9C%D7%99%D7%9D&amp;diff=15954</id>
		<title>ויקיסוגיה:בקשות ממפעילים</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%95%D7%99%D7%A7%D7%99%D7%A1%D7%95%D7%92%D7%99%D7%94:%D7%91%D7%A7%D7%A9%D7%95%D7%AA_%D7%9E%D7%9E%D7%A4%D7%A2%D7%99%D7%9C%D7%99%D7%9D&amp;diff=15954"/>
		<updated>2020-11-07T17:58:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: /* בקשת הרשאות */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{קיצור דרך|וק:במ}}&lt;br /&gt;
{{/פתיח}}&lt;br /&gt;
==בקשות מחיקה / שחזור==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==בקשות חסימה / הסרת חסימה==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות הגנה / הסרת הגנה ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות מחיקת גרסאות מסוימות ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות עריכת דף מוגן או הודעת מערכת ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות העברת דף תוך כדי מחיקת דף אחר / העברת קובץ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות אחרות ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשת הרשאות ==&lt;br /&gt;
* {{הרשאות|נריה קלר}} מפעיל ועורך ממשק. אני רוצה לעזור בשיפור הממשק. מתייג את: {{א|א.א.}}, {{א|מגזין יהלום}} (אם אתה יכול לתת את ההרשאה). תודה מראש! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 18:47, 2 בנובמבר 2020 (IST)&lt;br /&gt;
*:{{א|נריה קלר}} יבוצע עכשיו. הרשאת עורך ממשק מספיקה. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 19:15, 2 בנובמבר 2020 (IST)&lt;br /&gt;
*::{{א|מגזין יהלום}} ? [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 14:36, 4 בנובמבר 2020 (IST)&lt;br /&gt;
:::?. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 14:50, 4 בנובמבר 2020 (IST)&lt;br /&gt;
::::אני שאלתי אם אתה מטפל בזה או שרק בירוקרט יכול. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 14:54, 4 בנובמבר 2020 (IST)&lt;br /&gt;
:::::{{א|נריה קלר}} בהרשאה?. לא. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 14:59, 4 בנובמבר 2020 (IST)&lt;br /&gt;
::::::{{א|נריה קלר}} עכשיו כן. אבל צריך אישור מ.א.א [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:14, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::אתה יכול להחזיר לי את ההרשאה? אני פשוט לא הספקתי ליבא את מה שרציתי. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:32, 5 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::{{א|נריה קלר}} בוצע. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 13:48, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::תודה רבה! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:19, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::{{א|מגזין יהלום}} ו{{א|א.א}}, אפשר גם מפעיל כי אני לא יכול לייבא עכשיו במהירות דרך דף מיוחד? תודה רבה! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:22, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::אני חושב שאתה יכול. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:24, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::צודק. אתן לך. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:25, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::אטפל בזה בעזרת השם במוצ&amp;quot;ש. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:36, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::::טוב. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:55, 6 בנובמבר 2020 (IST)&lt;br /&gt;
* {{הרשאות|דוגקן}} מפעיל מערכת (למרות שאני חדש) ועורך ממשק (לייבוא את הגאדג'טים). [[משתמש:דוגקן|דוגקן]] ([[שיחת משתמש:דוגקן|שיחה]]) 18:04, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::::{{א|דוגקן}} כבר ייבאתי את הגאדג'טים. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 18:24, 7 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::::::אני מתכוון לייבא עוד גאדג'טים. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 18:49, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::::::אילו?. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 19:13, 7 בנובמבר 2020 (IST)&lt;br /&gt;
{{שבירה|:::::::::::::::::}}בדיקת זכות הצבעה, הוספת קישורים וצ'קטי. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 19:14, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::::::::יש, אבל זה לא עובד. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 19:19, 7 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::::::::::אוקיי, אתה יכול להוסיף את הצ'קטי. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 19:40, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::::::::::אוקיי. אני מייבא. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 19:44, 7 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::::::::::::ייבאתי. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 19:58, 7 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9%D7%AA:%D7%93%D7%95%D7%92%D7%A7%D7%9F&amp;diff=15953</id>
		<title>שיחת משתמשת:דוגקן</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9%D7%AA:%D7%93%D7%95%D7%92%D7%A7%D7%9F&amp;diff=15953"/>
		<updated>2020-11-07T17:57:54Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{תבנית:ברוך בואך|realName=|name=דוגקן}}&lt;br /&gt;
&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 14:28, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:שבוע טוב ותודה רבה :). [[משתמש:דוגקן|דוגקן]] ([[שיחת משתמש:דוגקן|שיחה]]) 17:48, 7 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== קרדיט ==&lt;br /&gt;
&lt;br /&gt;
שים לב לכתוב מאיפה אתה מייבא. --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 19:55, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:ויקיפדיה. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 19:56, 7 בנובמבר 2020 (IST)&lt;br /&gt;
::אז תכתוב את זה בתקציר עריכה. --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 19:57, 7 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%91%D7%99%D7%A8%D7%AA_%D7%9B%D7%9C%D7%99%D7%9D_%D7%91%D7%A9%D7%91%D7%AA_%D7%9C%D7%A6%D7%95%D7%A8%D7%9A_%D7%90%D7%9B%D7%99%D7%9C%D7%94&amp;diff=15951</id>
		<title>שבירת כלים בשבת לצורך אכילה</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%91%D7%99%D7%A8%D7%AA_%D7%9B%D7%9C%D7%99%D7%9D_%D7%91%D7%A9%D7%91%D7%AA_%D7%9C%D7%A6%D7%95%D7%A8%D7%9A_%D7%90%D7%9B%D7%99%D7%9C%D7%94&amp;diff=15951"/>
		<updated>2020-11-07T17:56:56Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{מקורות|שבת כב ג, עירובין ג ג|שבת קמו א, עירובין לד ב - לה א, ביצה לג ב|עירובין ג ג|שבת כג ב|אורח חיים שיד א}}&lt;br /&gt;
האם מותר לשבור ולפתוח כלים וקופסאות בשבת לצורך אכילה ושתיה, ובאיזה אופן.&lt;br /&gt;
== שבירת חבית לצורך נטילת גרוגרות ==&lt;br /&gt;
ה'''משנה''' [http://beta.hebrewbooks.org/pdfpager.aspx?req=14280&amp;amp;st=&amp;amp;pgnum=137 (שבת כב ג)] אומרת שמותר לאדם לשבור חבית כדי ליטול ממנה גרוגרות (תאנים), ובתנאי שלא יתכוון לעשות כלי. כלומר שלא יתכוון לעשות לה פתח נאה.&lt;br /&gt;
&amp;lt;BR/&amp;gt;עוד מובא במשנה שלפי ר' יהודה אסור לנקוב את כיסוי החבית אפילו מלמעלה, אלא צריך ליטול את כל הכיסוי, לפי שכאשר הוא נוקב אותה הוא מתקן לה פתח. אמנם לדעת חכמים מותר לעשות נקב מלמעלה, ורק מן הצד אסור.&lt;br /&gt;
&lt;br /&gt;
=== סוגיה דביצה ===&lt;br /&gt;
ה'''גמרא''' במסכת ביצה [http://beta.hebrewbooks.org/shas.aspx?mesechta=8&amp;amp;daf=33b&amp;amp;format=pdf (לג ב)] הזכירה משנה זו של היתר שבירת החבית, בנוגע לקטימת עצים ביום טוב על מנת להריח, שמובא שם בגמרא לגבי עצים קשים שאסור לשברם מטעם שמא יבוא לקטום על מנת לחצוץ בו שיניו והוי איסורא דאורייתא, ולכן אפילו שוברם כדי להריח, אסור מדרבנן. ומקשה הגמרא למה אסור לקטום עצים קשים, מה זה שונה משבירת חבית לאכול ממנה גרוגרות? ומתרצת שבאמת זוהי דעת ר' אליעזר בלבד, שכיון שהוא אוסר מדאורייתא קטימת עצים על מנת לחצוץ שיניו, אוסר הוא מדרבנן קטימה על מנת להריח, אבל לדעת רבנן מותר לכתחילה לקטום להריח, ואם קוטם לחצוץ בו שיניו פטור אבל אסור.&lt;br /&gt;
&amp;lt;BR/&amp;gt;ועל זה שואלת הגמרא וכי ר' אליעזר לא סבירא ליה מתניתין דחבית? ומתרצת ששם מדובר ב'מוסתקי', כלומר חבית שעשויה שברים שברים ודיבקוה בזפת, ומבאר '''רש&amp;quot;י''' [http://beta.hebrewbooks.org/shas.aspx?mesechta=8&amp;amp;daf=33b&amp;amp;format=pdf (ד&amp;quot;ה במוסתקי)] שכיון שהיא רעועה אין חשש שיתכוון לעשות כלי, שכיון שהיא רעועה הוא עושה נקב קטן ככל שיוכל. ו'''תוספות''' פירשו [http://beta.hebrewbooks.org/shas.aspx?mesechta=8&amp;amp;daf=33b&amp;amp;format=pdf (ד&amp;quot;ה כי תניא)] שכיון שאין החתיכות שלמות, אין זה כלי, וגם אם יבוא לעשות פתח, לא הוי תיקון כלי בזה.&lt;br /&gt;
&lt;br /&gt;
=== טעם ההיתר בשבירת החבית ===&lt;br /&gt;
הראשונים טרחו לבאר טעם המשנה שהתירה שבירת חבית, ולא התייחסו לאוקימתא בביצה, שמדובר במוסתקי. להלן יתבאר היחס בין הסוגיות.&lt;br /&gt;
==== שיטת רש&amp;quot;י ====&lt;br /&gt;
'''רש&amp;quot;י''' [http://beta.hebrewbooks.org/shas.aspx?mesechta=2&amp;amp;daf=146&amp;amp;format=pdf (קמו א ד&amp;quot;ה שובר)] כותב שהטעם שמותר לשבור החבית, הוא מפני שאין במקלקל שום איסור בשבת.&lt;br /&gt;
&amp;lt;BR/&amp;gt;ה'''רשב&amp;quot;א''' (קמו א ד&amp;quot;ה מתניתין), ה'''ר&amp;quot;ן''' (ד&amp;quot;ה שובר) וה'''ריטב&amp;quot;א''' (ד&amp;quot;ה שובר) הקשו על רש&amp;quot;י, שאף שקיימא לן [[כל המקלקלים פטורים]], מכל מקום הרי אינו מותר לכתחילה? ותירצו בדעת רש&amp;quot;י, שכיון שכאן הוא צורך שבת, מותר אף לכתחילה. כעין זה כתב גם ה'''מאירי''' (קמו א ד&amp;quot;ה המשנה הרביעית) שהמקלקל לצורך אוכל מותר לכתחילה, וכן כתב ב'''פסקי הרי&amp;quot;ד''' (קמו א), שמקלקל אסור רק היכא שאין לו צורך, אבל הכא שיש לו צורך אכילת שבת מותר.&lt;br /&gt;
&amp;lt;BR/&amp;gt;אמנם הריטב&amp;quot;א כתב שלא משמע כן מלשון רש&amp;quot;י. גם הוסיף להקשות, וכן הקשה גם הרשב&amp;quot;א, ממסכת ביצה הנ&amp;quot;ל, שמקשה הגמרא ממשנתינו על מאן דאמר שאסור לשבור עצי בשמים קשים, ולכאורה מאי קושיא, הרי במשתינו הוא לצורך אכילה ולכן מותר לכתחילה, מה שאין כן שם שהוא קוטמו להריח בו.&lt;br /&gt;
&amp;lt;BR/&amp;gt;אמנם לפי מה שכתב בפסקי הרי&amp;quot;ד הנ&amp;quot;ל, מבואר שלאו דווקא צורך אכילה אלא כל שיש לו צורך וה&amp;quot;ה להריח בו, לאפוקי ממקלקל סתם דאסור. וכן כתב בספר '''שבת של מי''' (ד&amp;quot;ה שובר) לתרץ בדעת רש&amp;quot;י.&lt;br /&gt;
&lt;br /&gt;
ב'''חידושי חתם סופר''' (קמו א ד&amp;quot;ה שובר) כתב להסביר בדעת רש&amp;quot;י שאם היה כאן בנין וסתירה מדאורייתא, ודאי היה אסור אף לצורך שבת. אלא כיון שסובר רש&amp;quot;י שכלל [[אין בנין וסתירה בכלים]], לכן היכא שהסתירה היא גם דרך קלקול ולא על מנת לבנות, ליכא איסורא כלל. וכן ב'''שפת אמת''' (קמו א ד&amp;quot;ה ברש&amp;quot;י) כתב שיש בנין וסתירה בכלים מדרבנן, אלא כיון דהוא מקלקל לא גזרינן.&lt;br /&gt;
&amp;lt;BR/&amp;gt;כעין זה איתא ב'''חזון איש''' (אורח חיים נא א) שכיון שאין בנין וסתירה בכלים, מותר לכתחילה סותר שלא על מנת לבנות. והוסיף שאף שיש בנין בעשיית כלי ממש, כדאמרינן לגבי [[מאן דעייל שופתא בקופינא דמרא]] (שבת קב.) שחייב משום בונה, זה לא הוי אלא במעשה גמור, ולכן בסתירה דרך שבירה שעושה כן רק על מנת להוציא מה שבתוכה, אין על זה שם מלאכה בכלים.&lt;br /&gt;
&lt;br /&gt;
==== שיטת הר&amp;quot;ן ====&lt;br /&gt;
ה'''ר&amp;quot;ן''' (ד&amp;quot;ה שובר) אחר שיישב שיטת רש&amp;quot;י שמשום צורך שבת התירו מקלקל, כתב דזהו דווקא בכלי קטן דלא שייך ביה בנין וסתירה, אבל בכלי גדול לא. ובספר '''עולת שבת''' אורגלר [http://beta.hebrewbooks.org/pdfpager.aspx?req=21386&amp;amp;st=&amp;amp;pgnum=178 (א)] תמה על דבריו, מה זה ענין לגדול או קטן, הרי גם בכלי גדול מקלקל הוא ופטור, ואם כן יש להתיר לצורך שבת כמו בקטן. וכתב ליישב, שבכלי גדול גזרינן משום שמא יתכוון לעשות לה פה, אך בקטן לא גזרינן.&lt;br /&gt;
&lt;br /&gt;
==== שיטת הריטב&amp;quot;א ====&lt;br /&gt;
ה'''ריטב&amp;quot;א''' כתב טעם אחר להיתר המשנה. שכיון שאפילו היה מתכוון לעשות לה פתח, אין זה אלא כלאחר יד מפני שאין דרך בני אדם להוציא על ידי שבירה, לכן כאשר גם אינו מתכוון מותר לכתחילה, כדי שיעשה בעין יפה לאורחים ולצורך שבת. וכתב שלפי זה אינו קשה מהגמרא בביצה, שהשוותה לשבירת עצים להריח, מפני שגם שם הוא אינו מתכוון לעשות כלי.&lt;br /&gt;
&lt;br /&gt;
=== הקושיה מעירובין ותירוצה ===&lt;br /&gt;
{{סוגיה מורחבת|עירוב שנתנו במגדל ואבד המפתח}}&lt;br /&gt;
אומרת ה'''משנה''' (עירובין ג ג) שמי שעירובו נמצא בתוך מגדל (תיבה גדולה) ואבד המפתח, לדעת רבנן עירובו עירוב, ולדעת ר' אליעזר אינו עירוב אם אינו יודע היכן המפתח. ומסקנת ה'''גמרא''' [http://beta.hebrewbooks.org/shas.aspx?mesechta=3&amp;amp;daf=35&amp;amp;format=pdf (עירובין לה א)] שאיירי במגדל של עץ הקשור בחבל וצריך סכין לחתכו, שבזה מתירים רבנן לטלטל את הסכין לצורך דבר המותר, ולכן הוי עירוב, ולר' אליעזר אין עירובו עירוב, לפי שסובר כר' נחמיה ש[[כלים הניטלים ושאינם ניטלים בשבת|אין כלי ניטל אלא לצורך תשמישו]].&lt;br /&gt;
&amp;lt;BR/&amp;gt;מדוייק שם בגמרא שבמגדל של עץ, אסור לשבור את המגדל אפילו לצורך אוכל, והקשו הראשונים מאי שנא מחבית. כן הקשו ה'''תוספות''' [http://beta.hebrewbooks.org/shas.aspx?mesechta=2&amp;amp;daf=146&amp;amp;format=pdf (שבת קמו א ד&amp;quot;ה שובר,] [http://beta.hebrewbooks.org/shas.aspx?mesechta=3&amp;amp;daf=34b&amp;amp;format=pdf עירובין לד ב ד&amp;quot;ה אמאי)], וכן הקשו גם ה'''רשב&amp;quot;א''' (ד&amp;quot;ה שובר), ה'''ר&amp;quot;ן''' (ד&amp;quot;ה שובר), ה'''ריטב&amp;quot;א''' (ד&amp;quot;ה שובר).&lt;br /&gt;
&lt;br /&gt;
ויש להעיר מה'''ירושלמי''' (עירובין ג ג) שלשיטתו ליכא לקושיה זו, מפני שכתב שמגדל האמור בגמרא בעירובין היינו מאבן, אבל מגדל של עץ שרי, שנעשה כשובר חבית ליטול הימנה גרוגרות. ה'''תוספות''' (עירובין לד ב ד&amp;quot;ה ואמאי) הזכירו דברי הירושלמי, אך למעשה נקטו שהבבלי הוא דלא כהירושלמי בזה. אמנם ה'''אור זרוע''' (שבת עח יב) הביא מהירושלמי ראיה שלא כתירוץ התוס' להלן.&lt;br /&gt;
&lt;br /&gt;
==== תירוץ התוספות ====&lt;br /&gt;
תירצו התוספות, שמה שמשנתינו התירה לשבור חבית, מדובר דווקא ב'מוסתקי' כפי שהעמידה הגמרא בביצה (לג ב), כלומר חבית שבנויה מחתיכות שחיברום יחד, כלומר שזהו כלי גרוע ולכן אין בו בנין וסתירה, אבל בחבית שלמה אסור כפי שאסור במגדל. ואף שהגמרא בביצה העמידה כך רק לשיטת ר' אליעזר שם, מ&amp;quot;מ גם לדעת רבנן צריך לומר כן, שהרי אף שחכמים לא '''חייבו''' בקוטם עצים, על כל פנים אסרו לכתחילה, מה שאין כן בחבית שמותר אף לכתחילה. לכן חייבים לומר שמדובר במוסתקי. תירוץ זה תירץ גם ה'''רא&amp;quot;ש''' (שבת כב ו), וכן כתב בספר ה'''אגודה''' (שבת כב קפב) {{ראה עוד|תירוץ התוספות}}.&lt;br /&gt;
&amp;lt;BR/&amp;gt;כן העתיק גם ה'''טור''' להלכה (אורח חיים שיד) שחבית שלמה אין לשוברה ואפילו נקב בעלמא אין לעשות בה, ולא אמרינן אין בנין וסתירה בכלים אלא במקום שאינו בנין ממש כגון חבית שנשברה ודיבק שבריה בזפת, והיינו 'מוסתקי'.&lt;br /&gt;
&lt;br /&gt;
===== ביאור תירוץ התוספות =====&lt;br /&gt;
בדברי התוס' בשבת (קמו.) לא מפורש שהאיסור לשבור חבית שלמה הוא משום סתירה בכלים, אלא שמא יבוא לעשות כלי. וכן הוא ב'''רבנו ירוחם''' (אדם וחוה ד א כט ג) בשמם. אמנם בתוס' בעירובין (לד:) מפורש שהאיסור הוא משום סתירה בכלים. וצ&amp;quot;ב אם יש הבדל בין הטעמים.&lt;br /&gt;
&amp;lt;BR/&amp;gt;ב'''אבני נזר''' (ריג ג) הבין שהם שני טעמים שונים, וכתב שנפקא מינה בפותחת של עץ ושל מתכת שלא שייך לגזור שמא יעשה כלי, דאפילו הכי אסור משום סתירה בכלים.&lt;br /&gt;
אמנם יש להעיר שגם לטעם זה של סתירה בכלים, האיסור הוא על כל פנים רק מדרבנן, שהרי הוא מקלקל וסותר שלא על מנת לבנות, וקיימא לן כל המקלקלים פטורים.&lt;br /&gt;
&lt;br /&gt;
גם ב'''רא&amp;quot;ש''' בשבת (כב ו) לא הזכיר בנין וסתירה בכלים, רק שבחבית שלמה אסור משום גזרה שמא יתכוון לעשות כלי, ואילו בעירובין (ג ה) מוסיף את הטעם משום בנין וסתירה בכלים, אמנם משמע בדבריו שלא משום מלאכת סותר אסור, אלא שכיון שאם יתקן כלי יהיה איסור דאורייתא דבונה, לכן לשבור אסור מדרבנן שמא יתכוון לעשות כלי.&lt;br /&gt;
&lt;br /&gt;
על שיטת התוספות יש להקשות, שהגמרא בביצה הנ&amp;quot;ל הרי מעמידה ב'מוסתקי' לר' אליעזר, לא מטעם סתירה בכלים, שהרי הקשתה מקיסם שמא יעשה על מנת לחצוץ בו שיניו, ולא משום סתירת כלי, ואם כן איך אומרים התוס' שהאיסור בחבית הוא משום סתירה בכלים? כן הקשה ה'''חזון איש''' (אורח חיים נא ב).&lt;br /&gt;
&amp;lt;BR/&amp;gt;ותירץ שם שכוונת התוספות שבדבר ששייך בו בנין וסתירה יש לנו לגזור בשבירתו שמא יעשה פתח יפה (וכעין מה שכתב הרא&amp;quot;ש), אלא שזהו דחוק בלשון התוס'. &amp;lt;BR/&amp;gt;&lt;br /&gt;
לעומת זאת להלן כתב החזו&amp;quot;א (נא ד) שיש בשבירת חבית שלמה משום סתירה, ומטעם זה מעמידה הגמרא במוסתקי ולא מטעם גזירה שמא יעשה כלי. ולפי זה צריך ליישב בגמרא בביצה, שכוונת התוספות לומר שכשם שאמרה הגמרא בחבית שלימה שאסור לשברה לר' אליעזר מטעם גזירה מדרבנן ולכן העמידה את המשנה במוסתקי, כן חייבים לומר בלאו הכי גם לדעת חכמים, לפי שיש בנין וסתירה בכלים {{ראה עוד|פירוש מוסתקי}}.&lt;br /&gt;
&lt;br /&gt;
עוד יש להעיר שלפי הסבר התוספות וההעמדה שמדובר בגמרא במוסתקי, יש להעמיד כן את כל הסוגיה, כל מקום שהתירו סתירה, כגון לגבי התזת ראש החבית בסייף ותחיבת הרומח לעשיית נקב, וכן כתבו ה'''תוספות''' להדיא (שבת קמו א ד&amp;quot;ה שובר), וכן כתב ה'''חזון איש''' (נא ד).&lt;br /&gt;
&lt;br /&gt;
==== תירוץ הרשב&amp;quot;א והר&amp;quot;ן ====&lt;br /&gt;
ה'''רשב&amp;quot;א''' (ש&amp;quot;ה שובר) הקשה על תירוץ התוספות, שאם כדבריהם דאיירי במוסתקי, קשה מהמשך הגמרא שרב ששת שואל האם מותר לתחוב רומח בחבית על מנת לנקבה (לשון הגמרא - למיברז חביתא בבורטיא), והרי ודאי שאיירי בחבית רגילה, ואפילו הכי קאמר שאם אינו מכוון לפיתחא אלא לעין יפה מותר.&lt;br /&gt;
&amp;lt;BR/&amp;gt;ה'''ריטב&amp;quot;א''' (קמו א ד&amp;quot;ה מתני) גם הוא לא קיבל את תירוץ התוספות, מפני שהגמרא בביצה העמידה במוסתקי רק לר' אליעזר, כי סתם חבית אינה 'מותסקי', ואם הייתה זאת גם דעת רבנן היה לה לפרש.&lt;br /&gt;
&amp;lt;BR/&amp;gt;גם ה'''אור זרוע''' (ב שבת עח יב) כתב לדחות דברי התוספות, שהגמרא העמידה במותסקי אליבא דר' אליעזר דווקא, לפי שהוא סובר שדבר שאינו מתכוון אסור, ולכן יש לגזור בקוטם על מנת להריח אטו על מנת לחצוץ בו שיניו. שאם נאמר שגם לרבנן יש לגזור, אם כן יש לנו לגזור כל דבר שאינו מתכוון אטו מתכוון. אלא ודאי רק אליבא דר' אליעזר העמידה הגמרא כן.&lt;br /&gt;
&lt;br /&gt;
ה'''רשב&amp;quot;א''' (ד&amp;quot;ה שובר) חילק באופן אחר, שבמגדל כיון שהוא גדול הוי כמו אוהל ויש בו בנין וסתירה משום שאין לו דין כלי, אבל במגדל קטן וכן בחבית, אין בהם משום בנין וסתירה משום דהוו כלים ומותר לשברן. כן תירץ גם ה'''ר&amp;quot;ן''' בחידושיו (ד&amp;quot;ה שובר), וכתבו שכן היא גם שיטת '''רש&amp;quot;י''' [http://beta.hebrewbooks.org/shas.aspx?mesechta=3&amp;amp;daf=35&amp;amp;format=pdf (עירובין לה א ד&amp;quot;ה ומתני')]&amp;lt;ref&amp;gt;כן מדוייק גם מרש&amp;quot;י באותו עמוד להלן ד&amp;quot;ה ובעי סכינא, שכתב 'ואע&amp;quot;ג דהכא אהל הוא', ומוכח דחשיב כקרקע.&amp;lt;/ref&amp;gt;, וכן כתבו ה'''תוספות''' בעצמם בעירובין [http://beta.hebrewbooks.org/shas.aspx?mesechta=3&amp;amp;daf=34b&amp;amp;format=pdf (לד ב ד&amp;quot;ה ואמאי)] בתירוץ ראשון&amp;lt;ref&amp;gt;שהיא ככה&amp;quot;נ דעת הריב&amp;quot;א, וכן כתבו הרשב&amp;quot;א בעירובין (ד&amp;quot;ה גמרא) והריטב&amp;quot;א בשבת (ד&amp;quot;ה אבל הנכון).&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&amp;lt;BR/&amp;gt;לתירוץ זה הסכים ה'''אור זרוע''' (ב שבת עח יב), וכן נראית דעת '''תרומת הדשן''' (סה).&lt;br /&gt;
&lt;br /&gt;
ב'''בית יוסף''' (שיד ד&amp;quot;ה והר&amp;quot;ן) כתב שהסיבה שתוס' לא קיבלו את תירוץ הרשב&amp;quot;א והר&amp;quot;ן, שהזכירוהו גם הם בעצמם, הוא מפני הגמרא לגבי [[מאן דעייל שופתא בקופינא דמרא]], שם מוכח שיש [[בנין וסתירה בכלים]] אף בכלי קטן. והוסיף ה'''בית יוסף''' שהר&amp;quot;ן והרשב&amp;quot;א יתרצו שזהו דווקא בעושה כלי מתחילתו או בכלי שנתפרק וצריך אומן בחזרתו, דאז חשיב כעושה כלי ממש.&lt;br /&gt;
&lt;br /&gt;
===== גדר גדול וקטן =====&lt;br /&gt;
ברשב&amp;quot;א ובר&amp;quot;ן לא הזכירו מהו נחשב כלי גדול ומה כלי קטן, אבל ממה שציינו לרש&amp;quot;י בעירובין (לה א ד&amp;quot;ה ומתני') משמע שגדול הוא שמחזיק מ' סאה, שכן כתב רש&amp;quot;י שם. וכן כתב גם ה'''אור זרוע''' (ב שבת עח יב), דאז הוי אוהל ובפחות מכן הוי כלי. ב'''בית יוסף''' (שיד ד&amp;quot;ה וכתוב בתרומת הדשן) כתב שייתכן שגם הר&amp;quot;ן מסכים להגדרה זו.&lt;br /&gt;
&amp;lt;BR/&amp;gt;אמנם ה'''רשב&amp;quot;א''' בעירובין (לד ב ד&amp;quot;ה גמרא) כתב שכלי קטן הוא כחבית שאדם רגיל לייחד לו לפירות, וכלי גדול אפילו הוא מחזיק ארבעים סאה בלח שהם כוריים ביבש, עדיין נחשב הוא כלי קטן לענין זה. והביא לזה ראיה מהגמרא שבאחד ההסברים הביאה שהמחלוקת בין ר' אליעזר לרבנן היא האם המגדל הוא אוהל או לא, ושם ודאי איירי במחזקת מ' סאה, ואפילו הכי איכא מ&amp;quot;ד שאין סתירה בכלים.&lt;br /&gt;
&amp;lt;BR/&amp;gt;הקשה ה'''חזון איש''' (נא ט) שדברי הרשב&amp;quot;א בזה תמוהים, שהרי שפיר יש להעמיד את הגמרא במסקנה שלענין שבת איירי בשאינה מחזקת ארבעים סאה, ולרבנן שרי, ובמחזקת מ' סאה לכולי עלמא הוי אוהל ואסור.&lt;br /&gt;
&amp;lt;BR/&amp;gt;אמנם גם ב'''תוספות רי&amp;quot;ד''' (עירובין לה א) כתב להדיא כדברי הרשב&amp;quot;א, שהגמרא לא חזרה בה וכשם שלענין היסת זב גם כלי גדול לא חשיב אוהל, כן גם לענין שבת אפילו מחזקת מ' סאה וחשיב ככלי גדול, אפילו הכי אין בו בנין וסתירה.&lt;br /&gt;
&lt;br /&gt;
ונראה שגם '''רש&amp;quot;י''' הרגיש בקושיה זו של הרשב&amp;quot;א והתורי&amp;quot;ד, אבל יישב באופן אחר. שכתב (עירובין לה א ד&amp;quot;ה ובעי סכינא) גם במסקנת הגמרא שהכא חשיב אוהל (כדברי הרשב&amp;quot;א), ואפילו הכי התירו חכמים לפי שאין פה סותר מדאורייתא, אלא רק מחזי כסותר מדרבנן (לפי שאין כאן אלא פתיחת דלת), ולכן כיון שהוא בין השמשות (שזהו הזמן שקונה עירוב) לא גזרו ביה רבנן.&lt;br /&gt;
&amp;lt;BR/&amp;gt;כלומר רש&amp;quot;י הוכרח להעמיד בכלי גדול המחזיק ארבעים סאה ומוגדר כאוהל ואפילו הכי הכא שרי. אמנם זהו דווקא לענין עירוב, אך לדינא אסור לסתרו שלא בבין השמשות, משום מיחזי כסותר, ואם הוא סותרו ממש ולא רק פותח דלת אסור מדאורייתא. כלומר מדברי רש&amp;quot;י עולה כדעת האור זרוע שמחלק בין כלי המחזיק מ' סאה שבזה יש איסור סתירה כדין אוהל, לבין כלי שאינו מחזיק מ' סאה שאין בו משום בנין וסתירה.&lt;br /&gt;
&lt;br /&gt;
==== תירוץ הריטב&amp;quot;א ====&lt;br /&gt;
ה'''ריטב&amp;quot;א''' (ד&amp;quot;ה מתני) כתב שאינו נכון בעיניו לחלק בין בנין גדול לבנין קטן, אלא מגדל של עץ כיון שנעשה דרך בנין והשברים שלו חשובים הם וניתנים לשימוש חוזר, חשיב סותר על מנת לבנות ואסור, אבל חבית אפילו אם היא גדולה, אין בשבירתה משום סתירה, כיון שאי אפשר לחזור ולבנותה.&lt;br /&gt;
&lt;br /&gt;
=== שיטת הרי&amp;quot;ף והרמב&amp;quot;ם ===&lt;br /&gt;
ה'''רי&amp;quot;ף''' (סא ב) העתיק המשנה כצורתה ולא הזכיר האוקימתא דמוסתקי, וכן ה'''רמב&amp;quot;ם''' (שבת כג ב) כתב להתיר לשבור החבית על מנת ליטול הימנה גרוגרות, ובלבד שלא יתכוון לעשות כלי, ולא הזכיר דאיירי במוסתקי.&lt;br /&gt;
&lt;br /&gt;
'''רבנו ירוחם''' (אדם וחוה ד א כט ד) כתב שדעת הרי&amp;quot;ף שלא לחלק בין חבית דמוסתקי לחבית שלמה, דלרבנן לא גזרינן. וכן על פי מה שכתב ה'''מגיד משנה''' (שבת י יג) שהרמב&amp;quot;ם סובר שאין בנין וסתירה בכלים אם לא בעושה כלי מתחילתו, וכן הביא ה'''בית יוסף''' כאן (ד&amp;quot;ה והר&amp;quot;ן), נראה דסוברים שהרמב&amp;quot;ם מעמיד בחבית שלימה.&lt;br /&gt;
&amp;lt;BR/&amp;gt;גם ב'''קרבן נתנאל''' (ה) למד כפשטות דברי הרי&amp;quot;ף והרמב&amp;quot;ם שמתירים בכל גווני דחבית, ויש ליישב הגמרא בעירובין באופן אחר שכתבו הראשונים ליישב.&lt;br /&gt;
וכן בספר '''ראשון לציון''' להאורה&amp;quot;ק [http://beta.hebrewbooks.org/pdfpager.aspx?req=9343&amp;amp;st=&amp;amp;pgnum=183 (ביצה לג ב ד&amp;quot;ה גמרא אמר רב אשי)] כתב שהרמב&amp;quot;ם והרי&amp;quot;ף סבירא להו דאיירי אפילו בחבית בריאה, מדהשמיטו הא דמוסתקי.&lt;br /&gt;
&lt;br /&gt;
לעומת זאת ה'''שלטי גיבורים''' (שבת סא ב א) כתב גם בדעת הרמב&amp;quot;ם שצריך להעמיד במוסתקי. וכן בספר '''שבת של מי''' (קמו א ד&amp;quot;ה ואנכי תולעת) כתב שגם הרמב&amp;quot;ם והרי&amp;quot;ף מסכימים לתירוץ התוס'.&lt;br /&gt;
&lt;br /&gt;
ב'''אגרות משה''' (אורח חיים א קכב ה) כתב שהרמב&amp;quot;ם והרי&amp;quot;ף ודאי לא סברי כתוס', ויש ליישב בדבריהם כפי מה שכתב המגיד משנה שבעשיית כלי מתחילתו יש בנין בכלים. וכתב לבאר החילוק בזה, שבקרקע אפילו מוסיף כלשהו חשיב בונה, כיון שלוקח דבר המיטלטל ומחברו להיות קבוע, ושסותר הוא נוטל משהו מהקביעות שלו (וכן הוא בכלי גדול דהוי כאוהל להר&amp;quot;ן והרשב&amp;quot;א), אבל בכלים אין שום חשיבות מלאכה במה שמוסיף, שלא נתחדש שום דבר על הכלי ממה שהיה, אלא אם כן הוא עושה כלי מתחילתו או שצריך אומן בחזרתו, שאז נעשה לו שם כלי.&amp;lt;BR/&amp;gt;&lt;br /&gt;
והוסיף לבאר שם (ד&amp;quot;ה ולפי זה) שעל פי דברים אלו, ייתכן רק בנייה בכלים אבל לא סתירה בכלים, שהרי כל סתירה היא בכלי עצמו, והרי אין סתירה בכלים ולא שייך בזה עשיית כלי מתחילתו כדאמרינן לגבי בנין.&lt;br /&gt;
&lt;br /&gt;
=== שלחן ערוך ואחרונים ===&lt;br /&gt;
מרן ה'''שלחן ערוך''' (אורח חיים שיד א) כתב בתחילת דבריו שאין [[בנין וסתירה בכלים]], אבל לגבי חבית פסק להלכה כדברי התוספות והרא&amp;quot;ש והטור, שדווקא בחבית שבורה שדיבק שבריה בזפת, מותר לשברה ליקח מה שבתוכה ובלבד שלא יכוון לעשות נקב יפה, אבל חבית שלמה אסור לשברה. וה'''רמ&amp;quot;א''' הוסיף שדווקא אם אינה מחזקת ארבעים סאה אין בה בנין וסתירה, אבל אם מחזקת ארבעים סאה הוי כאוהל ושוב יש בה בנין וסתירה.&lt;br /&gt;
&lt;br /&gt;
ב'''פרי חדש''' (א) כתב שדעת מרן שבחבית מוסתקי מותר אפילו גדולה, אבל הרמ&amp;quot;א מחמיר דבעינן תרתי לטיבותא.&lt;br /&gt;
&amp;lt;BR/&amp;gt;ב'''פרי מגדים''' כתב שבאמת אף שמוסתקי הוא תירוץ בפני עצמו, ומ' סאה תירוץ בפני עצמו, מ&amp;quot;מ שניהם אמת לחומרא. וכן כתב ב'''מחצית השקל''' (א ד&amp;quot;ה הר&amp;quot;ן) שאף שאלו שני תירוצים שונים, מחזיקים לעיקר כתירוץ התוספות, ומ&amp;quot;מ בסברא ס&amp;quot;ל לשולחן ערוך שכשמחזיק מ' סאה יוצא הוא מתורת כלי לתורת אוהל. וב'''עולת שבת''' [http://beta.hebrewbooks.org/pdfpager.aspx?req=21386&amp;amp;st=&amp;amp;pgnum=178 (ב)] כתב שכיון שהוא מלתא דרבנן ודאי אין להחמיר בו כל כך, והביאו ה'''כף החיים''' סופר (ב).&lt;br /&gt;
&lt;br /&gt;
ה'''לבוש''' (א) העתיק דברי השו&amp;quot;ע והרמ&amp;quot;א להלכה, וביאר שכל שהוא מוגדר ככלי, אין בו בנין וסתירה אלא אם כן הוא בנין גמור וסתירה גמורה, אך דבר שאינו כלי אלא אוהל כגון חבית המחזקת ארבעים סאה, יש בו בנין וסתירה בכל גווני.&lt;br /&gt;
&lt;br /&gt;
=== התזת ראש החבית בסייף ===&lt;br /&gt;
בהמשך הגמרא מובאת ברייתא, המתירה להתיז את ראש החבית בסייף. ומבארת הגמרא שבזה ודאי אין כוונתו לפתח אלא לפתוח בעין יפה לכבוד האורחים, שאם כוונתו היתה לפתח, הוא היה פשוט מסיר את המגופה. אמנם לתחוב רומח בדפני החבית, אסור, אף שלא עושה כדרך הנוקבין נקב עגול יפה, משום שבזה מכוון הוא לפתח.&lt;br /&gt;
&lt;br /&gt;
מלשון הברייתא משמע שההתזה בסייף נעשית בחבית עצמה, כלומר שחותך למטה מן המגופה גם חלק מן החבית, וכן מדוייק ב'''רש&amp;quot;י''' (ד&amp;quot;ה התם ודאי) שמבאר שההתזה בסייף נעשית באופן שמרחיב את פי החבית למטה מהמגופה, וכלשון הברייתא 'מתיז את ראשה בסיף', היינו שפת פיה. וכן נראה מלשון ה'''רמב&amp;quot;ם''' (שבת כג ב) שכתב 'מתיז את ראשה בסייף', משמע החבית עצמה.&lt;br /&gt;
&amp;lt;BR/&amp;gt;אמנם ה'''טור''' (אורח חיים שיד) כתב שמותר להתיז ראש ה'''מגופה''' בסייף, ודייק מזה ה'''בית יוסף''' (ד&amp;quot;ה מותר) שאת ראש החבית עצמה אסור להתיז. אמנם בסוף דבריו כתב שגם בטור מוכרחים לומר שההיתר הוא בהתזת ראש החבית ולא המגופה. וכן פסק ב'''שלחן ערוך''' (ו).&lt;br /&gt;
&lt;br /&gt;
== הערות שוליים ==&lt;br /&gt;
{{הערות שוליים}}&lt;br /&gt;
&lt;br /&gt;
[[קטגוריה:בונה וסותר]]&lt;br /&gt;
[[קטגוריה:שבת קמו.]]&lt;br /&gt;
[[קטגוריה:עירובין לד.]]&lt;br /&gt;
[[קטגוריה:עירובין לד:]]&lt;br /&gt;
[[קטגוריה:עירובין לה.]]&lt;br /&gt;
[[קטגוריה:ביצה לג:]]&lt;br /&gt;
[[קטגוריה:שבת פרק כג]]&lt;br /&gt;
[[קטגוריה:אורח חיים סימן שיד]]&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9%D7%AA:%D7%93%D7%95%D7%92%D7%A7%D7%9F&amp;diff=15949</id>
		<title>שיחת משתמשת:דוגקן</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9%D7%AA:%D7%93%D7%95%D7%92%D7%A7%D7%9F&amp;diff=15949"/>
		<updated>2020-11-07T17:55:45Z</updated>

		<summary type="html">&lt;p&gt;Neriah: /* קרדיט */ פסקה חדשה&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{תבנית:ברוך בואך|realName=|name=דוגקן}}&lt;br /&gt;
&lt;br /&gt;
-- [[משתמש:א.א.|א.א.]] ([[שיחת משתמש:א.א.|שיחה]]) 14:28, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:שבוע טוב ותודה רבה :). [[משתמש:דוגקן|דוגקן]] ([[שיחת משתמש:דוגקן|שיחה]]) 17:48, 7 בנובמבר 2020 (IST)&lt;br /&gt;
&lt;br /&gt;
== קרדיט ==&lt;br /&gt;
&lt;br /&gt;
שים לב לכתוב מאיפה אתה מייבא. --[[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 19:55, 7 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Deletedtext&amp;diff=15946</id>
		<title>מדיה ויקי:Deletedtext</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Deletedtext&amp;diff=15946"/>
		<updated>2020-11-07T17:55:02Z</updated>

		<summary type="html">&lt;p&gt;Neriah: משתמש:מגזין יהלום, למה לא תיקנת?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;$1&amp;quot; נמחק.&lt;br /&gt;
ראו $2 לרשימת המחיקות האחרונות.&lt;br /&gt;
-----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:95%;&amp;quot;&lt;br /&gt;
! פעולות נוספות&lt;br /&gt;
! [[מיוחד:דפים המקושרים לכאן/$1|להסרת קישורים המפנים לדף המחוק]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [[ויקיסוגיה:בקשות ממפעילים#בקשות מחיקה|לעדכון בבקשות ממפעילים]]&lt;br /&gt;
*[[מיוחד:צפייה_בדפים_מחוקים/$1|שחזור הדף]]&lt;br /&gt;
*[{{כתובת מלאה:$1|action=protect}} הגנה] למניעת יצירה חוזרת&lt;br /&gt;
{{#קיים:{{שם דף השיחה}}|&lt;br /&gt;
* [[{{שם דף השיחה}}]] - דף השיחה קיים, ייתכן שיש למחוק גם אותו&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
{{מיוחד:דפים המקושרים לכאן/$1}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Action-sendemail&amp;diff=15941</id>
		<title>מדיה ויקי:Action-sendemail</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Action-sendemail&amp;diff=15941"/>
		<updated>2020-11-07T17:50:34Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;לשלוח דואר אלקטרוני למשתמשים&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;לשלוח דואר אלקטרוני למשתמשים&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadgets-definition&amp;diff=15940</id>
		<title>מדיה ויקי:Gadgets-definition</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadgets-definition&amp;diff=15940"/>
		<updated>2020-11-07T17:50:23Z</updated>

		<summary type="html">&lt;p&gt;Neriah: ניסיון&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== עריכה ==&lt;br /&gt;
* editIntro[ResourceLoader]|editIntro.js&lt;br /&gt;
* TemplatesExternalLinks[ResourceLoader|dependencies=jquery.ui,jquery.textSelection]|TemplatesExternalLinks.js&lt;br /&gt;
* Checkty[ResourceLoader|dependencies=mediawiki.util,oojs-ui-widgets,mediawiki.util|type=general]|Checkty.js|Checkty.css&lt;br /&gt;
&lt;br /&gt;
==עורך_חזותי==&lt;br /&gt;
* VeExtendedBar[ResourceLoader|dependencies=ext.visualEditor.desktopArticleTarget.init]|VeExtendedBar.js&lt;br /&gt;
&lt;br /&gt;
== עיצוב ==&lt;br /&gt;
* moveVectorMenuToTabs[ResourceLoader|skins=vector]|moveVectorMenuToTabs.js&lt;br /&gt;
* FixedMenu[ResourceLoader|skins=vector]|FixedMenu.css&lt;br /&gt;
* FixedSidebar[ResourceLoader|skins=vector]|FixedSidebar.css&lt;br /&gt;
* refStyle[ResourceLoader|dependencies=mediawiki.util,jquery.cookie]|refStyle.js&lt;br /&gt;
* CiteTooltip[ResourceLoader|dependencies=jquery.tipsy,mediawiki.user|default]|CiteTooltip.js&lt;br /&gt;
* ExternalLinkIcon[ResourceLoader|default]|ExternalLinkIcon.css&lt;br /&gt;
* foldPortalMenus[ResourceLoader|type=general]|foldPortalMenus.js|foldPortalMenus.css&lt;br /&gt;
* hideRollback[ResourceLoader|rights=patrol]|hideRollback.css&lt;br /&gt;
&lt;br /&gt;
== ניטור ==&lt;br /&gt;
* RestoreWarnings[ResourceLoader|dependencies=mediawiki.util,mediawiki.user]|RestoreWarnings.js&lt;br /&gt;
* DeleteRequest[ResourceLoader|dependencies=mediawiki.util,jquery.ui]|DeleteRequest.js&lt;br /&gt;
* rollBackSummary[ResourceLoader|dependencies=mediawiki.util|rights=patrol]|rollBackSummary.js&lt;br /&gt;
* rcPatrol[ResourceLoader|rights=patrol|dependencies=mediawiki.util]|rcPatrol.js&lt;br /&gt;
&lt;br /&gt;
== שונות ==&lt;br /&gt;
* feedback[ResourceLoader|dependencies=mediawiki.util|type=general|default]|feedback.js|feedback.css&lt;br /&gt;
* ExternalLinkNewTab[ResourceLoader]|ExternalLinkNewTab.js&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
hidden: those gadgets are loaded with &amp;quot;hidden&amp;quot; rights, which no user has. this means nobody sees them in the menu, and they are not loaded for anyone. however, the gadget &amp;quot;ext.gadgets-XXXX&amp;quot; is created, and can be loaded by calling mw.loader.load() or mw.loader.using(). all the RL features such as dependencies are handled by RL like any other gadget&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* pgnViewer[ResourceLoader|dependencies=mediawiki.api,jquery.ui.tabs,jquery.ui.slider|rights=hidden]|pgnviewer.js|pgnviewer.css&lt;br /&gt;
* WLM-draft[ResourceLoader|dependencies=mediawiki.user,mediawiki.api.messages,mediawiki.jqueryMsg,mediawiki.util|rights=hidden]|WLM-draft.js|WLM.css&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%A4%D7%A8%D7%9E%D7%98%D7%A8%D7%99%D7%9D&amp;diff=15938</id>
		<title>יחידה:פרמטרים</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%A4%D7%A8%D7%9E%D7%98%D7%A8%D7%99%D7%9D&amp;diff=15938"/>
		<updated>2020-11-07T17:47:32Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This function is used for תבנית:הערה parameters control&lt;br /&gt;
function equal(frame)&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	type = mw.ustring.sub(pframe:getTitle(), 7)&lt;br /&gt;
	oldargs = pframe.args&lt;br /&gt;
	local newargs = {}&lt;br /&gt;
	local kinds = frame.args&lt;br /&gt;
	local stop&lt;br /&gt;
	for p, pp in pairs(oldargs) do&lt;br /&gt;
		stop = false&lt;br /&gt;
		if tostring(p) == tostring(kinds[1]) and newargs[p] == nil then&lt;br /&gt;
			newargs[p] = pp&lt;br /&gt;
			stop = true&lt;br /&gt;
		elseif tostring(p) == tostring(kinds[1]) then&lt;br /&gt;
			equalerror(&amp;quot;תוכן כפול: &amp;quot; .. newargs[p] .. &amp;quot; וגם &amp;quot; .. pp)&lt;br /&gt;
			stop = true&lt;br /&gt;
		else &lt;br /&gt;
			for z, zz in ipairs(kinds) do&lt;br /&gt;
				if tostring(p) == tostring(zz) then&lt;br /&gt;
					newargs[p] = pp&lt;br /&gt;
					stop = true&lt;br /&gt;
					do&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if not stop then&lt;br /&gt;
			local kind = newargs[kinds[1]] or newargs[tonumber(kinds[1])]&lt;br /&gt;
			if kind ~= nil then&lt;br /&gt;
				equalerror(&amp;quot;תוכן כפול: &amp;quot; .. kind .. &amp;quot; וגם &amp;quot; .. p .. &amp;quot;=&amp;quot; .. pp)&lt;br /&gt;
			else newargs[kinds[1]] = p .. &amp;quot;=&amp;quot; .. pp&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return frame:expandTemplate({title = frame.args[&amp;quot;קוד&amp;quot;], args = newargs})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function equalerror(message)&lt;br /&gt;
	error(&amp;quot;[[קטגוריה:שגיאות קריאה לתבנית &amp;quot; .. type .. &amp;quot;]] (בקריאה ל[[תבנית:&amp;quot; .. type .. &amp;quot;]]) &amp;quot; .. message, 0)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function decode(frame)&lt;br /&gt;
	return mw.uri.decode(frame.args[1])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function googleurl(frame)&lt;br /&gt;
	--return a .. mw.uri.parseQueryString( frame.args[1] )['http://www.google.co.il/url?url']&lt;br /&gt;
	--p = ''&lt;br /&gt;
	--for k, v in pairs(mw.uri.new( frame.args[1] ).query['url'])&lt;br /&gt;
	--do return 'a' .. k .. 'c' end --p = p .. '+++' .. k .. ':' .. v end&lt;br /&gt;
	--return p--&lt;br /&gt;
	local q = mw.uri.new(frame.args[1]).query&lt;br /&gt;
	return q and (q['url'] or q['q']) or ''&lt;br /&gt;
	--or mw.uri.parseQueryString( frame.args[1] )['http://www.google.co.il/url?url'] or ''&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function biur(frame)&lt;br /&gt;
	pframe = frame:getParent()&lt;br /&gt;
	local newargs = {}&lt;br /&gt;
	for a, aa in pairs(pframe.args) do&lt;br /&gt;
		if a == &amp;quot;קבוצה&amp;quot; then&lt;br /&gt;
			error('פרמטר &amp;quot;קבוצה&amp;quot; כפול[[category:' ..&lt;br /&gt;
				tostring(mw.message.new(&amp;quot;Cite-tracking-category-cite-error&amp;quot;)) .. ']]', 0)&lt;br /&gt;
		end&lt;br /&gt;
		newargs[a] = aa&lt;br /&gt;
	end&lt;br /&gt;
	newargs[&amp;quot;קבוצה&amp;quot;] = frame.args[1] or &amp;quot;hebrew&amp;quot;&lt;br /&gt;
	return frame:expandTemplate{title = &amp;quot;הערה&amp;quot;, args = newargs}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function showparams( frame )&lt;br /&gt;
	local ans = '', k&lt;br /&gt;
	for i, v in pairs(frame.args) do&lt;br /&gt;
		if tonumber(i) then&lt;br /&gt;
			k = v&lt;br /&gt;
		else&lt;br /&gt;
			k = i&lt;br /&gt;
		end&lt;br /&gt;
		k = mw.ustring.gsub(k, '\n', '')&lt;br /&gt;
		if mw.ustring.find(k, '|') then&lt;br /&gt;
			k = k .. ' (' .. mw.ustring.sub(k, 3, mw.ustring.find(k, '|') - 1) .. ')'&lt;br /&gt;
		end&lt;br /&gt;
		ans = ans .. '#' .. k .. '\n'&lt;br /&gt;
	end&lt;br /&gt;
	return ans&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function main() end&lt;br /&gt;
	&lt;br /&gt;
return {&lt;br /&gt;
	main = main,&lt;br /&gt;
	equal = equal, &lt;br /&gt;
	decode = decode, &lt;br /&gt;
	googleurl = googleurl,&lt;br /&gt;
	biur = biur,&lt;br /&gt;
	showparams = showparams,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%A1%D7%95%D7%92%D7%A8%D7%99%D7%99%D7%9D&amp;diff=15936</id>
		<title>יחידה:סוגריים</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%A1%D7%95%D7%92%D7%A8%D7%99%D7%99%D7%9D&amp;diff=15936"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
require &amp;quot;mw.ustring&amp;quot;&lt;br /&gt;
&lt;br /&gt;
function p.remove_parents( frame )&lt;br /&gt;
     str = frame.args.string&lt;br /&gt;
     gsub = mw.ustring.gsub&lt;br /&gt;
     &lt;br /&gt;
     str=gsub(str, &amp;quot; *[(].*[)]&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
     return str&lt;br /&gt;
     &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.only_parents_contents( frame )&lt;br /&gt;
     str = frame.args.string&lt;br /&gt;
     match = mw.ustring.match&lt;br /&gt;
     gsub = mw.ustring.gsub&lt;br /&gt;
     &lt;br /&gt;
     str=p.remove_sq_parents_internal(str)&lt;br /&gt;
     str=match(str, &amp;quot;%b()$&amp;quot;) -- a(b) ==&amp;gt; (b) or nil&lt;br /&gt;
     if (str == nil) then return &amp;quot;&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
     str=gsub(str,&amp;quot;^%((.*)%)$&amp;quot;, &amp;quot;%1&amp;quot;) -- (b) ==&amp;gt; b&lt;br /&gt;
     return str&lt;br /&gt;
     &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.remove_sq_parents_internal( str )&lt;br /&gt;
     gsub = mw.ustring.gsub&lt;br /&gt;
     &lt;br /&gt;
     str=gsub(str, &amp;quot;^%[%[(.*)%|.*%]%]$&amp;quot;,&amp;quot;%1&amp;quot;) -- [[x|y]] ==&amp;gt; x&lt;br /&gt;
     str=gsub(str, &amp;quot;^%[%[(.*)%]%]$&amp;quot;,&amp;quot;%1&amp;quot;) -- [[x]] ==&amp;gt; x&lt;br /&gt;
     return str&lt;br /&gt;
     &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.remove_sq_parents( frame )&lt;br /&gt;
     str = frame.args.string&lt;br /&gt;
     return p.remove_sq_parents_internal(str)&lt;br /&gt;
     &lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%94%D7%A2%D7%A8%D7%94&amp;diff=15934</id>
		<title>יחידה:הערה</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%94%D7%A2%D7%A8%D7%94&amp;diff=15934"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local Ref = {}&lt;br /&gt;
&lt;br /&gt;
function parseRef(frame)&lt;br /&gt;
	local argModule = require('Module:Arguments')&lt;br /&gt;
	local warnings=''&lt;br /&gt;
	local text=''&lt;br /&gt;
	local refDic = {}&lt;br /&gt;
	local args = argModule.getArgs(frame)&lt;br /&gt;
	local refName = args['שם']&lt;br /&gt;
	local refGroup = args['קבוצה']&lt;br /&gt;
	local isLtr = args['שמאל']  -- remove after bot&lt;br /&gt;
	local isRtl = args['ימין'] -- remove after bot&lt;br /&gt;
	local direction = args['כיוון']&lt;br /&gt;
	&lt;br /&gt;
	 -- remove after bo&lt;br /&gt;
	if isLtr and isRtl then &lt;br /&gt;
		warnings = '&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;פרמטרים מגדירים כיווניות סותרים&amp;lt;/span&amp;gt;[[קטגוריה:דפים עם שגיאות בהערה]]'&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if direction and direction ~= 'ימין' and direction ~= 'שמאל' then&lt;br /&gt;
		warnings = '&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;פרמטר כיוון שגוי&amp;lt;/span&amp;gt;[[קטגוריה:דפים עם שגיאות בהערה]]'&lt;br /&gt;
	end&lt;br /&gt;
	if args[2] then&lt;br /&gt;
		warnings = '&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;sup&amp;gt; פרמטר שני בהערה: &amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;[[קטגוריה:דפים עם שגיאות בהערה]]'&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = args[1]&lt;br /&gt;
	&lt;br /&gt;
	if text then&lt;br /&gt;
		text = frame:preprocess(args[1])&lt;br /&gt;
	end&lt;br /&gt;
	if refName and #refName then refDic['name'] = refName end&lt;br /&gt;
	if refGroup and #refGroup then refDic['group'] = refGroup end&lt;br /&gt;
	if isLtr and isLtr=='כן' then refDic['dir'] = 'ltr' end  -- remove after bot&lt;br /&gt;
	if isRtl and isRtl=='כן' then refDic['dir'] = 'rtl' end -- remove after bot&lt;br /&gt;
	if direction and direction=='שמאל' then refDic['dir'] = 'ltr' end&lt;br /&gt;
	if direction and direction=='ימין' then refDic['dir'] = 'rtl' end&lt;br /&gt;
&lt;br /&gt;
	if text and #text&amp;gt;0 then&lt;br /&gt;
		return frame:extensionTag{ name = 'ref', content=text, args = refDic } .. warnings&lt;br /&gt;
	else&lt;br /&gt;
		return frame:extensionTag{ name = 'ref', args = refDic } .. warnings&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Ref['הערה'] = parseRef&lt;br /&gt;
Ref['parseRef'] = parseRef&lt;br /&gt;
return Ref&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:String&amp;diff=15930</id>
		<title>יחידה:String</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:String&amp;diff=15930"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[  &lt;br /&gt;
&lt;br /&gt;
This module is intended to provide access to basic string functions.&lt;br /&gt;
&lt;br /&gt;
Most of the functions provided here can be invoked with named parameters, &lt;br /&gt;
unnamed parameters, or a mixture.  If named parameters are used, Mediawiki will &lt;br /&gt;
automatically remove any leading or trailing whitespace from the parameter.  &lt;br /&gt;
Depending on the intended use, it may be advantageous to either preserve or&lt;br /&gt;
remove such whitespace.&lt;br /&gt;
&lt;br /&gt;
Global options&lt;br /&gt;
    ignore_errors: If set to 'true' or 1, any error condition will result in &lt;br /&gt;
        an empty string being returned rather than an error message.  &lt;br /&gt;
        &lt;br /&gt;
    error_category: If an error occurs, specifies the name of a category to &lt;br /&gt;
        include with the error message.  The default category is  &lt;br /&gt;
        [Category:Errors reported by Module String].&lt;br /&gt;
        &lt;br /&gt;
    no_category: If set to 'true' or 1, no category will be added if an error&lt;br /&gt;
        is generated.&lt;br /&gt;
        &lt;br /&gt;
Unit tests for this module are available at Module:String/tests.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local str = {}&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
len&lt;br /&gt;
&lt;br /&gt;
This function returns the length of the target string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|len|target_string|}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|len|s=target_string}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string whose length to report&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the target string.  &lt;br /&gt;
]]&lt;br /&gt;
function str.len( frame )&lt;br /&gt;
    local new_args = str._getParameters( frame.args, {'s'} );&lt;br /&gt;
    local s = new_args['s'] or '';&lt;br /&gt;
    return mw.ustring.len( s )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
sub&lt;br /&gt;
&lt;br /&gt;
This function returns a substring of the target string at specified indices.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|sub|target_string|start_index|end_index}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|sub|s=target_string|i=start_index|j=end_index}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to return a subset of&lt;br /&gt;
    i: The fist index of the substring to return, defaults to 1.&lt;br /&gt;
    j: The last index of the string to return, defaults to the last character.&lt;br /&gt;
    &lt;br /&gt;
The first character of the string is assigned an index of 1.  If either i or j&lt;br /&gt;
is a negative value, it is interpreted the same as selecting a character by &lt;br /&gt;
counting from the end of the string.  Hence, a value of -1 is the same as &lt;br /&gt;
selecting the last character of the string.&lt;br /&gt;
&lt;br /&gt;
If the requested indices are out of range for the given string, an error is &lt;br /&gt;
reported.&lt;br /&gt;
]]&lt;br /&gt;
function str.sub( frame )&lt;br /&gt;
    local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } );&lt;br /&gt;
    local s = new_args['s'] or '';&lt;br /&gt;
    local i = tonumber( new_args['i'] ) or 1;&lt;br /&gt;
    local j = tonumber( new_args['j'] ) or -1;&lt;br /&gt;
    &lt;br /&gt;
    local len = mw.ustring.len( s );&lt;br /&gt;
&lt;br /&gt;
    -- Convert negatives for range checking&lt;br /&gt;
    if i &amp;lt; 0 then&lt;br /&gt;
        i = len + i + 1;&lt;br /&gt;
    end&lt;br /&gt;
    if j &amp;lt; 0 then&lt;br /&gt;
        j = len + j + 1;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    if i &amp;gt; len or j &amp;gt; len or i &amp;lt; 1 or j &amp;lt; 1 then&lt;br /&gt;
        return str._error( 'String subset index out of range' );&lt;br /&gt;
    end&lt;br /&gt;
    if j &amp;lt; i then&lt;br /&gt;
        return str._error( 'String subset indices out of order' );&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return mw.ustring.sub( s, i, j )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
This function implements that features of {{str sub old}} and is kept in order&lt;br /&gt;
to maintain these older templates.&lt;br /&gt;
]]&lt;br /&gt;
function str.sublength( frame )&lt;br /&gt;
    local i = tonumber( frame.args.i ) or 0&lt;br /&gt;
    local len = tonumber( frame.args.len )&lt;br /&gt;
    return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
match&lt;br /&gt;
&lt;br /&gt;
This function returns a substring from the source string that matches a &lt;br /&gt;
specified pattern.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index&lt;br /&gt;
    |match=match_number|plain=plain_flag|nomatch=nomatch_output}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to search&lt;br /&gt;
    pattern: The pattern or string to find within the string&lt;br /&gt;
    start: The index within the source string to start the search.  The first&lt;br /&gt;
        character of the string has index 1.  Defaults to 1.&lt;br /&gt;
    match: In some cases it may be possible to make multiple matches on a single &lt;br /&gt;
        string.  This specifies which match to return, where the first match is &lt;br /&gt;
        match= 1.  If a negative number is specified then a match is returned &lt;br /&gt;
        counting from the last match.  Hence match = -1 is the same as requesting&lt;br /&gt;
        the last match.  Defaults to 1.&lt;br /&gt;
    plain: A flag indicating that the pattern should be understood as plain&lt;br /&gt;
        text.  Defaults to false.&lt;br /&gt;
    nomatch: If no match is found, output the &amp;quot;nomatch&amp;quot; value rather than an error.&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from each string.  In some circumstances this is desirable, in &lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
If the match_number or start_index are out of range for the string being queried, then&lt;br /&gt;
this function generates an error.  An error is also generated if no match is found.&lt;br /&gt;
If one adds the parameter ignore_errors=true, then the error will be suppressed and &lt;br /&gt;
an empty string will be returned on any failure.&lt;br /&gt;
&lt;br /&gt;
For information on constructing Lua patterns, a form of [regular expression], see:&lt;br /&gt;
&lt;br /&gt;
* http://www.lua.org/manual/5.1/manual.html#5.4.1&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
function str.match( frame )&lt;br /&gt;
    local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} );&lt;br /&gt;
    local s = new_args['s'] or '';&lt;br /&gt;
    local start = tonumber( new_args['start'] ) or 1;&lt;br /&gt;
    local plain_flag = str._getBoolean( new_args['plain'] or false );&lt;br /&gt;
    local pattern = new_args['pattern'] or '';&lt;br /&gt;
    local match_index = math.floor( tonumber(new_args['match']) or 1 );&lt;br /&gt;
    local nomatch = new_args['nomatch'];&lt;br /&gt;
    &lt;br /&gt;
    if s == '' then&lt;br /&gt;
        return str._error( 'Target string is empty' );&lt;br /&gt;
    end&lt;br /&gt;
    if pattern == '' then&lt;br /&gt;
        return str._error( 'Pattern string is empty' );&lt;br /&gt;
    end&lt;br /&gt;
    if math.abs(start) &amp;lt; 1 or math.abs(start) &amp;gt; mw.ustring.len( s ) then&lt;br /&gt;
        return str._error( 'Requested start is out of range' );&lt;br /&gt;
    end&lt;br /&gt;
    if match_index == 0 then&lt;br /&gt;
        return str._error( 'Match index is out of range' );&lt;br /&gt;
    end&lt;br /&gt;
    if plain_flag then&lt;br /&gt;
        pattern = str._escapePattern( pattern );&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local result&lt;br /&gt;
    if match_index == 1 then&lt;br /&gt;
        -- Find first match is simple case&lt;br /&gt;
        result = mw.ustring.match( s, pattern, start )&lt;br /&gt;
    else&lt;br /&gt;
        if start &amp;gt; 1 then&lt;br /&gt;
            s = mw.ustring.sub( s, start );&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        local iterator = mw.ustring.gmatch(s, pattern);&lt;br /&gt;
        if match_index &amp;gt; 0 then&lt;br /&gt;
            -- Forward search&lt;br /&gt;
            for w in iterator do&lt;br /&gt;
                match_index = match_index - 1;&lt;br /&gt;
                if match_index == 0 then&lt;br /&gt;
                    result = w;&lt;br /&gt;
                    break;&lt;br /&gt;
                end&lt;br /&gt;
            end    &lt;br /&gt;
        else&lt;br /&gt;
            -- Reverse search&lt;br /&gt;
            local result_table = {};&lt;br /&gt;
            local count = 1;&lt;br /&gt;
            for w in iterator do&lt;br /&gt;
                result_table[count] = w;&lt;br /&gt;
                count = count + 1;&lt;br /&gt;
            end&lt;br /&gt;
            &lt;br /&gt;
            result = result_table[ count + match_index ];            &lt;br /&gt;
        end&lt;br /&gt;
    end        &lt;br /&gt;
    &lt;br /&gt;
    if result == nil then&lt;br /&gt;
        if nomatch == nil then&lt;br /&gt;
            return str._error( 'Match not found' );&lt;br /&gt;
        else&lt;br /&gt;
            return nomatch;&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        return result;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
pos&lt;br /&gt;
&lt;br /&gt;
This function returns a single character from the target string at position pos.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|pos|target_string|index_value}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|pos|target=target_string|pos=index_value}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    target: The string to search&lt;br /&gt;
    pos: The index for the character to return&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the target string.  In some circumstances this is desirable, in &lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
The first character has an index value of 1.&lt;br /&gt;
&lt;br /&gt;
If one requests a negative value, this function will select a character by counting backwards &lt;br /&gt;
from the end of the string.  In other words pos = -1 is the same as asking for the last character.&lt;br /&gt;
&lt;br /&gt;
A requested value of zero, or a value greater than the length of the string returns an error.&lt;br /&gt;
]]&lt;br /&gt;
function str.pos( frame )&lt;br /&gt;
    local new_args = str._getParameters( frame.args, {'target', 'pos'} );&lt;br /&gt;
    local target_str = new_args['target'] or '';&lt;br /&gt;
    local pos = tonumber( new_args['pos'] ) or 0;&lt;br /&gt;
&lt;br /&gt;
    if pos == 0 or math.abs(pos) &amp;gt; mw.ustring.len( target_str ) then&lt;br /&gt;
        return str._error( 'String index out of range' );&lt;br /&gt;
    end    &lt;br /&gt;
    &lt;br /&gt;
    return mw.ustring.sub( target_str, pos, pos );&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
str_find&lt;br /&gt;
&lt;br /&gt;
This function duplicates the behavior of {{str_find}}, including all of its quirks.&lt;br /&gt;
This is provided in order to support existing templates, but is NOT RECOMMENDED for &lt;br /&gt;
new code and templates.  New code is recommended to use the &amp;quot;find&amp;quot; function instead.&lt;br /&gt;
&lt;br /&gt;
Returns the first index in &amp;quot;source&amp;quot; that is a match to &amp;quot;target&amp;quot;.  Indexing is 1-based,&lt;br /&gt;
and the function returns -1 if the &amp;quot;target&amp;quot; string is not present in &amp;quot;source&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Important Note: If the &amp;quot;target&amp;quot; string is empty / missing, this function returns a&lt;br /&gt;
value of &amp;quot;1&amp;quot;, which is generally unexpected behavior, and must be accounted for&lt;br /&gt;
separatetly.&lt;br /&gt;
]]&lt;br /&gt;
function str.str_find( frame )&lt;br /&gt;
    local new_args = str._getParameters( frame.args, {'source', 'target'} );&lt;br /&gt;
    local source_str = new_args['source'] or '';&lt;br /&gt;
    local target_str = new_args['target'] or '';&lt;br /&gt;
&lt;br /&gt;
    if target_str == '' then&lt;br /&gt;
        return 1;&lt;br /&gt;
    end    &lt;br /&gt;
    &lt;br /&gt;
    local start = mw.ustring.find( source_str, target_str, 1, true )&lt;br /&gt;
    if start == nil then&lt;br /&gt;
        start = -1&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
find&lt;br /&gt;
&lt;br /&gt;
This function allows one to search for a target string or pattern within another&lt;br /&gt;
string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|find|source_str|target_string|start_index|plain_flag}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    source: The string to search&lt;br /&gt;
    target: The string or pattern to find within source&lt;br /&gt;
    start: The index within the source string to start the search, defaults to 1&lt;br /&gt;
    plain: Boolean flag indicating that target should be understood as plain&lt;br /&gt;
        text and not as a Lua style regular expression, defaults to true&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the parameter.  In some circumstances this is desirable, in &lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
This function returns the first index &amp;gt;= &amp;quot;start&amp;quot; where &amp;quot;target&amp;quot; can be found &lt;br /&gt;
within &amp;quot;source&amp;quot;.  Indices are 1-based.  If &amp;quot;target&amp;quot; is not found, then this &lt;br /&gt;
function returns 0.  If either &amp;quot;source&amp;quot; or &amp;quot;target&amp;quot; are missing / empty, this&lt;br /&gt;
function also returns 0.&lt;br /&gt;
&lt;br /&gt;
This function should be safe for UTF-8 strings.&lt;br /&gt;
]]&lt;br /&gt;
function str.find( frame )&lt;br /&gt;
    local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); &lt;br /&gt;
    local source_str = new_args['source'] or '';&lt;br /&gt;
    local pattern = new_args['target'] or '';&lt;br /&gt;
    local start_pos = tonumber(new_args['start']) or 1;&lt;br /&gt;
    local plain = new_args['plain'] or true;&lt;br /&gt;
        &lt;br /&gt;
    if source_str == '' or pattern == '' then&lt;br /&gt;
        return 0;&lt;br /&gt;
    end    &lt;br /&gt;
    &lt;br /&gt;
    plain = str._getBoolean( plain );&lt;br /&gt;
&lt;br /&gt;
    local start = mw.ustring.find( source_str, pattern, start_pos, plain )&lt;br /&gt;
    if start == nil then&lt;br /&gt;
        start = 0&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
replace&lt;br /&gt;
&lt;br /&gt;
This function allows one to replace a target string or pattern within another&lt;br /&gt;
string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string|&lt;br /&gt;
   count=replacement_count|plain=plain_flag}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    source: The string to search&lt;br /&gt;
    pattern: The string or pattern to find within source&lt;br /&gt;
    replace: The replacement text&lt;br /&gt;
    count: The number of occurences to replace, defaults to all.&lt;br /&gt;
    plain: Boolean flag indicating that pattern should be understood as plain&lt;br /&gt;
        text and not as a Lua style regular expression, defaults to true &lt;br /&gt;
]]&lt;br /&gt;
function str.replace( frame )&lt;br /&gt;
    local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); &lt;br /&gt;
    local source_str = new_args['source'] or '';&lt;br /&gt;
    local pattern = new_args['pattern'] or '';&lt;br /&gt;
    local replace = new_args['replace'] or '';&lt;br /&gt;
    local count = tonumber( new_args['count'] );&lt;br /&gt;
    local plain = new_args['plain'] or true;&lt;br /&gt;
        &lt;br /&gt;
    if source_str == '' or pattern == '' then&lt;br /&gt;
        return source_str;&lt;br /&gt;
    end    &lt;br /&gt;
    plain = str._getBoolean( plain );&lt;br /&gt;
&lt;br /&gt;
    if plain then&lt;br /&gt;
        pattern = str._escapePattern( pattern );&lt;br /&gt;
        replace = mw.ustring.gsub( replace, &amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot; ); --Only need to escape replacement sequences.&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local result;&lt;br /&gt;
&lt;br /&gt;
    if count ~= nil then&lt;br /&gt;
        result = mw.ustring.gsub( source_str, pattern, replace, count );&lt;br /&gt;
    else&lt;br /&gt;
        result = mw.ustring.gsub( source_str, pattern, replace );&lt;br /&gt;
    end        &lt;br /&gt;
&lt;br /&gt;
    return result;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&amp;quot;Reverse&amp;quot; reverses a string, a'la string.reverse()&lt;br /&gt;
]]&lt;br /&gt;
str.reverse = function( frame )&lt;br /&gt;
    local tab = mw.text.split( frame.args[1] or '', '' )&lt;br /&gt;
    local restab = {}&lt;br /&gt;
    for i = #tab, 1, -1 do table.insert( restab, tab[i] ) end&lt;br /&gt;
    return table.concat( restab )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
str['היפוך'] = str.reverse&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that populates the argument list given that user may need to use a mix of&lt;br /&gt;
named and unnamed parameters.  This is relevant because named parameters are not&lt;br /&gt;
identical to unnamed parameters due to string trimming, and when dealing with strings&lt;br /&gt;
we sometimes want to either preserve or remove that whitespace depending on the application.&lt;br /&gt;
]]&lt;br /&gt;
function str._getParameters( frame_args, arg_list )&lt;br /&gt;
    local new_args = {};&lt;br /&gt;
    local index = 1;&lt;br /&gt;
    local value;&lt;br /&gt;
    &lt;br /&gt;
    for i,arg in ipairs( arg_list ) do&lt;br /&gt;
        value = frame_args[arg]&lt;br /&gt;
        if value == nil then&lt;br /&gt;
            value = frame_args[index];&lt;br /&gt;
            index = index + 1;&lt;br /&gt;
        end&lt;br /&gt;
        new_args[arg] = value;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return new_args;&lt;br /&gt;
end        &lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function to handle error messages.&lt;br /&gt;
]]&lt;br /&gt;
function str._error( error_str )&lt;br /&gt;
    local frame = mw.getCurrentFrame();&lt;br /&gt;
    local error_category = frame.args.error_category or 'שגיאות טיפול במחרוזת';&lt;br /&gt;
    local ignore_errors = frame.args.ignore_errors or false;&lt;br /&gt;
    local no_category = frame.args.no_category or false;&lt;br /&gt;
    &lt;br /&gt;
    if str._getBoolean(ignore_errors) then&lt;br /&gt;
        return '';&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local error_str = '&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: ' .. error_str .. '&amp;lt;/strong&amp;gt;';&lt;br /&gt;
    if error_category ~= '' and not str._getBoolean( no_category ) then&lt;br /&gt;
    	if mw.title.getCurrentTitle().namespace ~= 10 then&lt;br /&gt;
        	error_str = '[[Category:' .. error_category .. ']]' .. error_str;&lt;br /&gt;
        end&lt;br /&gt;
    end        &lt;br /&gt;
    &lt;br /&gt;
    return error_str;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper Function to interpret boolean strings&lt;br /&gt;
]]&lt;br /&gt;
function str._getBoolean( boolean_str )&lt;br /&gt;
    local boolean_value;&lt;br /&gt;
    &lt;br /&gt;
    if type( boolean_str ) == 'string' then&lt;br /&gt;
        boolean_str = boolean_str:lower();&lt;br /&gt;
        if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' &lt;br /&gt;
                or boolean_str == '' then&lt;br /&gt;
            boolean_value = false;&lt;br /&gt;
        else&lt;br /&gt;
            boolean_value = true;&lt;br /&gt;
        end    &lt;br /&gt;
    elseif type( boolean_str ) == 'boolean' then&lt;br /&gt;
        boolean_value = boolean_str;&lt;br /&gt;
    else&lt;br /&gt;
        error( 'No boolean value found' );&lt;br /&gt;
    end    &lt;br /&gt;
    return boolean_value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that escapes all pattern characters so that they will be treated &lt;br /&gt;
as plain text.&lt;br /&gt;
]]&lt;br /&gt;
function str._escapePattern( pattern_str )&lt;br /&gt;
    return mw.ustring.gsub( pattern_str, &amp;quot;([%(%)%.%%%+%-%*%?%[%^%$%]])&amp;quot;, &amp;quot;%%%1&amp;quot; );&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
contains_any&lt;br /&gt;
 &lt;br /&gt;
This function returns the first matched element or empty string&lt;br /&gt;
 &lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|contains_any|string|search1|search2|search3...}}&lt;br /&gt;
 &lt;br /&gt;
Parameters&lt;br /&gt;
    1: string&lt;br /&gt;
    2...: strings to search within the first string&lt;br /&gt;
]]&lt;br /&gt;
function str.contains_any( frame )&lt;br /&gt;
	for i,v in pairs(frame.args) do&lt;br /&gt;
		if i&amp;gt;1 then&lt;br /&gt;
			local m=mw.ustring.find( frame.args[1], v, 0, true)&lt;br /&gt;
			if m then&lt;br /&gt;
	    		return v&lt;br /&gt;
    		end&lt;br /&gt;
		end&lt;br /&gt;
    end&lt;br /&gt;
    return&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
 --[[&lt;br /&gt;
contains_any_csv&lt;br /&gt;
 &lt;br /&gt;
This function returns the first matched element or empty string.&lt;br /&gt;
 &lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|contains_any_csv|string|search1,search2,search3}}&lt;br /&gt;
 &lt;br /&gt;
Parameters&lt;br /&gt;
    1: string&lt;br /&gt;
    2: comma seperated list of strings to search within the first string&lt;br /&gt;
]]&lt;br /&gt;
function str.contains_any_csv( frame )&lt;br /&gt;
	for word in mw.ustring.gmatch(frame.args[2], '([^,]+)') do&lt;br /&gt;
		local m=mw.ustring.find( frame.args[1], word, 0, true)&lt;br /&gt;
		if m then&lt;br /&gt;
    		return word&lt;br /&gt;
   		end&lt;br /&gt;
    end&lt;br /&gt;
    return&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
str.rep = function( frame )&lt;br /&gt;
	local strval, repval = frame.args[1] or '', tonumber( frame.args[2] )&lt;br /&gt;
	if not repval then return '' end&lt;br /&gt;
	return string.rep( strval, repval )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
str.join = function(frame)&lt;br /&gt;
	local res = {}&lt;br /&gt;
	local sep = ', '&lt;br /&gt;
	for k,v in pairs(frame.args) do&lt;br /&gt;
		if k=='sep' then&lt;br /&gt;
			sep = v&lt;br /&gt;
		else&lt;br /&gt;
			if #v&amp;gt;0 then -- avoid empty string&lt;br /&gt;
				table.insert(res, v)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat( res, sep)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
str.encode = function(frame)&lt;br /&gt;
	return mw.text.encode( frame.args[1] or &amp;quot;&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
str[&amp;quot;קידוד&amp;quot;] = str.encode&lt;br /&gt;
&lt;br /&gt;
return str&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:ParamValidator&amp;diff=15928</id>
		<title>יחידה:ParamValidator</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:ParamValidator&amp;diff=15928"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[=[&lt;br /&gt;
&lt;br /&gt;
This module is based on idea and original code of [[User:IKhitron]].&lt;br /&gt;
&lt;br /&gt;
the source of this module is in //he.wikipedia.org/wiki/Module:ParamValidator&lt;br /&gt;
&lt;br /&gt;
main purpose: use &amp;quot;templatedata&amp;quot; to verify the parameters passed to a template&lt;br /&gt;
&lt;br /&gt;
Terminology: &amp;quot;numeric parameter&amp;quot; means order-based parameter. e.g. if the template is transcluded like so {{x  | k |  | a = m | b = }}&lt;br /&gt;
&amp;quot;a&amp;quot; and &amp;quot;b&amp;quot; are &amp;quot;named&amp;quot; parameters, and there are 2 &amp;quot;numeric&amp;quot;, or order based parameters, 1 and 2. &lt;br /&gt;
we say that the value of a is &amp;quot;m&amp;quot;, the value of 1 is &amp;quot;k&amp;quot;, and &amp;quot;b&amp;quot; and 2 are &amp;quot;empty&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This module exports two functions: calculateViolations( frame, subpages ), and validateParams( frame ). &lt;br /&gt;
&lt;br /&gt;
calculateViolations( frame, subpages ) finds templatedata, in template page or in one of its subpages in the list, if provided.&lt;br /&gt;
it returns a table with the violations. if there are none, the table is empty. otherwise it has the structure&lt;br /&gt;
{&lt;br /&gt;
	violation1 = { param1 = value1, param2 = value2 },&lt;br /&gt;
	violation2 = { ... },&lt;br /&gt;
	...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
violation1, violation2 etc. are one of the names of specific violations, as described below. &lt;br /&gt;
param1, param2 etc. are either the names of parameter passed to the template, or defined in templatedata.&lt;br /&gt;
value1, value2 etc. are the values passed to the template, or an empty string if no such parameter was passed.&lt;br /&gt;
&lt;br /&gt;
the different violations are as follow:&lt;br /&gt;
	* &amp;quot;no-templatedata&amp;quot;: 			no valid tempaltedata was found in tempalte page, or documentation subpage&lt;br /&gt;
	* &amp;quot;undeclared&amp;quot;: 				named parameters with non-empty value, does not exist in templatedata&lt;br /&gt;
	* &amp;quot;empty-undeclared&amp;quot;: 			named parameters with empty value, does not exist in templatedata&lt;br /&gt;
	* &amp;quot;undeclared-numeric&amp;quot;: 		numeric parameters with non-empty value, does not exist in templatedata&lt;br /&gt;
	* &amp;quot;empty-undeclared-numeric&amp;quot;: 	numeric parameters with empty value, does not exist in templatedata&lt;br /&gt;
	* &amp;quot;deprecated&amp;quot;:  				parameters with non-empty value, marked as &amp;quot;deprecated&amp;quot; in tempaltedata&lt;br /&gt;
	* &amp;quot;empty-deprecated&amp;quot;:  			parameters with empty value, marked as &amp;quot;deprecated&amp;quot; in tempaltedata&lt;br /&gt;
	* &amp;quot;empty-required&amp;quot;: 			missing or empty parameter marked as &amp;quot;required&amp;quot; in tempaltedata&lt;br /&gt;
	* &amp;quot;incompatible&amp;quot;:				a non-empty parameter passed to the template, incompatible with the parameter type defined in templatedata &lt;br /&gt;
	* &amp;quot;duplicate&amp;quot;:					a value is passed for the same parameter (or any of its aliases) more than once&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second function, validateParams( frame ), can be called from the tempalte' using #invoke.&lt;br /&gt;
it expects a parameter named &amp;quot;options&amp;quot;, which contains the definition of the output. typically, it's used by placing something like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{#invoke:ParamValidator | validateParams | options = {{PV default options}} }}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the top of the template (be mindful not to add extra spaces and newlines to the template).&lt;br /&gt;
to bypass some mediawiki limitation, it is also possible to pass the options as &amp;quot;module&amp;quot;, like so (use one of the two, but not both):&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{#invoke:ParamValidator | validateParams | module_options = Module:PV default options}} }}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the first form expects a template named &amp;quot;Template:PV default options&amp;quot; which contains the options, and the 2nd form expects a module, &lt;br /&gt;
suitable for mw.loadData(), which returns a map of namespace =&amp;gt; options (i.e. { [0] = &amp;lt;options&amp;gt;, [2] =&amp;gt; &amp;lt;options&amp;gt; } .... )&lt;br /&gt;
&lt;br /&gt;
the options parameter should be a JSON-encoded string, defining the output, and some special behaviors. &lt;br /&gt;
the example above assumes that a wiki page named [[Template:PV default options]] exists, and contains valid JSON string. &lt;br /&gt;
for each of the violations defined above, &amp;quot;options&amp;quot; may define an output string, so basically, &amp;quot;options&amp;quot; looks like so:&lt;br /&gt;
{&lt;br /&gt;
	violation1: outputstring1,&lt;br /&gt;
	violation2: outputstring2,&lt;br /&gt;
	.... ,&lt;br /&gt;
	behavior1: some value,&lt;br /&gt;
	....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
not all violations have to be defined. a violation not defined in &amp;quot;options&amp;quot; will be ignored.&lt;br /&gt;
&lt;br /&gt;
when invoked, it extract &amp;quot;subpages&amp;quot; from the options parameter, and calls:&lt;br /&gt;
 calculateViolations( frame, subpages )&lt;br /&gt;
if the returned table is empty, no violation were found, and an empty string is returned and nothing else happens.&lt;br /&gt;
&lt;br /&gt;
otherwise, for each of the violations, i.e., the keys of the returned table, when &amp;quot;options&amp;quot; contains this key,&lt;br /&gt;
the corresonding value is appended to the output.&lt;br /&gt;
&lt;br /&gt;
some further processing is done:&lt;br /&gt;
1) several tokens are replaced with calculated values. these are described below.&lt;br /&gt;
2) some &amp;quot;meta&amp;quot; violations are calculated: when any none-ignored violation occured, &lt;br /&gt;
	the &amp;quot;any&amp;quot; meta-violation is added to the output in the same way, &lt;br /&gt;
	i.e. the string keyed by &amp;quot;any&amp;quot; in the options is appended to output with appropriate substitutions.&lt;br /&gt;
	similarly, &amp;quot;multiple&amp;quot; meta-violation is created when more than one type of non-ignored violations occured.&lt;br /&gt;
3) if the output is not empty, a prefix and suffix strings are prepended and appended to it. &lt;br /&gt;
&lt;br /&gt;
these are the tokens and the replacement. &lt;br /&gt;
	* &amp;quot;templatename&amp;quot;:	full template name, including namespace.&lt;br /&gt;
	* &amp;quot;tname_naked&amp;quot;:	template name without namespace.&lt;br /&gt;
	* &amp;quot;paramname&amp;quot;:  	comma-separated list of parameters&lt;br /&gt;
	* &amp;quot;paramandvalue&amp;quot;: is replaced by comma-separated list of &amp;quot;name: value&amp;quot; pairs of parameters and values&lt;br /&gt;
the first two are applied to the whole output, including the suffux and prefix,&lt;br /&gt;
and the rest are applied to the individual violations, each with its own list of offending parameters and values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the rest of the if the value of some keys is null, this error condition will be ignored, and not counted when calculating &amp;quot;any&amp;quot; and &amp;quot;multiple&amp;quot; conditions.&lt;br /&gt;
&lt;br /&gt;
some other optional fields can be passed via options:&lt;br /&gt;
	* &amp;quot;doc-subpage&amp;quot;: can be either a string, or a list (in square bracktes) of strings, indicating subpages of the template &lt;br /&gt;
			that may contain templatedata. &lt;br /&gt;
	* &amp;quot;ignore&amp;quot;: list of patterns. any parameter whose name matches any pattern, will not considered in violation of any of the rules.&lt;br /&gt;
	* &amp;quot;skip-empty-numeric&amp;quot;: if a quoted number, the module will ignore non-declared empty numeric parameters up to this number&lt;br /&gt;
	* &amp;quot;wrapper-prefix&amp;quot;: openning wrapper element of outpot (defaults to &amp;quot;&amp;lt;div class = 'paramvalidator-wrapper'&amp;gt;&amp;quot;) &lt;br /&gt;
	* &amp;quot;wrapper-suffix&amp;quot;: closing wrapper element of output (defaults to &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
additional option parameters, named options1, options2, etc. can be passed. any entry defined in these options will &lt;br /&gt;
override the previous value. a typical use may be like so:&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
typically, this JSON structure will be placed in a separate template, and retrieved for the module-use as shown above.&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{#invoke:ParamValidator | validateParams | options = {{PV default options}} | options1 = {&amp;quot;key&amp;quot;:&amp;quot;value&amp;quot;} }}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;quot;key&amp;quot; can override any of the options fields described above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local util = {&lt;br /&gt;
	empty = function( s ) &lt;br /&gt;
		return s == nil  or type( s ) == 'string' and mw.text.trim( s ) == ''   &lt;br /&gt;
	end&lt;br /&gt;
	, &lt;br /&gt;
	extract_options = function ( frame, optionsPrefix )&lt;br /&gt;
		optionsPrefix = optionsPrefix or 'options' &lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		local options, n, more = {}&lt;br /&gt;
		if frame.args['module_options'] then&lt;br /&gt;
			local module_options = mw.loadData( frame.args['module_options'] ) &lt;br /&gt;
			if type( module_options ) ~= 'table' then return {} end&lt;br /&gt;
			local title = mw.title.getCurrentTitle()&lt;br /&gt;
			local local_ptions = module_options[ title.namespace ] or module_options[ title.nsText ] or {} &lt;br /&gt;
			for k, v in pairs( local_ptions ) do options[k] = v end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		repeat&lt;br /&gt;
			ok, more = pcall( mw.text.jsonDecode, frame.args[optionsPrefix .. ( n or '' )] )&lt;br /&gt;
			if ok and type( more ) == 'table' then&lt;br /&gt;
				for k, v in pairs( more ) do options[k] = v end&lt;br /&gt;
			end&lt;br /&gt;
			n = ( n or 0 ) + 1&lt;br /&gt;
		until not ok&lt;br /&gt;
&lt;br /&gt;
		return options&lt;br /&gt;
	end&lt;br /&gt;
	, &lt;br /&gt;
	build_namelist = function ( template_name, sp )&lt;br /&gt;
		local res = { template_name }&lt;br /&gt;
		if sp then&lt;br /&gt;
			if type( sp ) == 'string' then sp = { sp } end&lt;br /&gt;
			for _, p in ipairs( sp ) do table.insert( res, template_name .. '/' .. p ) end&lt;br /&gt;
		end&lt;br /&gt;
		return res&lt;br /&gt;
	end&lt;br /&gt;
	,&lt;br /&gt;
	table_empty = function( t ) -- normally, test if next(t) is nil, but for some perverse reason, non-empty tables returned by loadData return nil...&lt;br /&gt;
		if type( t ) ~= 'table' then return true end&lt;br /&gt;
		for a, b in pairs( t ) do return false end&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function _readTemplateData( templateName ) &lt;br /&gt;
	local title = mw.title.makeTitle( 0, templateName )  &lt;br /&gt;
	local templateContent = title and title.exists and title:getContent() -- template's raw content&lt;br /&gt;
	local capture =  templateContent and mw.ustring.match( templateContent, '&amp;lt;templatedata%s*&amp;gt;(.*)&amp;lt;/templatedata%s*&amp;gt;' ) -- templatedata as text&lt;br /&gt;
--	capture = capture and mw.ustring.gsub( capture, '&amp;quot;(%d+)&amp;quot;', tonumber ) -- convert &amp;quot;1&amp;quot;: {} to 1: {}. frame.args uses numerical indexes for order-based params.&lt;br /&gt;
	local trailingComma = capture and mw.ustring.find( capture, ',%s*[%]%}]' ) -- look for ,] or ,} : jsonDecode allows it, but it's verbotten in json&lt;br /&gt;
	if capture and not trailingComma then return pcall( mw.text.jsonDecode, capture ) end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function readTemplateData( templateName )&lt;br /&gt;
	if type( templateName ) == 'string' then &lt;br /&gt;
		templateName = { templateName, templateName .. '/' .. docSubPage }&lt;br /&gt;
	end&lt;br /&gt;
	if type( templateName ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		for _, name in ipairs( templateName ) do&lt;br /&gt;
			local td, result = _readTemplateData( name ) &lt;br /&gt;
			if td then return result end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- this is the function to be called by other modules. it expects the frame, and then an optional list of subpages, e.g. { &amp;quot;Documentation&amp;quot; }.&lt;br /&gt;
-- if second parameter is nil, only tempalte page will be searched for templatedata.&lt;br /&gt;
function calculateViolations( frame, subpages )&lt;br /&gt;
-- used for parameter type validy test. keyed by TD 'type' string. values are function(val) returning bool.&lt;br /&gt;
	local type_validators = { &lt;br /&gt;
		['number'] = function( s ) return mw.language.getContentLanguage():parseFormattedNumber( s ) end&lt;br /&gt;
	}&lt;br /&gt;
	function compatible( typ, val )&lt;br /&gt;
		local func = type_validators[typ]&lt;br /&gt;
		return type( func ) ~= 'function' or util.empty( val ) or func( val )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local t_frame = frame:getParent()&lt;br /&gt;
	local t_args, template_name = t_frame.args, t_frame:getTitle()&lt;br /&gt;
	local td_source = util.build_namelist( template_name, subpages )&lt;br /&gt;
	local templatedata = readTemplateData( td_source )&lt;br /&gt;
	local td_params = templatedata and templatedata.params&lt;br /&gt;
	local all_aliases, all_series = {}, {}&lt;br /&gt;
	&lt;br /&gt;
	if not td_params then return { ['no-templatedata'] = { [''] = '' } } end&lt;br /&gt;
	-- from this point on, we know templatedata is valid.&lt;br /&gt;
&lt;br /&gt;
	local res = {} -- before returning to caller, we'll prune empty tables&lt;br /&gt;
&lt;br /&gt;
	-- allow for aliases&lt;br /&gt;
	for _, p in pairs( td_params ) do for _, alias in ipairs( p.aliases or {} ) do &lt;br /&gt;
		all_aliases[alias] = p&lt;br /&gt;
		if tonumber(alias) then all_aliases[tonumber(alias)] = p end&lt;br /&gt;
	end end&lt;br /&gt;
&lt;br /&gt;
	-- handle undeclared and deprecated&lt;br /&gt;
	local already_seen = {}&lt;br /&gt;
	local series = frame.args['series']&lt;br /&gt;
	for p_name, value in pairs( t_args ) do&lt;br /&gt;
		local tp_param, noval, numeric, table_name = td_params[p_name] or all_aliases[p_name], util.empty( value ), tonumber( p_name )&lt;br /&gt;
		local hasval = not noval&lt;br /&gt;
&lt;br /&gt;
		if not tp_param and series then -- 2nd chance. check to see if series&lt;br /&gt;
			for s_name, p in pairs(td_params) do &lt;br /&gt;
				if mw.ustring.match( p_name, '^' .. s_name .. '%d+' .. '$') then &lt;br /&gt;
					-- mw.log('found p_name '.. p_name .. '  s_name:' .. s_name, ' p is:', p) debugging series support&lt;br /&gt;
					tp_param = p &lt;br /&gt;
				end -- don't bother breaking. td always correct.&lt;br /&gt;
			end 				&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not tp_param then -- not in TD: this is called undeclared&lt;br /&gt;
			-- calculate the relevant table for this undeclared parameter, based on parameter and value types&lt;br /&gt;
			table_name = &lt;br /&gt;
				noval and numeric and 'empty-undeclared-numeric' or&lt;br /&gt;
				noval and not numeric and 'empty-undeclared' or&lt;br /&gt;
				hasval and numeric and 'undeclared-numeric' or&lt;br /&gt;
				'undeclared' -- tzvototi nishar.&lt;br /&gt;
		else -- in td: test for deprecation and mistype. if deprecated, no further tests&lt;br /&gt;
			table_name = tp_param.deprecated and hasval and 'deprecated' &lt;br /&gt;
				or tp_param.deprecated and noval and 'empty-deprecated' &lt;br /&gt;
				or not compatible( tp_param.type, value ) and 'incompatible' &lt;br /&gt;
				or not series and already_seen[tp_param] and hasval and 'duplicate'&lt;br /&gt;
				&lt;br /&gt;
			already_seen[tp_param] = hasval&lt;br /&gt;
		end&lt;br /&gt;
		-- report it.&lt;br /&gt;
		if table_name then &lt;br /&gt;
			res[table_name] = res[table_name] or {}&lt;br /&gt;
			res[table_name][p_name] = value &lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- test for empty/missing paraeters declared &amp;quot;required&amp;quot; &lt;br /&gt;
	for p_name, param in pairs( td_params ) do &lt;br /&gt;
		if param.required and util.empty( t_args[p_name] ) then&lt;br /&gt;
			local is_alias&lt;br /&gt;
			for _, alias in ipairs( param.aliases or {} ) do is_alias = is_alias or not util.empty( t_args[alias] ) end&lt;br /&gt;
			if not is_alias then&lt;br /&gt;
				res['empty-required'] = res['empty-required'] or {} &lt;br /&gt;
				res['empty-required'][p_name] = '' &lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- wraps report in hidden frame&lt;br /&gt;
function wrapReport(report, template_name, options)&lt;br /&gt;
	if util.empty( report ) then return '' end&lt;br /&gt;
	local naked = mw.title.new( template_name )['text'] &lt;br /&gt;
	&lt;br /&gt;
	mw.log(report)&lt;br /&gt;
	report = ( options['wrapper-prefix'] or &amp;quot;&amp;lt;div class = 'paramvalidator-wrapper'&amp;gt;&amp;lt;span class='paramvalidator-error'&amp;gt;&amp;quot; )&lt;br /&gt;
			.. report&lt;br /&gt;
			.. ( options['wrapper-suffix'] or &amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;quot; )&lt;br /&gt;
	&lt;br /&gt;
	report = mw.ustring.gsub( report, 'tname_naked', naked )&lt;br /&gt;
	report = mw.ustring.gsub( report, 'templatename', template_name )&lt;br /&gt;
	return report&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- this is the &amp;quot;user&amp;quot; version, called with {{#invoke:}} returns a string, as defined by the options parameter&lt;br /&gt;
function validateParams( frame )&lt;br /&gt;
	local options, report, template_name = util.extract_options( frame ), '', frame:getParent():getTitle()&lt;br /&gt;
&lt;br /&gt;
	local ignore = function( p_name )&lt;br /&gt;
		for _, pattern in ipairs( options['ignore'] or {} ) do&lt;br /&gt;
			if mw.ustring.match( p_name, '^' .. pattern .. '$' ) then return true end&lt;br /&gt;
		end&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local replace_macros = function( s, param_names )&lt;br /&gt;
		function concat_and_escape( t ) &lt;br /&gt;
			local s = table.concat( t, ', ' )&lt;br /&gt;
			return ( mw.ustring.gsub( s, '%%', '%%%%' ) )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if s and ( type( param_names ) == 'table' ) then&lt;br /&gt;
			local k_ar, kv_ar = {}, {}&lt;br /&gt;
			for k, v in pairs( param_names ) do&lt;br /&gt;
				table.insert( k_ar, k )&lt;br /&gt;
				table.insert( kv_ar, k .. ': ' .. v)&lt;br /&gt;
			end&lt;br /&gt;
			s = mw.ustring.gsub( s, 'paramname', concat_and_escape( k_ar ) ) &lt;br /&gt;
			s = mw.ustring.gsub( s, 'paramandvalue', concat_and_escape( kv_ar ) )&lt;br /&gt;
		end&lt;br /&gt;
		return s&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local report_params = function( key, param_names )&lt;br /&gt;
		local res = replace_macros( options[key], param_names )&lt;br /&gt;
		report = report ..  ( res or '' )&lt;br /&gt;
		return res&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- no option no work.&lt;br /&gt;
	if util.table_empty( options ) then return '' end&lt;br /&gt;
&lt;br /&gt;
	-- get the errors.&lt;br /&gt;
	local violations = calculateViolations( frame, options['doc-subpage'] )&lt;br /&gt;
	-- special request of bora: use skip_empty_numeric&lt;br /&gt;
	if violations['empty-undeclared-numeric'] then &lt;br /&gt;
		for i = 1, tonumber( options['skip-empty-numeric'] ) or 0 do &lt;br /&gt;
			violations['empty-undeclared-numeric'][i] = nil &lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- handle ignore list, and prune empty violations - in that order!&lt;br /&gt;
	local offenders = 0&lt;br /&gt;
	for name, tab in pairs( violations ) do &lt;br /&gt;
		-- remove ignored parameters from all violations&lt;br /&gt;
		for pname in pairs( tab ) do if ignore( pname ) then tab[pname] = nil end end&lt;br /&gt;
		-- prune empty violations&lt;br /&gt;
		if util.table_empty( tab ) then violations[name] = nil end&lt;br /&gt;
	-- WORK IS DONE. report the errors.&lt;br /&gt;
	-- if report then count it.&lt;br /&gt;
		if violations[name] and report_params( name, tab ) then offenders = offenders + 1 end &lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if offenders &amp;gt; 1 then report_params( 'multiple' ) end&lt;br /&gt;
	if offenders ~= 0 then report_params( 'any' ) end -- could have tested for empty( report ), but since we count them anyway...&lt;br /&gt;
	return wrapReport(report, template_name, options)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	['validateparams'] = validateParams,&lt;br /&gt;
	['calculateViolations'] = calculateViolations,&lt;br /&gt;
	['wrapReport'] = wrapReport&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:PV-options&amp;diff=15926</id>
		<title>יחידה:PV-options</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:PV-options&amp;diff=15926"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;function create(cat, msg) &lt;br /&gt;
	return mw.ustring.format(&amp;quot;[[קטגוריה:שגיאות פרמטריות %s]]&amp;quot;, cat) .. create_message(msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function create_message(msg) &lt;br /&gt;
	return mw.ustring.format(&amp;quot;&amp;lt;span class='paramvalidator-error'&amp;gt;&amp;lt;br/&amp;gt;%s&amp;lt;/span&amp;gt;&amp;quot;, msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local options_0 = {&lt;br /&gt;
        [&amp;quot;no-templatedata&amp;quot;] = create(&amp;quot;אין templatedata תקין&amp;quot;,&lt;br /&gt;
					&amp;quot;לא נמצא templatedata תקין&amp;quot;),&lt;br /&gt;
        [&amp;quot;undeclared&amp;quot;] = create(&amp;quot;שם שגוי&amp;quot;,&lt;br /&gt;
					&amp;quot;פרמטרים [ paramname ] לא מופיעים בהגדרת התבנית&amp;quot;),&lt;br /&gt;
        [&amp;quot;empty-undeclared&amp;quot;] = create(&amp;quot;שם שגוי ריק&amp;quot;,&lt;br /&gt;
					&amp;quot;פרמטרים ריקים [ paramname ] לא מופיעים בהגדרת התבנית&amp;quot;),&lt;br /&gt;
        [&amp;quot;undeclared-numeric&amp;quot;] = create(&amp;quot;מספר סודר שגוי&amp;quot;,&lt;br /&gt;
					&amp;quot;פרמטרים [ paramname ] לא מופיעים בהגדרת התבנית&amp;quot;),&lt;br /&gt;
        [&amp;quot;empty-undeclared-numeric&amp;quot;] = create(&amp;quot;מספר סודר שגוי ריק&amp;quot;,&lt;br /&gt;
					&amp;quot;פרמטרים ריקים [ paramname ] לא מופיעים בהגדרת התבנית&amp;quot;),&lt;br /&gt;
        [&amp;quot;empty-required&amp;quot;] = create(&amp;quot;פרמטר חובה חסר&amp;quot;,&lt;br /&gt;
					&amp;quot;פרמטרי חובה  [ paramname ] חסרים&amp;quot;),&lt;br /&gt;
        [&amp;quot;deprecated&amp;quot;] = create(&amp;quot;שימוש בפרמטר מיושן&amp;quot;,&lt;br /&gt;
					&amp;quot;שימוש בפרמטרים מיושנים [ paramname ]&amp;quot;),&lt;br /&gt;
        [&amp;quot;empty-deprecated&amp;quot;] = create(&amp;quot;שימוש בפרמטר מיושן ריק&amp;quot;,&lt;br /&gt;
					&amp;quot;שימוש בפרמטרים מיושנים ריקים [ paramname ]&amp;quot;),&lt;br /&gt;
        [&amp;quot;incompatible&amp;quot;] = create(&amp;quot;סוג לא תואם&amp;quot;,&lt;br /&gt;
					&amp;quot;סוג לא תואם [ paramname ]&amp;quot;),&lt;br /&gt;
        [&amp;quot;duplicate&amp;quot;] = create(&amp;quot;כפילות פרמטרים&amp;quot;,&lt;br /&gt;
					&amp;quot;כפילות פרמטרים [ paramname ]&amp;quot;),&lt;br /&gt;
        [&amp;quot;multiple&amp;quot;] = &amp;quot;[[קטגוריה:שגיאות פרמטריות שגיאות ממספר סוגים]]&amp;quot;,&lt;br /&gt;
        [&amp;quot;any&amp;quot;] = &amp;quot;[[קטגוריה:שגיאות פרמטריות]][[קטגוריה:שגיאות פרמטריות בתבנית tname_naked]]&amp;quot;,&lt;br /&gt;
        [&amp;quot;doc-subpage&amp;quot;] = &amp;quot;תיעוד&amp;quot;,&lt;br /&gt;
        [&amp;quot;wrapper-prefix&amp;quot;] = &amp;quot;&amp;lt;span class='paramvalidator-wrapper'&amp;gt;&amp;lt;span class='paramvalidator-error' style='text-align:center;'&amp;gt;&amp;lt;br/&amp;gt;שגיאות פרמטריות ב[[templatename]] &amp;lt;/span&amp;gt;&amp;quot;,&lt;br /&gt;
        [&amp;quot;wrapper-suffix&amp;quot;] = &amp;quot; &amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
local options_rest = {&lt;br /&gt;
        [&amp;quot;no-templatedata&amp;quot;] = create_message(&amp;quot;לא נמצא templatedata תקין&amp;quot;),&lt;br /&gt;
        [&amp;quot;undeclared&amp;quot;] = create_message(&amp;quot;פרמטרים [ paramname ] לא מופיעים בהגדרת התבנית&amp;quot;),&lt;br /&gt;
        [&amp;quot;empty-undeclared&amp;quot;] = create_message(&amp;quot;פרמטרים ריקים [ paramname ] לא מופיעים בהגדרת התבנית&amp;quot;),&lt;br /&gt;
        [&amp;quot;undeclared-numeric&amp;quot;] = create_message(&amp;quot;פרמטרים [ paramname ] לא מופיעים בהגדרת התבנית&amp;quot;),&lt;br /&gt;
        [&amp;quot;empty-undeclared-numeric&amp;quot;] = create_message(&amp;quot;פרמטרים ריקים [ paramname ] לא מופיעים בהגדרת התבנית&amp;quot;),&lt;br /&gt;
        [&amp;quot;empty-required&amp;quot;] = create_message(&amp;quot;פרמטרי חובה  [ paramname ] חסרים&amp;quot;),&lt;br /&gt;
        [&amp;quot;deprecated&amp;quot;] = create_message(&amp;quot;שימוש בפרמטרים מיושנים [ paramname ]&amp;quot;),&lt;br /&gt;
        [&amp;quot;empty-deprecated&amp;quot;] = create_message(&amp;quot;שימוש בפרמטרים מיושנים ריקים [ paramname ]&amp;quot;),&lt;br /&gt;
        [&amp;quot;incompatible&amp;quot;] = create_message(&amp;quot;סוג לא תואם [ paramname ]&amp;quot;),&lt;br /&gt;
        [&amp;quot;duplicate&amp;quot;] = create_message(&amp;quot;כפילות פרמטרים [ paramname ]&amp;quot;),&lt;br /&gt;
        [&amp;quot;multiple&amp;quot;] = &amp;quot;&amp;quot;,&lt;br /&gt;
        [&amp;quot;any&amp;quot;] = &amp;quot;[[קטגוריה:שגיאות פרמטריות מחוץ למרחב הערכים]]&amp;quot;,&lt;br /&gt;
        [&amp;quot;doc-subpage&amp;quot;] = &amp;quot;תיעוד&amp;quot;,&lt;br /&gt;
        [&amp;quot;skip-empty-numeric&amp;quot;] = &amp;quot;0&amp;quot;,&lt;br /&gt;
        [&amp;quot;wrapper-prefix&amp;quot;] = &amp;quot;&amp;lt;span class='paramvalidator-wrapper'&amp;gt;&amp;lt;span class='paramvalidator-error' style='text-align:center;'&amp;gt;&amp;lt;br/&amp;gt;שגיאות פרמטריות ב[[templatename]] &amp;lt;/span&amp;gt;&amp;quot;,&lt;br /&gt;
        [&amp;quot;wrapper-suffix&amp;quot;] = &amp;quot; &amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
local result = {&lt;br /&gt;
	[0] = options_0,		-- ערכים&lt;br /&gt;
	[2] = options_rest,		-- משתמש	&lt;br /&gt;
	[4] = options_rest,		-- ויקיפדיה&lt;br /&gt;
	[6] = options_0,		-- קובץ&lt;br /&gt;
	[10] = options_0,		-- תבנית&lt;br /&gt;
	[12] = options_rest,	-- עזרה&lt;br /&gt;
	[14] = options_0,		-- קטגוריה&lt;br /&gt;
	[100] = options_0,		-- פורטל&lt;br /&gt;
	[108] = options_rest,	-- ספר	&lt;br /&gt;
	[118] = options_rest,	-- טיוטה&lt;br /&gt;
	[446] = options_rest,	-- הוראה&lt;br /&gt;
	[828] = options_rest,	-- יחידה&lt;br /&gt;
	[2300] = options_rest,	-- גאדג'ט&lt;br /&gt;
	[2302] = options_rest,	-- הגדרת גאדג'ט&lt;br /&gt;
	[2600] = options_rest,	-- נושא&lt;br /&gt;
}&lt;br /&gt;
return result&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:No_globals&amp;diff=15924</id>
		<title>יחידה:No globals</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:No_globals&amp;diff=15924"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local mt = getmetatable(_G) or {}&lt;br /&gt;
function mt.__index (t, k)&lt;br /&gt;
	if k ~= 'arg' then&lt;br /&gt;
		-- perf optimization here and below: do not load Module:TNT unless there is an error&lt;br /&gt;
		error(require('Module:TNT').format('I18n/No globals', 'err-read', tostring(k)), 2)&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
function mt.__newindex(t, k, v)&lt;br /&gt;
	if k ~= 'arg' then&lt;br /&gt;
		error(require('Module:TNT').format('I18n/No globals', 'err-write', tostring(k)), 2)&lt;br /&gt;
	end&lt;br /&gt;
	rawset(t, k, v)&lt;br /&gt;
end&lt;br /&gt;
setmetatable(_G, mt)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:Navbox&amp;diff=15922</id>
		<title>יחידה:Navbox</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:Navbox&amp;diff=15922"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--&lt;br /&gt;
-- This module implements {{Navbox}}&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local navbar = require('Module:Navbar')._navbar&lt;br /&gt;
local getArgs -- lazily initialized&lt;br /&gt;
&lt;br /&gt;
local args&lt;br /&gt;
local border&lt;br /&gt;
local listnums&lt;br /&gt;
local ODD_EVEN_MARKER = '\127_ODDEVEN_\127'&lt;br /&gt;
local RESTART_MARKER = '\127_ODDEVEN0_\127'&lt;br /&gt;
local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127'&lt;br /&gt;
&lt;br /&gt;
local function striped(wikitext)&lt;br /&gt;
	-- Return wikitext with markers replaced for odd/even striping.&lt;br /&gt;
	-- Child (subgroup) navboxes are flagged with a category that is removed&lt;br /&gt;
	-- by parent navboxes. The result is that the category shows all pages&lt;br /&gt;
	-- where a child navbox is not contained in a parent navbox.&lt;br /&gt;
	local orphanCat = '[[Category:Navbox orphans]]'&lt;br /&gt;
	if border == 'subgroup' and args.orphan ~= 'yes' then&lt;br /&gt;
		-- No change; striping occurs in outermost navbox.&lt;br /&gt;
		return wikitext .. orphanCat&lt;br /&gt;
	end&lt;br /&gt;
	local first, second = 'odd', 'even'&lt;br /&gt;
	if args.evenodd then&lt;br /&gt;
		if args.evenodd == 'swap' then&lt;br /&gt;
			first, second = second, first&lt;br /&gt;
		else&lt;br /&gt;
			first = args.evenodd&lt;br /&gt;
			second = first&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local changer&lt;br /&gt;
	if first == second then&lt;br /&gt;
		changer = first&lt;br /&gt;
	else&lt;br /&gt;
		local index = 0&lt;br /&gt;
		changer = function (code)&lt;br /&gt;
			if code == '0' then&lt;br /&gt;
				-- Current occurrence is for a group before a nested table.&lt;br /&gt;
				-- Set it to first as a valid although pointless class.&lt;br /&gt;
				-- The next occurrence will be the first row after a title&lt;br /&gt;
				-- in a subgroup and will also be first.&lt;br /&gt;
				index = 0&lt;br /&gt;
				return first&lt;br /&gt;
			end&lt;br /&gt;
			index = index + 1&lt;br /&gt;
			return index % 2 == 1 and first or second&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local regex = orphanCat:gsub('([%[%]])', '%%%1')&lt;br /&gt;
	return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer))  -- () omits gsub count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function processItem(item, nowrapitems)&lt;br /&gt;
	if item:sub(1, 2) == '{|' then&lt;br /&gt;
		-- Applying nowrap to lines in a table does not make sense.&lt;br /&gt;
		-- Add newlines to compensate for trim of x in |parm=x in a template.&lt;br /&gt;
		return '\n' .. item ..'\n'&lt;br /&gt;
	end&lt;br /&gt;
	if nowrapitems == 'yes' then&lt;br /&gt;
		local lines = {}&lt;br /&gt;
		for line in (item .. '\n'):gmatch('([^\n]*)\n') do&lt;br /&gt;
			local prefix, content = line:match('^([*:;#]+)%s*(.*)')&lt;br /&gt;
			if prefix and not content:match('^&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;') then&lt;br /&gt;
				line = prefix .. '&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;' .. content .. '&amp;lt;/span&amp;gt;'&lt;br /&gt;
			end&lt;br /&gt;
			table.insert(lines, line)&lt;br /&gt;
		end&lt;br /&gt;
		item = table.concat(lines, '\n')&lt;br /&gt;
	end&lt;br /&gt;
	if item:match('^[*:;#]') then&lt;br /&gt;
		return '\n' .. item ..'\n'&lt;br /&gt;
	end&lt;br /&gt;
	return item&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderNavBar(titleCell)&lt;br /&gt;
&lt;br /&gt;
	if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then&lt;br /&gt;
		titleCell:wikitext(navbar{&lt;br /&gt;
			args.name,&lt;br /&gt;
			mini = 1,&lt;br /&gt;
			fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;'&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Title row&lt;br /&gt;
--&lt;br /&gt;
local function renderTitleRow(tbl)&lt;br /&gt;
	if not args.title then return end&lt;br /&gt;
&lt;br /&gt;
	local titleRow = tbl:tag('tr')&lt;br /&gt;
&lt;br /&gt;
	if args.titlegroup then&lt;br /&gt;
		titleRow&lt;br /&gt;
			:tag('th')&lt;br /&gt;
				:attr('scope', 'row')&lt;br /&gt;
				:addClass('navbox-group')&lt;br /&gt;
				:addClass(args.titlegroupclass)&lt;br /&gt;
				:cssText(args.basestyle)&lt;br /&gt;
				:cssText(args.groupstyle)&lt;br /&gt;
				:cssText(args.titlegroupstyle)&lt;br /&gt;
				:wikitext(args.titlegroup)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleCell = titleRow:tag('th'):attr('scope', 'col')&lt;br /&gt;
&lt;br /&gt;
	if args.titlegroup then&lt;br /&gt;
		titleCell&lt;br /&gt;
			:css('border-left', '2px solid #fdfdfd')&lt;br /&gt;
			:css('width', '100%')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleColspan = 2&lt;br /&gt;
	if args.imageleft then titleColspan = titleColspan + 1 end&lt;br /&gt;
	if args.image then titleColspan = titleColspan + 1 end&lt;br /&gt;
	if args.titlegroup then titleColspan = titleColspan - 1 end&lt;br /&gt;
&lt;br /&gt;
	titleCell&lt;br /&gt;
		:cssText(args.basestyle)&lt;br /&gt;
		:cssText(args.titlestyle)&lt;br /&gt;
		:addClass('navbox-title')&lt;br /&gt;
		:attr('colspan', titleColspan)&lt;br /&gt;
&lt;br /&gt;
	renderNavBar(titleCell)&lt;br /&gt;
&lt;br /&gt;
	titleCell&lt;br /&gt;
		:tag('div')&lt;br /&gt;
			-- id for aria-labelledby attribute&lt;br /&gt;
			:attr('id', mw.uri.anchorEncode(args.title))&lt;br /&gt;
			:addClass(args.titleclass)&lt;br /&gt;
			:css('font-size', '114%')&lt;br /&gt;
			:css('margin', '0 4em')&lt;br /&gt;
			:wikitext(processItem(args.title))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Above/Below rows&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local function getAboveBelowColspan()&lt;br /&gt;
	local ret = 2&lt;br /&gt;
	if args.imageleft then ret = ret + 1 end&lt;br /&gt;
	if args.image then ret = ret + 1 end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAboveRow(tbl)&lt;br /&gt;
	if not args.above then return end&lt;br /&gt;
&lt;br /&gt;
	tbl:tag('tr')&lt;br /&gt;
		:tag('td')&lt;br /&gt;
			:addClass('navbox-abovebelow')&lt;br /&gt;
			:addClass(args.aboveclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:cssText(args.abovestyle)&lt;br /&gt;
			:attr('colspan', getAboveBelowColspan())&lt;br /&gt;
			:tag('div')&lt;br /&gt;
				-- id for aria-labelledby attribute, if no title&lt;br /&gt;
				:attr('id', args.title and nil or mw.uri.anchorEncode(args.above))&lt;br /&gt;
				:wikitext(processItem(args.above, args.nowrapitems))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBelowRow(tbl)&lt;br /&gt;
	if not args.below then return end&lt;br /&gt;
&lt;br /&gt;
	tbl:tag('tr')&lt;br /&gt;
		:tag('td')&lt;br /&gt;
			:addClass('navbox-abovebelow')&lt;br /&gt;
			:addClass(args.belowclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:cssText(args.belowstyle)&lt;br /&gt;
			:attr('colspan', getAboveBelowColspan())&lt;br /&gt;
			:tag('div')&lt;br /&gt;
				:wikitext(processItem(args.below, args.nowrapitems))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   List rows&lt;br /&gt;
--&lt;br /&gt;
local function renderListRow(tbl, index, listnum)&lt;br /&gt;
	local row = tbl:tag('tr')&lt;br /&gt;
&lt;br /&gt;
	if index == 1 and args.imageleft then&lt;br /&gt;
		row&lt;br /&gt;
			:tag('td')&lt;br /&gt;
				:addClass('navbox-image')&lt;br /&gt;
				:addClass(args.imageclass)&lt;br /&gt;
				:css('width', '1px')               -- Minimize width&lt;br /&gt;
				:css('padding', '0px 2px 0px 0px')&lt;br /&gt;
				:cssText(args.imageleftstyle)&lt;br /&gt;
				:attr('rowspan', #listnums)&lt;br /&gt;
				:tag('div')&lt;br /&gt;
					:wikitext(processItem(args.imageleft))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args['group' .. listnum] then&lt;br /&gt;
		local groupCell = row:tag('th')&lt;br /&gt;
&lt;br /&gt;
		-- id for aria-labelledby attribute, if lone group with no title or above&lt;br /&gt;
		if listnum == 1 and not (args.title or args.above or args.group2) then&lt;br /&gt;
			groupCell&lt;br /&gt;
				:attr('id', mw.uri.anchorEncode(args.group1))&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		groupCell&lt;br /&gt;
			:attr('scope', 'row')&lt;br /&gt;
			:addClass('navbox-group')&lt;br /&gt;
			:addClass(args.groupclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width&lt;br /&gt;
&lt;br /&gt;
		groupCell&lt;br /&gt;
			:cssText(args.groupstyle)&lt;br /&gt;
			:cssText(args['group' .. listnum .. 'style'])&lt;br /&gt;
			:wikitext(args['group' .. listnum])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listCell = row:tag('td')&lt;br /&gt;
&lt;br /&gt;
	if args['group' .. listnum] then&lt;br /&gt;
		listCell&lt;br /&gt;
			:css('text-align', 'left')&lt;br /&gt;
			:css('border-left-width', '2px')&lt;br /&gt;
			:css('border-left-style', 'solid')&lt;br /&gt;
	else&lt;br /&gt;
		listCell:attr('colspan', 2)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not args.groupwidth then&lt;br /&gt;
		listCell:css('width', '100%')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local rowstyle  -- usually nil so cssText(rowstyle) usually adds nothing&lt;br /&gt;
	if index % 2 == 1 then&lt;br /&gt;
		rowstyle = args.oddstyle&lt;br /&gt;
	else&lt;br /&gt;
		rowstyle = args.evenstyle&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listText = args['list' .. listnum]&lt;br /&gt;
	local oddEven = ODD_EVEN_MARKER&lt;br /&gt;
	if listText:sub(1, 12) == '&amp;lt;/div&amp;gt;&amp;lt;table' then&lt;br /&gt;
		-- Assume list text is for a subgroup navbox so no automatic striping for this row.&lt;br /&gt;
		oddEven = listText:find('&amp;lt;th[^&amp;gt;]*&amp;quot;navbox%-title&amp;quot;') and RESTART_MARKER or 'odd'&lt;br /&gt;
	end&lt;br /&gt;
	listCell&lt;br /&gt;
		:css('padding', '0px')&lt;br /&gt;
		:cssText(args.liststyle)&lt;br /&gt;
		:cssText(rowstyle)&lt;br /&gt;
		:cssText(args['list' .. listnum .. 'style'])&lt;br /&gt;
		:addClass('navbox-list')&lt;br /&gt;
		:addClass('navbox-' .. oddEven)&lt;br /&gt;
		:addClass(args.listclass)&lt;br /&gt;
		:addClass(args['list' .. listnum .. 'class'])&lt;br /&gt;
		:tag('div')&lt;br /&gt;
			:css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em')&lt;br /&gt;
			:wikitext(processItem(listText, args.nowrapitems))&lt;br /&gt;
&lt;br /&gt;
	if index == 1 and args.image then&lt;br /&gt;
		row&lt;br /&gt;
			:tag('td')&lt;br /&gt;
				:addClass('navbox-image')&lt;br /&gt;
				:addClass(args.imageclass)&lt;br /&gt;
				:css('width', '1px')               -- Minimize width&lt;br /&gt;
				:css('padding', '0px 0px 0px 2px')&lt;br /&gt;
				:cssText(args.imagestyle)&lt;br /&gt;
				:attr('rowspan', #listnums)&lt;br /&gt;
				:tag('div')&lt;br /&gt;
					:wikitext(processItem(args.image))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Tracking categories&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local function needsHorizontalLists()&lt;br /&gt;
	if border == 'subgroup' or args.tracking == 'no' then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local listClasses = {&lt;br /&gt;
		['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true,&lt;br /&gt;
		['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true,&lt;br /&gt;
		['hlist vevent'] = true,&lt;br /&gt;
	}&lt;br /&gt;
	return not (listClasses[args.listclass] or listClasses[args.bodyclass])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function hasBackgroundColors()&lt;br /&gt;
	for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do&lt;br /&gt;
		if tostring(args[key]):find('background', 1, true) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function hasBorders()&lt;br /&gt;
	for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do&lt;br /&gt;
		if tostring(args[key]):find('border', 1, true) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function isIllegible()&lt;br /&gt;
	local styleratio = require('Module:Color contrast')._styleratio&lt;br /&gt;
&lt;br /&gt;
	for key, style in pairs(args) do&lt;br /&gt;
		if tostring(key):match(&amp;quot;style$&amp;quot;) then&lt;br /&gt;
			if styleratio{mw.text.unstripNoWiki(style)} &amp;lt; 4.5 then&lt;br /&gt;
				return true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getTrackingCategories()&lt;br /&gt;
	local cats = {}&lt;br /&gt;
	--[[&lt;br /&gt;
	if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end&lt;br /&gt;
	if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end&lt;br /&gt;
	if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end&lt;br /&gt;
	if hasBorders() then table.insert(cats, 'Navboxes using borders') end&lt;br /&gt;
	]]&lt;br /&gt;
	return cats&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTrackingCategories(builder)&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	if title.namespace ~= 10 then return end -- not in template space&lt;br /&gt;
	local subpage = title.subpageText&lt;br /&gt;
	if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end&lt;br /&gt;
&lt;br /&gt;
	for _, cat in ipairs(getTrackingCategories()) do&lt;br /&gt;
		builder:wikitext('[[Category:' .. cat .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Main navbox tables&lt;br /&gt;
--&lt;br /&gt;
local function renderMainTable()&lt;br /&gt;
	local tbl = mw.html.create('table')&lt;br /&gt;
		:addClass('nowraplinks')&lt;br /&gt;
		:addClass(args.bodyclass)&lt;br /&gt;
&lt;br /&gt;
	if args.title and (args.state ~= 'plain' and args.state ~= 'off') then&lt;br /&gt;
		if args.state == 'collapsed' then args.state = 'mw-collapsed' end&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass('mw-collapsible')&lt;br /&gt;
			:addClass(args.state or 'autocollapse')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tbl:css('border-spacing', 0)&lt;br /&gt;
	if border == 'subgroup' or border == 'none' then&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass('navbox-subgroup')&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
			:cssText(args.style)&lt;br /&gt;
	else  -- regular navbox - bodystyle and style will be applied to the wrapper table&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass('navbox-inner')&lt;br /&gt;
			:css('background', 'transparent')&lt;br /&gt;
			:css('color', 'inherit')&lt;br /&gt;
	end&lt;br /&gt;
	tbl:cssText(args.innerstyle)&lt;br /&gt;
&lt;br /&gt;
	renderTitleRow(tbl)&lt;br /&gt;
	renderAboveRow(tbl)&lt;br /&gt;
	for i, listnum in ipairs(listnums) do&lt;br /&gt;
		renderListRow(tbl, i, listnum)&lt;br /&gt;
	end&lt;br /&gt;
	renderBelowRow(tbl)&lt;br /&gt;
&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._navbox(navboxArgs)&lt;br /&gt;
	args = navboxArgs&lt;br /&gt;
	listnums = {}&lt;br /&gt;
&lt;br /&gt;
	for k, _ in pairs(args) do&lt;br /&gt;
		if type(k) == 'string' then&lt;br /&gt;
			local listnum = k:match('^list(%d+)$')&lt;br /&gt;
			if listnum then table.insert(listnums, tonumber(listnum)) end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(listnums)&lt;br /&gt;
&lt;br /&gt;
	border = mw.text.trim(args.border or args[1] or '')&lt;br /&gt;
	if border == 'child' then&lt;br /&gt;
		border = 'subgroup'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- render the main body of the navbox&lt;br /&gt;
	local tbl = renderMainTable()&lt;br /&gt;
&lt;br /&gt;
	-- render the appropriate wrapper around the navbox, depending on the border param&lt;br /&gt;
	local res = mw.html.create()&lt;br /&gt;
	if border == 'none' then&lt;br /&gt;
		local nav = res:tag('div')&lt;br /&gt;
			:attr('role', 'navigation')&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
		-- aria-labelledby title, otherwise above, otherwise lone group&lt;br /&gt;
		if args.title or args.above or (args.group1 and not args.group2) then&lt;br /&gt;
			nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1))&lt;br /&gt;
		else&lt;br /&gt;
			nav:attr('aria-label', 'Navbox')&lt;br /&gt;
		end&lt;br /&gt;
	elseif border == 'subgroup' then&lt;br /&gt;
		-- We assume that this navbox is being rendered in a list cell of a parent navbox, and is&lt;br /&gt;
		-- therefore inside a div with padding:0em 0.25em. We start with a &amp;lt;/div&amp;gt; to avoid the&lt;br /&gt;
		-- padding being applied, and at the end add a &amp;lt;div&amp;gt; to balance out the parent's &amp;lt;/div&amp;gt;&lt;br /&gt;
		res&lt;br /&gt;
			:wikitext('&amp;lt;/div&amp;gt;')&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
			:wikitext('&amp;lt;div&amp;gt;')&lt;br /&gt;
	else&lt;br /&gt;
		local nav = res:tag('div')&lt;br /&gt;
			:attr('role', 'navigation')&lt;br /&gt;
			:addClass('navbox')&lt;br /&gt;
			:addClass(args.navboxclass)&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
			:cssText(args.style)&lt;br /&gt;
			:css('padding', '3px')&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
		-- aria-labelledby title, otherwise above, otherwise lone group&lt;br /&gt;
		if args.title or args.above or (args.group1 and not args.group2) then&lt;br /&gt;
			nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1))&lt;br /&gt;
		else&lt;br /&gt;
			nav:attr('aria-label', 'Navbox')&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.nocat or 'false'):lower() == 'false' then&lt;br /&gt;
		renderTrackingCategories(res)&lt;br /&gt;
	end&lt;br /&gt;
	return striped(tostring(res))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbox(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	end&lt;br /&gt;
	args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}})&lt;br /&gt;
	if frame.args.border then&lt;br /&gt;
		-- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}.&lt;br /&gt;
		args.border = frame.args.border&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Read the arguments in the order they'll be output in, to make references number in the right order.&lt;br /&gt;
	local _&lt;br /&gt;
	_ = args.title&lt;br /&gt;
	_ = args.above&lt;br /&gt;
	for i = 1, 20 do&lt;br /&gt;
		_ = args[&amp;quot;group&amp;quot; .. tostring(i)]&lt;br /&gt;
		_ = args[&amp;quot;list&amp;quot; .. tostring(i)]&lt;br /&gt;
	end&lt;br /&gt;
	_ = args.below&lt;br /&gt;
&lt;br /&gt;
	return p._navbox(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:Navbar&amp;diff=15920</id>
		<title>יחידה:Navbar</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:Navbar&amp;diff=15920"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs&lt;br /&gt;
&lt;br /&gt;
function p._navbar(args)&lt;br /&gt;
	local titleArg = 1&lt;br /&gt;
&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		titleArg = 2&lt;br /&gt;
		if not args.plain then&lt;br /&gt;
			args.mini = 1&lt;br /&gt;
		end&lt;br /&gt;
		if args.fontcolor then&lt;br /&gt;
			args.fontstyle = 'color:' .. args.fontcolor .. ';'&lt;br /&gt;
		end&lt;br /&gt;
		args.style = 'float:left; text-align:left; width:6em;'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())&lt;br /&gt;
	local title = mw.title.new(mw.text.trim(titleText), 'Template');&lt;br /&gt;
&lt;br /&gt;
	if not title then&lt;br /&gt;
		error('Invalid title ' .. titleText)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '';&lt;br /&gt;
&lt;br /&gt;
	local div = mw.html.create():tag('div')&lt;br /&gt;
	div&lt;br /&gt;
		:addClass('plainlinks')&lt;br /&gt;
		:addClass('hlist')&lt;br /&gt;
		:addClass('navbar')&lt;br /&gt;
		:cssText(args.style)&lt;br /&gt;
&lt;br /&gt;
	if args.mini then div:addClass('mini') end&lt;br /&gt;
&lt;br /&gt;
	if not (args.mini or args.plain) then&lt;br /&gt;
		div&lt;br /&gt;
			:tag('span')&lt;br /&gt;
				:css('word-spacing', 0)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(args.text or 'This box:')&lt;br /&gt;
				:wikitext(' ')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.brackets then&lt;br /&gt;
		div&lt;br /&gt;
			:tag('span')&lt;br /&gt;
				:css('margin-right', '-0.125em')&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext('&amp;amp;#91;')&lt;br /&gt;
				:newline();&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local ul = div:tag('ul');&lt;br /&gt;
&lt;br /&gt;
	ul&lt;br /&gt;
		:tag('li')&lt;br /&gt;
			:addClass('nv-view')&lt;br /&gt;
			:wikitext('[[' .. title.fullText .. '|')&lt;br /&gt;
			:tag(args.mini and 'abbr' or 'span')&lt;br /&gt;
				:attr('title', 'צפייה בתבנית זו')&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(args.mini and 'צ' or 'צפייה')&lt;br /&gt;
				:done()&lt;br /&gt;
			:wikitext(']]')&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag('li')&lt;br /&gt;
			:addClass('nv-talk')&lt;br /&gt;
			:wikitext('[[' .. talkpage .. '|')&lt;br /&gt;
			:tag(args.mini and 'abbr' or 'span')&lt;br /&gt;
				:attr('title', 'שיחה על תבנית זו')&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(args.mini and 'ש' or 'שיחה')&lt;br /&gt;
				:done()&lt;br /&gt;
			:wikitext(']]');&lt;br /&gt;
&lt;br /&gt;
	if not args.noedit then&lt;br /&gt;
		ul&lt;br /&gt;
			:tag('li')&lt;br /&gt;
				:addClass('nv-edit')&lt;br /&gt;
				:wikitext('[' .. title:fullUrl('action=edit') .. ' ')&lt;br /&gt;
				:tag(args.mini and 'abbr' or 'span')&lt;br /&gt;
					:attr('title', 'עריכת תבנית זו')&lt;br /&gt;
					:cssText(args.fontstyle)&lt;br /&gt;
					:wikitext(args.mini and 'ע' or 'עריכה')&lt;br /&gt;
					:done()&lt;br /&gt;
				:wikitext(']');&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.brackets then&lt;br /&gt;
		div&lt;br /&gt;
			:tag('span')&lt;br /&gt;
				:css('margin-left', '-0.125em')&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext('&amp;amp;#93;')&lt;br /&gt;
				:newline();&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		div&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag('span')&lt;br /&gt;
			:css('font-size', '110%')&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args[1])&lt;br /&gt;
	end&lt;br /&gt;
	local templateStyle = mw.getCurrentFrame():extensionTag( 'templatestyles', '', { src = 'יחידה:Navbar/styles.css' } );&lt;br /&gt;
	return tostring(div:done()) .. templateStyle&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbar(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	end&lt;br /&gt;
	return p._navbar(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:Arguments&amp;diff=15918</id>
		<title>יחידה:Arguments</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:Arguments&amp;diff=15918"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module provides easy processing of arguments passed to Scribunto from&lt;br /&gt;
-- #invoke. It is intended for use by other Lua modules, and should not be&lt;br /&gt;
-- called from #invoke directly.&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require('libraryUtil')&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
&lt;br /&gt;
local arguments = {}&lt;br /&gt;
&lt;br /&gt;
-- Generate four different tidyVal functions, so that we don't have to check the&lt;br /&gt;
-- options every time we call it.&lt;br /&gt;
&lt;br /&gt;
local function tidyValDefault(key, val)&lt;br /&gt;
	if type(val) == 'string' then&lt;br /&gt;
		val = val:match('^%s*(.-)%s*$')&lt;br /&gt;
		if val == '' then&lt;br /&gt;
			return nil&lt;br /&gt;
		else&lt;br /&gt;
			return val&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValTrimOnly(key, val)&lt;br /&gt;
	if type(val) == 'string' then&lt;br /&gt;
		return val:match('^%s*(.-)%s*$')&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValRemoveBlanksOnly(key, val)&lt;br /&gt;
	if type(val) == 'string' then&lt;br /&gt;
		if val:find('%S') then&lt;br /&gt;
			return val&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValNoChange(key, val)&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function matchesTitle(given, title)&lt;br /&gt;
	local tp = type( given )&lt;br /&gt;
	return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local translate_mt = { __index = function(t, k) return k end }&lt;br /&gt;
&lt;br /&gt;
function arguments.getArgs(frame, options)&lt;br /&gt;
	checkType('getArgs', 1, frame, 'table', true)&lt;br /&gt;
	checkType('getArgs', 2, options, 'table', true)&lt;br /&gt;
	frame = frame or {}&lt;br /&gt;
	options = options or {}&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up argument translation.&lt;br /&gt;
	--]]&lt;br /&gt;
	options.translate = options.translate or {}&lt;br /&gt;
	if getmetatable(options.translate) == nil then&lt;br /&gt;
		setmetatable(options.translate, translate_mt)&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate == nil then&lt;br /&gt;
		options.backtranslate = {}&lt;br /&gt;
		for k,v in pairs(options.translate) do&lt;br /&gt;
			options.backtranslate[v] = k&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate and getmetatable(options.backtranslate) == nil then&lt;br /&gt;
		setmetatable(options.backtranslate, {&lt;br /&gt;
			__index = function(t, k)&lt;br /&gt;
				if options.translate[k] ~= k then&lt;br /&gt;
					return nil&lt;br /&gt;
				else&lt;br /&gt;
					return k&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Get the argument tables. If we were passed a valid frame object, get the&lt;br /&gt;
	-- frame arguments (fargs) and the parent frame arguments (pargs), depending&lt;br /&gt;
	-- on the options set and on the parent frame's availability. If we weren't&lt;br /&gt;
	-- passed a valid frame object, we are being called from another Lua module&lt;br /&gt;
	-- or from the debug console, so assume that we were passed a table of args&lt;br /&gt;
	-- directly, and assign it to a new variable (luaArgs).&lt;br /&gt;
	--]]&lt;br /&gt;
	local fargs, pargs, luaArgs&lt;br /&gt;
	if type(frame.args) == 'table' and type(frame.getParent) == 'function' then&lt;br /&gt;
		if options.wrappers then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- The wrappers option makes Module:Arguments look up arguments in&lt;br /&gt;
			-- either the frame argument table or the parent argument table, but&lt;br /&gt;
			-- not both. This means that users can use either the #invoke syntax&lt;br /&gt;
			-- or a wrapper template without the loss of performance associated&lt;br /&gt;
			-- with looking arguments up in both the frame and the parent frame.&lt;br /&gt;
			-- Module:Arguments will look up arguments in the parent frame&lt;br /&gt;
			-- if it finds the parent frame's title in options.wrapper;&lt;br /&gt;
			-- otherwise it will look up arguments in the frame object passed&lt;br /&gt;
			-- to getArgs.&lt;br /&gt;
			--]]&lt;br /&gt;
			local parent = frame:getParent()&lt;br /&gt;
			if not parent then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			else&lt;br /&gt;
				local title = parent:getTitle():gsub('/sandbox$', '')&lt;br /&gt;
				local found = false&lt;br /&gt;
				if matchesTitle(options.wrappers, title) then&lt;br /&gt;
					found = true&lt;br /&gt;
				elseif type(options.wrappers) == 'table' then&lt;br /&gt;
					for _,v in pairs(options.wrappers) do&lt;br /&gt;
						if matchesTitle(v, title) then&lt;br /&gt;
							found = true&lt;br /&gt;
							break&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- We test for false specifically here so that nil (the default) acts like true.&lt;br /&gt;
				if found or options.frameOnly == false then&lt;br /&gt;
					pargs = parent.args&lt;br /&gt;
				end&lt;br /&gt;
				if not found or options.parentOnly == false then&lt;br /&gt;
					fargs = frame.args&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- options.wrapper isn't set, so check the other options.&lt;br /&gt;
			if not options.parentOnly then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			end&lt;br /&gt;
			if not options.frameOnly then&lt;br /&gt;
				local parent = frame:getParent()&lt;br /&gt;
				pargs = parent and parent.args or nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if options.parentFirst then&lt;br /&gt;
			fargs, pargs = pargs, fargs&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		luaArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the order of precedence of the argument tables. If the variables are&lt;br /&gt;
	-- nil, nothing will be added to the table, which is how we avoid clashes&lt;br /&gt;
	-- between the frame/parent args and the Lua args.&lt;br /&gt;
	local argTables = {fargs}&lt;br /&gt;
	argTables[#argTables + 1] = pargs&lt;br /&gt;
	argTables[#argTables + 1] = luaArgs&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generate the tidyVal function. If it has been specified by the user, we&lt;br /&gt;
	-- use that; if not, we choose one of four functions depending on the&lt;br /&gt;
	-- options chosen. This is so that we don't have to call the options table&lt;br /&gt;
	-- every time the function is called.&lt;br /&gt;
	--]]&lt;br /&gt;
	local tidyVal = options.valueFunc&lt;br /&gt;
	if tidyVal then&lt;br /&gt;
		if type(tidyVal) ~= 'function' then&lt;br /&gt;
			error(&lt;br /&gt;
				&amp;quot;bad value assigned to option 'valueFunc'&amp;quot;&lt;br /&gt;
					.. '(function expected, got '&lt;br /&gt;
					.. type(tidyVal)&lt;br /&gt;
					.. ')',&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif options.trim ~= false then&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValDefault&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValTrimOnly&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValRemoveBlanksOnly&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValNoChange&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up the args, metaArgs and nilArgs tables. args will be the one&lt;br /&gt;
	-- accessed from functions, and metaArgs will hold the actual arguments. Nil&lt;br /&gt;
	-- arguments are memoized in nilArgs, and the metatable connects all of them&lt;br /&gt;
	-- together.&lt;br /&gt;
	--]]&lt;br /&gt;
	local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}&lt;br /&gt;
	setmetatable(args, metatable)&lt;br /&gt;
&lt;br /&gt;
	local function mergeArgs(tables)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Accepts multiple tables as input and merges their keys and values&lt;br /&gt;
		-- into one table. If a value is already present it is not overwritten;&lt;br /&gt;
		-- tables listed earlier have precedence. We are also memoizing nil&lt;br /&gt;
		-- values, which can be overwritten if they are 's' (soft).&lt;br /&gt;
		--]]&lt;br /&gt;
		for _, t in ipairs(tables) do&lt;br /&gt;
			for key, val in pairs(t) do&lt;br /&gt;
				if metaArgs[key] == nil and nilArgs[key] ~= 'h' then&lt;br /&gt;
					local tidiedVal = tidyVal(key, val)&lt;br /&gt;
					if tidiedVal == nil then&lt;br /&gt;
						nilArgs[key] = 's'&lt;br /&gt;
					else&lt;br /&gt;
						metaArgs[key] = tidiedVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Define metatable behaviour. Arguments are memoized in the metaArgs table,&lt;br /&gt;
	-- and are only fetched from the argument tables once. Fetching arguments&lt;br /&gt;
	-- from the argument tables is the most resource-intensive step in this&lt;br /&gt;
	-- module, so we try and avoid it where possible. For this reason, nil&lt;br /&gt;
	-- arguments are also memoized, in the nilArgs table. Also, we keep a record&lt;br /&gt;
	-- in the metatable of when pairs and ipairs have been called, so we do not&lt;br /&gt;
	-- run pairs and ipairs on the argument tables more than once. We also do&lt;br /&gt;
	-- not run ipairs on fargs and pargs if pairs has already been run, as all&lt;br /&gt;
	-- the arguments will already have been copied over.&lt;br /&gt;
	--]]&lt;br /&gt;
&lt;br /&gt;
	metatable.__index = function (t, key)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Fetches an argument when the args table is indexed. First we check&lt;br /&gt;
		-- to see if the value is memoized, and if not we try and fetch it from&lt;br /&gt;
		-- the argument tables. When we check memoization, we need to check&lt;br /&gt;
		-- metaArgs before nilArgs, as both can be non-nil at the same time.&lt;br /&gt;
		-- If the argument is not present in metaArgs, we also check whether&lt;br /&gt;
		-- pairs has been run yet. If pairs has already been run, we return nil.&lt;br /&gt;
		-- This is because all the arguments will have already been copied into&lt;br /&gt;
		-- metaArgs by the mergeArgs function, meaning that any other arguments&lt;br /&gt;
		-- must be nil.&lt;br /&gt;
		--]]&lt;br /&gt;
		if type(key) == 'string' then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		local val = metaArgs[key]&lt;br /&gt;
		if val ~= nil then&lt;br /&gt;
			return val&lt;br /&gt;
		elseif metatable.donePairs or nilArgs[key] then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		for _, argTable in ipairs(argTables) do&lt;br /&gt;
			local argTableVal = tidyVal(key, argTable[key])&lt;br /&gt;
			if argTableVal ~= nil then&lt;br /&gt;
				metaArgs[key] = argTableVal&lt;br /&gt;
				return argTableVal&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		nilArgs[key] = 'h'&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__newindex = function (t, key, val)&lt;br /&gt;
		-- This function is called when a module tries to add a new value to the&lt;br /&gt;
		-- args table, or tries to change an existing value.&lt;br /&gt;
		if type(key) == 'string' then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		if options.readOnly then&lt;br /&gt;
			error(&lt;br /&gt;
				'could not write to argument table key &amp;quot;'&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. '&amp;quot;; the table is read-only',&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif options.noOverwrite and args[key] ~= nil then&lt;br /&gt;
			error(&lt;br /&gt;
				'could not write to argument table key &amp;quot;'&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. '&amp;quot;; overwriting existing arguments is not permitted',&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif val == nil then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- If the argument is to be overwritten with nil, we need to erase&lt;br /&gt;
			-- the value in metaArgs, so that __index, __pairs and __ipairs do&lt;br /&gt;
			-- not use a previous existing value, if present; and we also need&lt;br /&gt;
			-- to memoize the nil in nilArgs, so that the value isn't looked&lt;br /&gt;
			-- up in the argument tables if it is accessed again.&lt;br /&gt;
			--]]&lt;br /&gt;
			metaArgs[key] = nil&lt;br /&gt;
			nilArgs[key] = 'h'&lt;br /&gt;
		else&lt;br /&gt;
			metaArgs[key] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function translatenext(invariant)&lt;br /&gt;
		local k, v = next(invariant.t, invariant.k)&lt;br /&gt;
		invariant.k = k&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			return nil&lt;br /&gt;
		elseif type(k) ~= 'string' or not options.backtranslate then&lt;br /&gt;
			return k, v&lt;br /&gt;
		else&lt;br /&gt;
			local backtranslate = options.backtranslate[k]&lt;br /&gt;
			if backtranslate == nil then&lt;br /&gt;
				-- Skip this one. This is a tail call, so this won't cause stack overflow&lt;br /&gt;
				return translatenext(invariant)&lt;br /&gt;
			else&lt;br /&gt;
				return backtranslate, v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__pairs = function ()&lt;br /&gt;
		-- Called when pairs is run on the args table.&lt;br /&gt;
		if not metatable.donePairs then&lt;br /&gt;
			mergeArgs(argTables)&lt;br /&gt;
			metatable.donePairs = true&lt;br /&gt;
		end&lt;br /&gt;
		return translatenext, { t = metaArgs }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function inext(t, i)&lt;br /&gt;
		-- This uses our __index metamethod&lt;br /&gt;
		local v = t[i + 1]&lt;br /&gt;
		if v ~= nil then&lt;br /&gt;
			return i + 1, v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__ipairs = function (t)&lt;br /&gt;
		-- Called when ipairs is run on the args table.&lt;br /&gt;
		return inext, t, 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return arguments&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A9%D7%9D_%D7%94%D7%93%D7%A3_%D7%91%D7%9C%D7%99_%D7%94%D7%A1%D7%95%D7%92%D7%A8%D7%99%D7%99%D7%9D&amp;diff=15916</id>
		<title>תבנית:שם הדף בלי הסוגריים</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A9%D7%9D_%D7%94%D7%93%D7%A3_%D7%91%D7%9C%D7%99_%D7%94%D7%A1%D7%95%D7%92%D7%A8%D7%99%D7%99%D7%9D&amp;diff=15916"/>
		<updated>2020-11-07T17:47:31Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{safesubst:בלי הסוגריים|{{safesubst:שם הדף}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
התבנית מחזירה את שם הדף הנוכחי. אם בשם הדף יש סוגריים (בגלל ריבוי פירושים למילה), יוחזר שם הדף ללא הסוגריים.&lt;br /&gt;
&lt;br /&gt;
דוגמאות:&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{שם הדף בלי הסוגריים}}&amp;lt;/nowiki&amp;gt; --&amp;gt; {{שם הדף בלי הסוגריים}}&lt;br /&gt;
*בערך [[מיכל בירן (חברת הכנסת)]]: &amp;lt;nowiki&amp;gt;{{שם הדף בלי הסוגריים}}&amp;lt;/nowiki&amp;gt; --&amp;gt; מיכל בירן&lt;br /&gt;
&lt;br /&gt;
[[קטגוריה:תבניות לפתרון בעיות טכניות בוויקיפדיה]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A4%D7%A2%D7%A0%D7%95%D7%97&amp;diff=15912</id>
		<title>תבנית:פענוח</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A4%D7%A2%D7%A0%D7%95%D7%97&amp;diff=15912"/>
		<updated>2020-11-07T17:47:30Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:פרמטרים|decode|{{{1|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
תבנית זאת מפענחת קוד HTML. &lt;br /&gt;
&lt;br /&gt;
{{אהה|https://he.wikipedia.org/wiki/%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A4%D7%A2%D7%A0%D7%95%D7%97}}&lt;br /&gt;
[[קטגוריה:תבניות לפתרון בעיות טכניות בוויקיפדיה]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A4%D7%A0%D7%99%D7%94_%D7%9C%D7%A2%D7%A8%D7%9A_%D7%9E%D7%95%D7%A8%D7%97%D7%91/%D7%A7%D7%95%D7%93&amp;diff=15906</id>
		<title>תבנית:הפניה לערך מורחב/קוד</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A4%D7%A0%D7%99%D7%94_%D7%9C%D7%A2%D7%A8%D7%9A_%D7%9E%D7%95%D7%A8%D7%97%D7%91/%D7%A7%D7%95%D7%93&amp;diff=15906"/>
		<updated>2020-11-07T17:47:30Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:[[קובץ:Postscript-viewer-shaded.png|25px|קישור=]] {{{2|ערך מורחב}}} – '''{{{1}}}'''&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
ראו [[תבנית:הפניה לערך מורחב]] להוראות שימוש.&lt;br /&gt;
[[קטגוריה:תבניות עזר לתבניות]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A4%D7%A0%D7%99%D7%94_%D7%9C%D7%A2%D7%A8%D7%9A_%D7%9E%D7%95%D7%A8%D7%97%D7%91&amp;diff=15904</id>
		<title>תבנית:הפניה לערך מורחב</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A4%D7%A0%D7%99%D7%94_%D7%9C%D7%A2%D7%A8%D7%9A_%D7%9E%D7%95%D7%A8%D7%97%D7%91&amp;diff=15904"/>
		<updated>2020-11-07T17:47:30Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{ניהול פרמטרים/תוכן}}&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#invoke:ParamValidator|validateparams|module_options=יחידה:PV-options}}&amp;lt;/includeonly&amp;gt;&amp;lt;includeonly&amp;gt;{{#תנאי:{{{ערכים|}}}|{{תבנית:הפניה לערך מורחב/קוד|{{{ערכים|}}}|ערכים מורחבים}}|{{#תנאי:{{{ערך|}}}|{{תבנית:הפניה לערך מורחב/קוד|{{{ערך|}}}}}|{{#תנאי:{{{1|}}}|{{#קיים:{{{1}}}|{{תבנית:הפניה לערך מורחב/קוד|[[{{{1|}}}]]}}|{{#שווה:{{{להשלים|}}}|כן|{{להשלים}}|{{קטגוריה בתבנית|[[קטגוריה:דפים עם תבנית הפניה לערך מורחב ותבנית להשלים]]|ללא קטגוריה={{#שווה:{{מרחב השם}}||{{{ללא קטגוריה|}}}|{{{ללא קטגוריה|כן}}}}}}}}}}}|&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;לא ציינת את שם הערך המורחב. מידע נוסף ניתן למצוא [[תבנית:הפניה לערך מורחב|כאן]].&amp;lt;/span&amp;gt;}}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
תבנית זו היא תבנית הפניה שנועדה להפנות את הקוראים לערכים מורחבים, כאשר בערך הראשי יש רק תקציר של הערך המורחב. תבנית זו לא תופיע בערך כאשר הערך המורחב לא נכתב עדיין. ניתן למרות זאת לבקש את כתיבתו של הערך המורחב בשיטה [[#להשלים|הזו]].&lt;br /&gt;
&lt;br /&gt;
==אופן השימוש==&lt;br /&gt;
ישנן שתי דרכי שימוש - הפשוטה והפשוטה יותר. להלן הפשוטה יותר:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{הפניה לערך מורחב|שם-הערך}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
כאשר '''שם-הערך''' מוחלף בשם הערך המורחב, '''ללא שימוש''' ב-&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; ו-&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. בדרך כלל יש להשתמש בצורת שימוש זו.&lt;br /&gt;
&lt;br /&gt;
הדרך הפשוטה היא:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{הפניה לערך מורחב|שם הערך}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
כאשר '''שם הערך''' מוחלף בשם הערך המורחב, והוא למעשה קישור, כגון &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[שם הערך]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; או &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[שם הערך|כותרת]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; או &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[שם הערך#פסקה|כותרת]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; '''כולל שימוש''' בסוגריים מרובעים.&lt;br /&gt;
&lt;br /&gt;
ניתן גם להפנות למספר ערכים באמצעות הפרמטר &amp;quot;ערכים&amp;quot;:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{הפניה לערך מורחב|ערכים=[[שם ערך 1]], [[שם ערך 2]]}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
כאשר '''שמות הערכים''' מוחלף בשמות הערכים בתוך קישורים, מופרדים בפסיקים.&lt;br /&gt;
&lt;br /&gt;
==דוגמאות==&lt;br /&gt;
;קוד להדגמת השיטה הפשוטה יותר:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{הפניה לערך מורחב|היסטוריה של מדינת ישראל}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
תוצאה:&lt;br /&gt;
{{הפניה לערך מורחב|היסטוריה של מדינת ישראל}}&lt;br /&gt;
&lt;br /&gt;
;קוד להדגמת השיטה הפשוטה:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{הפניה לערך מורחב|ערך=[[היסטוריה של מדינת ישראל|היסטוריה]]}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
תוצאה:&lt;br /&gt;
{{הפניה לערך מורחב|ערך=[[היסטוריה של מדינת ישראל|היסטוריה]]}}&lt;br /&gt;
&lt;br /&gt;
;דוגמה להפניה למספר ערכים:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{הפניה לערך מורחב|ערכים=[[היסטוריה של מדינת ישראל|היסטוריה]], [[גאוגרפיה של ארץ ישראל|גאוגרפיה]]}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
תוצאה:&lt;br /&gt;
{{הפניה לערך מורחב|ערכים=[[היסטוריה של מדינת ישראל|היסטוריה]], [[גאוגרפיה של ארץ ישראל|גאוגרפיה]]}}&lt;br /&gt;
&lt;br /&gt;
;דוגמה להפניה לפסקה בתוך ערך:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{הפניה לערך מורחב|ערך=[[היסטוריה של נבחרת ישראל בכדורגל#מוקדמות מונדיאל 1950|נבחרת ישראל במוקדמות מונדיאל 1950]]}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
תוצאה:&lt;br /&gt;
{{הפניה לערך מורחב|ערך=[[היסטוריה של נבחרת ישראל בכדורגל#מוקדמות מונדיאל 1950|נבחרת ישראל במוקדמות מונדיאל 1950]]}}&lt;br /&gt;
&lt;br /&gt;
===להשלים===&lt;br /&gt;
הפרמטר '''להשלים=כן''' יגרום להצגת התבנית {{תב|להשלים}} אם הערך המורחב עדיין לא נכתב. לפרמטר אין משמעות אם הערך המורחב קיים.&lt;br /&gt;
&lt;br /&gt;
;דוגמה:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{הפניה לערך מורחב|היסטוריה של רעננה|להשלים=כן}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
תוצאה:&lt;br /&gt;
{{הפניה לערך מורחב|היסטוריה של רעננה|להשלים=כן}}&lt;br /&gt;
&lt;br /&gt;
[[קטגוריה:תבניות הנחיה|ערך מורחב, הפניה ל]]&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;הוספת קישור לערך או ערכים מורחבים בנושא&amp;quot;,&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;ערך&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;שם הערך המורחב שאליו רוצים לקשר&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;ערכים&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;קישורים לרשימת ערכים מורחבים, מופרדים בפסיקים&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;להשלים&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ללא קטגוריה&amp;quot;: {}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;inline&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A2%D7%A8%D7%94/%D7%A7%D7%95%D7%93&amp;diff=15902</id>
		<title>תבנית:הערה/קוד</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A2%D7%A8%D7%94/%D7%A7%D7%95%D7%93&amp;diff=15902"/>
		<updated>2020-11-07T17:47:30Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:הערה|הערה}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;[[קטגוריה:תבניות עריכה|הערה]]{{ללא בוט}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A2%D7%A8%D7%94&amp;diff=15900</id>
		<title>תבנית:הערה</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A2%D7%A8%D7%94&amp;diff=15900"/>
		<updated>2020-11-07T17:47:30Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:פרמטרים|equal|קוד=הערה/קוד|1|שם|קבוצה|שמאל|ימין|כיוון}}{{#תנאי: {{{שמאל|}}}{{{ימין|}}}|[[קטגוריה:תבנית הערה עם פרמטר ישן]]}}{{#תנאי: {{{שמאל|}}}|[[קטגוריה:תבנית הערה עם פרמטר שמאל]]}}{{#תנאי: {{{ימין|}}}|[[קטגוריה:תבנית הערה עם פרמטר ימין]]}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{תיעוד}}[[קטגוריה:תבניות עריכה|הערה]] [[קטגוריה:תבניות ביבליוגרפיות|הערה]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;תוכן ההערה&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;תוכן הערת השוליים&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;שם&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;שם הערה. מאפשר שימוש חוזר באותה הערה.&amp;quot;,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;name&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;קבוצה&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;group&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;קבוצת הערות שוליים. מקביל למאפיין group בתג &amp;lt;ref&amp;gt;.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;שמאל&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot; הערך כן משמש ליישור הערה לצד שמאל כאשר רוב הערות מימין&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;ימין&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot; הערך כן משמש ליישור הערה לימין כאשר רוב הערות משמאל&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
 		&amp;quot;כיוון&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot; הערך ימין משמש ליישור הערה לימין כאשר רוב הערות משמאל, והערך שמאל משמש ליישור ההערה לשמאל כאשר רוב ההערות לימין&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;תבנית להוספת הערת שוליים&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;inline&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%95%D7%93%D7%A2%D7%AA_%D7%A4%D7%A8%D7%9E%D7%98%D7%A8_%D7%9C%D7%90_%D7%9E%D7%95%D7%9C%D7%90&amp;diff=15898</id>
		<title>תבנית:הודעת פרמטר לא מולא</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%95%D7%93%D7%A2%D7%AA_%D7%A4%D7%A8%D7%9E%D7%98%D7%A8_%D7%9C%D7%90_%D7%9E%D7%95%D7%9C%D7%90&amp;diff=15898"/>
		<updated>2020-11-07T17:47:30Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#תנאי:{{מרחב השם}}{{{1|}}}||{{רווח קשיח|3}}&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;scribunto-error&amp;quot; id=&amp;quot;mw-scribunto-error-0&amp;quot;&amp;gt;המזהה לא מולא ולא נמצא בוויקינתונים, נא למלא את הפרמטר.[[קטגוריה:ערכים ללא מזהה בוויקינתונים]]&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
התבנית מדווחת על פרמטרים לא תקינים שאין להם מזהה בוויקינתונים. היא מאכלסת אוטומטית את [[:קטגוריה:ערכים ללא מזהה בוויקינתונים]].&lt;br /&gt;
&lt;br /&gt;
[[קטגוריה:תבניות עזר לתבניות]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%91%D7%9C%D7%99_%D7%94%D7%A1%D7%95%D7%92%D7%A8%D7%99%D7%99%D7%9D&amp;diff=15894</id>
		<title>תבנית:בלי הסוגריים</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%91%D7%9C%D7%99_%D7%94%D7%A1%D7%95%D7%92%D7%A8%D7%99%D7%99%D7%9D&amp;diff=15894"/>
		<updated>2020-11-07T17:47:29Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{safesubst:#invoke:סוגריים|remove_parents|string={{{1}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
קלט: מחרוזת שאולי כוללת סוגריים.&lt;br /&gt;
&lt;br /&gt;
פלט: המחרוזת ללא הסוגריים והתוכן שבהם.&lt;br /&gt;
&lt;br /&gt;
המימוש נעשה דרך יחידה ה-lua הבאה: [[יחידה:סוגריים]].&lt;br /&gt;
&lt;br /&gt;
התבנית אמורה להיות שימושית עבור מציאת הערך משם הדף כאשר יש סוגריים.&lt;br /&gt;
&lt;br /&gt;
==אופן השימוש==&lt;br /&gt;
*עבור &amp;lt;nowiki&amp;gt;{{בלי הסוגריים|שלומי}}&amp;lt;/nowiki&amp;gt; יוצג: {{בלי הסוגריים|שלומי}}&lt;br /&gt;
*עבור &amp;lt;nowiki&amp;gt;{{בלי הסוגריים|שלומי (עיר)}}&amp;lt;/nowiki&amp;gt; יוצג: {{בלי הסוגריים|שלומי (עיר)}}&lt;br /&gt;
*עבור &amp;lt;nowiki&amp;gt;{{בלי הסוגריים|שלומי (סרט, 1993)}}&amp;lt;/nowiki&amp;gt; יוצג: {{בלי הסוגריים|שלומי (סרט, 1993)}}&lt;br /&gt;
&lt;br /&gt;
[[קטגוריה:תבניות לפתרון בעיות טכניות בויקיסוגיה]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:Replace&amp;diff=15892</id>
		<title>תבנית:Replace</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:Replace&amp;diff=15892"/>
		<updated>2020-11-07T17:47:29Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{safesubst:#invoke:String|replace|source={{{1}}}|{{{2}}}|{{{3}}}|count={{{count|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
זו פונקציה שמקבלת כקלט מחרוזת, ומחליפה בה תת-מחרוזת נתונה בתת-מחרוזת אחרת.&lt;br /&gt;
&lt;br /&gt;
ניתן לקרוא לפונקציה גם בשם העברי &amp;quot;החלף&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==פרמטרים==&lt;br /&gt;
* פרמטר 1: המחרוזת הנתונה&lt;br /&gt;
* פרמטר 2: תת-מחרוזת להחלפה&lt;br /&gt;
* פרמטר 3: תת-מחרוזת מחליפה&lt;br /&gt;
&lt;br /&gt;
==דוגמאות==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! קוד ויקי&lt;br /&gt;
! תוצאה&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{Replace|פיל חתול כלב|חתול|דג}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{Replace|פיל חתול כלב|חתול|דג}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{Replace|פיל חתול כלב|חתול|}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{Replace|פיל חתול כלב|חתול|}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{החלף|בית ספר| |-}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{החלף|בית ספר| |-}}&lt;br /&gt;
|}&lt;br /&gt;
[[קטגוריה:תבניות לעיבוד מחרוזות]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%9B&amp;diff=15890</id>
		<title>תבנית:כ</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%9B&amp;diff=15890"/>
		<updated>2020-11-07T17:47:29Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{safesubst:#תנאי:{{{ימינה|}}}|&amp;amp;lrm;|&amp;amp;rlm;}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{תיעוד}}&lt;br /&gt;
{{ללא בוט|633}}&lt;br /&gt;
[[קטגוריה:תבניות לפתרון בעיות טכניות בוויקיפדיה]]&lt;br /&gt;
[[קטגוריה:תבניות כיווניות]]&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;ימינה&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;האם להוסיף תו lrm?&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;כן&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;line&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;התבנית הזאת מוסיפה [[תו כיווניות]]. ברירת המחדל היא להוסיף תו כיווניות מימין לשמאל (rlm). שימוש בפרמטר \&amp;quot;ימינה\&amp;quot; מוסיף את תו משמאל לימין (lrm).&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadget-Checkty.css&amp;diff=15888</id>
		<title>מדיה ויקי:Gadget-Checkty.css</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadget-Checkty.css&amp;diff=15888"/>
		<updated>2020-11-07T17:47:29Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.checktyMsg {&lt;br /&gt;
    border-top: 1px solid #77a;&lt;br /&gt;
    padding: 1px 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.checktyMsg:nth-child(2n-1) {&lt;br /&gt;
    background: #DFE0FF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#checktyResults {&lt;br /&gt;
    background: #D9E0FF;&lt;br /&gt;
    margin-top: 5px;&lt;br /&gt;
    border:1px double #999;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.checktyResultsTitle {&lt;br /&gt;
    background: #D0D0FF;&lt;br /&gt;
    border-bottom: 2px solid #000;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 2px 8px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadget-Checkty.js&amp;diff=15886</id>
		<title>מדיה ויקי:Gadget-Checkty.js</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadget-Checkty.js&amp;diff=15886"/>
		<updated>2020-11-07T17:47:29Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// הוספת כפתור &amp;quot;בדיקה&amp;quot; שמבצע החלפות נפוצות של בוט ההחלפות וכן מתריע על בעיות סגנון ועיצוב שונות&lt;br /&gt;
// נכתב על ידי [[משתמש:ערן]] ו[[משתמש:קיפודנחש]]&lt;br /&gt;
// לעזרה ראו [[mediawiki:Gadget-Checkty.js/הוראות]]&lt;br /&gt;
mw.messages.set({&lt;br /&gt;
	'checkty-large-element': 'בערך קיים אלמנט גדול, רצוי להקטין כדי שיתאים לרזולוציות נמוכות',&lt;br /&gt;
	'checkty-long-list': 'רשימה ארוכה - נראה כי בערך רשימה של מעל 20 פריטים. כדאי לשקול לפצלה לשני טורים באמצעות &amp;lt;a href=&amp;quot;' + (new mw.Title('תבנית:טורים')).getUrl() + '&amp;quot;&amp;gt;תבנית:טורים&amp;lt;/a&amp;gt;',&lt;br /&gt;
	'checkty-long-gallery': 'גלריה ארוכה - הערך מכיל גלריה ארוכה. מומלץ לשקול צמצום שלה או העברה לוויקישיתוף.',&lt;br /&gt;
	'checkty-waiting-disambig-query': 'ממתין לרשימת פירושונים מהשרת...',&lt;br /&gt;
	'checkty-warnings-title': 'הערות לבדיקה:',&lt;br /&gt;
	'checkty-no-replacements': 'הדף מכיל תבנית &amp;quot;ללא בוט&amp;quot; ולכן לא יבוצעו החלפות',&lt;br /&gt;
	'checkty-replace-summary': '[[וק:רה|החלפות]] ($1)',&lt;br /&gt;
	'checkty-disambig-suffix': ' (פירושונים)',&lt;br /&gt;
	'checkty-disambig-no-links': 'קישורים לפירושונים - לא נמצאו',&lt;br /&gt;
	'checkty-disambig-success': 'קישורים לפירושונים - הבדיקה הסתיימה בהצלחה.',&lt;br /&gt;
	'checkty-disambig-links-title': 'הגרסה השמורה האחרונה של הדף מקשרת לדפי פירושונים. אנא תקנו את הקישורים לדפים הבאים: ',&lt;br /&gt;
	'checkty-page-doesnt-exist': ' (הדף אינו קיים)',&lt;br /&gt;
	'checkty-dismabig-dialog-title': 'תיקון פירושונים',&lt;br /&gt;
	'checkty-remove-link': 'הסרת קישור',&lt;br /&gt;
	'checkty-disambig-meaning': 'מה הכוונה ב &amp;quot;$1&amp;quot; במשפט: ',&lt;br /&gt;
	'checkty-dismabig-fix-summary': 'תיקון קישור לפירושונים',&lt;br /&gt;
	'checkty-search': 'חיפוש',&lt;br /&gt;
	'checkty-fix-numberRangeDash': 'תיקון קווים מפרידים',&lt;br /&gt;
	'checkty-missing-commons-link': 'בערך זה חסר קישור לוויקישיתוף. ניתן להוסיף קישור באמצעות בחירת המקום הנכון להוספתו בערך ולחיצה על הקישור הבא. ',&lt;br /&gt;
	'checkty-fairuse-img-replace-template': 'תמונה להחלפה',&lt;br /&gt;
	'checkty-set-label': 'הזנת תווית עברית ל-$1',&lt;br /&gt;
	'checkty-translate-saved': 'התרגום נשמר!',&lt;br /&gt;
//	'checkty-empty-parameters': 'פרמטרים ריקים - דף זה מכיל תבניות עם פרמטרים ריקים. אם הם אינם רלוונטיים ניתן להסירם. ',&lt;br /&gt;
//	'checkty-empty-parameters-summary': 'ניקוי קוד',&lt;br /&gt;
	'checkty-main-articles-merge-summary': 'מיזוג הפניות לערכים מורחבים',&lt;br /&gt;
	'checkty-please-position-caret' : 'אנא מקמו את הסמן במקום בו יש להוסיף ',&lt;br /&gt;
	'checkty-ref-dir-fix' : 'תיקון כיווניות להערת שוליים',&lt;br /&gt;
	'checkty-naked-link-found' : 'נמצא קישור חיצוני ערום: $1',&lt;br /&gt;
	'checkty-naked-link-fix' : 'תיקון',&lt;br /&gt;
	'checkty-broken-link': 'חשש לקישור שבור: ',&lt;br /&gt;
	'checkty-naked-link-fix-fail': 'שגיאה בתיקון קישור עירום',&lt;br /&gt;
	'checkty-naked-link-fixed': 'הקישור $1 הוחלף בתבנית. יש לבדוק את תקינות התוצאה והאם יש לעטוף בתבנית הערה&amp;lt;br&amp;gt; $2',&lt;br /&gt;
	'checkty-external-links-many': 'קישורים חיצוניים - פרק הקישורים החיצוניים מכיל $1 קישורים. מומלץ להעביר קישורים העוסקים בנושאים ספציפיים להערות שוליים, ולהסיר קישורים שלא מוסיפים. (ראו עוד ב&amp;lt;a href=&amp;quot;' + mw.util.getUrl('ויקיפדיה:קישורים חיצוניים') + '&amp;quot;&amp;gt;ויקיפדיה:קישורים חיצוניים&amp;lt;/a&amp;gt;)',&lt;br /&gt;
	'checkty-external-links-diversity': 'קישורים חיצוניים - פרק הקישורים החיצוניים מכיל מספר קישורים למקורות זהים: $1. כאשר הקישור עוסק באספקט צר של הערך מומלץ להפכו להערת שוליים. (ראו עוד ב&amp;lt;a href=&amp;quot;' + mw.util.getUrl('ויקיפדיה:קישורים חיצוניים') + '&amp;quot;&amp;gt;ויקיפדיה:קישורים חיצוניים&amp;lt;/a&amp;gt;)',&lt;br /&gt;
	'checkty-nonsense-edit': 'עריכה זו כוללת שינויים אוטומטיים בלבד. האם ברצונך לשמור למרות זאת?',&lt;br /&gt;
	'checkty-category-sort': 'ניתן למיין את הקטגוריות בדף על פי סדר אלפביתי ',&lt;br /&gt;
	'checkty-defaultsort-suggest': 'בערך לא מוגדר מיון רגיל. בערכים העוסקים באישים נהוג למיין לפי שם משפחה. ',&lt;br /&gt;
	'checkty-language-check': 'בערך זה מופיע הביטוי &amp;quot;$1&amp;quot;. '&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var chectTyTool = {&lt;br /&gt;
	origText: null,&lt;br /&gt;
	textbox: null,&lt;br /&gt;
	skipCheckty: false,&lt;br /&gt;
	isSection: mw.util.getParamValue('section'),&lt;br /&gt;
	skip_dict: {},&lt;br /&gt;
	formatReplacesConfigSafe:  [&lt;br /&gt;
		{&lt;br /&gt;
		from: /\[\[(File|Image|תמונה):/ig,&lt;br /&gt;
		to: '[[קובץ:'&lt;br /&gt;
	}, {&lt;br /&gt;
		from: /\|thumb(nail)?(?=[\|\]])/ig,&lt;br /&gt;
		to: '|ממוזער'&lt;br /&gt;
	}, { //remove unseen character&lt;br /&gt;
		from: new RegExp('\u200e|\u200f|\u202d|\u202e|\u202c|\u202a|\u202b', 'g'), // lrm/rlm/lro/rlo/popdf invisible characters/lre/rle&lt;br /&gt;
		to: &amp;quot;&amp;quot;,&lt;br /&gt;
		comment: 'הסרת תווים בלתי נראים'&lt;br /&gt;
	}, {&lt;br /&gt;
		from: / +$/mg,&lt;br /&gt;
		to: ''&lt;br /&gt;
	}, { // remove accidental nowiki and simplify code&lt;br /&gt;
		from: /\[\[([^|\[\]]+)([^|\[\]]+?)\|\1\]\](?:&amp;lt;nowiki\/&amp;gt;)?\2/g,&lt;br /&gt;
		to: '[[$1$2]]',&lt;br /&gt;
		comment: 'פישוט קישור'&lt;br /&gt;
	}, { // trim begining from redundant spaces&lt;br /&gt;
		from: /^\s+/g,&lt;br /&gt;
		to: '',&lt;br /&gt;
		comment: 'הסרת רווחים מיותרים'&lt;br /&gt;
	}],&lt;br /&gt;
	formatReplacesConfig: [{&lt;br /&gt;
		from: /\[\[(.*?)\|\1([a-zא-ת]*)\]\]/g,&lt;br /&gt;
		to: '[[$1]]$2'&lt;br /&gt;
	}, {&lt;br /&gt;
		from: /\[\[(.+?)\|([במל])\1([א-ת]*)\]\]/g,&lt;br /&gt;
		to: &amp;quot;$2[[$1]]$3&amp;quot;&lt;br /&gt;
	}, { // proper spacing around , and . &lt;br /&gt;
		from: /([א-ת]\]?\]?) ?([,\.]) ?(?=[א-ת]?\[?\[?[א-ת]{3})/g,&lt;br /&gt;
		to: &amp;quot;$1$2 &amp;quot;,&lt;br /&gt;
		skippable: true&lt;br /&gt;
	}, {&lt;br /&gt;
		from: /([א-ת])\( ?([א-ת])/g,&lt;br /&gt;
		to: &amp;quot;$1 ($2&amp;quot;&lt;br /&gt;
	}, {&lt;br /&gt;
		from: /(\n\n)\n+/g,&lt;br /&gt;
		to: &amp;quot;$1&amp;quot;&lt;br /&gt;
	}, {&lt;br /&gt;
		from: /== ? ?\n\n==/g,&lt;br /&gt;
		to: &amp;quot;==\n==&amp;quot;&lt;br /&gt;
	}, {&lt;br /&gt;
		from: /^ ? ? \n/gm,&lt;br /&gt;
		to: &amp;quot;\n&amp;quot;&lt;br /&gt;
	}, {&lt;br /&gt;
		from: /(?!.{2}\|)[ \t\xA0]{2,}/g,&lt;br /&gt;
		to: ' '&lt;br /&gt;
	}, {&lt;br /&gt;
		from: /\n\n\*/g,&lt;br /&gt;
		to: '\n*'&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		from: /([בלמכ])- ((?:\[\[)?[0-9])/g,&lt;br /&gt;
		to: '$1־$2'&lt;br /&gt;
	},&lt;br /&gt;
	{ // move , suffix outside links&lt;br /&gt;
		from: /,\]\]/g,&lt;br /&gt;
		to: ']],'&lt;br /&gt;
	}],&lt;br /&gt;
	regexes: [],&lt;br /&gt;
	ignoreRegexes: [],&lt;br /&gt;
	run: function () {&lt;br /&gt;
		if (this != chectTyTool) {&lt;br /&gt;
			chectTyTool.run();&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		var t = $('#wpTextbox1');&lt;br /&gt;
		this.textbox = t.length ? t[0] : null;&lt;br /&gt;
		if (!this.textbox || this.textbox.value.length === 0) return;&lt;br /&gt;
		// indication that skippable replacements should be ignored in the page&lt;br /&gt;
		this.skipCheckty = this.textbox.value.match(/{{ללא[_ ]בוט\|\s*צ'קטי\s*}}/g);&lt;br /&gt;
		if (!($('#checktyResults').length)) $('.editButtons').after('&amp;lt;div id=&amp;quot;checktyResults&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;checktyResultsTitle&amp;quot;&amp;gt;'+mw.msg( 'checkty-warnings-title' )+'&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;');&lt;br /&gt;
		//first call to remote functions than to local&lt;br /&gt;
		if ( ( chectTyTool.textbox.value === chectTyTool.origText ) &amp;amp;&amp;amp; ( mw.config.get('wgAction') === 'edit') ) &lt;br /&gt;
			this.onSaveProtection();&lt;br /&gt;
		&lt;br /&gt;
		this.formatChecks();&lt;br /&gt;
		this.linkChecks();&lt;br /&gt;
		if(!this.isSection) {&lt;br /&gt;
			this.articleOrgChecks();&lt;br /&gt;
			this.checkImages();&lt;br /&gt;
		}&lt;br /&gt;
		this.languageCheck();&lt;br /&gt;
		this.expandWikidata();&lt;br /&gt;
	},&lt;br /&gt;
	formatChecks: function() { &lt;br /&gt;
		if (!this.isSection)&lt;br /&gt;
			this.build_regexes();&lt;br /&gt;
		this.formatReplace();&lt;br /&gt;
		this.decodeExternalLinks();&lt;br /&gt;
&lt;br /&gt;
		// format - semi manual&lt;br /&gt;
		this.mainArticlesMerge();&lt;br /&gt;
		this.numberRangeDash(false);&lt;br /&gt;
	},&lt;br /&gt;
	decodeExternalLinks: function() {&lt;br /&gt;
		var t = this.textbox.value, newTxt = t, &lt;br /&gt;
		externalLinkRgx = /http[^ \]|]+/g,&lt;br /&gt;
		decodeRgx = /(?:%[0-9a-z]{2}){2,}/ig,&lt;br /&gt;
		m, mm, newLink;&lt;br /&gt;
		while ( m = externalLinkRgx.exec(t) ) {&lt;br /&gt;
			newLink = m[0];&lt;br /&gt;
			while (mm = decodeRgx.exec(m[0])) {&lt;br /&gt;
				try {&lt;br /&gt;
					// decode URL except special chars&lt;br /&gt;
					var niceLink = decodeURI(mm[0]).replace(/[ |&amp;quot;\n\[\]{}&amp;lt;&amp;gt;]/g, encodeURI);&lt;br /&gt;
					if (niceLink == niceLink.normalize()) newLink = newLink.replace(mm[0], niceLink);&lt;br /&gt;
				} catch(ex) {&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			newTxt = newTxt.replace(m[0], newLink);&lt;br /&gt;
		}&lt;br /&gt;
		if (newTxt === t) return;&lt;br /&gt;
		this.updateText(newTxt);&lt;br /&gt;
		chectTyTool.addSummary('קידוד קישורים');&lt;br /&gt;
	},&lt;br /&gt;
	articleOrgChecks: function() {&lt;br /&gt;
		this.titleOrderCheck();&lt;br /&gt;
		this.checkRefs();&lt;br /&gt;
		this.checkGallery();&lt;br /&gt;
		this.defaultSortSuggest();&lt;br /&gt;
		this.categoryOrder();&lt;br /&gt;
	},&lt;br /&gt;
	defaultSortSuggest: function(execute) {&lt;br /&gt;
		var txt = this.textbox.value,&lt;br /&gt;
		isPerson = false,&lt;br /&gt;
		firstFamilyRgx = /^([^ ]+) ([^ ]+)$/,&lt;br /&gt;
		name, defaultSortMsg;&lt;br /&gt;
		if (/\{\{מיון רגיל:/.exec(txt)) return; // skip if already exists&lt;br /&gt;
		if (!firstFamilyRgx.exec(mw.config.get('wgTitle'))) return; // skip if can't suggest&lt;br /&gt;
&lt;br /&gt;
		isPerson = /== ?(ביוגרפיה|קורות חיים|חיי[וה]) ?==/.exec(txt); // heuristic to identify biographic articles&lt;br /&gt;
		if (!isPerson) return; // skip for non biographic pages&lt;br /&gt;
&lt;br /&gt;
		if (!execute) {&lt;br /&gt;
			defaultSortMsg = $('&amp;lt;div&amp;gt;', { text: mw.msg('checkty-defaultsort-suggest') }).append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
				href: '#',&lt;br /&gt;
				text: 'הוספת מיון רגיל',&lt;br /&gt;
			}).click(function(){ chectTyTool.defaultSortSuggest(true); return false;}));&lt;br /&gt;
			this.writeMsg(defaultSortMsg, 'info');&lt;br /&gt;
		} else {&lt;br /&gt;
			name = firstFamilyRgx.exec(mw.config.get('wgTitle'));&lt;br /&gt;
			txt = txt.replace('[[קטגוריה', '{{מיון רגיל:' + name[2] + ', ' + name[1] + '}}\n[[קטגוריה');&lt;br /&gt;
			this.addSummary('מיון רגיל');&lt;br /&gt;
			this.updateText(txt);&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	categoryOrder: function(execute) {&lt;br /&gt;
		var txt = this.textbox.value,&lt;br /&gt;
		newTxt = txt,&lt;br /&gt;
		self = this;&lt;br /&gt;
		categoryRE = /(\[\[קטגוריה:.+\]\])(?:$|\n)/g,&lt;br /&gt;
		cats = [], m = null, oldCats = null, categorySortMsg = null;&lt;br /&gt;
		while(m=categoryRE.exec(txt)) {&lt;br /&gt;
			cats.push(m[1]);&lt;br /&gt;
			newTxt = newTxt.replace(m[0], '');&lt;br /&gt;
		}&lt;br /&gt;
		oldCats = JSON.stringify(cats);&lt;br /&gt;
		cats.sort(function(a,b){ &lt;br /&gt;
			if (/\|\*\]\]/.exec(a)) return -1; if (/\|\*\]\]/.exec(b)) return 1;&lt;br /&gt;
			if (/נפטרים ב-|נפטרות|שנפטרו/.exec(a)) return 1; if(/נפטרים ב-|נפטרות|שנפטרו/.exec(b)) return -1;&lt;br /&gt;
			if (/(ילידי|ילידות|שנולדו).*[0-9]/.exec(a)) return 1; if(/(ילידי|ילידות|שנולדו).*[0-9]/.exec(b)) return -1;&lt;br /&gt;
			if (/אישים במאה ה-|אישים שחיו במאה ה-|אפיפיורים במאה ה-/.exec(a)) return 1; if(/אישים במאה ה-|אישים שחיו במאה ה-|אפיפיורים במאה ה-/.exec(b)) return -1;&lt;br /&gt;
			return a&amp;gt;=b;&lt;br /&gt;
		});&lt;br /&gt;
		if (oldCats == JSON.stringify(cats)) return; // same order - nothing to do&lt;br /&gt;
		if (!execute) {&lt;br /&gt;
			categorySortMsg = $('&amp;lt;div&amp;gt;', { text: mw.msg('checkty-category-sort') }).append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
				href: '#',&lt;br /&gt;
				text: 'סידור',&lt;br /&gt;
			}).click(function(){ chectTyTool.categoryOrder(true); return false;}));&lt;br /&gt;
			this.writeMsg(categorySortMsg, 'info');&lt;br /&gt;
		} else {&lt;br /&gt;
			newTxt = newTxt.trimEnd();&lt;br /&gt;
			newTxt += '\n' + cats.join('\n');&lt;br /&gt;
			if (newTxt != txt)&lt;br /&gt;
			OO.ui.confirm( 'יש לאשר סדר הקטגוריות המוצע:' + cats.join(', ').replace(/\[\[קטגוריה:([^\[\]]+)\]\]/g, '$1') ).done( function ( confirmed ) {&lt;br /&gt;
				if ( !confirmed ) return;&lt;br /&gt;
				self.addSummary('סידור קטגוריות');&lt;br /&gt;
				self.updateText(newTxt);&lt;br /&gt;
			} );&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	linkChecks: function() {&lt;br /&gt;
		this.overlinkify();&lt;br /&gt;
		this.nakedLinks();&lt;br /&gt;
		this.checkExternalLinks();&lt;br /&gt;
		this.disambigCheck();&lt;br /&gt;
	},&lt;br /&gt;
	expandWikidata: function() {&lt;br /&gt;
		this.wikidataLabelsMissing();&lt;br /&gt;
		this.extractWikidataLabelsSuggestions();&lt;br /&gt;
		if (!this.isSection) {&lt;br /&gt;
			this.addAuthorityControl();&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	createSearchLink: function(v) {&lt;br /&gt;
		var highlightStr = this.highlightString,&lt;br /&gt;
		 searchLink = $('&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;'+mw.msg( 'checkty-search' )+'&amp;lt;/a&amp;gt;').data({'search': v}).click(function(e){ &lt;br /&gt;
			highlightStr($(this).data('search')); e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
		return searchLink;&lt;br /&gt;
	},&lt;br /&gt;
	onSaveProtection: function() {&lt;br /&gt;
		$('#wpSave').click(function(e){&lt;br /&gt;
			if (chectTyTool.textbox.value === chectTyTool.origText) {&lt;br /&gt;
				OO.ui.confirm( mw.msg('checkty-nonsense-edit') ).done( function ( confirmed ) {&lt;br /&gt;
				    if ( confirmed ) {&lt;br /&gt;
					chectTyTool.origText = '';&lt;br /&gt;
					$('#editform').submit();&lt;br /&gt;
				    } else {&lt;br /&gt;
					e.preventDefault();&lt;br /&gt;
				    }&lt;br /&gt;
				} );&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	},&lt;br /&gt;
	updateText: function( val ) {&lt;br /&gt;
		if (this.textbox.value === chectTyTool.origText) {&lt;br /&gt;
			chectTyTool.origText = val;&lt;br /&gt;
		}&lt;br /&gt;
		this.textbox.value = val;&lt;br /&gt;
	},&lt;br /&gt;
	nakedLinks: function() {&lt;br /&gt;
		var t = this.textbox.value,&lt;br /&gt;
		nakeRegex=/\[(http[^ ]+?)\]|\{\{הערה *\| *(?:1 *= *)?(https?:\/\/[^ }|]+)\}\}/g,&lt;br /&gt;
		nakeErrors=[], m, self= this;&lt;br /&gt;
		while (m = nakeRegex.exec(t)) {&lt;br /&gt;
			var nakedUrl = m[1] || m[2],&lt;br /&gt;
			fixNakedLink = $( '&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;' + mw.msg( 'checkty-naked-link-fix' )+'&amp;lt;/a&amp;gt;' ).data( { 'search': nakedUrl, 'inRef': m[2] }).click( function ( e ) { &lt;br /&gt;
				var searchUrl = $(this).data( 'search' ),&lt;br /&gt;
				inRef = $(this).data('inRef'),&lt;br /&gt;
				citoidTemplatesPromise = new mw.Api().loadMessagesIfMissing( [ 'citoid-template-type-map.json' ] );&lt;br /&gt;
		        // Common case: pasting a URI into this field. Citoid expects&lt;br /&gt;
		        // minimally encoded input, so do some speculative decoding here to&lt;br /&gt;
		        // avoid 404 fetches. T146539&lt;br /&gt;
				searchUrl = decodeURIComponent(searchUrl);&lt;br /&gt;
				citoidPromise = $.ajax('/api/rest_v1/data/citation/mediawiki/'+encodeURIComponent(searchUrl), {&lt;br /&gt;
					headers: { 'accept-language': mw.config.get( 'wgContentLanguage' ) },&lt;br /&gt;
					timeout: 20 * 1000, // 20 seconds&lt;br /&gt;
					type: 'GET'&lt;br /&gt;
				});&lt;br /&gt;
				citoidPromise.done(function(d){&lt;br /&gt;
				citoidTemplatesPromise.done(function(){&lt;br /&gt;
					var CiteTemplates = JSON.parse( mw.message( 'citoid-template-type-map.json' ).plain() );&lt;br /&gt;
					if ( d.length === 0 || !CiteTemplates[ d[0].itemType ] ) {&lt;br /&gt;
						self.writeMsg( mw.msg( 'checkty-naked-link-fix-fail' ) );&lt;br /&gt;
						return;&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var api = new mw.Api().get( {&lt;br /&gt;
						action: 'templatedata',&lt;br /&gt;
						titles: 'Template:' + CiteTemplates[ d[0].itemType ]&lt;br /&gt;
					}).done(function(tdq){&lt;br /&gt;
						for(var pid in tdq.pages){&lt;br /&gt;
							var td = tdq.pages[pid],&lt;br /&gt;
							params = [];&lt;br /&gt;
							for(var k in d[0]) {&lt;br /&gt;
								if (td.maps['citoid'][k]) {&lt;br /&gt;
									if ($.isArray(td.maps['citoid'][k]) &amp;amp;&amp;amp; $.isArray(d[0][k])) {&lt;br /&gt;
										for(var i = 0;i &amp;lt; d[0][k].length; i++) {&lt;br /&gt;
											if ($.isArray(d[0][k][i]) &amp;amp;&amp;amp; $.isArray(td.maps['citoid'][k][i])) {&lt;br /&gt;
												for(var j = 0;j &amp;lt; d[0][k][i].length; j++) {&lt;br /&gt;
													params.push(td.maps['citoid'][k][i][j] + '=' + d[0][k][i][j].replace(/\|/g, '{{!}}'));&lt;br /&gt;
												}&lt;br /&gt;
											}&lt;br /&gt;
										}&lt;br /&gt;
									}&lt;br /&gt;
									else {&lt;br /&gt;
										if ($.isArray(d[0][k])) {&lt;br /&gt;
											for(var i = 0;i &amp;lt; d[0][k].length; i++) if ($.isArray(d[0][k][i])) d[0][k][i] = d[0][k][i].join(' ');&lt;br /&gt;
											d[0][k] = d[0][k].join(', ');&lt;br /&gt;
										}&lt;br /&gt;
										params.push(td.maps['citoid'][k] + '=' + d[0][k].replace(/\|/g, '{{!}}'));&lt;br /&gt;
									}&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
							var template = '{{'+CiteTemplates[d[0].itemType]+'|' + params.join('|')+'}}',&lt;br /&gt;
							wikitext = self.textbox.value;&lt;br /&gt;
							if ( inRef ) {&lt;br /&gt;
								wikitext = wikitext.replace(new RegExp('\\{\\{הערה *\\| *(?:1 *= *)?'+mw.util.escapeRegExp(searchUrl)+'\\}\\}', 'g'), '{{הערה|' + template + '}}');&lt;br /&gt;
							} else {&lt;br /&gt;
								// this is more context sensitive - sometimes we may or may not want to wrap with ref&lt;br /&gt;
								wikitext = wikitext.replace(new RegExp('\\['+mw.util.escapeRegExp(searchUrl)+'\\]', 'g'), template);&lt;br /&gt;
							}&lt;br /&gt;
							self.textbox.value = wikitext;&lt;br /&gt;
							self.writeMsg($('&amp;lt;div&amp;gt;').append(mw.msg('checkty-naked-link-fixed', searchUrl, template)).append(self.createSearchLink(template)));&lt;br /&gt;
							chectTyTool.addSummary('הלבשת קישורים עירומים');&lt;br /&gt;
						}&lt;br /&gt;
					})&lt;br /&gt;
				});&lt;br /&gt;
				}).fail(function(){&lt;br /&gt;
					self.writeMsg($('&amp;lt;div&amp;gt;').append(mw.msg('checkty-broken-link') + searchUrl));&lt;br /&gt;
				});&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
			});&lt;br /&gt;
			this.writeMsg($('&amp;lt;div&amp;gt;').append([mw.msg('checkty-naked-link-found', nakedUrl)+'&amp;quot; [',fixNakedLink, '&amp;amp;nbsp;-&amp;amp;nbsp;', this.createSearchLink(m[0]), ']']), 'alert');&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	checkExternalLinks: function() {&lt;br /&gt;
		var t = this.textbox.value,&lt;br /&gt;
		externalLinksRgx = /== *קישורים חיצוניים *==(?:\n\{\{.+)*((?:\n\*.+|\n\{\{.+\}\})+)/mg,&lt;br /&gt;
		tplCounterRgx = /\n\* *\{\{([^|]+)/g,&lt;br /&gt;
		externalLinks = externalLinksRgx.exec(t), tplCounter={}, sameSources=[], m;&lt;br /&gt;
		if (!externalLinks) return;&lt;br /&gt;
		externalLinks = externalLinks[1];&lt;br /&gt;
		if (externalLinks.split('\n').length &amp;gt; 8) {&lt;br /&gt;
			this.writeMsg('&amp;lt;div&amp;gt;' + mw.msg('checkty-external-links-many', externalLinks.split('\n').length) + '&amp;lt;/div&amp;gt;', 'alert');&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			while(m = tplCounterRgx.exec(externalLinks)) tplCounter[m[1]] = (tplCounter[m[1]]? tplCounter[m[1]]+1 : 1);&lt;br /&gt;
			delete tplCounter['קישור כללי'];&lt;br /&gt;
			for(m in tplCounter) {&lt;br /&gt;
				if (tplCounter[m] &amp;gt; 1) sameSources.push(m + ' &amp;amp;rlm;(' + tplCounter[m] + ')');&lt;br /&gt;
			}&lt;br /&gt;
			if (sameSources.length) {&lt;br /&gt;
				this.writeMsg('&amp;lt;div&amp;gt;' + mw.msg('checkty-external-links-diversity', sameSources.join(', ')) + '&amp;lt;/div&amp;gt;', 'alert');&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	checkRefs: function() {&lt;br /&gt;
		this.refsConsistencyCheck();&lt;br /&gt;
		this.ibidWarning();&lt;br /&gt;
		this.mergeRefs();&lt;br /&gt;
		this.refDirSuggest();&lt;br /&gt;
	},&lt;br /&gt;
	writeMsg: function (msg, icon) {&lt;br /&gt;
		var x;&lt;br /&gt;
		if (msg instanceof Array) {&lt;br /&gt;
			if (msg.length === 0) return;&lt;br /&gt;
			msg = '&amp;lt;div&amp;gt;' + msg.join('&amp;lt;br/&amp;gt;') + '&amp;lt;/div&amp;gt;';&lt;br /&gt;
		}&lt;br /&gt;
		x = $(msg).css('display', 'none').addClass('checktyMsg');&lt;br /&gt;
		if ( icon ) {&lt;br /&gt;
			var iconWidget = new OO.ui.IconWidget( {&lt;br /&gt;
				icon: icon,&lt;br /&gt;
			 } );&lt;br /&gt;
			x.prepend(iconWidget.$element);&lt;br /&gt;
		}&lt;br /&gt;
		$('#checktyResults').append(x);&lt;br /&gt;
		x.show('slow');&lt;br /&gt;
		return x;&lt;br /&gt;
	},&lt;br /&gt;
	build_regexes: function (data, protect) {&lt;br /&gt;
		if (/\{\{\s*ללא[_ ]בוט\s*\}\}/.test(this.textbox.value)) {&lt;br /&gt;
			this.writeMsg('&amp;lt;div&amp;gt;'+mw.msg( 'checkty-no-replacements' )+'&amp;lt;/div&amp;gt;', 'info');&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		if (data) {&lt;br /&gt;
			var lines = data.split(/\n/),&lt;br /&gt;
			clear_nowiki = /\|&amp;lt;nowiki&amp;gt;(.*)&amp;lt;\/nowiki&amp;gt;/,&lt;br /&gt;
			protect_title_regex = /\[\[(.+?)\]\]/g,&lt;br /&gt;
			matches, regex, pTitle;&lt;br /&gt;
			while (lines.length) {&lt;br /&gt;
				if (!(matches = lines.shift().match(/^\|(\d+)/))) continue;&lt;br /&gt;
				var num = parseInt(matches[1], 10);&lt;br /&gt;
				if (!(matches = lines.shift().match(clear_nowiki))) continue;&lt;br /&gt;
				try {&lt;br /&gt;
					regex = new RegExp(matches[1], 'g');&lt;br /&gt;
				} catch (e) {&lt;br /&gt;
					//ignore&lt;br /&gt;
					continue;&lt;br /&gt;
				}&lt;br /&gt;
				if (!(matches = lines.shift().match(clear_nowiki))) continue;&lt;br /&gt;
				this.regexes[num] = [regex, matches[1]];&lt;br /&gt;
				var ignore = lines.shift(),&lt;br /&gt;
					ignoreRegex = /^\|(?:&amp;lt;nowiki&amp;gt;)?(.+?)(?:&amp;lt;\/nowiki&amp;gt;)?$/.exec(ignore);&lt;br /&gt;
				if (ignoreRegex) {&lt;br /&gt;
					this.ignoreRegexes.push('(?:' + ignoreRegex[1] + ')');&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (protect) {&lt;br /&gt;
				// add titles of pages explicitly marked as special&lt;br /&gt;
				while (pTitle = protect_title_regex.exec(protect)) {&lt;br /&gt;
					this.ignoreRegexes.push(mw.util.escapeRegExp(pTitle[1]));&lt;br /&gt;
					this.ignoreRegexes.push('(?:\\[\\[' + mw.util.escapeRegExp(pTitle[1]) + '\\|.+?\\]\\])'); //protect links [[A (x)|A]] or other variations&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			this.process_page();&lt;br /&gt;
		} else {&lt;br /&gt;
			var replceQuery = $.ajax({&lt;br /&gt;
				url: mw.util.getUrl( (window.replaceListPage || 'ויקיפדיה:בוט/בוט החלפות/רשימת החלפות נוכחית'), { action: 'raw', ctype: 'text/x-wiki' } ),&lt;br /&gt;
				dataType: 'html'&lt;br /&gt;
			}), protectQuery = $.ajax({&lt;br /&gt;
				url: mw.util.getUrl( 'ויקיפדיה:בוט/בוט החלפות/דפים חריגים', { action: 'raw', ctype: 'text/x-wiki' } ),&lt;br /&gt;
				dataType: 'html'&lt;br /&gt;
			});&lt;br /&gt;
			$.when(replceQuery, protectQuery).done(function(dataRepalce, dataProtect){&lt;br /&gt;
				chectTyTool.build_regexes(dataRepalce[0], dataProtect[0]);&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	process_page: function () {&lt;br /&gt;
		var t = this.textbox.value,&lt;br /&gt;
			skip_ar = [],&lt;br /&gt;
			actual_replaced = [], // list of actual replcements for summary&lt;br /&gt;
			actual_replaced_details = [], // list of actual replcements with details for editor&lt;br /&gt;
			skipmatch = t.match(/{{ללא[_ ]בוט\|\s*(\d+)\s*}}/g), i, match;&lt;br /&gt;
		if (skipmatch)&lt;br /&gt;
			for (i = 0; i &amp;lt; skipmatch.length; i++) {&lt;br /&gt;
				var matches = skipmatch[i].match(/{{ללא[_ ]בוט\|\s*(\d+)\s*}}/), detailedSkip = '';&lt;br /&gt;
				chectTyTool.skip_dict[parseInt(matches[1], 10)] = true;&lt;br /&gt;
				if (this.regexes[matches[1]]) {&lt;br /&gt;
					detailedSkip = ': ' + $.trim(this.regexes[matches[1]][0].toString());&lt;br /&gt;
					skip_ar.push($('&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;').append(matches[1] + detailedSkip + '&amp;amp;nbsp;').append(this.createSearchLink(this.regexes[matches[1]][0])));&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		var specials = [],&lt;br /&gt;
		    ignoreRegex = new RegExp('(' + this.ignoreRegexes.join('|') + ')');&lt;br /&gt;
		for (i in this.regexes) // assume regexs on templates are safe if contain template wikicode&lt;br /&gt;
			if (/\\{\\{/.test(this.regexes[i][0]) &amp;amp;&amp;amp; this.regexes[i][0].test(t)) {&lt;br /&gt;
				t = t.replace(this.regexes[i][0], this.regexes[i][1]);&lt;br /&gt;
				actual_replaced.push($.trim(this.regexes[i][1].replace(/\$\d*/g, '')));&lt;br /&gt;
				actual_replaced_details.push(i + ': ' + $.trim(this.regexes[i][1].replace(/\$\d*/g, '')));&lt;br /&gt;
			}&lt;br /&gt;
		while (true) { //extract inner links, inner templates and inner params - we don't want to sptit those.&lt;br /&gt;
			match = t.match(/(\{\{[^\{\}]*\}\}|(\n|\[\[)(?:File|קובץ|תמונה|Image):.*?[\|\n]|[^\[\0]\[[^\{\}\[]*\])/);&lt;br /&gt;
			if ((!match || !match.length) &amp;amp;&amp;amp; this.ignoreRegexes.length ) match = t.match(ignoreRegex);&lt;br /&gt;
			if (!match || !match.length) break;&lt;br /&gt;
			specials.push(match[0]);&lt;br /&gt;
			t = t.replace(match[0], &amp;quot;\0&amp;quot; + specials.length + &amp;quot;\0&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
		for (i in this.regexes)&lt;br /&gt;
			if (!chectTyTool.skip_dict[i] &amp;amp;&amp;amp; !isNaN(i))&lt;br /&gt;
				if (this.regexes[i][0].test(t)) {&lt;br /&gt;
					var before = t, tries=0, befText, afterText;&lt;br /&gt;
					/* repeat replacement for 3 times as sometimes need to converge for more than a single run&lt;br /&gt;
					   Such as boundary [^a-z][a-z][^a-z] replacing [a|a]. Use of negative char match is useful &lt;br /&gt;
					   for different regex engines with different support of look ahead and lookbehind */&lt;br /&gt;
					do {&lt;br /&gt;
						before = t;&lt;br /&gt;
						t = t.replace(this.regexes[i][0], this.regexes[i][1]);&lt;br /&gt;
						if ((tries==0) &amp;amp;&amp;amp; (t != before)) {&lt;br /&gt;
							// 1st match as representative example for summary&lt;br /&gt;
							befText = this.regexes[i][0].exec(before)[0];&lt;br /&gt;
							afterText = befText.replace(this.regexes[i][0], this.regexes[i][1]);&lt;br /&gt;
							actual_replaced.push(afterText);&lt;br /&gt;
							actual_replaced_details.push(i + ': ' + befText + ' ← ' + afterText);&lt;br /&gt;
						}&lt;br /&gt;
						tries++;&lt;br /&gt;
					} while ((tries &amp;lt; 3) &amp;amp;&amp;amp; (t != before))&lt;br /&gt;
				}&lt;br /&gt;
		while (true) {&lt;br /&gt;
			match = t.match(/\0(\d+)\0/);&lt;br /&gt;
			if (!match || !match.length) break;&lt;br /&gt;
			t = t.replace(match[0], specials[parseInt(match[1], 10) - 1]);&lt;br /&gt;
		}&lt;br /&gt;
		this.updateText(t);&lt;br /&gt;
		var msg = ['החלפות - בוצעו ' + actual_replaced.length + ' החלפות' + (actual_replaced_details.length==0? '.' : ': ' + actual_replaced_details.join(', '))];&lt;br /&gt;
		if (skip_ar.length) {&lt;br /&gt;
			msg.push('&amp;lt;br /&amp;gt;החלפות שלא התבצעו בגלל תבנית &amp;quot;ללא בוט&amp;quot;: ');&lt;br /&gt;
			msg.push($('&amp;lt;ul&amp;gt;&amp;lt;/ul&amp;gt;').append(skip_ar));&lt;br /&gt;
		}&lt;br /&gt;
		if(actual_replaced.length) {&lt;br /&gt;
			msg.push(' אנא בצעו &amp;quot;הצגת שינויים&amp;quot; לפני שמירה, כדי לוודא שהסקריפט לא גרם נזק.');&lt;br /&gt;
		}&lt;br /&gt;
		this.writeMsg($('&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;').append(msg), 'info');&lt;br /&gt;
&lt;br /&gt;
		if (actual_replaced.length) chectTyTool.addSummary(mw.msg('checkty-replace-summary', actual_replaced.join(', ')));&lt;br /&gt;
	},&lt;br /&gt;
	fetchDisambigLinks: function (next) {&lt;br /&gt;
		var dfd = new jQuery.Deferred();&lt;br /&gt;
		var api = new mw.Api();&lt;br /&gt;
		var params = {&lt;br /&gt;
			action: 'query',&lt;br /&gt;
			generator: 'links',&lt;br /&gt;
			titles: mw.config.get('wgPageName'),&lt;br /&gt;
			prop: 'pageprops',&lt;br /&gt;
			ppprop: 'disambiguation',&lt;br /&gt;
			gpllimit: '500',&lt;br /&gt;
			redirects: 1&lt;br /&gt;
		};&lt;br /&gt;
		if (next !== undefined) {&lt;br /&gt;
			params.gplcontinue = next;&lt;br /&gt;
		}&lt;br /&gt;
		api.get(params).done(function (data) {&lt;br /&gt;
			//extract disambig pages&lt;br /&gt;
			if (!data.hasOwnProperty('query')) {&lt;br /&gt;
				dfd.reject();&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			var redirects = {};&lt;br /&gt;
			if (data.query.redirects) {&lt;br /&gt;
				$.each(data.query.redirects, function(i,r) { redirects[r.to] = r.from; });&lt;br /&gt;
			}&lt;br /&gt;
			var disambigs = [];&lt;br /&gt;
			for (var pid in data.query.pages) {&lt;br /&gt;
				var p = data.query.pages[pid],&lt;br /&gt;
				isDisambigPage = p.pageprops &amp;amp;&amp;amp; p.title != mw.config.get('wgTitle') + mw.msg( 'checkty-disambig-suffix' );&lt;br /&gt;
				//list only real disambig links&lt;br /&gt;
				if (isDisambigPage &amp;amp;&amp;amp; chectTyTool.getLinkRegex(p.title).exec(chectTyTool.textbox.value)) {&lt;br /&gt;
					disambigs.push(redirects[p.title] || p.title);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (data['query-continue'] !== undefined) {&lt;br /&gt;
				var nextReq = chectTyTool.fetchDisambigLinks(data['query-continue'].links.gplcontinue);&lt;br /&gt;
				nextReq.done(function (more) {&lt;br /&gt;
					dfd.resolve($.merge(disambigs, more));&lt;br /&gt;
				});&lt;br /&gt;
			} else {&lt;br /&gt;
				dfd.resolve(disambigs);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	},&lt;br /&gt;
	mainArticlesMerge: function() {&lt;br /&gt;
		var origTxt = this.textbox.value, txt = this.textbox.value, m;&lt;br /&gt;
		&lt;br /&gt;
		while (m = /(\{\{(?:הפניה לערך מורחב|ערך מורחב)\|[^=]+?\}\}\n){2,}/g.exec(txt)) {&lt;br /&gt;
			var articles = [], expArticleRE = /\{\{(?:הפניה לערך מורחב|ערך מורחב)\|([^=]+?)\}\}/g;&lt;br /&gt;
			while (ma = expArticleRE.exec(m[0])) articles.push(ma[1]);&lt;br /&gt;
			txt = txt.replace(m[0], '{{הפניה לערך מורחב|ערכים=[['+articles.join(']], [[')+']]}}\n');&lt;br /&gt;
		}&lt;br /&gt;
		this.textbox.value = txt;&lt;br /&gt;
		if (origTxt != txt) chectTyTool.addSummary( mw.msg( 'checkty-main-articles-merge-summary' ) );&lt;br /&gt;
	},&lt;br /&gt;
	formatReplace: function () {&lt;br /&gt;
		var txt = this.textbox.value, newTxt;&lt;br /&gt;
		// Format autofix&lt;br /&gt;
		var specials=[], match;&lt;br /&gt;
//		var emptyParametersRgx = /\n *\| *[^|=]+?= *(?=\n(?: *\||\}\}))/mg, emptyParametersMsg, emptyParametersBtn;&lt;br /&gt;
		$(this.formatReplacesConfigSafe).each(function (i, o) {&lt;br /&gt;
&lt;br /&gt;
			newTxt = txt.replace(o.from, o.to);&lt;br /&gt;
			if ( newTxt!=txt &amp;amp;&amp;amp; o.comment) {&lt;br /&gt;
				chectTyTool.addSummary( o.comment );&lt;br /&gt;
			}&lt;br /&gt;
			txt = newTxt;&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		//extract inner links, inner templates and inner params - we don't want to sptit those.&lt;br /&gt;
		while (true) { //extract inner links, inner templates and inner params - we don't want to sptit those.&lt;br /&gt;
			match = txt.match(/(\{\{[^\{\}]*\}\}|(\n|\[\[)(?:File|קובץ|תמונה|Image):.*?[\|\n]|[^\[\0]\[[^\{\}\[]*\])/);&lt;br /&gt;
			if (!match || !match.length) break;&lt;br /&gt;
			specials.push(match[0]);&lt;br /&gt;
			txt = txt.replace(match[0], &amp;quot;\0&amp;quot; + specials.length + &amp;quot;\0&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		$(this.formatReplacesConfig).each(function (i, o) {&lt;br /&gt;
			newTxt = txt.replace(o.from, o.to);&lt;br /&gt;
			if (o.skippable &amp;amp;&amp;amp; (chectTyTool.skipCheckty || this.isSection)) return; // skip this one respecting {ללא בוט}&lt;br /&gt;
			if ( newTxt!=txt &amp;amp;&amp;amp; o.comment) {&lt;br /&gt;
				chectTyTool.addSummary( o.comment );&lt;br /&gt;
			}&lt;br /&gt;
			txt = newTxt;&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		while (true) {&lt;br /&gt;
			match = txt.match(/\0(\d+)\0/);&lt;br /&gt;
			if (!match || !match.length) break;&lt;br /&gt;
			txt = txt.replace(match[0], specials[parseInt(match[1], 10) - 1]);&lt;br /&gt;
		}&lt;br /&gt;
		this.updateText(txt);&lt;br /&gt;
//		if (!emptyParametersRgx.test(txt)) return;&lt;br /&gt;
//		emptyParametersMsg = $('&amp;lt;div&amp;gt;', { text: mw.msg('checkty-empty-parameters') }).addClass('checkty-empty-params-warning').append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
//			href: '#',&lt;br /&gt;
//			text: 'ניקוי'&lt;br /&gt;
//		}).click(function(){ $('#wpTextbox1').val($('#wpTextbox1').val().replace(emptyParametersRgx, '')); chectTyTool.addSummary( mw.msg( 'checkty-empty-parameters-summary' ) ); return false; }));&lt;br /&gt;
//		this.writeMsg(emptyParametersMsg, 'info');&lt;br /&gt;
	},&lt;br /&gt;
	disambigCheck: function () {&lt;br /&gt;
		var disambigMsg = this.writeMsg($('&amp;lt;div&amp;gt;', {&lt;br /&gt;
			id: 'waitForDisambigs'&lt;br /&gt;
		}).text( mw.msg( 'checkty-waiting-disambig-query' ) ), 'info'), self = this;&lt;br /&gt;
		&lt;br /&gt;
		this.fetchDisambigLinks().fail(function () {&lt;br /&gt;
			disambigMsg.remove();&lt;br /&gt;
			self.writeMsg($('&amp;lt;div&amp;gt;', { text: mw.msg('checkty-disambig-no-links') }), 'check');&lt;br /&gt;
		}).done(function (res) {&lt;br /&gt;
			var disambigs;&lt;br /&gt;
			disambigMsg.remove();&lt;br /&gt;
			if (res.length === 0) {&lt;br /&gt;
				self.writeMsg($('&amp;lt;div&amp;gt;', { text: mw.msg('checkty-disambig-success') }), 'check');&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			disambigs = $('&amp;lt;div id=&amp;quot;disambigWarnning&amp;quot;&amp;gt;'+mw.msg( 'checkty-disambig-links-title' )+'&amp;lt;/div&amp;gt;').prepend('&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Disambig_RTL.svg/15px-Disambig_RTL.svg.png&amp;quot;&amp;gt;').css('padding', '0 5px');&lt;br /&gt;
			$.each(res, function (i, disTitle) {&lt;br /&gt;
				if (i &amp;gt; 0) {&lt;br /&gt;
					disambigs.append(', ');&lt;br /&gt;
				}&lt;br /&gt;
				disambigs.append($('&amp;lt;a href=&amp;quot;' + mw.util.getUrl(disTitle) + '&amp;quot;&amp;gt;' + disTitle + '&amp;lt;/a&amp;gt;').click(function () {&lt;br /&gt;
					var disambigName = $(this).text();&lt;br /&gt;
					new mw.Api().get({&lt;br /&gt;
						action: 'parse',&lt;br /&gt;
						page: disambigName,&lt;br /&gt;
						prop: 'text',&lt;br /&gt;
						redirects: 1&lt;br /&gt;
					}).done(function (data) {&lt;br /&gt;
						if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
							var disambig = data.parse.text['*'];&lt;br /&gt;
							mw.loader.using( ['jquery.ui'] ).done ( function() { chectTyTool.resolveDisambig( disambigName, disambig ); } );&lt;br /&gt;
						} else {&lt;br /&gt;
							console.error(data);&lt;br /&gt;
						}&lt;br /&gt;
					});&lt;br /&gt;
					return false;&lt;br /&gt;
				}));&lt;br /&gt;
			});&lt;br /&gt;
			chectTyTool.writeMsg(disambigs);&lt;br /&gt;
		});&lt;br /&gt;
	},&lt;br /&gt;
	getLinkRegex: function(name) {&lt;br /&gt;
		return	new RegExp('(?:\\.|^)([^\\.\n]*(\\[\\[' + mw.util.escapeRegExp(name) + '[\\|\\]]).*?)[\\.\\n]', 'm');&lt;br /&gt;
	},&lt;br /&gt;
	resolveDisambig: function (name, data) {&lt;br /&gt;
		var offset = 0,&lt;br /&gt;
			textbox = this.textbox,&lt;br /&gt;
			linkRgx = this.getLinkRegex(name),&lt;br /&gt;
			orgPos = $(textbox).textSelection('getCaretPosition'),&lt;br /&gt;
			cSentence = $('&amp;lt;div&amp;gt;');&lt;br /&gt;
		var options = $('&amp;lt;div&amp;gt;').append($('li', data).filter(function() { return $(this).closest( '.checkty-ignore' ).length === 0; } ).map(function () {&lt;br /&gt;
			var a = $(this).children('a').get(0);&lt;br /&gt;
			if (a) {&lt;br /&gt;
				var storeTitle = $(this).text();&lt;br /&gt;
				var anchor = '',&lt;br /&gt;
					h = a.href;&lt;br /&gt;
				if (h.indexOf('#') + 1) anchor = decodeURI(h.substr(h.indexOf('#')).replace(/\./g, '%').replace(/_/g, ' '));&lt;br /&gt;
				$(a).text( a.title.replace(mw.msg( 'checkty-page-doesnt-exist' ), &amp;quot;&amp;quot;) + anchor);&lt;br /&gt;
				a.title = storeTitle;&lt;br /&gt;
			}&lt;br /&gt;
			return a || null;&lt;br /&gt;
		}).click(resolve))&lt;br /&gt;
			.append($('&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;'+mw.msg( 'checkty-remove-link' )+'&amp;lt;/a&amp;gt;').click(removeLink));&lt;br /&gt;
		var disambigDialog = $('&amp;lt;div&amp;gt;').append( mw.msg('checkty-disambig-meaning', name) + '&amp;lt;hr/&amp;gt;').append(cSentence).append(options.buttonset()).dialog({&lt;br /&gt;
			title: mw.msg( 'checkty-dismabig-dialog-title' ),&lt;br /&gt;
			close: function () {&lt;br /&gt;
				$(textbox).textSelection('setSelection', {&lt;br /&gt;
					start: orgPos&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		findSentence();&lt;br /&gt;
		function findSentence() {&lt;br /&gt;
			var text = textbox.value.substr(offset),&lt;br /&gt;
				m = text.match(linkRgx);&lt;br /&gt;
			if (!m) {&lt;br /&gt;
				disambigDialog.dialog('close');&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			offset += text.indexOf(m[1]) + m[1].indexOf(m[2]);&lt;br /&gt;
			var linkIndex = m[1].indexOf(m[2]) + 2,&lt;br /&gt;
				html = m[1].substr(0, linkIndex) + '&amp;lt;big&amp;gt;' + name + '&amp;lt;/big&amp;gt;' + m[1].substr(linkIndex + name.length);&lt;br /&gt;
			cSentence.html(html);&lt;br /&gt;
		}&lt;br /&gt;
		function resolve() {&lt;br /&gt;
			var answer = $(this).text(),&lt;br /&gt;
				text = textbox.value,&lt;br /&gt;
				startLink = text.indexOf('[[' + name, offset);&lt;br /&gt;
			if (text.charAt(startLink + 2 + name.length) != '|') answer += '|' + name;&lt;br /&gt;
			offset += answer.length + 2;&lt;br /&gt;
			text = text.substr(0, startLink + 2) + answer + text.substr(startLink + 2 + name.length);&lt;br /&gt;
			textbox.value = text;&lt;br /&gt;
			findSentence();&lt;br /&gt;
			chectTyTool.addSummary( mw.msg( 'checkty-dismabig-fix-summary' ) );&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		function removeLink() {&lt;br /&gt;
			var text = textbox.value,&lt;br /&gt;
				startLink = text.indexOf('[[' + name, offset),&lt;br /&gt;
				endLink = text.indexOf(']]', startLink),&lt;br /&gt;
				pipeChar = startLink + 2 + name.length,&lt;br /&gt;
				linkText = (text.charAt(pipeChar) != '|') ? name : text.substr(pipeChar + 1, endLink - pipeChar - 1);&lt;br /&gt;
			offset += (endLink - startLink) + linkText.length;&lt;br /&gt;
			text = text.substr(0, startLink) + linkText + text.substr(endLink + 2);&lt;br /&gt;
			textbox.value = text;&lt;br /&gt;
			findSentence();&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	addSummary: function (msg) {&lt;br /&gt;
		var editSummary = $('#wpSummary').val();&lt;br /&gt;
		if (editSummary.indexOf(msg) === -1) $('#wpSummary').val(editSummary + (editSummary.length === 0 ? '' : ', ') + msg);&lt;br /&gt;
		// tag the edit&lt;br /&gt;
		if ( $('#checktyTag').length === 0 ) {&lt;br /&gt;
			$('#editform').append('&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpChangeTags&amp;quot; id=&amp;quot;checktyTag&amp;quot; value=&amp;quot;צ\'קטי&amp;quot;&amp;gt;');&lt;br /&gt;
		}		&lt;br /&gt;
	},&lt;br /&gt;
	checkGallery: function() {&lt;br /&gt;
		var text = this.textbox.value,&lt;br /&gt;
			longGalleryThreshold = 16,&lt;br /&gt;
			galleryRgx = /&amp;lt;gallery.+?\n(\n|.)+?&amp;lt;\/gallery&amp;gt;/mg,&lt;br /&gt;
			m, longGallery=false;&lt;br /&gt;
		while ( m=galleryRgx.exec( text ) ) { var galLength = m[0].split('\n').length-2; longGallery |= (galLength &amp;gt; longGalleryThreshold); }&lt;br /&gt;
		if (longGallery) {&lt;br /&gt;
			this.writeMsg('&amp;lt;div&amp;gt;' + mw.msg('checkty-long-gallery') + '&amp;lt;/div&amp;gt;', 'alert');&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	checkImages: function (data) {&lt;br /&gt;
		var fairUsageTemplates = ['תבנית:שימוש הוגן', 'תבנית:תמונת חבר כנסת'];&lt;br /&gt;
		if (!data) {&lt;br /&gt;
			if (!(/\{\{(ויקישיתוף בשורה|מיזמים)/.test(this.textbox.value))) {&lt;br /&gt;
				$.getJSON('//www.wikidata.org/w/api.php?callback=?', {&lt;br /&gt;
					languages: 'he',&lt;br /&gt;
					action: 'wbgetentities',&lt;br /&gt;
					sites: mw.config.get('wgDBname'),&lt;br /&gt;
					titles: mw.config.get('wgTitle'),&lt;br /&gt;
					format: 'json',&lt;br /&gt;
					props: 'claims'&lt;br /&gt;
				}).done(function (data) {&lt;br /&gt;
					if (data.success === undefined || !data.success) return;&lt;br /&gt;
					for (var entityId in data.entities) {&lt;br /&gt;
						var claims = data.entities[entityId].claims;&lt;br /&gt;
						if (claims &amp;amp;&amp;amp; claims.hasOwnProperty('P373')) {&lt;br /&gt;
							chectTyTool.writeMsg($('&amp;lt;div&amp;gt;', {&lt;br /&gt;
								text: mw.msg('checkty-missing-commons-link')&lt;br /&gt;
							}).prepend('&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/15px-Commons-logo.svg.png&amp;quot;&amp;gt;').css('padding', '0 5px').append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
								href: '#',&lt;br /&gt;
								text: 'להוספה'&lt;br /&gt;
							}).click(function (e) {&lt;br /&gt;
								e.preventDefault();&lt;br /&gt;
								var ta = $('#wpTextbox1');&lt;br /&gt;
								if (ta.textSelection('getCaretPosition') &amp;gt;= ta.val().length) {&lt;br /&gt;
									chectTyTool.writeMsg($('&amp;lt;div&amp;gt;').text(mw.msg('checkty-please-position-caret')));&lt;br /&gt;
								} else {&lt;br /&gt;
									ta.textSelection('encapsulateSelection',{pre:'{{ויקישיתוף בשורה}}'});&lt;br /&gt;
									chectTyTool.addSummary('ויקישיתוף בשורה');&lt;br /&gt;
								}&lt;br /&gt;
							})));&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
			//in case there are no images in page&lt;br /&gt;
			if (!(/\[\[(תמונה|קובץ|File|Image):/i.test(this.textbox.value))) {&lt;br /&gt;
				var articleName = mw.config.get('wgPageName');&lt;br /&gt;
				var that = this; // we want to use &amp;quot;this&amp;quot; in the done method of the api call.&lt;br /&gt;
				new mw.Api().post( {&lt;br /&gt;
					action: 'parse',&lt;br /&gt;
					title: articleName,&lt;br /&gt;
					text: this.textbox.value&lt;br /&gt;
				} ).done( function( data ) {&lt;br /&gt;
					if ( data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text &amp;amp;&amp;amp; $(  data.parse.text['*'] ).find( 'a.image  img' ).filter(function() { &lt;br /&gt;
						var width = $(this).attr('width');&lt;br /&gt;
						if (isNaN(width)) width = $(this).width();&lt;br /&gt;
						else width = parseInt(width);&lt;br /&gt;
						return (width &amp;gt;= 100) &amp;amp;&amp;amp; $(this).parents('.navbox').length==0; &lt;br /&gt;
					} ).length === 0 ) {&lt;br /&gt;
						var fistURL = that.fistURL({&lt;br /&gt;
							datatype: 'articles',&lt;br /&gt;
							data: articleName&lt;br /&gt;
						});&lt;br /&gt;
						var msg = $('&amp;lt;div&amp;gt;', {&lt;br /&gt;
							text: 'בדף זה אין תמונות. ניתן לחפש תמונות חופשיות ממקורות שונים. '&lt;br /&gt;
						}).append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
							href: decodeURI(fistURL),&lt;br /&gt;
							text: 'חיפוש תמונות',&lt;br /&gt;
							target: '_blank'&lt;br /&gt;
						}));&lt;br /&gt;
						that.writeMsg(msg, 'info');&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			new mw.Api().get({&lt;br /&gt;
				action: 'query',&lt;br /&gt;
				generator: 'images',&lt;br /&gt;
				titles: mw.config.get('wgPageName'),&lt;br /&gt;
				prop: 'templates',&lt;br /&gt;
				tltemplates: fairUsageTemplates.join('|')&lt;br /&gt;
			}).done(function (data) {&lt;br /&gt;
				if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) chectTyTool.checkImages(data.query.pages);&lt;br /&gt;
			});&lt;br /&gt;
		} else {&lt;br /&gt;
			var fairUseImgs = $.map(data, function (o) {&lt;br /&gt;
				if (!o.templates) return;&lt;br /&gt;
				var isFairUsage;&lt;br /&gt;
				$.each(o.templates, function (k, license) {&lt;br /&gt;
					if ($.inArray(license.title, fairUsageTemplates) != -1) {&lt;br /&gt;
						isFairUsage = true;&lt;br /&gt;
						return false;&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
				if (isFairUsage) return o.title;&lt;br /&gt;
			});&lt;br /&gt;
			if (fairUseImgs.length === 0) return;&lt;br /&gt;
			//add message with fair usage images&lt;br /&gt;
			var fistURL = this.fistURL({&lt;br /&gt;
				data: fairUseImgs.join('\r\n'),&lt;br /&gt;
				datatype: 'replaceimages'&lt;br /&gt;
			});&lt;br /&gt;
			var msg = $('&amp;lt;div&amp;gt;', {&lt;br /&gt;
				text: 'הדף מכיל תמונות בשימוש הוגן, שמומלץ להחליפן בחלופות חופשיות במידת האפשר. '&lt;br /&gt;
			}).append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
				href: fistURL,&lt;br /&gt;
				text: 'חיפוש חלופות חופשיות',&lt;br /&gt;
				target: '_blank'&lt;br /&gt;
			}));&lt;br /&gt;
			if (!(new RegExp('\{\{'+mw.msg('checkty-fairuse-img-replace-template')+'\}\}').test($('#wpTextbox1').val())))&lt;br /&gt;
				msg.append(' - ').append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
					text: 'סימון להחלפה',&lt;br /&gt;
					href: '#'&lt;br /&gt;
				}).click(function () {&lt;br /&gt;
					var t = $('#wpTextbox1');&lt;br /&gt;
					$.each(fairUseImgs, function (i, fiImg) {&lt;br /&gt;
						var imgName = mw.util.escapeRegExp(/.:(.+)$/.exec(fiImg)[1]),&lt;br /&gt;
						imgDescRE =  new RegExp(imgName.replace(' ', '[ _]') + '((?:[^\\[\\]]|\\[\\[[^\\[\\]]*?\\]\\])*?)\]\]', 'i'),&lt;br /&gt;
						matches;&lt;br /&gt;
						if (!(matches = imgDescRE.exec(t.val()))) {&lt;br /&gt;
							return;&lt;br /&gt;
						}&lt;br /&gt;
						//this is thumb img&lt;br /&gt;
						var imgDesc = matches[1].split('|'), isThumb = false, imgCaption = '';&lt;br /&gt;
						for (var i in imgDesc) {&lt;br /&gt;
							if (/thumb|ממוזער/i.test(imgDesc[i])) {&lt;br /&gt;
								isThumb = true;&lt;br /&gt;
							} else if (!(/^(ימין|שמאל|מרכז|right|left|center|[0-9]+px)?$/i.test(imgDesc[i]))) {&lt;br /&gt;
								imgCaption = imgDesc[i]; //unknown parameter assumed to be description&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
						if (isThumb) {&lt;br /&gt;
							if (imgCaption) {&lt;br /&gt;
								imgDesc = matches[1].replace(imgCaption, imgCaption + '{{'+mw.msg('checkty-fairuse-img-replace-template')+'}}');&lt;br /&gt;
							} else {&lt;br /&gt;
								imgDesc = matches[1] + '|{{'+mw.msg('checkty-fairuse-img-replace-template')+'}}';&lt;br /&gt;
							}&lt;br /&gt;
							t.val(t.val().replace(matches[1], imgDesc));&lt;br /&gt;
							chectTyTool.addSummary('{{'+mw.msg('checkty-fairuse-img-replace-template')+'}}');&lt;br /&gt;
						} else {&lt;br /&gt;
							//is in infobox heuristic: = before image tag&lt;br /&gt;
							var isInInfobox = new RegExp('=\s*\\[\\[(?:file|image|קובץ|תמונה):' + imgName.replace(' ', '[ _]') + '[^\\]]*?\]\]', 'i');&lt;br /&gt;
							if (isInInfobox.test(t.val())) {&lt;br /&gt;
								t.val(t.val().replace(matches[0], matches[0] + '{{'+mw.msg('checkty-fairuse-img-replace-template')+'}}'));&lt;br /&gt;
								chectTyTool.addSummary('{{'+mw.msg('checkty-fairuse-img-replace-template')+'}}');&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					});&lt;br /&gt;
				}));&lt;br /&gt;
			this.writeMsg(msg, 'alert');&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	fistURL: function (p) {&lt;br /&gt;
		return 'https://tools.wmflabs.org/fist/fist.php?doit=1&amp;amp;language=he&amp;amp;project=wikipedia&amp;amp;params[catdepth]=&amp;amp;params[random]=&amp;amp;params[startat]=&amp;amp;params[ll_max]=5&amp;amp;params[free_only]=1&amp;amp;params[commons_max]=5&amp;amp;params[flickr_max]=5&amp;amp;params[include_flickr_id]=1&amp;amp;params[flickr_new_name_from_article]=1&amp;amp;params[picasa_max]=5&amp;amp;params[wts_max]=5&amp;amp;params[gimp_max]=&amp;amp;params[esp_max]=5&amp;amp;params[geograph_max]=5&amp;amp;params[geograph_max_de]=5&amp;amp;params[geograph_max_channel-islands]=5&amp;amp;params[freemages_max]=5&amp;amp;params[forarticles]=all&amp;amp;params[lessthan_images]=&amp;amp;params[default_thumbnail_size]=250&amp;amp;params[jpeg]=1&amp;amp;params[png]=1&amp;amp;params[gif]=1&amp;amp;params[svg]=1&amp;amp;params[output_format]=out_html&amp;amp;params[min_width]=80&amp;amp;params[min_height]=80&amp;amp;params[ab_max]=5&amp;amp;sources[languagelinks]=1&amp;amp;sources[commons]=1&amp;amp;sources[flickr]=1&amp;amp;' + $.param(p);&lt;br /&gt;
	},&lt;br /&gt;
	languageCheck: function (checks) { //style and language check&lt;br /&gt;
		var txt = this.textbox.value;&lt;br /&gt;
		if (checks) {&lt;br /&gt;
			var checkWarnings = $('&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;');&lt;br /&gt;
			for (var x in checks) {&lt;br /&gt;
				if (checks[x]['test'].test(txt)) {&lt;br /&gt;
					var m = checks[x]['test'].exec(txt), langCheckPrefix = '';&lt;br /&gt;
					if (m[0].split(' ').length &amp;lt; 4 &amp;amp;&amp;amp; checks[x]['test'].source.indexOf('\\]')==-1) langCheckPrefix = mw.msg('checkty-language-check', m[0]);&lt;br /&gt;
					checkWarnings.append(this.createSearchLink(checks[x]['test']));&lt;br /&gt;
					checkWarnings.append('&amp;amp;nbsp;-&amp;amp;nbsp;' + langCheckPrefix + checks[x]['remark'] + '&amp;lt;br/&amp;gt;');&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
 &lt;br /&gt;
			// Design checks: Elements width&lt;br /&gt;
			var largeElement = /[6789][0-9][0-9]px/;&lt;br /&gt;
			if (largeElement.test(txt)) checkWarnings.append(mw.msg( 'checkty-large-element' ) + '&amp;lt;br/&amp;gt;');&lt;br /&gt;
			var manyLi = new RegExp('(?:\n\\*.*){20}');&lt;br /&gt;
			if (manyLi.test(txt)) {&lt;br /&gt;
				checkWarnings.append(this.createSearchLink(manyLi));&lt;br /&gt;
				checkWarnings.append('&amp;amp;nbsp;-&amp;amp;nbsp;' + mw.msg( 'checkty-long-list' ));&lt;br /&gt;
			}&lt;br /&gt;
			if (checkWarnings.html().length) this.writeMsg(checkWarnings, 'alert');&lt;br /&gt;
		} else {&lt;br /&gt;
			var api = new mw.Api();&lt;br /&gt;
			api.get({&lt;br /&gt;
				action:'parse',&lt;br /&gt;
				page: 'ויקיפדיה:בדיקה אוטומטית',&lt;br /&gt;
				prop: 'wikitext'&lt;br /&gt;
				}).done(function (data) {&lt;br /&gt;
					if (!(data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.wikitext)) return;&lt;br /&gt;
					var DictionaryText = data.parse.wikitext['*'].split('-----')[1]&lt;br /&gt;
					var genrealWarningWords = DictionaryText.split('\n*');&lt;br /&gt;
					var checks = [];&lt;br /&gt;
					for (var i=0;i&amp;lt;genrealWarningWords.length;i++)&lt;br /&gt;
					{&lt;br /&gt;
						var splittedWarn = genrealWarningWords[i].split(&amp;quot;//&amp;quot;);&lt;br /&gt;
						if ( splittedWarn.length !== 2 ) continue;&lt;br /&gt;
						checks.push({&lt;br /&gt;
							'test': new RegExp( splittedWarn[0], 'i' ),&lt;br /&gt;
							'remark': splittedWarn[1]&lt;br /&gt;
						});&lt;br /&gt;
					}&lt;br /&gt;
					chectTyTool.languageCheck(checks);&lt;br /&gt;
			});&lt;br /&gt;
			var countRgx = /(?:[^ ]+ ){2}.?(?:ש[נת]י|שלוש[תה]?|ארבע[הת]?|חמשת?|חמישה|ששת?|שבע[הת]?|תשע[הת]?|עשר[הת]?) [א-ת]+/g,&lt;br /&gt;
			gramCheck = [], m, self = this;&lt;br /&gt;
			while (m = countRgx.exec(txt)) { gramCheck.push(m) }&lt;br /&gt;
			if (gramCheck.length) $.post('//tools.wmflabs.org/eranbot/shtei_shekel/heb_check.py', { wikitext: gramCheck.join('\n') } ).done(function(d){&lt;br /&gt;
				if (!d.errs || d.errs.length === 0) return;&lt;br /&gt;
				var zaharNekevaWarns = $('&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;');&lt;br /&gt;
				for ( var i = 0; i &amp;lt; d.errs.length; i++ ) {&lt;br /&gt;
					var origRgx = new RegExp(d.errs[i].orig);&lt;br /&gt;
					zaharNekevaWarns.append(self.createSearchLink(origRgx));&lt;br /&gt;
					zaharNekevaWarns.append('&amp;amp;nbsp;-&amp;amp;nbsp;ייתכן שיש אי התאמה במין ב&amp;quot;' + d.errs[i].orig + '&amp;quot; (תיקון: '+d.errs[i].suggested+') &amp;lt;br/&amp;gt;');&lt;br /&gt;
				}&lt;br /&gt;
				chectTyTool.writeMsg(zaharNekevaWarns, 'alert');&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	refsConsistencyCheck: function () {&lt;br /&gt;
		function safeRegexFix(fixRegex, fixReplace, check){&lt;br /&gt;
			var txt = $('#wpTextbox1').val(), &lt;br /&gt;
				m;&lt;br /&gt;
			//remove templates within templates&lt;br /&gt;
			var specials = [];&lt;br /&gt;
			while (m = /\{\{(?!הערה\|)[^\{]*?\}\}/g.exec(txt)) {&lt;br /&gt;
				txt = txt.replace(m[0], '\0' + specials.length + '\0')&lt;br /&gt;
				specials.push(m[0])&lt;br /&gt;
			}&lt;br /&gt;
			if (check) {&lt;br /&gt;
				var counterA = 0, counterB = 0;&lt;br /&gt;
				while (fixRegex.exec(txt)) counterA++;&lt;br /&gt;
				while (fixReplace.exec(txt)) counterB++;&lt;br /&gt;
				return [counterA, counterB];&lt;br /&gt;
			} else {&lt;br /&gt;
				txt = txt.replace(/(\{\{הערה\|.*?\}\}|&amp;lt;ref&amp;gt;.*?&amp;lt;\/ref&amp;gt;)\s+(?=(\{\{הערה\||&amp;lt;ref&amp;gt;))/g, '$1'); // remove spaces between refs&lt;br /&gt;
				txt = txt.replace(fixRegex, fixReplace);&lt;br /&gt;
				while (m = specials.pop()) txt = txt.replace('\0' + specials.length + '\0', m);&lt;br /&gt;
				$('#wpTextbox1').val(txt);&lt;br /&gt;
			} &lt;br /&gt;
		}&lt;br /&gt;
		var refAfter = /([\.\,])\s*((\{\{הערה.*?\}\}|&amp;lt;ref&amp;gt;.*?&amp;lt;\/ref&amp;gt;)+)\.?/g,&lt;br /&gt;
		refBefore = /\.?((\{\{הערה\|([^\{]|\{(?!\{הערה\|))*\}\}|&amp;lt;ref&amp;gt;([^&amp;lt;]|&amp;lt;(?!\/ref&amp;gt;))*&amp;lt;\/ref&amp;gt;)+)\s*([\.\,])/g,&lt;br /&gt;
		refCounter = safeRegexFix(refAfter, refBefore, true);&lt;br /&gt;
		if (refCounter[0] &amp;gt; 0 &amp;amp;&amp;amp; refCounter[1] &amp;gt; 0) {&lt;br /&gt;
			this.writeMsg($('&amp;lt;div&amp;gt;', {&lt;br /&gt;
				text: 'חוסר תאימות בהערות שוליים: ' + refCounter[0] + ' הערות אחרי סימן פיסוק, ' + refCounter[1] + ' הערות לפני סימן פיסוק [תיקון: '&lt;br /&gt;
			}).append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
				text: 'אחרי',&lt;br /&gt;
				href: '#'&lt;br /&gt;
			}).click(function () {&lt;br /&gt;
				safeRegexFix(refBefore, '$5$1', false);&lt;br /&gt;
				chectTyTool.addSummary('אחידות במיקום הערות שוליים');&lt;br /&gt;
			})).append(' | ').append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
				text: 'לפני',&lt;br /&gt;
				href: '#'&lt;br /&gt;
			}).click(function () {&lt;br /&gt;
				safeRegexFix(refAfter, '$2$1', false);&lt;br /&gt;
				chectTyTool.addSummary('אחידות במיקום הערות שוליים');&lt;br /&gt;
			})).append(']'), 'alert');&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	ibidWarning: function() {&lt;br /&gt;
		var refRE = /\{\{הערה\|(?! *שם *=)(?:1=)?((?:[^\{\}]|\{\{.*?\}\})+)(?!\|=שם=)\}\}/g,&lt;br /&gt;
			wikitext = this.textbox.value, self=this, m;&lt;br /&gt;
		var checkWarnings = $('&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;');&lt;br /&gt;
		while ( m = refRE.exec( wikitext ) ){&lt;br /&gt;
			if(/^שם[ .,]|^שם$/.test(m[1]) || /\bibid(?![^a-z])/i.test(m[1])){&lt;br /&gt;
				checkWarnings.append(this.createSearchLink(m[0]));&lt;br /&gt;
				checkWarnings.append('&amp;amp;nbsp;-&amp;amp;nbsp;נמצאה הערת שוליים המפנה להערה הקודמת בצורה של שם. יש להחליף לציון מקור מדויק. ראו עוד: &amp;lt;a href=&amp;quot;'+mw.util.getUrl('ויקיפדיה:הערות שוליים')+'&amp;quot;&amp;gt;ויקיפדיה:הערות שוליים&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;');&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if (checkWarnings.html().length) this.writeMsg(checkWarnings, 'alert');&lt;br /&gt;
	},&lt;br /&gt;
	mergeRefs: function() { // merge refs with same content&lt;br /&gt;
		this.autoMergeRefs(); // merge refs with name and content that are equal&lt;br /&gt;
		this.mergeRefsWithoutName(); // merge refs with same content and assign name. requires some manual work&lt;br /&gt;
	},&lt;br /&gt;
	autoMergeRefs: function() { // merge refs with same content and same name&lt;br /&gt;
		var references = {},// a dictionary where key is the ref name and value is count&lt;br /&gt;
		refReEn = /&amp;lt;ref name=&amp;quot;([^&amp;quot;]+?)&amp;quot;&amp;gt;(.+?)&amp;lt;\/ref&amp;gt;/g,&lt;br /&gt;
		wikitext = this.textbox.value, mergedRefs = [], m, k, i;&lt;br /&gt;
		while ( m = refReEn.exec( wikitext ) ){&lt;br /&gt;
			references[m[1]] = (references[m[1]] || 0) + 1;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		for (k in references) {&lt;br /&gt;
			if (references[k] &amp;gt; 1) {&lt;br /&gt;
				var content = new RegExp('&amp;lt;ref name=&amp;quot;'+mw.util.escapeRegExp(k)+'&amp;quot;&amp;gt;(.+?)&amp;lt;/ref&amp;gt;', 'g').exec(wikitext),&lt;br /&gt;
				shortRef = '{{הערה|שם=' + k + '}}';&lt;br /&gt;
				i = 0;&lt;br /&gt;
				if (content)&lt;br /&gt;
					wikitext = wikitext.replace(new RegExp(mw.util.escapeRegExp(content[0]), 'g'), function(m) { return (i++? shortRef : m); });&lt;br /&gt;
				mergedRefs.push(k);&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		}&lt;br /&gt;
		if (mergedRefs.length) {&lt;br /&gt;
			this.writeMsg( $('&amp;lt;div&amp;gt;').text('מיזוג הערות: ' + mergedRefs.join(', ')) );&lt;br /&gt;
			this.addSummary( 'מיזוג הערות אוטומטי' );&lt;br /&gt;
			this.textbox.value = wikitext;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	mergeRefsWithoutName: function() { // merge refs with same content&lt;br /&gt;
		var references = {},// a dictionary where key is the ref content and the value is list of uses&lt;br /&gt;
		refRE = /\{\{הערה\|(?! *שם *=)(?:1=)?((?:[^\{\}]|\{\{.*?\}\})+)(?!\|=שם=)\}\}/g,&lt;br /&gt;
		wikitext = this.textbox.value, m;&lt;br /&gt;
		while ( m = refRE.exec( wikitext ) ){&lt;br /&gt;
			references[m[1]] = references[m[1]] || [];&lt;br /&gt;
			references[m[1]].push(m[0]);&lt;br /&gt;
		}&lt;br /&gt;
		for (var refContet in references) {&lt;br /&gt;
			var refUses = references[refContet];&lt;br /&gt;
			if ( refUses.length === 1 ) continue;&lt;br /&gt;
			if(/^שם[ .,]|^שם$/.test(refContet) || /\bibid(?![^a-z])/i.test(refContet)) continue; // skip ibid refs&lt;br /&gt;
&lt;br /&gt;
			var commonRefStructure = /(.+?) .+ (?:עמ|p).? ?([0-9]+)/.exec(refContet);&lt;br /&gt;
			var defaultRefName = '';&lt;br /&gt;
			if (commonRefStructure) {&lt;br /&gt;
				defaultRefName = commonRefStructure[1]+commonRefStructure[2];&lt;br /&gt;
			}&lt;br /&gt;
			var refName = prompt('ישנה הערת שוליים החוזרת מספר פעמים. ניתן להפנות את כל המופעים אל הערה אחת באמצעות מתן שם קצר ובעל משמעות להערה.\nאנא הזינו שם להערה הבאה:\n'+refContet, defaultRefName);&lt;br /&gt;
			if ( !refName ) continue;&lt;br /&gt;
			wikitext = wikitext.replace( refUses[0], '{{הערה|שם='+refName+'|'+refContet+'}}');&lt;br /&gt;
			for (var refI = 1; refI&amp;lt;refUses.length; refI++){&lt;br /&gt;
				wikitext = wikitext.replace( refUses[refI], '{{הערה|שם='+refName+'}}');&lt;br /&gt;
			}&lt;br /&gt;
			this.textbox.value = wikitext;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	titleOrderCheck: function(){&lt;br /&gt;
		// validates the titles order is consistent&lt;br /&gt;
		var orderedTitles = ['ראו גם', 'לקריאה נוספת', 'קישורים חיצוניים', 'הערות שוליים'], &lt;br /&gt;
			isSorted = 1,&lt;br /&gt;
			titles = $('#wpTextbox1').val().match('==\\s*'+orderedTitles.join('|')+'\\s*==','g'), i, indexes;&lt;br /&gt;
		if (!titles) return; // no such titles&lt;br /&gt;
		indexes = $.map( titles, function(e){return orderedTitles.indexOf(e.replace(/\s*==\s*/g,''))});&lt;br /&gt;
		for ( i=0; ( i &amp;lt; indexes.length-1 ) &amp;amp;&amp;amp; isSorted; i++) {	isSorted &amp;amp;= (indexes[i] &amp;lt; indexes[i+1]) };&lt;br /&gt;
		if ( !isSorted ) {&lt;br /&gt;
			this.writeMsg($('&amp;lt;div&amp;gt;מומלץ לתקן את סדר הכותרות ל: ' + orderedTitles.join(', ') + '&amp;lt;/div&amp;gt;'), 'alert' );&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	refDirSuggest: function() { // suggest adding direction for refs&lt;br /&gt;
		var wikitext = this.textbox.value,&lt;br /&gt;
			defaultDir = (/{{הערות שוליים *\| *יישור *= *שמאל}}/.exec( wikitext ))? 'ltr' : 'rtl',&lt;br /&gt;
			ltrRefRegex = /\{\{הערה\|(?:שם ?=[^|]*\|)?(?:1= *)?(?! *\[?https?:\/\/[^ ]+\]? *\}\})( *\[?[a-z][^א-ת{|]+?)\}\}/ig,&lt;br /&gt;
			rtlRefRegex = /\{\{הערה\|(?!שם ?=)(?:1= *)?([א-ת][^a-z{|]+?|\[http:[^ ]+ [א-ת][^a-z{|]+?)\}\}/ig,&lt;br /&gt;
			nonDefaultRefRegex = (defaultDir == 'rtl') ? ltrRefRegex : rtlRefRegex,&lt;br /&gt;
			uncommonDir = (defaultDir == 'rtl') ? 'שמאל' : 'ימין',&lt;br /&gt;
			m;&lt;br /&gt;
&lt;br /&gt;
		while( m = nonDefaultRefRegex.exec(wikitext))&lt;br /&gt;
		{&lt;br /&gt;
			var fixRefDirLink = $('&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;'+mw.msg( 'checkty-ref-dir-fix' )+'&amp;lt;/a&amp;gt;').data({'search': m[0]}).click(function(e){ &lt;br /&gt;
				var specificRefRgx = new RegExp('\\[\\[('+mw.util.escapeRegExp($(this).data('search'))+')(\\]\\]|\\|).+\\[\\[\\1(\\]\\]|\\|.+?\\]\\])', 'g'),&lt;br /&gt;
				wikitext = $('#wpTextbox1').val();&lt;br /&gt;
				wikitext = wikitext.replace($(this).data('search'), $(this).data('search').replace('}}', '|כיוון='+uncommonDir+'}}'));&lt;br /&gt;
				$('#wpTextbox1').val(wikitext);&lt;br /&gt;
				chectTyTool.addSummary(mw.msg('checkty-ref-dir-fix'));&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			var searchRef = this.createSearchLink(m[1]);&lt;br /&gt;
			this.writeMsg($('&amp;lt;div&amp;gt;').append(['נמצאה הערת שוליים ללא הגדרת כיווניות &amp;quot;'+m[1]+'&amp;quot; [',searchRef, '&amp;amp;nbsp;-&amp;amp;nbsp;', fixRefDirLink, ']']), 'alert');&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	overlinkify: function() {&lt;br /&gt;
		function removeOverlink(context, link){&lt;br /&gt;
			var newcontext = context;&lt;br /&gt;
			do {&lt;br /&gt;
				context = newcontext;&lt;br /&gt;
				newcontext = newcontext.replace(new RegExp('\\[\\[(' + mw.util.escapeRegExp(link)+')([^{}\n]*(?:\{\{[^{]+\}\})?(?:[^{}\n]*)(?:\n\*[^{}\n]*)?)\\[\\[\\1\\|(.+?)\\]\\]', 'g'), '[[$1$2$3');&lt;br /&gt;
				newcontext = newcontext.replace(new RegExp('\\[\\[(' + mw.util.escapeRegExp(link)+')([^{}\n]*(?:\{\{[^{]+\}\})?(?:[^{}\n]*)(?:\n\*[^{}\n]*)?)\\[\\[(\\1)\\]\\]', 'g'), '[[$1$2$3');&lt;br /&gt;
			} while( newcontext != context )&lt;br /&gt;
			return newcontext;&lt;br /&gt;
		}&lt;br /&gt;
		// using [^{}\n] as a quick hack to counting links within templates&lt;br /&gt;
		var wikitext = this.textbox.value,&lt;br /&gt;
			overlinkingRgx = /\[\[([^\[\]\|]+?)(?:\]\]|\|)[^{}\n]*(?:\{\{[^{]+\}\})?(?:[^{}\n]*)(?:\n\*[^{}\n]*)?\[\[\1(?:\]\]|\|.+?\]\])/g,&lt;br /&gt;
			m;&lt;br /&gt;
		&lt;br /&gt;
		while ( m = overlinkingRgx.exec(wikitext) )&lt;br /&gt;
		{&lt;br /&gt;
			var removeLink = $('&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;'+mw.msg( 'checkty-remove-link' )+'&amp;lt;/a&amp;gt;').data({'search': m[1]}).click(function(e){ &lt;br /&gt;
				var specificOverlinkingRgx = new RegExp('\\[\\[('+$(this).data('search')+')(\\]\\]|\\|)[^{}\n]*(?:\{\{[^{]+\}\})?(?:[^{}\n]*)(?:\n\*[^{}\n]*)?\\[\\[\\1(\\]\\]|\\|.+?\\]\\])', 'g');&lt;br /&gt;
				var wikitext = $('#wpTextbox1').val(), m;&lt;br /&gt;
				while( m = specificOverlinkingRgx.exec( wikitext ) )&lt;br /&gt;
				{&lt;br /&gt;
					wikitext = wikitext.replace(m[0], removeOverlink(m[0], m[1]));&lt;br /&gt;
				}&lt;br /&gt;
				$('#wpTextbox1').val(wikitext);&lt;br /&gt;
				chectTyTool.addSummary('הסרת קישורים עודפים');&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
			});&lt;br /&gt;
			var searchLink = this.createSearchLink( new RegExp( '\\[\\[' + mw.util.escapeRegExp(m[1]) + '(?:\\||\\]\\])' ) );&lt;br /&gt;
			this.writeMsg($('&amp;lt;div&amp;gt;').append(['נמצאו קישורים עודפים ל&amp;quot;'+m[1]+'&amp;quot; [',searchLink, '&amp;amp;nbsp;-&amp;amp;nbsp;', removeLink, ']']), 'alert');&lt;br /&gt;
			wikitext = wikitext.replace(m[0], removeOverlink(m[0], m[1]));&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	getWikidataApi: function(callback) {&lt;br /&gt;
		return new mw.ForeignApi( 'https://www.wikidata.org/w/api.php' );&lt;br /&gt;
	},&lt;br /&gt;
	extractWikidataLabelsSuggestions: function() {&lt;br /&gt;
		var suggestLabelsREen =  /(?:\[\[|\|)([א-ת' \-]+?)\]\](?: \('*([a-z][^א-ת]+?)'*\)| *\{\{אנג?\|(.+?)\}\})/gi,&lt;br /&gt;
			langLink =  /\{\{קישור שפה\|([א-ת]+)\| *([^|]+?)\| *([א-ת '\-]+?)\}\}/gi,&lt;br /&gt;
			langTable = { 'ספרדית': 'es', 'אנגלית': 'en' },&lt;br /&gt;
			self = this,&lt;br /&gt;
			text = this.textbox.value,&lt;br /&gt;
			suggestionsByLang={}, // lang -&amp;gt; { foreign title -&amp;gt; hebrew label }&lt;br /&gt;
			foreignTitles= [],&lt;br /&gt;
			m, lang, suggestions;&lt;br /&gt;
		&lt;br /&gt;
		suggestionsByLang['en'] = {};&lt;br /&gt;
		// populate suggestions&lt;br /&gt;
		while(m = suggestLabelsREen.exec(text)) suggestionsByLang['en'][m[2] || m[3]] = m[1];&lt;br /&gt;
		while(m = langLink.exec(text)) {&lt;br /&gt;
			if (!langTable.hasOwnProperty(m[1])) &lt;br /&gt;
			{&lt;br /&gt;
				console.log('wikidataLabelsSuggested: Missing lang: ' + m[1]);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			lang = langTable[m[1]]; // lang code&lt;br /&gt;
			if (!suggestionsByLang[lang]) suggestionsByLang[lang] = {};&lt;br /&gt;
			suggestionsByLang[lang][m[2]] = m[3];&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// query wikidata by lang&lt;br /&gt;
		for (lang in suggestionsByLang) {&lt;br /&gt;
			self.suggestWikidataLabelTranslate(suggestionsByLang[lang], lang);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	},&lt;br /&gt;
	suggestWikidataLabelTranslate: function(suggestions, lang) {&lt;br /&gt;
		var foreignTitles = [], batchsize = 50, self = this;&lt;br /&gt;
		for(var v in suggestions) foreignTitles.push(v);&lt;br /&gt;
		if (foreignTitles.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
		var extWikiApi = new mw.ForeignApi('//'+lang+'.wikipedia.org/w/api.php'),&lt;br /&gt;
			queries = Math.ceil(foreignTitles.length/batchsize),&lt;br /&gt;
			def = $.Deferred(), dataEntities = {}, redirects = {};&lt;br /&gt;
&lt;br /&gt;
		for(var i=0; i&amp;lt;queries; i++)&lt;br /&gt;
		{&lt;br /&gt;
			// go through enwiki API, to resolve redirects instead of direct approach with wikidataApi.getEntitiesByPage&lt;br /&gt;
			extWikiApi.get({&lt;br /&gt;
				action: 'query',&lt;br /&gt;
				titles: foreignTitles.slice(i*batchsize,(i+1)*batchsize).join('|'),&lt;br /&gt;
				redirects: 1,&lt;br /&gt;
				prop: 'pageprops',&lt;br /&gt;
				ppprop: 'wikibase_item'&lt;br /&gt;
			}).done(function(d) {&lt;br /&gt;
				for(var i in d.query.redirects) redirects[d.query.redirects[i].to]=d.query.redirects[i].from;&lt;br /&gt;
				var wikidataIds = [];&lt;br /&gt;
				for(var i in d.query.pages) if(d.query.pages[i].pageprops &amp;amp;&amp;amp; d.query.pages[i].pageprops.wikibase_item) wikidataIds.push(d.query.pages[i].pageprops.wikibase_item);&lt;br /&gt;
&lt;br /&gt;
				if (wikidataIds.length === 0) return;&lt;br /&gt;
				self.getWikidataApi().get({&lt;br /&gt;
					action: 'wbgetentities',&lt;br /&gt;
					ids: '\x1f' + wikidataIds.join( '\x1f' ),&lt;br /&gt;
					props: '\x1f' + ['labels', 'sitelinks'].join( '\x1f' ),&lt;br /&gt;
					languages: '\x1f' + ['he', lang].join( '\x1f' )&lt;br /&gt;
				}).done(function(d){&lt;br /&gt;
					queries--;&lt;br /&gt;
					$.extend(dataEntities, d.entities);&lt;br /&gt;
					if (queries === 0) def.resolve(dataEntities);&lt;br /&gt;
				});&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		def.done(function(data) {&lt;br /&gt;
			var found = false,&lt;br /&gt;
			    translations = $('&amp;lt;div&amp;gt;ייתכן שהערך מכיל תוויות חסרות לישויות בוויקינתונים:&amp;lt;/div&amp;gt;'),&lt;br /&gt;
			    langSite = lang + 'wiki'; // example: enwiki&lt;br /&gt;
			for(var en in data)&lt;br /&gt;
			{&lt;br /&gt;
				if (/^-/.exec(en)) continue;&lt;br /&gt;
				if (data[en].labels &amp;amp;&amp;amp; data[en].labels.hasOwnProperty('he')) continue; // already have hebrew label&lt;br /&gt;
				found = true;&lt;br /&gt;
				var suggestion = suggestions[data[en].sitelinks[langSite].title] || suggestions[redirects[data[en].sitelinks[langSite].title]];&lt;br /&gt;
					&lt;br /&gt;
				translations.append($('&amp;lt;li&amp;gt;').append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
								href: 'https://www.wikidata.org/wiki/'+en,&lt;br /&gt;
								text: en + ' ('+data[en].labels[lang].value+')',&lt;br /&gt;
								target:'_blank'&lt;br /&gt;
							}).data({&lt;br /&gt;
								'he': suggestion,&lt;br /&gt;
								'foreignLabel': data[en].sitelinks[langSite].title,&lt;br /&gt;
								'q': en&lt;br /&gt;
							}).click(function(){&lt;br /&gt;
								self.wikidataLabelTranslate($(this).data('q'), $(this).data('foreignLabel'), $(this).data('he'));&lt;br /&gt;
								return false;&lt;br /&gt;
							})));&lt;br /&gt;
			}&lt;br /&gt;
			if (found) self.writeMsg(translations, 'articleSearch');&lt;br /&gt;
		});&lt;br /&gt;
	},&lt;br /&gt;
	wikidataLabelTranslate: function(entityId, foreignLabel, suggestion) {&lt;br /&gt;
		var localLabel = prompt(mw.msg('checkty-set-label', foreignLabel), suggestion);&lt;br /&gt;
		if (localLabel) {&lt;br /&gt;
			this.getWikidataApi().postWithToken( 'csrf', {&lt;br /&gt;
				action: 'wbsetlabel',&lt;br /&gt;
				id: entityId,&lt;br /&gt;
				value: localLabel,&lt;br /&gt;
				language: mw.config.get('wgContentLanguage')&lt;br /&gt;
			} ).done(function(d) { if (d.success) mw.notify(mw.msg('checkty-translate-saved')); })&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	wikidataLabelsMissing: function() {&lt;br /&gt;
		var self = this, &lt;br /&gt;
			needTranslateQ = $( 'a.wb-entity-link[href*=&amp;quot;Q&amp;quot;]' )&lt;br /&gt;
				.filter( function( i, e ) { return /[a-z]/i.test( e.text ) } )&lt;br /&gt;
				.map( function() { &lt;br /&gt;
					var m=/(Q[0-9]+)/.exec(this.href); &lt;br /&gt;
					if (m) return m[0];&lt;br /&gt;
				})&lt;br /&gt;
				.toArray();&lt;br /&gt;
		if (needTranslateQ.length === 0 ) return;&lt;br /&gt;
&lt;br /&gt;
		this.getWikidataApi().get({&lt;br /&gt;
			action: 'wbgetentities',&lt;br /&gt;
			ids: '\x1f' + needTranslateQ.join( '\x1f' ),&lt;br /&gt;
			props: '\x1f' + ['labels'].join( '\x1f' ),&lt;br /&gt;
			languages: mw.config.get('wgContentLanguage')&lt;br /&gt;
		}).done( function(d) {&lt;br /&gt;
			var needTranslateIndeedQ = [];&lt;br /&gt;
			if (!d.entities) return;&lt;br /&gt;
			for(var q in d.entities) {&lt;br /&gt;
				if (d.entities[q].labels &amp;amp;&amp;amp; !d.entities[q].labels.hasOwnProperty(mw.config.get('wgContentLanguage'))) needTranslateIndeedQ.push(q);&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
			if(needTranslateIndeedQ.length === 0) return;&lt;br /&gt;
			var msg = $('&amp;lt;div&amp;gt;הישויות הבאות חסרות תווית בעברית בוויקינתונים: &amp;lt;/div&amp;gt;').append($( 'a.wb-entity-link[href*=&amp;quot;Q&amp;quot;]' ).filter( function( i, e ) { return $.inArray(/Q[0-9]+/.exec(e.href)[0], needTranslateIndeedQ)+1 } ).clone().css('margin', '0 3px'));&lt;br /&gt;
			self.writeMsg(msg, 'alert');&lt;br /&gt;
			$('a', msg).click(function(){&lt;br /&gt;
				self.wikidataLabelTranslate(/Q[0-9]+/.exec($(this).prop('href'))[0], $(this).text());&lt;br /&gt;
				return false;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
	},&lt;br /&gt;
	numberRangeDash: function(fix) {&lt;br /&gt;
		// replace minus =&amp;gt; dash foreach x-y s.t x&amp;lt;y and swap y and x otherwise. prefix/suffix requirement in regex to make sure it is within sentence&lt;br /&gt;
		var numberRangeReNoMinus = /([א-ת]'?[-\ ]*)((?:\[\[|\()?[0-9]+(?:\]\])?)-((?:\[\[)?[0-9]+)((?:\]\]|\))?[.:,]?(?:[ \|]|\n)(?!לפנה&amp;quot;ס))/g,&lt;br /&gt;
			wikitext = this.textbox.value, replacements = [],  m, i;&lt;br /&gt;
		while(m = numberRangeReNoMinus.exec(wikitext))&lt;br /&gt;
		{&lt;br /&gt;
			// note - in replacement we dont include the prefix/suffix to make consistent replacement&lt;br /&gt;
			if ( parseInt(m[2].replace(/[^0-9]/g, '')) &amp;lt;  parseInt(m[3].replace(/[^0-9]/g, '')) ) {&lt;br /&gt;
				replacements.push([m[1]+m[2] + '-' + m[3], m[1]+m[2] + '–' + m[3]]);&lt;br /&gt;
			}&lt;br /&gt;
			else if ( (parseInt(m[2].replace(/[^0-9]/g, '')) &amp;gt;  parseInt(m[3].replace(/[^0-9]/g, ''))) &amp;amp;&amp;amp; (/^[0-9]+$/.test(m[2])) &amp;amp;&amp;amp; (/^[0-9]+$/.test(m[3])) ) {&lt;br /&gt;
				replacements.push([m[1]+m[2] + '-' + m[3], m[1]+m[3] + '–' + m[2]]);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (replacements.length === 0) return;&lt;br /&gt;
		if (fix) {&lt;br /&gt;
			for(i = 0; i &amp;lt; replacements.length; i++) {&lt;br /&gt;
				wikitext = wikitext.replace(new RegExp(mw.util.escapeRegExp(replacements[i][0]), 'g'), replacements[i][1]);&lt;br /&gt;
			}&lt;br /&gt;
			this.textbox.value = wikitext;&lt;br /&gt;
			this.addSummary( 'קו מפריד בטווח מספרים' );&lt;br /&gt;
		} else {&lt;br /&gt;
			this.writeMsg($('&amp;lt;div&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;'+mw.msg( 'checkty-fix-numberRangeDash' )+'&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;').click(function(e){  chectTyTool.numberRangeDash(true); e.preventDefault(); }));&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	//original version from http://code.google.com/p/proveit-js/source/browse/ProveIt_Wikipedia.js#384&lt;br /&gt;
	//thanks to Georgia Tech Research Corporation. Atlanta, GA 30332-0415&lt;br /&gt;
	highlightString: function (toFind) {&lt;br /&gt;
		var txtArea = $('#wpTextbox1');&lt;br /&gt;
		// cast to string if this is regex&lt;br /&gt;
		if ( RegExp.prototype.isPrototypeOf(toFind) ) {&lt;br /&gt;
			toFind = toFind.exec(txtArea.val());&lt;br /&gt;
			if (!toFind) return;&lt;br /&gt;
			toFind = toFind[0];&lt;br /&gt;
		}&lt;br /&gt;
		var nextPlace = txtArea.val().indexOf(toFind, txtArea.textSelection('getCaretPosition') + 1);&lt;br /&gt;
		if (nextPlace === -1) nextPlace = txtArea.val().indexOf(toFind); //start from begining&lt;br /&gt;
		if (nextPlace === -1) return; //not found... nothing to do&lt;br /&gt;
		var origText = txtArea.val();&lt;br /&gt;
		txtArea.val(origText.substring(0, nextPlace));&lt;br /&gt;
		txtArea.focus();&lt;br /&gt;
		txtArea.scrollTop(1000000); //Larger than any real textarea (hopefully)&lt;br /&gt;
		var curScrollTop = txtArea.scrollTop();&lt;br /&gt;
		txtArea.val(origText);&lt;br /&gt;
		if (curScrollTop &amp;gt; 0) {&lt;br /&gt;
			var HALF_EDIT_BOX_HEIGHT = 200;&lt;br /&gt;
			txtArea.scrollTop(curScrollTop + HALF_EDIT_BOX_HEIGHT);&lt;br /&gt;
		}&lt;br /&gt;
		txtArea.focus().textSelection('setSelection', {&lt;br /&gt;
			start: nextPlace,&lt;br /&gt;
			end: nextPlace + toFind.length&lt;br /&gt;
		});&lt;br /&gt;
	},&lt;br /&gt;
	addAuthorityControl: function(v) {&lt;br /&gt;
		var t = this.textbox.value,&lt;br /&gt;
		acTemplate = /\{\{בקרת זהויות[\}|]/g,&lt;br /&gt;
		artsTitle = /== *(?:מ?ספרי[הו]|מ?יצירותי[הו]|מ?חיבורי[הו]|פילמוגרפיה.*|(?:מבחר)? (?:כתבי)|דיסקוגרפיה|יצירות) *==/, //cheap hint for art occuption in text&lt;br /&gt;
		artsCategory = /\[\[קטגוריה:(מוזיקאיות|מוזיקאים|זמרות|זמרים|סופרים|סופרות|ציירות|ציירים|במאי|רבנים|רבניות)(?!.+\*)/; //cheap hint for art occuption in category&lt;br /&gt;
		if ( acTemplate.exec( t ) ) return; // AC already exist&lt;br /&gt;
		if ( !artsTitle.exec( t ) &amp;amp;&amp;amp; !artsCategory.exec( t ) ) return; // no hint will have authority control&lt;br /&gt;
		this.getWikidataApi().get({&lt;br /&gt;
			action: 'wbgetentities',&lt;br /&gt;
			languages: 'he',&lt;br /&gt;
			sites: mw.config.get('wgDBname'),&lt;br /&gt;
			titles: mw.config.get('wgPageName'),&lt;br /&gt;
			props: '\x1f' + ['claims', 'info'].join( '\x1f' )&lt;br /&gt;
		}).done(function(d){&lt;br /&gt;
			var hasAC = false, &lt;br /&gt;
			authControlProps = [ 'P3372', 'P864', 'P1907', 'P6804', 'P2558', 'P4186', 'P3293', 'P1015', 'P2092', 'P1890', 'P950', 'P268', 'P428', 'P651', 'P1273', 'P271', 'P1908', 'P1707', 'P2456', 'P2349', 'P6792', 'P227', 'P902', 'P1146', 'P396', 'P1736', 'P213', 'P347', 'P1248', 'P244', 'P886', 'P1368', 'P640', 'P434', 'P982', 'P1330', 'P966', 'P1004', 'P436', 'P1407', 'P435', 'P549', 'P1225', 'P1048', 'P349', 'P2041', 'P691', 'P409', 'P3348', 'P949', 'P5034', 'P1695', 'P1003', 'P1375', 'P1006', 'P496', 'P2750', 'P1053', 'P3065', 'P650', 'P350', 'P947', 'P906', 'P781', 'P3430', 'P269', 'P4012', 'P1323', 'P7314', 'P1693', 'P3544', 'P1694', 'P1362', 'P1315', 'P6213', 'P245', 'P1157', 'P8034', 'P214', 'P7859' ],&lt;br /&gt;
			entityId, entity;&lt;br /&gt;
			for (entityId in d.entities) { entity = d.entities[entityId]; };&lt;br /&gt;
			if (!entityId) return; // no entity&lt;br /&gt;
&lt;br /&gt;
			if (entity.hasOwnProperty('claims')) authControlProps.forEach(function(p) { hasAC |= entity.claims.hasOwnProperty(p); })&lt;br /&gt;
			if (hasAC) {&lt;br /&gt;
				chectTyTool.addAuthorityControlTemplate();&lt;br /&gt;
			}&lt;br /&gt;
			chectTyTool.viafSearch(entity, entityId, hasAC);&lt;br /&gt;
		});&lt;br /&gt;
	},&lt;br /&gt;
	viafSearch: function(entity, entityId, hasAC){&lt;br /&gt;
		if (entity.hasOwnProperty('claims') &amp;amp;&amp;amp; entity.claims.hasOwnProperty('P214')) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		$.getJSON('https://www.viaf.org/viaf/AutoSuggest?callback=?&amp;amp;' + $.param({query: mw.config.get('wgTitle').replace(/ \([^()]+\)$/, '')})).done( function(d) { &lt;br /&gt;
			if (!d.result || d.result.length === 0) return;&lt;br /&gt;
			var viafOptions = $('&amp;lt;div&amp;gt;לערך זה אין בקרת זהויות ומזהה VIAF. ייתכן שיש דף מקביל ב-VIAF&amp;lt;/div&amp;gt;');&lt;br /&gt;
			for (var i = 0; i &amp;lt; d.result.length; i++) {&lt;br /&gt;
				var viafLink = $('&amp;lt;a&amp;gt;', {&lt;br /&gt;
					href: 'https://viaf.org/viaf/' + d.result[i].viafid,&lt;br /&gt;
					target: '_blank'&lt;br /&gt;
				}).text(d.result[i].term),&lt;br /&gt;
				viafAddLink = $('&amp;lt;a&amp;gt;', {&lt;br /&gt;
					href: '#'&lt;br /&gt;
				}).text('הוספה').data({ 'viaf': d.result[i].viafid }).click(function(e){ &lt;br /&gt;
					var viafId = $(this).data('viaf');&lt;br /&gt;
					&lt;br /&gt;
					chectTyTool.createClaim(entityId, entity.lastrevid, 'value', 'P214', viafId);&lt;br /&gt;
					if (!hasAC) chectTyTool.addAuthorityControlTemplate();&lt;br /&gt;
					e.preventDefault();&lt;br /&gt;
&lt;br /&gt;
				});&lt;br /&gt;
				viafOptions.append($('&amp;lt;li&amp;gt;').append(viafLink, ' - ', viafAddLink));&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
			chectTyTool.writeMsg(viafOptions);&lt;br /&gt;
		} );&lt;br /&gt;
	},&lt;br /&gt;
	createClaim: function ( entityId, baseRevId, snakType, propertyId, value ) {&lt;br /&gt;
		if (&lt;br /&gt;
			typeof entityId !== 'string'&lt;br /&gt;
			|| typeof baseRevId !== 'number'&lt;br /&gt;
			|| typeof snakType !== 'string'&lt;br /&gt;
			|| typeof propertyId !== 'string'&lt;br /&gt;
			|| value &amp;amp;&amp;amp; typeof value !== 'string' &amp;amp;&amp;amp; typeof value !== 'object'&lt;br /&gt;
		) {&lt;br /&gt;
			throw new Error( 'Parameter not specified properly' );&lt;br /&gt;
		}&lt;br /&gt;
		var params = {&lt;br /&gt;
			action: 'wbcreateclaim',&lt;br /&gt;
			entity: entityId,&lt;br /&gt;
			baserevid: baseRevId,&lt;br /&gt;
			snaktype: snakType,&lt;br /&gt;
			property: propertyId&lt;br /&gt;
		};&lt;br /&gt;
		if ( value ) {&lt;br /&gt;
			params.value = JSON.stringify( value );&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		return this.getWikidataApi().postWithToken( 'csrf', params );&lt;br /&gt;
	},&lt;br /&gt;
	addAuthorityControlTemplate: function(){&lt;br /&gt;
		var t = this.textbox.value,&lt;br /&gt;
		viafTemplate = /\{\{בקרת זהויות[\}|]/g,&lt;br /&gt;
		newText;&lt;br /&gt;
		if ( viafTemplate.exec( t ) ) return; // viaf already exist&lt;br /&gt;
		newText = t.replace(/{{קצרמר/, '{{בקרת זהויות}}\n{{קצרמר'); // before stub&lt;br /&gt;
		if (newText == t) newText = t.replace(/{{מיון רגיל:/, '{{בקרת זהויות}}\n{{מיון רגיל:'); //before default sort&lt;br /&gt;
		if (newText == t) newText = t.replace(/\[\[קטגוריה:/, '{{בקרת זהויות}}\n[[קטגוריה:'); // before categories&lt;br /&gt;
		if (newText == t) newText = t += '\n{{בקרת זהויות}}';&lt;br /&gt;
		this.textbox.value = newText;&lt;br /&gt;
		this.addSummary('בקרת זהויות');&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) + 1) $(document).ready(function () {&lt;br /&gt;
	chectTyTool.origText = $('#wpTextbox1').val();&lt;br /&gt;
	var checktyBtn = new OO.ui.ButtonInputWidget({ label: 'בדיקה', title: 'צ\'קטי - כלי לבדיקת בעיות נפוצות ועוד', accessKey: (window.checkToolKey || 'e'), id:'btnCheckTool' });&lt;br /&gt;
	checktyBtn.$button.updateTooltipAccessKeys();&lt;br /&gt;
	$('#wpPreviewWidget').after(checktyBtn.$element.click(chectTyTool.run));&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadget-Checkty&amp;diff=15884</id>
		<title>מדיה ויקי:Gadget-Checkty</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadget-Checkty&amp;diff=15884"/>
		<updated>2020-11-07T17:47:29Z</updated>

		<summary type="html">&lt;p&gt;Neriah: גרסה אחת יובאה: ייבוא מויקיפדיה. ראה ברשימת התורמים בגרסאות קודמות שם. משוחרר ברישיון זהה לרישיון שם&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[שיחת מדיה ויקי:Gadget-Checkty|הוספת כפתור לבדיקת בעיות סגנון ולשון]] נפוצות, להחלפות של בוט ההחלפות, תיקון קישורים ועוד &amp;lt;span style=&amp;quot;color: red;font-size:70%&amp;quot;&amp;gt;לא תואם לגאדג'ט &amp;quot;wikEd&amp;quot;{{כ}}&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadgets-definition&amp;diff=15882</id>
		<title>מדיה ויקי:Gadgets-definition</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadgets-definition&amp;diff=15882"/>
		<updated>2020-11-07T17:46:12Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== עריכה ==&lt;br /&gt;
* editIntro[ResourceLoader]|editIntro.js&lt;br /&gt;
* TemplatesExternalLinks[ResourceLoader|dependencies=jquery.ui,jquery.textSelection]|TemplatesExternalLinks.js&lt;br /&gt;
* Checkty[ResourceLoader|dependencies=mediawiki.util,oojs-ui-widgets,mediawiki.util|type=general]|Checkty.js|Checkty.css&lt;br /&gt;
&lt;br /&gt;
==עורך_חזותי==&lt;br /&gt;
* VeExtendedBar[ResourceLoader|dependencies=ext.visualEditor.desktopArticleTarget.init]|VeExtendedBar.js&lt;br /&gt;
&lt;br /&gt;
== עיצוב ==&lt;br /&gt;
* moveVectorMenuToTabs[ResourceLoader|skins=vector]|moveVectorMenuToTabs.js&lt;br /&gt;
* FixedMenu[ResourceLoader|skins=vector]|FixedMenu.css&lt;br /&gt;
* FixedSidebar[ResourceLoader|skins=vector]|FixedSidebar.css&lt;br /&gt;
* refStyle[ResourceLoader|dependencies=mediawiki.util,jquery.cookie]|refStyle.js&lt;br /&gt;
* CiteTooltip[ResourceLoader|dependencies=jquery.tipsy,mediawiki.user|default]|CiteTooltip.js&lt;br /&gt;
* ExternalLinkIcon[ResourceLoader|default]|ExternalLinkIcon.css&lt;br /&gt;
* foldPortalMenus[ResourceLoader|type=general]|foldPortalMenus.js|foldPortalMenus.css&lt;br /&gt;
* hideRollback[ResourceLoader|rights=patrol]|hideRollback.css&lt;br /&gt;
&lt;br /&gt;
== ניטור ==&lt;br /&gt;
* RestoreWarnings[ResourceLoader|dependencies=mediawiki.util,mediawiki.user]|RestoreWarnings.js&lt;br /&gt;
* DeleteRequest[ResourceLoader|dependencies=mediawiki.util,jquery.ui]|DeleteRequest.js&lt;br /&gt;
* rollBackSummary[ResourceLoader|dependencies=mediawiki.util|rights=patrol]|rollBackSummary.js&lt;br /&gt;
* rcPatrol[ResourceLoader|rights=patrol|dependencies=mediawiki.util]|rcPatrol.js&lt;br /&gt;
&lt;br /&gt;
== שונות ==&lt;br /&gt;
* feedback[ResourceLoader|dependencies=mediawiki.util|type=general|default]|feedback.js|feedback.css&lt;br /&gt;
* ExternalLinkNewTab[ResourceLoader]|ExternalLinkNewTab.js&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
hidden: those gadgets are loaded with &amp;quot;hidden&amp;quot; rights, which no user has. this means nobody sees them in the menu, and they are not loaded for anyone. however, the gadget &amp;quot;ext.gadgets-XXXX&amp;quot; is created, and can be loaded by calling mw.loader.load() or mw.loader.using(). all the RL features such as dependencies are handled by RL like any other gadget&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* pgnViewer[ResourceLoader|dependencies=mediawiki.api,jquery.ui.tabs,jquery.ui.slider|rights=hidden]|pgnviewer.js|pgnviewer.css&lt;br /&gt;
* WLM-draft[ResourceLoader|dependencies=mediawiki.user,mediawiki.api.messages,mediawiki.jqueryMsg,mediawiki.util|rights=hidden]|WLM-draft.js|WLM.css&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%95%D7%99%D7%A7%D7%99%D7%A1%D7%95%D7%92%D7%99%D7%94:%D7%91%D7%A7%D7%A9%D7%95%D7%AA_%D7%9E%D7%9E%D7%A4%D7%A2%D7%99%D7%9C%D7%99%D7%9D&amp;diff=15881</id>
		<title>ויקיסוגיה:בקשות ממפעילים</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%95%D7%99%D7%A7%D7%99%D7%A1%D7%95%D7%92%D7%99%D7%94:%D7%91%D7%A7%D7%A9%D7%95%D7%AA_%D7%9E%D7%9E%D7%A4%D7%A2%D7%99%D7%9C%D7%99%D7%9D&amp;diff=15881"/>
		<updated>2020-11-07T17:44:59Z</updated>

		<summary type="html">&lt;p&gt;Neriah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{קיצור דרך|וק:במ}}&lt;br /&gt;
==בקשות חסימה / הסרת חסימה==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות הגנה / הסרת הגנה ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות מחיקת גרסאות מסוימות ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות עריכת דף מוגן או הודעת מערכת ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות העברת דף תוך כדי מחיקת דף אחר / העברת קובץ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות אחרות ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשת הרשאות ==&lt;br /&gt;
* {{הרשאות|נריה קלר}} מפעיל ועורך ממשק. אני רוצה לעזור בשיפור הממשק. מתייג את: {{א|א.א.}}, {{א|מגזין יהלום}} (אם אתה יכול לתת את ההרשאה). תודה מראש! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 18:47, 2 בנובמבר 2020 (IST)&lt;br /&gt;
*:{{א|נריה קלר}} יבוצע עכשיו. הרשאת עורך ממשק מספיקה. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 19:15, 2 בנובמבר 2020 (IST)&lt;br /&gt;
*::{{א|מגזין יהלום}} ? [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 14:36, 4 בנובמבר 2020 (IST)&lt;br /&gt;
:::?. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 14:50, 4 בנובמבר 2020 (IST)&lt;br /&gt;
::::אני שאלתי אם אתה מטפל בזה או שרק בירוקרט יכול. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 14:54, 4 בנובמבר 2020 (IST)&lt;br /&gt;
:::::{{א|נריה קלר}} בהרשאה?. לא. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 14:59, 4 בנובמבר 2020 (IST)&lt;br /&gt;
::::::{{א|נריה קלר}} עכשיו כן. אבל צריך אישור מ.א.א [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:14, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::אתה יכול להחזיר לי את ההרשאה? אני פשוט לא הספקתי ליבא את מה שרציתי. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:32, 5 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::{{א|נריה קלר}} בוצע. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 13:48, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::תודה רבה! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:19, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::{{א|מגזין יהלום}} ו{{א|א.א}}, אפשר גם מפעיל כי אני לא יכול לייבא עכשיו במהירות דרך דף מיוחד? תודה רבה! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:22, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::אני חושב שאתה יכול. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:24, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::צודק. אתן לך. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:25, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::אטפל בזה בעזרת השם במוצ&amp;quot;ש. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:36, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::::טוב. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:55, 6 בנובמבר 2020 (IST)&lt;br /&gt;
* {{הרשאות|דוגקן}} מפעיל מערכת (למרות שאני חדש) ועורך ממשק (לייבוא את הגאדג'טים). [[משתמש:דוגקן|דוגקן]] ([[שיחת משתמש:דוגקן|שיחה]]) 18:04, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::::{{א|דוגקן}} כבר ייבאתי את הגאדג'טים. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 18:24, 7 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::::::אני מתכוון לייבא עוד גאדג'טים. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 18:49, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::::::אילו?. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 19:13, 7 בנובמבר 2020 (IST)&lt;br /&gt;
{{שבירה|:::::::::::::::::}}בדיקת זכות הצבעה, הוספת קישורים וצ'קטי. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 19:14, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::::::::יש, אבל זה לא עובד. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 19:19, 7 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::::::::::אוקיי, אתה יכול להוסיף את הצ'קטי. &amp;lt;span style=&amp;quot;color: red; font-weight:800; font-family: serif;&amp;quot;&amp;gt; דוגקן&amp;lt;/span&amp;gt; • [[משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#2D85GG;&amp;quot;&amp;gt; דוגקון&amp;lt;/span&amp;gt;''']]  • [[שיחת משתמש:דוגקן|'''&amp;lt;span style=&amp;quot;color:#000080;&amp;quot;&amp;gt;הודעה&amp;lt;/span&amp;gt;''']] • [[מיוחד:תרומות/דוגקן|תרומותי]] 19:40, 7 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::::::::::אוקיי. אני מייבא. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 19:44, 7 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%A2%D7%9E%D7%95%D7%93_%D7%A8%D7%90%D7%A9%D7%99&amp;diff=15878</id>
		<title>עמוד ראשי</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%A2%D7%9E%D7%95%D7%93_%D7%A8%D7%90%D7%A9%D7%99&amp;diff=15878"/>
		<updated>2020-11-07T17:43:46Z</updated>

		<summary type="html">&lt;p&gt;Neriah: שינה את רמת ההגנה של הדף &amp;quot;עמוד ראשי&amp;quot;: דף בשימוש רב ([עריכה=רק מפעילי מערכת מורשים] (בלתי מוגבלת בזמן) [העברה=רק מפעילי מערכת מורשים] (בלתי מוגבלת בזמן))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__ללא_תוכן_עניינים__&lt;br /&gt;
{| style=&amp;quot;width: 99%; margin: auto;&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
&amp;lt;!-- right side --&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:65%; min-width: 350px;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 120%;  line-height: 1.3&amp;quot;&amp;gt;[[ויקיסוגיה:ברוכים הבאים|ברוכים הבאים]] ל[[ויקיסוגיה:אודות|ויקיסוגיה!]]&amp;lt;/div&amp;gt;&lt;br /&gt;
'''ויקיסוגיה היא [[ויקיסוגיה:ויקיסוגיה|יצירה תורנית שיתופית]], בה כל אחד יכול לכתוב ולערוך.&lt;br /&gt;
&amp;lt;br/&amp;gt;'''יחד''' אנו יוצרים מאגר חופשי, מקיף ומקצועי לסוגיות הש&amp;quot;ס והפוסקים.'''&lt;br /&gt;
&lt;br /&gt;
עד עכשיו נכתבו בויקיסוגיה [[מיוחד:Statistics|{{NUMBEROFARTICLES}} סוגיות]].&lt;br /&gt;
&lt;br /&gt;
{|width=50% style=&amp;quot;border: 1px solid rgb(207, 207, 255); padding: 0.5em 1em 0em;background-color:#F6F6FF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|גם אתם יכולים לכתוב סוגיה באתר:&lt;br /&gt;
&amp;lt;inputbox&amp;gt;&lt;br /&gt;
type=create&lt;br /&gt;
width=30&lt;br /&gt;
Break=no&lt;br /&gt;
placeholder=כתוב כאן את שם הסוגיה שלך&lt;br /&gt;
bgcolor=#F6F6FF&lt;br /&gt;
buttonlabel=צור סוגיה חדשה&lt;br /&gt;
&amp;lt;/inputbox&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|אפשר גם לפתוח דיון בכל סוגיה שהיא - לשאול, להעיר או לחדש חידוש:&lt;br /&gt;
&amp;lt;inputbox&amp;gt;&lt;br /&gt;
type=create&lt;br /&gt;
width=60&lt;br /&gt;
Break=no&lt;br /&gt;
placeholder=כתוב כאן את שם הסוגיה שלך&lt;br /&gt;
bgcolor=#F6F6FF&lt;br /&gt;
buttonlabel=פתח דיון חדש&lt;br /&gt;
prefix=שיחה:&lt;br /&gt;
&amp;lt;/inputbox&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; | אם אתם חדשים, כדאי להתחיל עם [[ויקיסוגיה:ויקיסוגיה צעד אחר צעד|'''הדרכה קצרה''']]. ניתן גם להיעזר בדפי ה[[עזרה:תפריט ראשי|'''עזרה''']].&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR/&amp;gt;{{עמוד ראשי/נושאים}}&lt;br /&gt;
&amp;lt;BR/&amp;gt;&lt;br /&gt;
{{עמוד ראשי/ניווט ספרים}}&lt;br /&gt;
&amp;lt;!-- left side --&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
{{עמוד ראשי/תיבה|&lt;br /&gt;
כותרת=סוגיות אקטואליות|&lt;br /&gt;
תוכן=&lt;br /&gt;
#[[זמן הדלקת נרות חנוכה]]&lt;br /&gt;
#[[כבתה אין זקוק לה ואסור להשתמש לאורה]]&lt;br /&gt;
#[[שמנים ופתילות הכשרים לחנוכה]]&lt;br /&gt;
#[[מקום הדלקת נר חנוכה]]&lt;br /&gt;
#[[עשרה טפחים בנר חנוכה]]&lt;br /&gt;
#[[מותר השמן מן החנוכיה]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
{{גודל|3|'''[[:קטגוריה:חנוכה|כל הסוגיות על '''חנוכה''']]''' [[קובץ:1leftarrow.png|20px|קישור=:קטגוריה:חנוכה]]}}&lt;br /&gt;
|&lt;br /&gt;
צבע=צהוב|&lt;br /&gt;
}}&lt;br /&gt;
{{עמוד ראשי/תיבה|&lt;br /&gt;
כותרת=סוגיות אחרונות|&lt;br /&gt;
תוכן={{מיוחד:NewestPages/-/10}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
{{גודל|3|'''[[מיוחד:allpages|'''לרשימת כל הסוגיות''']]''' [[קובץ:1leftarrow.png|20px|קישור=מיוחד:allpages]]}}&lt;br /&gt;
|&lt;br /&gt;
צבע=כחול|&lt;br /&gt;
}}&lt;br /&gt;
{{עמוד ראשי/תיבה|&lt;br /&gt;
כותרת=דיונים אחרונים|&lt;br /&gt;
תוכן={{מיוחד:NewestPages/talk/10}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
{{גודל|3|'''[[מיוחד:Allpages/שיחה:|'''לרשימת כל הדיונים''']]''' [[קובץ:1leftarrow.png|20px|קישור=מיוחד:allpages]]}}&lt;br /&gt;
|&lt;br /&gt;
צבע=סגול|&lt;br /&gt;
}}&lt;br /&gt;
{{עמוד ראשי/הסכמות והמלצות}}&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Accmailtitle&amp;diff=15877</id>
		<title>מדיה ויקי:Accmailtitle</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Accmailtitle&amp;diff=15877"/>
		<updated>2020-11-07T17:42:37Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;הסיסמה נשלחה&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;הסיסמה נשלחה&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%95%D7%99%D7%A7%D7%99%D7%A1%D7%95%D7%92%D7%99%D7%94:%D7%91%D7%A7%D7%A9%D7%95%D7%AA_%D7%9E%D7%9E%D7%A4%D7%A2%D7%99%D7%9C%D7%99%D7%9D&amp;diff=15859</id>
		<title>ויקיסוגיה:בקשות ממפעילים</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%95%D7%99%D7%A7%D7%99%D7%A1%D7%95%D7%92%D7%99%D7%94:%D7%91%D7%A7%D7%A9%D7%95%D7%AA_%D7%9E%D7%9E%D7%A4%D7%A2%D7%99%D7%9C%D7%99%D7%9D&amp;diff=15859"/>
		<updated>2020-11-06T13:36:49Z</updated>

		<summary type="html">&lt;p&gt;Neriah: /* בקשת הרשאות */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{קיצור דרך|וק:במ}}&lt;br /&gt;
==בקשות חסימה / הסרת חסימה==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות הגנה / הסרת הגנה ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות מחיקת גרסאות מסוימות ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות עריכת דף מוגן או הודעת מערכת ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות העברת דף תוך כדי מחיקת דף אחר / העברת קובץ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשות אחרות ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== בקשת הרשאות ==&lt;br /&gt;
* {{הרשאות|נריה קלר}} מפעיל ועורך ממשק. אני רוצה לעזור בשיפור הממשק. מתייג את: {{א|א.א.}}, {{א|מגזין יהלום}} (אם אתה יכול לתת את ההרשאה). תודה מראש! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 18:47, 2 בנובמבר 2020 (IST)&lt;br /&gt;
*:{{א|נריה קלר}} יבוצע עכשיו. הרשאת עורך ממשק מספיקה. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 19:15, 2 בנובמבר 2020 (IST)&lt;br /&gt;
*::{{א|מגזין יהלום}} ? [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 14:36, 4 בנובמבר 2020 (IST)&lt;br /&gt;
:::?. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 14:50, 4 בנובמבר 2020 (IST)&lt;br /&gt;
::::אני שאלתי אם אתה מטפל בזה או שרק בירוקרט יכול. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 14:54, 4 בנובמבר 2020 (IST)&lt;br /&gt;
:::::{{א|נריה קלר}} בהרשאה?. לא. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 14:59, 4 בנובמבר 2020 (IST)&lt;br /&gt;
::::::{{א|נריה קלר}} עכשיו כן. אבל צריך אישור מ.א.א [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:14, 5 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::אתה יכול להחזיר לי את ההרשאה? אני פשוט לא הספקתי ליבא את מה שרציתי. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 21:32, 5 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::{{א|נריה קלר}} בוצע. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 13:48, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::תודה רבה! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:19, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::{{א|מגזין יהלום}} ו{{א|א.א}}, אפשר גם מפעיל כי אני לא יכול לייבא עכשיו במהירות דרך דף מיוחד? תודה רבה! [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:22, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::אני חושב שאתה יכול. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:24, 6 בנובמבר 2020 (IST)&lt;br /&gt;
::::::::::::צודק. אתן לך. [[משתמש:מגזין יהלום|מגזין יהלום]] ([[שיחת משתמש:מגזין יהלום|שיחה]]) 15:25, 6 בנובמבר 2020 (IST)&lt;br /&gt;
:::::::::::::אטפל בזה בעזרת השם במוצ&amp;quot;ש. [[משתמש:נריה קלר|נריה קלר]] ([[שיחת משתמש:נריה קלר|שיחה]]) 15:36, 6 בנובמבר 2020 (IST)&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Addedwatchtext&amp;diff=15858</id>
		<title>מדיה ויקי:Addedwatchtext</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Addedwatchtext&amp;diff=15858"/>
		<updated>2020-11-06T13:33:17Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;הדף &amp;quot;:$1&amp;quot; ודף השיחה שלו נוספו לרשימת המעקב שלך.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;הדף &amp;quot;[[:$1]]&amp;quot; ודף השיחה שלו נוספו ל[[Special:Watchlist|רשימת המעקב]] שלך.&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
	<entry>
		<id>https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Activeusers-intro&amp;diff=15857</id>
		<title>מדיה ויקי:Activeusers-intro</title>
		<link rel="alternate" type="text/html" href="https://www.betmidrash.org.il/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Activeusers-intro&amp;diff=15857"/>
		<updated>2020-11-06T13:32:56Z</updated>

		<summary type="html">&lt;p&gt;Neriah: יצירת דף עם התוכן &amp;quot;זוהי רשימת המשתמשים שביצעו פעולה כלשהי {{PLURAL:$1|ביום האחרון|ביומיים האחרונים|ב־$1 הימים הא...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;זוהי רשימת המשתמשים שביצעו פעולה כלשהי {{PLURAL:$1|ביום האחרון|ביומיים האחרונים|ב־$1 הימים האחרונים}}.&lt;/div&gt;</summary>
		<author><name>Neriah</name></author>
	</entry>
</feed>