אונטערשייד צווישן ווערסיעס פון "מעדיעוויקי:Gadget-TemplatesExternalLinks.js"
קפיצה לניווט
קפיצה לחיפוש
(אידיש) |
(קישור כללי > לינק) |
||
(8 מיטלסטע ווערסיעס פון 2 באַניצער נישט געוויזן.) | |||
שורה 1: | שורה 1: | ||
//Adds wizard for using templates for external links | //Adds wizard for using templates for external links | ||
//Written by [[User:קיפודנחש]] | //Written by [[User:קיפודנחש]] | ||
console.time('TemplatesExternalLinks'); | |||
if (( !$('#wpTextbox1').prop( 'readonly' ) )) | |||
mw.loader.using('jquery.textSelection', function() { | mw.loader.using('jquery.textSelection', function() { | ||
שורה 9: | שורה 10: | ||
"ארטיקל קעפל", | "ארטיקל קעפל", | ||
"נומער (ווי ערשיינט אינעם לינק)", | "נומער (ווי ערשיינט אינעם לינק)", | ||
"נאך אינפארמאציע, למשל דאטום. פרובירט היטן אויפן פארמאט ' | "נאך אינפארמאציע, למשל דאטום. פרובירט היטן אויפן פארמאט 'אויגוסט 30, 1958'", | ||
"מספר הסדרה", | "מספר הסדרה", | ||
"נתיב הדף - כמו שמופיע בקישור", | "נתיב הדף - כמו שמופיע בקישור", | ||
שורה 61: | שורה 62: | ||
var templatesAr = [ | var templatesAr = [ | ||
{t: ' | {t: 'לינק', np: [ | ||
[' | ['שרייבער', 'נעמען פון די ארטיקל שרייבערס', 1], | ||
[' | ['קעפל', 'נאמען פונעם געלינקטן ארטיקל'], | ||
[' | ['אדרעס', 'דער לינק (דהיינו די URL) אליין'], | ||
[' | ['דאטום', 'ארטיקל דאטום, אינעם פאָרמאַט "אויגוסט 30, 1958"', 1], | ||
['עמודים', 'מספר העמודים', 1], | ['עמודים', 'מספר העמודים', 1], | ||
['מידע נוסף', 'מידע נוסף (לא תאריך)', 1], | ['מידע נוסף', 'מידע נוסף (לא תאריך)', 1], | ||
[' | ['שפראך', 'שפראך (אויב ארטיקל איז נישט אידיש)', 1], | ||
['ציטוט', ' | ['ציטוט', 'ציטאט פון א זאץ פון געלינקטן ארטיקל (קען שפעטער העלפן טרעפן דעם בלאט, אויב דער לינק ווערט געטוישט)', 1] | ||
]}, | ]}, | ||
{t: 'הארץ', p: [1,2,3,4], r: /([.\d]+)$/i, rp: [3], bm: 1, op: [0,3]}, | {t: 'הארץ', p: [1,2,3,4], r: /([.\d]+)$/i, rp: [3], bm: 1, op: [0,3]}, | ||
שורה 85: | שורה 86: | ||
{t: 'תנ"ך', p: [8,9,10], op:[2]}, | {t: 'תנ"ך', p: [8,9,10], op:[2]}, | ||
{t: 'nrg', p: [1,2,3,4,0,19,20], r: /\/online\/([^\/]+)\/ART([^\/]*)\/([^\.]+).html/i, rp: [6,7,3], bm: 1, op:[3,4,5,6], nopop: 1}, | {t: 'nrg', p: [1,2,3,4,0,19,20], r: /\/online\/([^\/]+)\/ART([^\/]*)\/([^\.]+).html/i, rp: [6,7,3], bm: 1, op:[3,4,5,6], nopop: 1}, | ||
{t: 'בחדרי חרדים', p: [1,2,3,4], r: /\/Article\.aspx\?id=(\d+)/i, rp: [3], bm: 1, op: [3]}, | {t: 'בחדרי חרדים', p: [1,2,3,4], r: /\/Article\.aspx\?id=(\d+)/i, rp: [3], bm: 1, op: [3]}, | ||
{t: 'CIA factbook', p: [52]}, | {t: 'CIA factbook', p: [52]}, | ||
{t: 'mynet', p: [1,2,3,4,0,5], r: /articles\/(\d+),7340,L-(\d+),00\.html/i, rp: [6,3], op: [3,4,5,6]}, | {t: 'mynet', p: [1,2,3,4,0,5], r: /articles\/(\d+),7340,L-(\d+),00\.html/i, rp: [6,3], op: [3,4,5,6]}, | ||
{t: 'NFC', p: [1,2,3,4], r: /Archive\/([^\.]+)\.html/i, rp: [3], op: [3], bm: 1}, | {t: 'NFC', p: [1,2,3,4], r: /Archive\/([^\.]+)\.html/i, rp: [3], op: [3], bm: 1}, | ||
/* {t: 'Onlife', p: [1,2,3,4], r: /onlife\.co\.il\/([^\/]+)\/(.*)/i, rp: [1,3], op: [3]},*/ | |||
{t: 'ynet', p: [1,2,3,4], def: {6: 0, 7: 'articles'}, r: /ynet\.co\.il\/([^\/]+)\/(\d+),7340,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]}, | {t: 'ynet', p: [1,2,3,4], def: {6: 0, 7: 'articles'}, r: /ynet\.co\.il\/([^\/]+)\/(\d+),7340,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]}, | ||
/* {t: 'וואלה!', p: [1,2,3,4,0,26], r: /\?w=\/(\d+)\/(\d+)/i, rp: [6,3], bm: 1, op: [3,4,5]},*/ | |||
{t: 'גלובס', p: [1,2,3,4], r: /\/news\/article.aspx\?did=(\d+)/i, rp: [3], bm: 1, op: [3]}, | {t: 'גלובס', p: [1,2,3,4], r: /\/news\/article.aspx\?did=(\d+)/i, rp: [3], bm: 1, op: [3]}, | ||
{t: 'כלכליסט', p: [1,2,3,4], r: /\/articles\/(\d+),7340,L-(\d+),00/i, rp: [6,3], op: [3,4,5,6], bm: 1}, | {t: 'כלכליסט', p: [1,2,3,4], r: /\/articles\/(\d+),7340,L-(\d+),00/i, rp: [6,3], op: [3,4,5,6], bm: 1}, | ||
/* {t: 'תדהר', p: [29,13,27], op: [2]},*/ | |||
/* {t: 'אתר חיל האוויר', p: [1,2,3,4], r: /\/([^\/]*)-he\//i, rp: [3], op: [3]},*/ | |||
{t: 'הידען', p: [1,2,30,4], r: /hayadan\.org\.il\/([^\/]*)/i, rp: [3], op: [3]}, | {t: 'הידען', p: [1,2,30,4], r: /hayadan\.org\.il\/([^\/]*)/i, rp: [3], op: [3]}, | ||
{t: 'המאסף', p: [1,2,3,4], r: /notimportant\.co\.il\/?p=(\d+)/i, rp: [3], op: [3]}, | {t: 'המאסף', p: [1,2,3,4], r: /notimportant\.co\.il\/?p=(\d+)/i, rp: [3], op: [3]}, | ||
שורה 107: | שורה 102: | ||
{t: 'בבלי', p: [11,12,13], op: [2]}, | {t: 'בבלי', p: [11,12,13], op: [2]}, | ||
{t: 'משנה', p: [11,9,14], op: [2]}, | {t: 'משנה', p: [11,9,14], op: [2]}, | ||
{t: 'רמב"ם', p: [ | {t: 'רמב"ם', p: [17,9,31], op: [0,3]}, | ||
{t: 'ירושלמי', p: [11,9,31], op: [2]}, | {t: 'ירושלמי', p: [11,9,31], op: [2]}, | ||
{t: 'שולחן ערוך', p: [33,15,16], op: [2]}, | {t: 'שולחן ערוך', p: [33,15,16], op: [2]}, | ||
{t: 'מטח', p: [1,2,3,4], op: [3]}, | {t: 'מטח', p: [1,2,3,4], op: [3]}, | ||
/* {t: 'גלצ', p: [1,2,3,4], r: /NewsArticle\.aspx\?NewsId\=(\d+)/i, rp: [3], op: [3]},*/ | |||
{t: 'ישראל היום', p: [1,2,3,4], r: /newsletter_article\.php\?id=(\d+)/i, rp: [3], bm: 1, op: [3]}, | {t: 'ישראל היום', p: [1,2,3,4], r: /newsletter_article\.php\?id=(\d+)/i, rp: [3], bm: 1, op: [3]}, | ||
{t: 'מממ', p: [1,2,3,4], r: /data\/pdf\/([^\.])\.pdf/i, rp: [3], op: [3]}, | {t: 'מממ', p: [1,2,3,4], r: /data\/pdf\/([^\.])\.pdf/i, rp: [3], op: [3]}, | ||
{t: ' | {t: 'יזכור', p: [3,35], r: /HalalKorot\.aspx\?id=(\d+)/i, rp: [2]}, | ||
{t: 'ספרי יזכור', p: [1,37,3,4], r: /yizkor\.nypl\.org\/index\.php\?id=(\d+)/i, rp: [3], op: [3]}, | {t: 'ספרי יזכור', p: [1,37,3,4], r: /yizkor\.nypl\.org\/index\.php\?id=(\d+)/i, rp: [3], op: [3]}, | ||
{t: 'הספרייה הדיגיטלית', p: [1,24,3,4], r: /nnl\/dig\/books\/([^\.]+)\.html/i, rp: [3], op: [3]}, | {t: 'הספרייה הדיגיטלית', p: [1,24,3,4], r: /nnl\/dig\/books\/([^\.]+)\.html/i, rp: [3], op: [3]}, | ||
{t: 'עכבר העיר', p: [1,2,3,4], r: /CM\.articles_item,(.*),\.aspx/i, rp: [3], bm: 1, op: [3]}, | {t: 'עכבר העיר', p: [1,2,3,4], r: /CM\.articles_item,(.*),\.aspx/i, rp: [3], bm: 1, op: [3]}, | ||
{t: 'ערוץ7', p: [1,2,3,4], r: /News\.aspx\/(\d+)/i, rp: [3], bm: 1, op: [3]}, | {t: 'ערוץ7', p: [1,2,3,4], r: /News\.aspx\/(\d+)/i, rp: [3], bm: 1, op: [3]}, | ||
{t: 'תכלת', p: [1,2,3,4], r: /article\.php\?id=(\d+)/i, rp: [3], op: [3]}, | {t: 'תכלת', p: [1,2,3,4], r: /article\.php\?id=(\d+)/i, rp: [3], op: [3]}, | ||
{t: 'אנצ דעת', p: [3,27], r: /value\.asp\?id1=(\d+)/i, rp: [1]}, | {t: 'אנצ דעת', p: [3,27], r: /value\.asp\?id1=(\d+)/i, rp: [1]}, | ||
{t: 'דעת', p: [1,39,2], r: /(?:www\.)?daat\.ac\.il\/(.*)/i, rp: [2]}, | {t: 'דעת', p: [1,39,2], r: /(?:www\.)?daat\.ac\.il\/(.*)/i, rp: [2]}, | ||
{t: 'ויקישיבה', p: [50]}, | {t: 'ויקישיבה', p: [50]}, | ||
{t: ' | {t: 'היברובוקס', p: [1,8,3,4], r: /hebrewbooks\.org\/(\d+)/i, rp: [3], op: [0,3]}, | ||
{t: 'אוצר החכמה', p: [1,8,3,4], r: /otzar\.org\/(\d+)/i, rp: [3], op: [0,3]}, | |||
{t: 'גדולי ישראל', p: [29,40,41,13]}, | {t: 'גדולי ישראל', p: [29,40,41,13]}, | ||
{t: 'עיתונות יהודית היסטורית | {t: 'עיתונות יהודית היסטורית', p: [43,44,1,2,22,3,7,0,23], def: {9: "Ar"}, r: /(?:Key|BaseHref)=([A-Z]{3})\/(\d{4}\/\d{1,2}\/\d{1,2})(?:.*&EntityId=|\/\d+\/)([A-Z][a-z])(\d+)/i, rp: [2,5,9,6], replace: [[/%2F/gi,'/']], op: [6,8]}, | ||
{t: 'Iucnredlist', p: [45,3], r: /details(?:\.php)?\/(\d+)/, rp: [2]}, | {t: 'Iucnredlist', p: [45,3], r: /details(?:\.php)?\/(\d+)/, rp: [2]}, | ||
{t: 'העין השביעית', p: [1,34,6,4,25], r: /the7eye\.org\.il\/([^\/]+)\/Pages\/(.*)\.aspx/, rp: [5,3], bm: 1, op: [3,4]}, | {t: 'העין השביעית', p: [1,34,6,4,25], r: /the7eye\.org\.il\/([^\/]+)\/Pages\/(.*)\.aspx/, rp: [5,3], bm: 1, op: [3,4]}, | ||
{t: 'קול הלשון - שיעור', p: [46,47,48,4], np: [['וידאו', '"וידאו": רשמו "כן" אם זה שיעור לצפייה'], ['תואר', 'תואר - אם תואר המרצה שונה מ"הרב"']], r: /(?:PathFile=|Source=)([^&]*)/i, rp: [3], op: [3]}, | {t: 'קול הלשון - שיעור', p: [46,47,48,4], np: [['וידאו', '"וידאו": רשמו "כן" אם זה שיעור לצפייה'], ['תואר', 'תואר - אם תואר המרצה שונה מ"הרב"']], r: /(?:PathFile=|Source=)([^&]*)/i, rp: [3], op: [3]}, | ||
{t: 'ספר פרויקט גוטנברג', np: [["כותב", "שם כותב הספר", 1], ['שם הספר', 'שם הספר (ברירת מחדל: שם הערך)', 1], ['מספר', 'מספר הספר בפרויקט']], r: /ebooks\/(\d+)/i, rp: [3]}, | {t: 'ספר פרויקט גוטנברג', np: [["כותב", "שם כותב הספר", 1], ['שם הספר', 'שם הספר (ברירת מחדל: שם הערך)', 1], ['מספר', 'מספר הספר בפרויקט']], r: /ebooks\/(\d+)/i, rp: [3]}, | ||
/* {t: 'imdb title', np: [['id', 'המספר שמופיע בקישור'], ['title', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /title\/tt(\d+)/i, rp: [1]}, | |||
{t: 'imdb name', np: [['id', 'המספר שמופיע בקישור'], ['name', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /name\/nm(\d+)/i, rp: [1]}, | {t: 'imdb name', np: [['id', 'המספר שמופיע בקישור'], ['name', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /name\/nm(\d+)/i, rp: [1]}, | ||
{t: 'imdb company', np: [['id', 'המספר שמופיע בקישור'], ['company', 'הכותרת שתופיע בקישור']], r: /company\/co(\d+)/i, rp: [1]}, | {t: 'imdb company', np: [['id', 'המספר שמופיע בקישור'], ['company', 'הכותרת שתופיע בקישור']], r: /company\/co(\d+)/i, rp: [1]},*/ | ||
{t: 'Google book', np: [['מזהה','מזהה הספר באתר גוגל'],['כותב','שם כותב/י הספר', 1],['שם הספר','שם הספר (אופציונלי) - ללא הפרמטר יוצג שם הערך', 1]], r: /id=([^&]*)/, rp: [1]}, | {t: 'Google book', np: [['מזהה','מזהה הספר באתר גוגל'],['כותב','שם כותב/י הספר', 1],['שם הספר','שם הספר (אופציונלי) - ללא הפרמטר יוצג שם הערך', 1]], r: /id=([^&]*)/, rp: [1]}, | ||
/* {t: 'mako', p: [1,2,3,6,4], r: /www\.mako\.co\.il\/(.*?)\/Article-(.*?)\.htm/i, rp: [4,3], bm: 1, op: [4]}*/ | |||
]; | ]; | ||
שורה 150: | שורה 136: | ||
var en = /^[a-z]/; | var en = /^[a-z]/; | ||
function compare(t1, t2) { | function compare(t1, t2) { | ||
var gen = ' | var gen = 'לינק', a = t1.t.toLowerCase(), b = t2.t.toLowerCase(); | ||
if (a == gen ^ b == gen) return (b == gen) - (a == gen); | if (a == gen ^ b == gen) return (b == gen) - (a == gen); | ||
if (en.test(a) - en.test(b)) return en.test(a) - en.test(b); // all hebrew before all english | if (en.test(a) - en.test(b)) return en.test(a) - en.test(b); // all hebrew before all english | ||
שורה 224: | שורה 210: | ||
if (f[i].hasClass('ltw_required') && $.trim(f[i].val()).length == 0) | if (f[i].hasClass('ltw_required') && $.trim(f[i].val()).length == 0) | ||
canOK = 'disable'; | canOK = 'disable'; | ||
$(".ui-dialog-buttonpane button:contains(' | $(".ui-dialog-buttonpane button:contains('באַשטעטיג')").button(canOK); | ||
$('#ltw2_list').attr('disabled', $('#ltw2_ref').prop('checked'));//disable list if ref | $('#ltw2_list').attr('disabled', $('#ltw2_ref').prop('checked'));//disable list if ref | ||
$('#ltw2_ref').attr('disabled', $('#ltw2_list').prop('checked'));//disable ref if list | $('#ltw2_ref').attr('disabled', $('#ltw2_list').prop('checked'));//disable ref if list | ||
שורה 264: | שורה 250: | ||
if (template.bm) | if (template.bm) | ||
dialog.append($('<p>', {title: 'זעט בלאט "המכלול:בוקמרקלטים"'}).css({color: 'red', fontWeight: 'bold'}) | dialog.append($('<p>', {title: 'זעט בלאט "המכלול:בוקמרקלטים"'}).css({color: 'red', fontWeight: 'bold'}) | ||
.text('עס | .text('עס איז דא א בוקמארקלעט וואס שאפט אויטאטאמאטיש מוסטער "' + template.t + '". ביטע באטראכט דאס צו ניצן (זעט "המכלול:בוקמרקלטים").')) | ||
.append($('<hr>')); | .append($('<hr>')); | ||
שורה 389: | שורה 375: | ||
tools: { | tools: { | ||
'linkTemplatewizard': { | 'linkTemplatewizard': { | ||
label: ' | label: 'וועבזייטל מוסטער', | ||
filters: [ 'body.ns-subject' ], | filters: [ 'body.ns-subject' ], | ||
type: 'button', | type: 'button', | ||
שורה 407: | שורה 393: | ||
$(function() { | $(function() { | ||
$('div #toolbar').append( // "old style" | $('div #toolbar').append( // "old style" | ||
$('<img>', {src: '//upload.wikimedia.org/wikipedia/commons/3/34/Button_LINK_HE1.png', title: ' | $('<img>', {src: '//upload.wikimedia.org/wikipedia/commons/3/34/Button_LINK_HE1.png', title: 'וועבזייטל מוסטער', 'class': 'mw-toolbar-editbutton'}) | ||
.css({cursor: 'pointer'}) | .css({cursor: 'pointer'}) | ||
.click(function() {mw.loader.using('jquery.ui', fireDialog);}) | .click(function() {mw.loader.using('jquery.ui', fireDialog);}) | ||
שורה 414: | שורה 400: | ||
}); | }); | ||
}); | }); | ||
console.timeEnd('TemplatesExternalLinks'); |
יעצטיגע רעוויזיע זינט 22:22, 6 דעצעמבער 2023
//Adds wizard for using templates for external links
//Written by [[User:קיפודנחש]]
console.time('TemplatesExternalLinks');
if (( !$('#wpTextbox1').prop( 'readonly' ) ))
mw.loader.using('jquery.textSelection', function() {
function templates(templateName) {
var constants = ["",
"שם המחבר",
"ארטיקל קעפל",
"נומער (ווי ערשיינט אינעם לינק)",
"נאך אינפארמאציע, למשל דאטום. פרובירט היטן אויפן פארמאט 'אויגוסט 30, 1958'",
"מספר הסדרה",
"נתיב הדף - כמו שמופיע בקישור",
"מידע נוסף (לא תאריך)",
"ספר",
"פרק",
"פסוק",
"מסכת",
"דף",
"עמוד",
"משנה",
"סימן",
"סעיף",
"הלכות",
"שם",
"מספר הסדרה",
'מספר סדרת "ART"',
"",
"תאריך כתבה (בפורמט 1949/07/25, כפי שמופיע בקישור)",
"סוג הפרסום, כפי שמופיע בקישור אחרי '=EntityId'. בדרך כלל 'Ar' לכתבה רגילה, 'Pc' לתמונה ו־'Ad' לפרסומת",
"שם הספר",
"קידומת סוג הכתבה",
"מזהה נושא הכתבה",
"שם הערך",
"קוד כניסה חינם (כפי שמופיע בקישור)",
"כרך",
"הפניה לכתבה (כפי שמופיע בקישור)",
"הלכה",
"",
"חלק",
"כותרת הדף",
"שם החלל",
"מספר ה-folder כמו שמופיע בקישור",
"כותרת הספר/שם הקהילה",
"מספר גיליון, תאריך פרסום ומספרי עמודים",
"החלק השני של הקישור",
"מספר העמוד, כפי שמופיע באתר",
"שם האיש",
"שם האמן",
"שם העיתון",
"קוד העיתון באתר (שלוש אותיות לטיניות גדולות)",
"שם המין/זן",
"שם הרב",
"שם השיעור",
"השיעור כשם שמופיע בקישור",
"מספר גיליון, תאריך פרסום ומספרי עמודים",
"שם הערך בויקישיבה",
"קידומת הקישור, אם שונה מ-www",
"האותיות שמציינות את המדינה"
];
var templatesAr = [
{t: 'לינק', np: [
['שרייבער', 'נעמען פון די ארטיקל שרייבערס', 1],
['קעפל', 'נאמען פונעם געלינקטן ארטיקל'],
['אדרעס', 'דער לינק (דהיינו די URL) אליין'],
['דאטום', 'ארטיקל דאטום, אינעם פאָרמאַט "אויגוסט 30, 1958"', 1],
['עמודים', 'מספר העמודים', 1],
['מידע נוסף', 'מידע נוסף (לא תאריך)', 1],
['שפראך', 'שפראך (אויב ארטיקל איז נישט אידיש)', 1],
['ציטוט', 'ציטאט פון א זאץ פון געלינקטן ארטיקל (קען שפעטער העלפן טרעפן דעם בלאט, אויב דער לינק ווערט געטוישט)', 1]
]},
{t: 'הארץ', p: [1,2,3,4], r: /([.\d]+)$/i, rp: [3], bm: 1, op: [0,3]},
{t: 'דבר'},
{t: 'מעריב'},
{t: 'הצבי'},
{t: 'הצפירה'},
{t: 'המגיד'},
{t: 'חבצלת'},
{t: 'המליץ'},
{t: 'על המשמר'},
{t: 'היינט'},
{t: 'PalPost'},
{t: 'חרות'},
{t: 'תנ"ך', p: [8,9,10], op:[2]},
{t: 'nrg', p: [1,2,3,4,0,19,20], r: /\/online\/([^\/]+)\/ART([^\/]*)\/([^\.]+).html/i, rp: [6,7,3], bm: 1, op:[3,4,5,6], nopop: 1},
{t: 'בחדרי חרדים', p: [1,2,3,4], r: /\/Article\.aspx\?id=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'CIA factbook', p: [52]},
{t: 'mynet', p: [1,2,3,4,0,5], r: /articles\/(\d+),7340,L-(\d+),00\.html/i, rp: [6,3], op: [3,4,5,6]},
{t: 'NFC', p: [1,2,3,4], r: /Archive\/([^\.]+)\.html/i, rp: [3], op: [3], bm: 1},
/* {t: 'Onlife', p: [1,2,3,4], r: /onlife\.co\.il\/([^\/]+)\/(.*)/i, rp: [1,3], op: [3]},*/
{t: 'ynet', p: [1,2,3,4], def: {6: 0, 7: 'articles'}, r: /ynet\.co\.il\/([^\/]+)\/(\d+),7340,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]},
/* {t: 'וואלה!', p: [1,2,3,4,0,26], r: /\?w=\/(\d+)\/(\d+)/i, rp: [6,3], bm: 1, op: [3,4,5]},*/
{t: 'גלובס', p: [1,2,3,4], r: /\/news\/article.aspx\?did=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'כלכליסט', p: [1,2,3,4], r: /\/articles\/(\d+),7340,L-(\d+),00/i, rp: [6,3], op: [3,4,5,6], bm: 1},
/* {t: 'תדהר', p: [29,13,27], op: [2]},*/
/* {t: 'אתר חיל האוויר', p: [1,2,3,4], r: /\/([^\/]*)-he\//i, rp: [3], op: [3]},*/
{t: 'הידען', p: [1,2,30,4], r: /hayadan\.org\.il\/([^\/]*)/i, rp: [3], op: [3]},
{t: 'המאסף', p: [1,2,3,4], r: /notimportant\.co\.il\/?p=(\d+)/i, rp: [3], op: [3]},
{t: 'חסקין', p: [3,2], r: /ArticleNum=(\d+)/i, rp: [1]},
{t: 'בבלי', p: [11,12,13], op: [2]},
{t: 'משנה', p: [11,9,14], op: [2]},
{t: 'רמב"ם', p: [17,9,31], op: [0,3]},
{t: 'ירושלמי', p: [11,9,31], op: [2]},
{t: 'שולחן ערוך', p: [33,15,16], op: [2]},
{t: 'מטח', p: [1,2,3,4], op: [3]},
/* {t: 'גלצ', p: [1,2,3,4], r: /NewsArticle\.aspx\?NewsId\=(\d+)/i, rp: [3], op: [3]},*/
{t: 'ישראל היום', p: [1,2,3,4], r: /newsletter_article\.php\?id=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'מממ', p: [1,2,3,4], r: /data\/pdf\/([^\.])\.pdf/i, rp: [3], op: [3]},
{t: 'יזכור', p: [3,35], r: /HalalKorot\.aspx\?id=(\d+)/i, rp: [2]},
{t: 'ספרי יזכור', p: [1,37,3,4], r: /yizkor\.nypl\.org\/index\.php\?id=(\d+)/i, rp: [3], op: [3]},
{t: 'הספרייה הדיגיטלית', p: [1,24,3,4], r: /nnl\/dig\/books\/([^\.]+)\.html/i, rp: [3], op: [3]},
{t: 'עכבר העיר', p: [1,2,3,4], r: /CM\.articles_item,(.*),\.aspx/i, rp: [3], bm: 1, op: [3]},
{t: 'ערוץ7', p: [1,2,3,4], r: /News\.aspx\/(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'תכלת', p: [1,2,3,4], r: /article\.php\?id=(\d+)/i, rp: [3], op: [3]},
{t: 'אנצ דעת', p: [3,27], r: /value\.asp\?id1=(\d+)/i, rp: [1]},
{t: 'דעת', p: [1,39,2], r: /(?:www\.)?daat\.ac\.il\/(.*)/i, rp: [2]},
{t: 'ויקישיבה', p: [50]},
{t: 'היברובוקס', p: [1,8,3,4], r: /hebrewbooks\.org\/(\d+)/i, rp: [3], op: [0,3]},
{t: 'אוצר החכמה', p: [1,8,3,4], r: /otzar\.org\/(\d+)/i, rp: [3], op: [0,3]},
{t: 'גדולי ישראל', p: [29,40,41,13]},
{t: 'עיתונות יהודית היסטורית', p: [43,44,1,2,22,3,7,0,23], def: {9: "Ar"}, r: /(?:Key|BaseHref)=([A-Z]{3})\/(\d{4}\/\d{1,2}\/\d{1,2})(?:.*&EntityId=|\/\d+\/)([A-Z][a-z])(\d+)/i, rp: [2,5,9,6], replace: [[/%2F/gi,'/']], op: [6,8]},
{t: 'Iucnredlist', p: [45,3], r: /details(?:\.php)?\/(\d+)/, rp: [2]},
{t: 'העין השביעית', p: [1,34,6,4,25], r: /the7eye\.org\.il\/([^\/]+)\/Pages\/(.*)\.aspx/, rp: [5,3], bm: 1, op: [3,4]},
{t: 'קול הלשון - שיעור', p: [46,47,48,4], np: [['וידאו', '"וידאו": רשמו "כן" אם זה שיעור לצפייה'], ['תואר', 'תואר - אם תואר המרצה שונה מ"הרב"']], r: /(?:PathFile=|Source=)([^&]*)/i, rp: [3], op: [3]},
{t: 'ספר פרויקט גוטנברג', np: [["כותב", "שם כותב הספר", 1], ['שם הספר', 'שם הספר (ברירת מחדל: שם הערך)', 1], ['מספר', 'מספר הספר בפרויקט']], r: /ebooks\/(\d+)/i, rp: [3]},
/* {t: 'imdb title', np: [['id', 'המספר שמופיע בקישור'], ['title', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /title\/tt(\d+)/i, rp: [1]},
{t: 'imdb name', np: [['id', 'המספר שמופיע בקישור'], ['name', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /name\/nm(\d+)/i, rp: [1]},
{t: 'imdb company', np: [['id', 'המספר שמופיע בקישור'], ['company', 'הכותרת שתופיע בקישור']], r: /company\/co(\d+)/i, rp: [1]},*/
{t: 'Google book', np: [['מזהה','מזהה הספר באתר גוגל'],['כותב','שם כותב/י הספר', 1],['שם הספר','שם הספר (אופציונלי) - ללא הפרמטר יוצג שם הערך', 1]], r: /id=([^&]*)/, rp: [1]},
/* {t: 'mako', p: [1,2,3,6,4], r: /www\.mako\.co\.il\/(.*?)\/Article-(.*?)\.htm/i, rp: [4,3], bm: 1, op: [4]}*/
];
if (! templateName) {
var en = /^[a-z]/;
function compare(t1, t2) {
var gen = 'לינק', a = t1.t.toLowerCase(), b = t2.t.toLowerCase();
if (a == gen ^ b == gen) return (b == gen) - (a == gen);
if (en.test(a) - en.test(b)) return en.test(a) - en.test(b); // all hebrew before all english
return a > b ? 1 : (a < b ? -1 : 0);
}
templatesAr.sort(compare);
return templatesAr;
}
var template;
for (var i in templatesAr)
if (templatesAr[i].t == templateName)
template = templatesAr[i];
var historic = {"דבר": "DAV", "מעריב": "MAR", "הצבי": "HZV", "הצפירה": "HZF", "המגיד": "MGD", "המליץ": "HMZ", "חבצלת": "HZT", "PalPost": "PLS", "על המשמר" : "AHR", "היינט": "HYT", "חרות": "HRT"};
if (historic[template.t]) {
var r = new RegExp('=HISTNAME/(\\d{4}/\\d{1,2}/\\d{1,2})(?:.*&EntityId=|/\\d+/)([A-Z][a-z])(\\d+)'.replace('HISTNAME', historic[template.t]));
$.extend(template, {p: [1,2,22,3,7,0,23], def: {7: "Ar"}, r: r, rp: [3,7,4], replace: [[/%2F/gi, '/']], op: [4,6]});
}
for (var i in template.p)
if (typeof template.p[i] == "number")
template.p[i] = constants[template.p[i]];
return template;
}
function templateDialog(dialog, template, values) {
var brainDamage = $.client.profile().name == 'msie' && $.client.profile().versionNumber < 8;
var orderedFields = [],
namedFields = [],
table = $('<table>'),
empty = {val: function(){return '';}, hasClass: function(){return 0;}};
function createWikiCode() {
var par = ["{{" + template.t];
for (var i = 0; i < orderedFields.length; i++)
par.push($.trim(orderedFields[i].val()).replace(/\|/g, '{{!}}').replace(/=/g, '{{=}}'));
if (template.def)
for (var parnum in template.def)
if (par[parnum] == template.def[parnum])
par[parnum] = '';
if (! template.nopop)
while (par.length && !par[par.length-1].length && orderedFields[par.length-2].length) // last condition is to avoid remving "emptys"
par.pop();
var code = par.join("|");
if (namedFields) {
var pairs = [];
for (j in namedFields) {
var val = $.trim(namedFields[j][1].val()).replace(/\|/g, '{{!}}');
if (val.length)
pairs.push(namedFields[j][0] + '=' + val);
}
if (pairs.length)
code += '|' + pairs.join('|');
}
code += "}}";
if ($('#ltw2_ref').prop('checked'))
return "{{הערה|" + code + "}}";
if ($('#ltw2_list').prop('checked'))
return "\n* " + code + "\n";
return code;
}
function updatePreview(){
$('#ltw2_preview').text(createWikiCode());
var canOK = 'enable';
var f = orderedFields.concat([]); //clone - we don't want to touch orderedFields.
for (var i in namedFields)
f.push(namedFields[i][1]);
for (var i in f)
if (f[i].hasClass('ltw_required') && $.trim(f[i].val()).length == 0)
canOK = 'disable';
$(".ui-dialog-buttonpane button:contains('באַשטעטיג')").button(canOK);
$('#ltw2_list').attr('disabled', $('#ltw2_ref').prop('checked'));//disable list if ref
$('#ltw2_ref').attr('disabled', $('#ltw2_list').prop('checked'));//disable ref if list
if (brainDamage) { //IOW: internet explorer.
var width = $('#ltw_dialog').width() - 12;
$('.ui-dialog-titlebar').width(width);
$('.ui-dialog-buttonpane').width(width);
}
}
function addRow(labelText, paramName, optional) {
var inputField = $('<input>', {id: 'ltw2_inputfield_' + paramName, type: 'text', width: 600}).css({width: '28em'}).on('paste cut drop input change', updatePreview);
if (! (optional || 0))
inputField.addClass('ltw_required').css({border: '1px red solid'});
var tr = $('<tr>')
.append($('<td>').text(labelText).css({maxWidth: '20em'}))
.append($('<td>').css({width: '30em'}).append(inputField));
if (typeof paramName == 'number')
orderedFields.push(inputField);
else
namedFields.push([paramName, inputField]);
table.append(tr);
}
function extractParamsFromURL() {
var str = $('#ltw_urlinput').val();
if (template.replace)
for (var r in template.replace)
str = str.replace(template.replace[r][0], template.replace[r][1]);
var matches = str.match(template.r);
if (matches)
for (var i = 1; i < matches.length; i++)
$('#ltw2_inputfield_' + template.rp[i-1]).val(matches[i] || '');
updatePreview();
}
$('.ltw_disposable').remove();
if (template.bm)
dialog.append($('<p>', {title: 'זעט בלאט "המכלול:בוקמרקלטים"'}).css({color: 'red', fontWeight: 'bold'})
.text('עס איז דא א בוקמארקלעט וואס שאפט אויטאטאמאטיש מוסטער "' + template.t + '". ביטע באטראכט דאס צו ניצן (זעט "המכלול:בוקמרקלטים").'))
.append($('<hr>'));
if (template.r)
dialog.append($('<span>').text('פעיסט אריין דא דעם לינק:').css({width: '20em'}))
.append($('<input>', {type: "text", id: 'ltw_urlinput', maxLength: 600}).css({width: '26em'}).on('paste cut drop input change', extractParamsFromURL))
.append($('<hr>'))
dialog
.append($('<p>').text('פעלדער געצייכנט רויט זענען פארלאנגט, די אנדערע זענען אפּציאנאל'))
.append(table)
.append($('<p>').css({height: '2em'}))
.append($('<label>').text(' רעפערענץ '))
.append($('<input>', {type: 'checkbox', id: 'ltw2_ref'}).change(updatePreview))
.append($('<label>').css({width: '12em'}).text( ' אייטעם אין א ליסטע '))
.append($('<input>', {type: 'checkbox', id: 'ltw2_list'}).change(updatePreview))
.append($('<p>').css({height: '1.5em'}))
.append($('<p>', {id: 'ltw2_preview'}).css({backgroundColor: "lightGreen", fontSize: '120%', maxWidth: '40em'}));
for (var i = 0; i < (template.p || []).length; i++)
if (template.p[i].length == 0) // this allow defining an empty parameter. by use of a "pseudo field".
orderedFields.push(empty);
else
addRow(template.p[i], parseInt(i, 10) + 1, template.op && ($.inArray(i, template.op)+1));
for (var i in template.np)
addRow(template.np[i][1], template.np[i][0], template.np[i][2]);
var valIndex = 0;
while (values && values.length) {
var next = values.shift();
var pair = next.split('=');
if (pair.length > 1) {
if (isNaN(pair[0])) {
for (var named in namedFields)
if (namedFields[named][0] == $.trim(pair[0]))
namedFields[named][1].val(pair[1]);
} else {
valIndex = parseInt(pair[0], 10);
if (valIndex <= orderedFields.length)
orderedFields[valIndex - 1].val(pair[1]);
}
} else
if (valIndex < orderedFields.length)
orderedFields[valIndex++].val(pair[0]);
}
dialog.dialog('option', 'buttons', {
'אַנוליר':
function() {
dialog.dialog('close');
},
'באַשטעטיג':
function() {
$("#wpTextbox1").textSelection( 'encapsulateSelection', {peri: createWikiCode(), replace: true} );
dialog.dialog('close');
}
});
$('.ui-dialog-buttonpane').css({backgroundColor: '#E0E0E0'});
dialog.dialog('option', {
height: 'auto',
width: 'auto',
position: [(window.width - dialog.width()) / 2, (window.height - dialog.height()) / 2]
});
$('.ui-dialog-buttonpane').children().css({float: 'right'});
updatePreview();
}
function fireDialog() {
var killold = $('#ltw_dialog').remove(), // kill existing popup when button is pressed again.
title = 'שאפן לינק מוסטער',
dialog = $('<div>', {id: 'ltw_dialog'}).css({backgroundColor: '#E8E8E8', maxWidth: '58em'}).dialog({
title: title,
resizable: false,
close: function() {$(this).remove();}
}),
fullList = templates(false),
allTemplates = [];
function fromTemplate(text) {
var regex = new RegExp('\\{\\{(' + allTemplates.join('|') + ')([^}]*)');
match = text.match(regex);
if (match) {
template = match[1];
values = match[2].split('|');
values.shift();
templateDialog(dialog, templates(template), values);
return true;
}
return false;
}
for (var i in fullList)
allTemplates.push(fullList[i].t);
if (fromTemplate($("#wpTextbox1").textSelection('getSelection')))
return;
var selector = $('<select>', {'class': 'ltw_disposable'}).change(function() { // class in quotes - reserved word.
if (! this.value) return;
dialog.dialog('option', 'title', title + ' פאר ' + this.value);
$(this).remove();
templateDialog(dialog, templates(this.value));
});
selector.append($('<option>', {text: 'וועלט א מוסטער פון ליסטע'}));
for (var i in allTemplates)
selector.append($('<option>', {text: allTemplates[i], value: allTemplates[i]}));
dialog.append(selector);
dialog.append($('<p>', {'class': 'ltw_disposable'}).text('אדער פעיסט אריין א מוסטער צו רעדאגירן:'));
dialog.append($('<input>', {type: 'text', maxLength: 1000, 'class': 'ltw_disposable'}).css({width: '14em'}).on('paste cut drop input change', function() {fromTemplate(this.value);}));
}
if (mw.user.options.get('usebetatoolbar')) {
var depend = ['ext.wikiEditor'];
mw.loader.using(depend, function() {
if(typeof $.wikiEditor != 'undefined')
$(function() {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
'linkTemplatewizard': {
label: 'וועבזייטל מוסטער',
filters: [ 'body.ns-subject' ],
type: 'button',
icon: '//yi.hamichlol.org.il/w/load.php?modules=oojs-ui.styles.icons-interactions&image=browser&lang=yi&skin=vector&version=nvpks',
action: {type: 'callback', execute: fireDialog}
}
}
});
$('[rel= "linkTemplatewizard"]').css('float','left');
});
});
}
else
mw.loader.using('mediawiki.toolbar', function() {
$(function() {
$('div #toolbar').append( // "old style"
$('<img>', {src: '//upload.wikimedia.org/wikipedia/commons/3/34/Button_LINK_HE1.png', title: 'וועבזייטל מוסטער', 'class': 'mw-toolbar-editbutton'})
.css({cursor: 'pointer'})
.click(function() {mw.loader.using('jquery.ui', fireDialog);})
);
});
});
});
console.timeEnd('TemplatesExternalLinks');