מדיה ויקי:Monobook.js

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/*

הקוד הבא נכתב במקור על-ידי NikeRabbit בוויקיפדיה הפינית. הקוד שונה ע"י גיא ב-19 במאי 2006 כדי להתאימו לצורכי הוויקימילון העברי. הקוד מאפשר להוסיף טקסט לתיבת העריכה, בדומה ל-charinsert (תג המובנה בתוך מדיה-ויקי), רק שבעזרתו הקישור להוספת הטקסט יכול להיות טקסט אחר, וכן ניתן לעשות שימוש ב-balloon tips להסברים.
כלומר, ניתן ליצור קישור שייראה למשתמש כ"שלום", קישור זה יוסיף את המילה "Shalom" (באנגלית) לתיבת הטקסט וכאשר יעבור המשתמש מעל הקישור יופיע balloon tip שבו יהיה כתוב "הוסף את המילה Shalom".
בעת הוספת הקוד לוויקימילון, הוא נועד לשימוש בטבלה "הוספת תווים מיוחדים" אשר ב-MediaWiki:Edittools.

*/

/* התחלת קוד הניקוד */

var btb_area = 'bottom-toolbar';
var btb_sc = 'bottom-toolbar-sc';
var btb_i_sc = 'special-character';

var ua = navigator.userAgent.toLowerCase(); // Get client info
var is_ie = ((ua.indexOf('msie')!=-1) && (ua.indexOf('opera')==-1));

/* Call our initializer */
$(main_buttons);

function main_buttons() {
 area = document.getElementById(btb_area);

 /* Don't waste time trying now */
 if (!area) return;

 addSpecialCharacter('ּ', 'דגש / שורוק', 'כּ');
 addSpecialCharacter('ֹ', 'חולם מלא או חסר', ' וֹ ‏');
 addSpecialCharacter('ׁ', 'ש ימנית', 'שׁ');
 addSpecialCharacter('ׂ', 'ש שמאלית', 'שׂ');
 addSpecialCharacter('ָ', 'קמץ', 'אָ');
 addSpecialCharacter('ַ', 'פתח', 'אַ');
 addSpecialCharacter('ֶ', 'סגול', 'אֶ');
 addSpecialCharacter('ֵ', 'צירה', 'אֵ');
 addSpecialCharacter('ִ', 'חיריק', 'אִ');
 addSpecialCharacter('ֳ', 'חטף קמץ', 'אֳ');
 addSpecialCharacter('ֲ', 'חטף פתח', 'אֲ');
 addSpecialCharacter('ֱ', 'חטף סגול', 'אֱ');
 addSpecialCharacter('ְ', 'שווא', 'אְ');
 addSpecialCharacter('ֻ', 'קובוץ', 'אֻ');

}

function addSpecialCharacter(f1, ftitle, fhow) {
 k = document.getElementById(btb_sc);
 if ( k ) {
  if ( !is_ie ) {
   mySpan = document.createElement('span');
   myText = document.createTextNode(fhow);
   mySpan.appendChild(myText);

   myOnClick = document.createAttribute('onclick');
   myOnClick.nodeValue = "insertTags('" + f1 + "', '', '')";
   mySpan.setAttributeNode(myOnClick);

   myClass = document.createAttribute('class');
   myClass.nodeValue = btb_i_sc;
   mySpan.setAttributeNode(myClass);

   myTitle = document.createAttribute('title');
   myTitle.nodeValue = ftitle;
   mySpan.setAttributeNode(myTitle);

   myStyle = document.createAttribute('style');
   myStyle.nodeValue = "background-color: #C1D4EE; cursor: hand;";
   mySpan.setAttributeNode(myStyle);

   // Some spacing
   k.appendChild(document.createTextNode(' '));
   k.appendChild(mySpan);

  } else {
   // The nonstandard way
   k.innerHTML += " <span onClick=\"javascript:insertTags('" + f1 + "','','');\" class=\"" + btb_i_sc + "\" title=\"" + ftitle + "\" style=\"background-color: #C1D4EE; cursor: hand; \" >" + fhow + "</span> ";
  }
 }
}

/* סוף קוד הניקוד */


/*
**********
הרחבת שורת הלחצנים מעל לתיבת העריכה
**********
*/
jQuery(document).ready(InsertButtonsToToolBar);

/* הגדרת הפונקציה להרחבת סרגל הכלים. */
function InsertButtonsToToolBar()
{
 tooly = document.getElementById('toolbar');
 if (tooly != null) 
{
/* הגדרת כפתור הערת שוליים */
  RefButton = "<a href=\"javascript:insertTags('<ref>', '</ref>', 'הערת שוליים');\"><img src=\"//upload.wikimedia.org/wikipedia/he/a/ac/Button_ref.PNG\" alt=\"הוספת הערת שוליים\"></a>";

/* הגדרת כפתור קו מחיקה. */
StrikeTextButton = "<a href=\"javascript:insertTags('<s>','</s>','טקסט מחוק');\"><img src=\"//upload.wikimedia.org/wikipedia/meta/c/c9/Button_strike.png\" alt=\"טקסט מחוק\"></a>";

/* הגדרת כפתור ישור לשמאל. */
  LeftTexttButton = "<a href=\"javascript:insertTags('<div style=&quot;text-align:left; direction:ltr;&quot;>\\n','\\n</div>','טקסט מיושר לשמאל');\"><img src=\"//upload.wikimedia.org/wikipedia/he/e/ea/Button_align_left.png\" alt=\"יישור טקסט לשמאל\"></a>";

/* הגדרת כפתור מירכוז טקסט. */
  CenterTextButton = "<a href=\"javascript:insertTags('<center>','</center>','מירכוז טקסט');\"><img src=\"//upload.wikimedia.org/wikipedia/he/5/5f/Button_center.png\" alt=\"מירכוז טקסט\"></a>";

/* הגדרת כפתור הוספת טבלה בסיסית. */
  TableButton = "<a href=\"javascript:insertTags('\\n{| border=1 \\n|- \\n| עמודה1 || עמודה2 \\n|- \\n| עמודה3 || עמודה4','\\n|}\\n','');\"><img src=\"//upload.wikimedia.org/wikipedia/he/6/60/Button_insert_table.png\" alt=\"הוספת טבלה\"></a>";

/* הגדרת כפתור הוספת תג ירידת שורה. */
  EenterButton = "<a href=\"javascript:insertTags('</br>','','');\"><img src=\"//upload.wikimedia.org/wikipedia/he/1/13/Button_enter.png\" alt=\"שבירת שורה\"></a>";

/* הגדרת כפתור כתב עילי. */
  UpperTextButton = "<a href=\"javascript:insertTags('<sup>','</sup>','כתב עילי');\"><img src=\"//upload.wikimedia.org/wikipedia/he/8/80/Button_upper_letter.png\" alt=\"כתב עילי\"></a>";

/* הגדרת כפתור כתב תחתי. */
  LowerTextlButton = "<a href=\"javascript:insertTags('<sub>','</sub>','כתב תחתי');\"><img src=\"//upload.wikimedia.org/wikipedia/he/7/70/Button_lower_letter.png\" alt=\"כתב תחתי\"></a>";

/* הגדרת כפתור כתב אמצעי. */
  SmallTextButton = "<a href=\"javascript:insertTags('<small>','</small>','כתב מוקטן');\"><img src=\"//upload.wikimedia.org/wikipedia/he/5/58/Button_small.png\" alt=\"כתב זעיר\"></a>";

/* הגדרת כפתור הערה מוסתרת. */
  CommentButton = "<a href=\"javascript:insertTags('<!--','-->','הערה מוסתרת');\"><img src=\"//upload.wikimedia.org/wikipedia/he/3/34/Button_hide_comment.png\" alt=\"הפיכת טקסט להערה מוסתרת\"></a>";

/* הגדרת כפתור גלריה. */
  GalleryButton = "<a href=\"javascript:insertTags('\\n<gallery>\\n','\\n</gallery>','תמונה:PictureFileName.jpg|כיתוב תמונה\\nתמונה:PictureFileName.jpg|כיתוב תמונה');\"><img src=\"//upload.wikimedia.org/wikipedia/he/1/12/Button_gallery.png\" alt=\"יצירת גלריית תמונות\"></a>";

/* הגדרת כפתור כותרת - דרגה 3. */
/* חוסך מאמץ של כתיבת שש תוי שווה. */
  SecondaryHeadlineButton = "<a href=\"javascript:insertTags('\\n===','===','פסקה משנית');\"><img src=\"//upload.wikimedia.org/wikipedia/he/e/e9/Button_headline2.png\" alt=\"כותרת - דרגה 3\"></a>";

/* הגדרת כפתור הזחה. */
  ShiftingButton = "<a href=\"javascript:insertTags(':','',':');\"><img src=\"//upload.wikimedia.org/wikipedia/he/8/8e/Button_shifting.png\" alt=\"הזחת משפט לשמאל\"></a>";

/*    הגדרת כפתור ציטוט.  */
  BlockQuoteButton = "<a href=\"javascript:insertTags('<blockquote style=&quot;border:1px solid blue; padding:2em;\&quot;>\\n','\\n</blockquote>','ציטוט');\"><img src=\"//upload.wikimedia.org/wikipedia/he/f/fd/Button_blockquote.png\" alt=\"חלונית ציטוט\"></a>";

/*  הגדרת כפתור צבע חזית.  */
  FontColorButton = "<a href=\"javascript:insertTags('<font color=&quot;ColorName&quot;>','</font>','צבע חזית');\"><img src=\"//upload.wikimedia.org/wikipedia/he/1/1e/Button_font_color.png\" alt=\"צבע חזית גופן\"></a>";

/*  הגדרת כפתור קוד.  */
  CodeButton = "<a href=\"javascript:insertTags('<code>','</code>','קוד');\"><img src=\"//upload.wikimedia.org/wikipedia/commons/2/23/Button_code.png\" alt=\"תצוגת קוד\"></a>";

/*  הגדרת כפתור תת לינק.  */
  SubLinkButton = "<a href=\"javascript:insertTags('[[שם ערך#',']]','שם כותרת|שם תצוגה');\"><img src=\"//upload.wikimedia.org/wikipedia/he/9/93/Button_sub_link.png\" alt=\"תת קישור לכותרת בערך\"></a>";

/*  הגדרת כפתור הגדרת רשימת פריטים.  */
  DefinitionListCodeButton = "<a href=\"javascript:insertTags('\\n; ',' : ','פריט');\"><img src=\"//upload.wikimedia.org/wikipedia/he/d/d3/Button_definition_list.png\" alt=\"הגדרת רשימת פריטים\"></a>";

/* הוספת כל הכפתורים לסרגל כלים. */
/* הוראות שינוי עיצוב: בכדי להסיר כפתור יש להסיר את שמו ואת סימן ה+ שלפניו. בכדי לשנות את סדר הכפתורים יש להעביר את שם הכפתור למקום הנדרש, כאשר הכפתור הראשון מופיע בסרגל בצד הימני שלו והאחרון בצד השמאלי שלו. */
 tooly.innerHTML = tooly.innerHTML + RefButton + StrikeTextButton + LeftTexttButton + CenterTextButton + TableButton + EenterButton + UpperTextButton + LowerTextlButton + SmallTextButton + CommentButton + GalleryButton + SecondaryHeadlineButton + ShiftingButton + BlockQuoteButton + FontColorButton + CodeButton + SubLinkButton + DefinitionListCodeButton;
}
}


 // ============================================================
 // BEGIN Dynamic Navigation Bars (experimantal)
 
 // set up the words in your language
 var NavigationBarHide = '[הסתר]';
 var NavigationBarShow = '[הראה]';
 
 // set up max count of Navigation Bars on page,
 // if there are more, all will be hidden
 // NavigationBarShowDefault = 0; // all bars will be hidden
 // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
 var NavigationBarShowDefault = 1;
 
 
 // shows and hides content and picture (if available) of navigation bars
 // Parameters:
 //     indexNavigationBar: the index of navigation bar to be toggled
 function toggleNavigationBar(indexNavigationBar)
 {
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
    if (!NavFrame || !NavToggle) {
        return false;
    }
 
    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if (NavChild.className == 'NavPic') {
                NavChild.style.display = 'none';
            }
            if (NavChild.className == 'NavContent') {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;
 
    // if hidden now
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if (NavChild.className == 'NavPic') {
                NavChild.style.display = 'block';
            }
            if (NavChild.className == 'NavContent') {
                NavChild.style.display = 'block';
            }
        }
    NavToggle.firstChild.data = NavigationBarHide;
    }
 }
 
 // adds show/hide-button to navigation bars
 function createNavigationBarToggleButton()
 {
    var indexNavigationBar = 0;
    // iterate over all < div >-elements
    for(
            var i=0; 
            NavFrame = document.getElementsByTagName("div")[i]; 
            i++
        ) {
        // if found a navigation bar
        if (NavFrame.className == "NavFrame") {
 
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
            
            var NavToggleText = document.createTextNode(NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(
              var j=0; 
              j < NavFrame.childNodes.length; 
              j++
            ) {
              if (NavFrame.childNodes[j].className == "NavHead") {
                NavFrame.childNodes[j].appendChild(NavToggle);
              }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
    // if more Navigation Bars found than Default: hide all
    if (NavigationBarShowDefault < indexNavigationBar) {
        for(
                var i=1; 
                i<=indexNavigationBar; 
                i++
        ) {
            toggleNavigationBar(i);
        }
    }
 
 }
 
 // END Dynamic Navigation Bars
 // ============================================================

/* This code is based on [[:en:User:Omegatron/monobook.js/dashfixer.js]]. Edited by [[user:ערן]] and [[user:Yonidebest]]  */
function replaceDash(pageType) {
 switch(pageType)
 {
  case "editPage":
   var txt = document.editform.wpTextbox1;
   break;
  case "movePage":
   moveEl = document.getElementById('movepage');
   var txt = moveEl.wpNewTitle;
   break;
  case "goPage":
   goEl = document.getElementById('searchform');
   var txt = goEl.search;
   break;
 }

 // Convert ־ without spaces to Hebrew dash without spaces
 txt.value = txt.value.replace(/([^!<>\- ])(־)([^!<>\- ])/g, '$1־$3');

 return(true);
}

function initReplaceDash()
{
 saveButton = document.getElementById('wpSave');
 if (saveButton)
  saveButton.onclick = function() {replaceDash("editPage");return true;}
 previewButton = document.getElementById('wpPreview');
 if (previewButton)
  previewButton.onclick = function() {replaceDash("editPage");return true;}
 moveButton = document.getElementById('wpMove');
 if (moveButton)
  moveButton.onclick = function() {replaceDash("movePage");return true;}
 goButton = document.getElementById('searchGoButton');
 if (goButton)
  goButton.onclick = function() {replaceDash("goPage");return true;}
}

/* פונקציה להוספת קישור דפי משנה */
function SubPagesL() {
trcl = document.getElementById('t-recentchangeslinked');
 if (trcl != null) {
  prefURL=""+window.location+"/";
  if (prefURL.indexOf("/wiki/")!=-1 && prefURL.indexOf(":",7)!=-1){   prefURL=prefURL.replace("/wiki/","/wiki/%D7%9E%D7%99%D7%95%D7%97%D7%93:Prefixindex/");
   subPLink = '/ <a href="'+prefURL+'">דפי משנה</a>';
   trcl.innerHTML = trcl.innerHTML + subPLink ;
  }
 }
}

jQuery(document).ready(initReplaceDash);

$(createNavigationBarToggleButton);