مدیاویکی:Gadget-SVGImages.js

از ویکی‌پدیا، دانشنامهٔ آزاد

نکته: برای دیدن تغییرات، ممکن است نیاز باشد که حافظهٔ نهانی مرورگر خود را پس از انتشار پاک‌سازی کنید. گوگل کروم، فایرفاکس، مایکروسافت اج و سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload در نوار ابزار مرورگر کلیک کنید. برای آگاهی از جزئیات و نحوهٔ پاک‌سازی حافظهٔ نهانی سایر مرورگرها، صفحهٔ ویکی‌پدیا:میانگیر مرورگرتان را خالی کنید را ببینید.

// <nowiki>
// یکی از اسکریپت‌های ویکی‌انبار، عددها فارسی شده‌اند و قابلیت اضافه کردن پیوند اضافه شده.
// توسط [[w:fa:user:ebraminio]]
function latintopersian(instr){
 instr = instr + '';
 for(i=0;i<10;i++)
  instr = instr.replace(RegExp(i,"g"), "۰۱۲۳۴۵۶۷۸۹"[i]);
 return instr;
}
/**
 * SVG images: adds links to rendered PNG images in different resolutions
 *
 * Maintainer: ???
 */
function SVGThumbs()
{
 var file = document.getElementById('file'); // might fail if MediaWiki can't render the SVG
 if( file && mw.config.get('wgIsArticle') && mw.config.get('wgTitle').match(/\.svg$/i)) {
  var thumbu = file.getElementsByTagName('IMG')[0].src;
  if( !thumbu ) {
   return;
  }
 
  function svgAltSize( w, title) {
   var path = thumbu.replace(/\/\d+(px-[^\/]+$)/, '/' + w + '$1');
   var a = document.createElement('A');
   a.setAttribute('href', path);
   a.appendChild(document.createTextNode(title));
   return a;
  }
 
  var p = document.createElement('p');
  p.className = 'SVGThumbs';
 
  var i18n = {
   en : 'This image rendered as PNG in other sizes: ',
   fa : 'این یک تصویر <a href="/wiki/%DA%AF%D8%B1%D8%A7%D9%81%DB%8C%DA%A9_%D8%A8%D8%B1%D8%AF%D8%A7%D8%B1%DB%8C" title="گرافیک برداری">گرافیک برداری</a> است.<br /><a href="/wiki/%D9%BE%DB%8C%E2%80%8C%D8%A7%D9%86%E2%80%8C%D8%AC%DB%8C" title="PNG">پی‌ان‌جی</a> شدهٔ این اثر در سایر اندازه‌ها: '
  };
  ptext = i18n[mw.config.get('wgUserLanguage')] || i18n.en;
  
  pHTML = document.createElement("span");
  pHTML.innerHTML = ptext;

  p.appendChild(pHTML);
  var l = [200, 500, 1000, 2000];
  for( var i = 0; i < l.length; i++ ) {
   p.appendChild(svgAltSize( l[i], latintopersian(l[i] + ' پیکسل')));
   if( i < l.length-2 ) {
    p.appendChild(document.createTextNode('، '));
   }
   if( i == l.length-2 ) {
    p.appendChild(document.createTextNode(' و '));
   }
  }
  p.appendChild(document.createTextNode('.'));
  var info = getElementsByClassName( file.parentNode, 'div', 'fullMedia' )[0];
  if( info ) {
   info.appendChild(p);
  }
 }
}
$(document).ready(SVGThumbs);
// </nowiki>