מדיה ויקי: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 6://templates for images
AddTemplateToList('PD-Israel','{'+'{PD-Israel|תאריך=','ציינו שנה אפשרית אחרונה בשנים שלמות','}}');
AddTemplateToList('כפילות עם תמונה מוויקישיתוף','{'+'{גם בוויקישיתוף|}}','','');
AddTemplateToList('PD-because','{'+'{PD-because|2=','הכניסו בשדה זה את תבנית הרישיון מוויקישיתוף ללא סוגריים','}}');
AddTemplateToList('מידע','{{'+'מידע\n|תיאור=','','\n|מקור=\n|תאריך יצירה=\n|יוצר=\n|אישורים והיתרים=\n|גרסאות אחרות=\n}}');
AddTemplateToList('רישיון Cc-by-sa-4.0','{'+'{Cc-by-sa-4.0}}','','');
AddTemplateToList('שימוש הוגן','{'+'{שימוש הוגן|מקור=','ציינו מקור','|ערך=}}');
AddTemplateToList('תמונה בעייתית','{{ס:'+'תמונה בעייתית|','ציינו סיבה','}}');
break;
case 10://templates for templates
AddTemplateToList('פרמטר','{{{','*שם הפרמטר*|*ערך ברירת מחדל*','}}}');
AddTemplateToList('קטגוריה','\n[' + '[קטגוריה:','שם הקטגוריה',']]');
AddTemplateToList('קטע שיופיע רק בדף התבנית','<no'+'include>','טקסט שיופיע בתבנית ולא בדפים המשתמשים בה','</no'+'include>');
AddTemplateToList('קטע שיופיע רק בדפים המכילים את התבנית','<include'+'only>','טקסט שיופיע בדפים המשתמשים בתבנית בלבד','</include'+'only>');
AddTemplateToList('תבנית ניווט','{{ניווט'+'\n|תמונה=תמונה, כולל קישור וגודל. ברירת מחדל - ללא תמונה\n|תוכן=','','\n}}');

break;
case 14://templates for categories
addSingleTemplateToList('הבהרת חשיבות','{' + '{ס:הבהרת חשיבות}}','','');
AddTemplateToList('פתיח סטנדרטי לקטגוריה','{{קטגוריה|קשור|','נושא שאליו הערכים בקטגוריה קשורים|ערך ראשי','}}');
AddTemplateToList('קטגוריה','\n[' + '[קטגוריה:','שם הקטגוריה',']]');
AddTemplateToList('תבנית מיזמים','{{מיזמים|ויקישיתוף=','שם הדף בוויקישיתוף','}}');
AddTemplateToList('תוכן עניינים','{{Category'+'TOC}}','','');
break;
default://templates for other namespaces
AddTemplateToList('אין תמונה','','{{אין'+' תמונה}}','');
addSingleTemplateToList('בעבודה','','\n{'+'{בעבודה}}','\n');
addSingleTemplateToList('הבהרת חשיבות','','{' + '{ס:הבהרת חשיבות}}','');
addSingleTemplateToList('הודעת קצרמר','','\n{' + '{קצרמר}}','', /קצרמר/);
AddTemplateToList('הפניה לערך מורחב','{' + '{הפניה לערך מורחב','|','}}');
AddTemplateToList('הערת שוליים - הפניה','','{{הע' + 'רה|שם=שם-הערה}}','');
addSingleTemplateToList('הערת שוליים - כותרת','\n==הערות שוליים==','\n{'+'{הערות שוליים}}','', /== *הערות שוליים *==/);
AddTemplateToList('הפרת זכויות יוצרים','{' + '{הפרת זכויות יוצרים|מקור=',' המקור שממנו הועתק התוכן ','|זמן={' + '{ס:יום נוכחי}}/{' + '{ס:חודש נוכחי}}/{' + '{ס:שנה נוכחית}}(~~' + '~~' + '~)}}\n');
addSingleTemplateToList('לקריאה נוספת','\n==לקריאה נוספת==\n','* שם סופר, \'\'\'שם ספר\'\'\', שם הוצאה, תאריך הוצאה\n','', /== *לקריאה נוספת *==/);
AddTemplateToList('מפנה','{' + '{מפנה|','הדף המפנה|הסבר על הדף האחר|שם הדף האחר','}}');
addSingleTemplateToList('פירוש נוסף', '{' + '{פירוש נוסף|','נוכחי=|אחר=|ראו=','}}');
addSingleTemplateToList('פירושונים','{' + '{פירושונים|' + '\n','* [[' + 'ערך 1]] - הסבר קצר על מהותו של ערך 1\n* [[' + 'ערך 2]] - הסבר קצר על מהותו של ערך 2\n* [[' + 'ערך 3]] - הסבר קצר על מהותו של ערך 3','\n}}');
AddTemplateToList('ציטוט','{' + '{ציטוט|תוכן=','הזינו ציטוט כאן','}}');
AddTemplateToList('קטגוריה','\n[' + '[קטגוריה:','שם הקטגוריה',']]');
addSingleTemplateToList('מיון בקטגוריה','{'+'{מיון רגיל:','','}}');
addSingleTemplateToList('קישורים חיצוניים','\n==קישורים חיצוניים==\n','* שם כותב, [' + 'Address תיאור המאמר], שם האתר\n','', /== *קישורים חיצוניים *==/);
addSingleTemplateToList('ראו גם','\n==ראו גם==\n','* [' + '[שם ערך]]\n','',/== *ראו גם *==/);
AddTemplateToList('תבנית מיזמים','{{מיזמים|ויקישיתוף=','שם הדף בוויקישיתוף','}}');
}
}

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();
});