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

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/* הוספת רשימת תבניות בסרגל הכלים, נכתב על ידי [[משתמש:ערן]] */
$( function() {
var templates = ["תבניות להוספה"];

var templatesText = new Array();

// add template to list of templates
function AddTemplateToList(title, before, middle, after)
{
  templates.push(title);
  templatesText[templates.length-1] = [];
  templatesText[templates.length-1][0] = before;
  templatesText[templates.length-1][1] = middle;
  templatesText[templates.length-1][2] = after;
}

// add template to list if it isn't already contained in the article text
function addSingleTemplateToList(title, before, middle, after, testRgx)
{
  if ( !document.getElementById("wpTextbox1") ) return;
  if ( testRgx && testRgx.test(document.getElementById("wpTextbox1").value) ) return;
  if ( document.getElementById("wpTextbox1").value.indexOf(before) == -1 ) AddTemplateToList (title, before, middle, after);

}

//Defines the templates
function beforeListInit()
{
switch ( mw.config.get( 'wgNamespaceNumber' ) ){
case 3://templates for User talk
addSingleTemplateToList('ברוכים הבאים!','{{ברוך הבא}' + '}--~~' + '~~','','');
addSingleTemplateToList('הזמנה להרשם','{{הזמנה}' + '}--~~' + '~~','','');
addSingleTemplateToList('ניסויים בערכים','{{ניסויים}' + '}--~~' + '~~','','');
addSingleTemplateToList('דף שיצרת נמחק','{{הסבר}' + '}--~~' + '~~','','');
addSingleTemplateToList('השחתה','{{אזהרה}' + '}--~~' + '~~','','');
break;
case 6://templates for images
AddTemplateToList('הוחלף בתמונה ווקטורית','{'+'{הוחלף בווקטור|','','}}');
AddTemplateToList('ייחוס','{'+'{ייחוס}}','','');
AddTemplateToList('כפילות עם תמונה מוויקישיתוף','{'+'{גם בוויקישיתוף}}','','');
AddTemplateToList('להחליף בתמונה ווקטורית','{'+'{SVG}}','','');
AddTemplateToList('מידע','{{'+'מידע\n|תיאור=','','\n|מקור=\n|תאריך יצירה=\n|יוצר=\n|אישורים והיתרים=\n}}');
AddTemplateToList('רישיון CC','{'+'{Cc-by-sa-3.0}}','','');
AddTemplateToList('רישיון GFDL','{'+'{GFDL}}','','');
AddTemplateToList('שימוש הוגן','{'+'{שימוש הוגן|מקור=','ציינו מקור','|ערך=}}');
AddTemplateToList('תמונה חשודה','{{ס:'+'תמונה חשודה|','ציינו סיבה','}}');
break;
case 10://templates for templates
AddTemplateToList('פרמטר','{{{','*שם הפרמטר*|*ערך ברירת מחדל*','}}}');
AddTemplateToList('קטגוריה בתבנית','{' + '{קטגוריה בתבנית|[' + '[קטגוריה:','שם_הקטגוריה',']]|ללא קטגוריה={' + '{' + '{ללא קטגוריה|}}}}}');
AddTemplateToList('קטע שיופיע רק בדף התבנית','<no'+'include>','טקסט שיופיע בתבנית ולא בדפים המשתמשים בה','</no'+'include>');
AddTemplateToList('קטע שיופיע רק בדפים המכילים את התבנית','<include'+'only>','טקסט שיופיע בדפים המשתמשים בתבנית בלבד','</include'+'only>');
AddTemplateToList('תבנית ניווט','{{ניווט'+'\n|תמונה=תמונה, כולל קישור וגודל. ברירת מחדל - ללא תמונה\n|תוכן=','','\n}}');
break;
case 14://templates for categories
AddTemplateToList('קטגוריה','\n[' + '[קטגוריה:','שם הקטגוריה',']]');
AddTemplateToList('תבנית מיזמים','{{מיזמים|ויקישיתוף=','שם הדף בוויקישיתוף','}}');
AddTemplateToList('תוכן עניינים','{{Category'+'TOC}}','','');
AddTemplateToList('קטגורית שורש','{'+'{:','שרש',' (שורש)}'+'}'+'\n '+'<no'+'include>['+'[קטגוריה:אות (שורשים)]'+']</no'+'include>');
AddTemplateToList('פיצול שורשים','','{{פיצול שורשים|\n|שורש=פעל\n|שורש מוצג=פ־ע־ל\n|תיאור1=\n|תיאור2=\n|תיאור3=\n|תיאור4=\n}' + '}\n\n[[קטגוריה:אות (שורשים)]]\n','');
break;
default://templates for other namespaces;
AddTemplateToList('תבנית הערך','<' + '!--יש למחוק את המיותר בסוף מילוי התבנית, כמו את שורה זו למשל-->\n\n==שֵׁם עֵרֶךְ מְנֻקָּד==\n', '{{ניתוח דקדוקי|' + '\n' + '|כתיב מלא=' + '\n' + '|הגייה=' + '\n' + '|חלק דיבר=' + '\n' + '|מין=' + '\n' + '|שורש={{שרש3|ש|ר|ש}}' + '\n' +'|דרך תצורה=' + '\n' + '|נטיות=' + '\n}' + '}', '\n# כאן יש לכתוב את ההגדרה המילונית לערך.\n#:* זהו משפט לדוגמה.\n\n' + '===גיזרון===\n* כאן יש לכתוב את מקור המילה או הצרף.\n\n' + '===צירופים===\n* [[צירוף מילים]]\n\n' + '===נגזרות===\n* [[מילה גזורה]]\n\n' + '===מילים נרדפות===\n* [[מילה נרדפת]]\n\n' + '===ניגודים===\n* [[ניגוד]]\n\n' + '===תרגום===\n* אנגלית: {{ת|אנגלית|word}' + '}\n\n' + '===ראו גם===\n* הוסיפו לכאן קישורים למונחים קרובים בוויקימילון.\n\n===קישורים חיצוניים===\n{{מיזמים|ויקיפדיה=ערך בוויקיפדיה|ויקישיתוף=ערך בוויקישיתוף}' + '}\n* שם כותב, [' + 'Address תיאור המאמר], שם האתר\n\n{{שורש|פעל}' + '}' + '\n[' + '[קטגוריה:שם הקטגוריה]]');
AddTemplateToList('ניתוח לפועל','{{ניתוח דקדוקי לפועל|' + '\n' + '|כתיב מלא=' + '\n' + '|שורש וגזרה={{שרש3|ש|ר|ש}}' + '\n' + '|בניין=\n}' + '}','','');
AddTemplateToList('תבנית הערך - ביטויים','<' + '!--יש למחוק את המיותר בסוף מילוי התבנית, כמו את שורה זו למשל-->\n\n==שֵׁם עֵרֶךְ מְנֻקָּד==\n', '{{ניתוח דקדוקי|' + '\n' + '|כתיב מלא=' + '\n' + '|הגייה=' + '\n' + '|חלק דיבר=' + '\n' + '|מין=' + '\n' + '|שורש={{שרש3|ש|ר|ש}}' + '\n' +'|דרך תצורה=' + '\n' + '|נטיות=' + '\n}' + '}\n', '# כאן יש לכתוב את ההגדרה המילונית לערך.\n#:* זהו משפט לדוגמה.\n\n' + '===מקור===\n* כאן יש לכתוב את מקור ניב, ביטוי או פתגם.\n\n' + '===צירופים===\n* [[צירוף מילים]]\n\n' + '===נגזרות===\n* [[מילה גזורה]]\n\n' + '===ביטויים קרובים===\n* [[ביטוי קרוב]]\n\n' + '===ניגודים===\n* [[ביטוי מנוגד]]\n\n' + '===תרגום===<' + '!--כאשר ביטוי לא קיים בשפות אחרות (בצורתו המילולית) אין לתרגמו-->\n* אנגלית: {{ת|אנגלית|word}' + '}\n\n' + '===ראו גם===\n* הוסיפו לכאן קישורים למונחים קרובים בוויקימילון.\n\n===קישורים חיצוניים===\n{{מיזמים|ויקיפדיה=ערך בוויקיפדיה|ויקישיתוף=ערך בוויקישיתוף}' + '}\n* שם כותב, [' + 'Address תיאור המאמר], שם האתר\n\n{{שורש|פעל}' + '}' + '\n[' + '[קטגוריה:ביטויים]]');
addSingleTemplateToList('בעבודה','','\n{'+'{בעבודה}}','\n');
addSingleTemplateToList('הודעת קצרמר','','\n{' + '{קצרמר}}','');
AddTemplateToList('כל התרגומים','{' + '{תרגומי שפות| \n|עמודות =','3','\n|אוזבקית =\t|אסטורית =\t|אוקראינית =\t|אורדו =\n|אידו = \t|איטלקית =\t|אינדונזית =\t|אינטרלינגואה =\n|איסלנדית =\t|אירית =\t|אלבנית =\t|אנגלית =\n|אסטונית =\t|אספרנטו =\t|אפריקנית =\t|ארמנית =\n|בולגרית =\t|בלרוסית =\t|בוסנית =\t|בנגלית =\n|בסקית =\t|ברטונית =\t|גליסית =\t|גרוזינית =\n|גרמנית =\t|דנית = \t|הולנדית =\t|הונגרית =\n|הינדית =\t|וולאפיק =\t|וולשית =\t|ויאטנמית =\n|זולו = \t|טגיקית =\t|טגלית =\t|טורקית =\n|טורקמנית =\t|טטרית =\t|טמילית =\t|יאוית =\n|יוונית =\t|יידיש =\t|יפנית =\t|כורדית =\n|לאו =  \t|לדינו =\t|לוקסמבורגית =\t|לטבית =\n|לטינית =\t|ליטאית =\t|מאורית =\t|מונגולית =\n|מלאית =\t|מלטית =\t|מקדונית =\t|נהואטל =\n|נורבגית =\t|נפלית =\t|סווהילי =\t|סינהלזית =\n|סינית =\t|סיציליאנית =\t|סלובנית =\t|סלובקית =\n|סנסקירית =\t|ספרדית =\t|סקוטית = \t|ערבית =\n|פארואזית =\t|פולנית =\t|פורטוגלית =\t|פינית =\n|פרסית =\t|צ\'כית =\t|צרפתית =\t|קוריאנית =\n|קזכית =\t|קטלנית =\t|קנרית =\t|קרואטית =\n|רומנית =\t|רוסית =\t|שבדית =\t|תאית =\n}' + '}');
addSingleTemplateToList('הערת שוליים - כותרת','\n==הערות שוליים==','\n{'+'{הערות שוליים|יישור=ימין}}','');
addSingleTemplateToList('פירוש נוסף', '{' + '{פירוש נוסף|','נוכחי=|אחר=|ראו=','}}');
AddTemplateToList('קטגוריה','\n[' + '[קטגוריה:','שם הקטגוריה',']]');
AddTemplateToList('תבנית השורש (נטיות פעלים)','השורש \'\'\'' , 'פ־ע־ל' , '\'\'\' הוא שורש מ[[גזרת השלמים]].\n\n===נטיות הפעלים===\n{{נטיות פעלים|שורש=פ־ע־ל\n|קל עבר=\n|קל הווה=\n|קל עתיד=\n|קל ציווי=\n|קל שם הפועל=\n\n|נפעל עבר=\n|נפעל הווה=\n|נפעל עתיד=\n|נפעל ציווי=\n|נפעל שם הפועל=\n\n|הפעיל עבר=\n|הפעיל הווה=\n|הפעיל עתיד=\n|הפעיל ציווי=\n|הפעיל שם הפועל=\n\n|הופעל עבר=\n|הופעל הווה=\n|הופעל עתיד=\n\n|פיעל עבר=\n|פיעל הווה=\n|פיעל עתיד=\n|פיעל ציווי=\n|פיעל שם הפועל=\n\n|פועל עבר=\n|פועל הווה=\n|פועל עתיד=\n\n|התפעל עבר=\n|התפעל הווה=\n|התפעל עתיד=\n|התפעל ציווי=\n|התפעל שם הפועל=\n}' + '}\n\n<noinclude>\n[[קטגוריה:שרש (שורשים)]]\n</noinclude>\n\n' + '<' + '!-- שימו לב: אם זהו דף שורש משני (כלומר אחד מקבוצה של שורשים הומונימיים), עליכם להסיר את תגי ה-<noinclude> לעיל. כמו כן יש להחליף את שורת הקטגוריה בשורה הבאה\n[[קטגוריה:פעל (שורש)]]\nאנא הסירו הערה זו בתום העריכה. -->');
}
}

function initTemplatesList() {
    if( mw.config.get( 'wgAction' ) != 'edit' && mw.config.get( 'wgAction' ) != 'submit') return; // not edit page
    var toolbar = $('#toolbar');
    if( !toolbar ) return; // no toolbar
    beforeListInit();
    var select = $('<select>', {'id': 'templatesList'}).change(function(){
        insertTemplate( this.selectedIndex );
        this.selectedIndex = 0;
        return false;
        });
   
    $(templates).each(function(){ select .append($('<option>',{text:this, title: this})) });
    
    // add to toolbar
    toolbar.append( select );
}

function insertTemplate( index ) {
    if( index > 0 ) {
        insertTags( templatesText[index][0], templatesText[index][2], templatesText[index][1] );
    }
}

function addToWikiEditor()
{
	var templateListAdv= {
        label: 'תבניות להוספה',
        type: 'select',
        list: { }
    };

    for ( var i = 1; i < templates.length; i++ ) 
	{
        var addiontalMessages={};
        for(var j=0;j<3;j++)
        {
           if(templatesText[i][j]!="")
              addiontalMessages[templatesText[i][j]]=templatesText[i][j];
        }
        mediaWiki.messages.set(addiontalMessages);
        
        templateListAdv.list['template'+i] = 
        {
            label: templates[i],
            action: {
                type: 'encapsulate',
                options: {
                    pre: templatesText[i][0],
                    peri: templatesText[i][1],
                    post: templatesText[i][2]
                }
            }
        }
	}
       $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
			'section': 'advanced',
			'group': 'heading',
			'tools': {'templateListAdv': templateListAdv}
       });
}

if (mw.user.options.get('usebetatoolbar'))
mw.loader.using(['ext.wikiEditor'], function() { 
if(typeof $.fn.wikiEditor != 'undefined' && typeof $.wikiEditor.modules.toolbar != 'undefined')
                beforeListInit();
	if ($('#wikiEditor-ui-toolbar').length === 1) addToWikiEditor();//in case it loaded after toolbar initaliztion
	else $( '#wpTextbox1' ).on( 'wikiEditor-toolbar-doneInitialSections', addToWikiEditor);
});
else
	initTemplatesList();
});