לדלג לתוכן

משתמש:רובין בוט/ניסוי.js – הבדלי גרסאות

מתוך חב"דפדיה, אנציקלופדיה חב"דית חופשית
אין תקציר עריכה
אין תקציר עריכה
 
שורה 1: שורה 1:
mw.loader.using('mediawiki.util', function () {
var sidebar = document.createElement('div');
  $(function () {
sidebar.id = 'hebrewDateSidebar';
    var sidebar = $('#p-navigation');
sidebar.style.cssText = `
    sidebar.append('<div style="margin:5px;"><button id="hebrew-to-greg">המר תאריך לועזי</button></div>');
  position: fixed;
  top: 100px;
  right: 10px;
  width: 150px;
  background-color: #FFF3E0;
  border: 1px solid #FFA726;
  padding: 10px;
  font-size: 90%;
  z-index: 1000;
`;
document.body.appendChild(sidebar);


    $('#hebrew-to-greg').on('click', function () {
function convertHebrewDate(hebrewDate, callback) {
      var input = prompt('הכנס תאריך עברי כמו: י"ח חשוון תשל"א');
    const months = {
      if (!input) return;
         'תשרי':1,'חשוון':2,'כסלו':3,'טבת':4,
 
         'שבט':5,'אדר':6,'אדר ב׳':7,'ניסן':8,
      var months = {
         'אייר':9,'סיון':10,'תמוז':11,'אב':12,'אלול':13
         'תשרי':'Tishrei','חשוון':'Cheshvan','כסלו':'Kislev','טבת':'Tevet',
    };
         'שבט':'Shevat','אדר':'Adar','אדר ב׳':'AdarII','ניסן':'Nisan',
    const match = hebrewDate.match(/\[\[([^\]]+)\]\]\s*\[\[([^\]]+)\]\]/);
         'אייר':'Iyyar','סיון':'Sivan','תמוז':'Tammuz','אב':'Av','אלול':'Elul'
    if (!match) return;
      };
    let day = parseInt(match[1].replace(/[^\d]/g,''));
 
    let month = months[match[2].trim()];
      var hebToNum = {
    let year = match[2].includes('תש') ? parseInt('5' + match[2].replace(/[^\d]/g,'')) : parseInt(match[2].replace(/[^\d]/g,''));
        'א':1,'ב':2,'ג':3,'ד':4,'ה':5,'ו':6,'ז':7,'ח':8,'ט':9,
    fetch(`https://www.hebcal.com/converter?cfg=json&hy=${year}&hm=${month}&hd=${day}&h2g=1`)
        'י':10,'כ':20,'ל':30,'מ':40,'נ':50,'ס':60,'ע':70,'פ':80,'צ':90,
         .then(resp => resp.json())
        'ק':100,'ר':200,'ש':300,'ת':400
         .then(data => {
      };
            callback(data.gy + '-' + data.gm + '-' + data.gd);
 
      function hebNumToInt(heb){
        heb = heb.replace(/[״׳]/g,'');
        var sum = 0;
        for (var i=0;i<heb.length;i++){
          sum += hebToNum[heb[i]] || 0;
        }
        return sum;
      }
 
      function parseHebrewYear(str){
        var letters = str.replace(/[״׳]/g,'').split('');
         var value = 0;
         letters.forEach(l => {
          value += hebToNum[l] || 0;
         });
         });
        if (value < 1000) value += 5000;
}
        return value;
      }


      var parts = input.split(' ');
convertHebrewDate('[[י"ח חשוון]] [[תשל"א]]', function(gregDate) {
      if (parts.length < 3) {
    sidebar.textContent = 'תאריך לועזי: ' + gregDate;
        alert('פורמט לא תקין');
        return;
      }
      var day = hebNumToInt(parts[0]);
      var month = months[parts[1]];
      var year = parseHebrewYear(parts[2]);
 
      fetch(`https://www.hebcal.com/converter?cfg=json&hy=${year}&hm=${month}&hd=${day}&h2g=1`)
        .then(r=>r.json())
        .then(data=>{
          alert(`${data.gy}-${data.gm}-${data.gd}`);
        })
        .catch(err=>{
          alert('שגיאה בהמרה: '+err);
        });
    });
  });
});
});

גרסה אחרונה מ־14:01, 5 בספטמבר 2025

var sidebar = document.createElement('div');
sidebar.id = 'hebrewDateSidebar';
sidebar.style.cssText = `
  position: fixed;
  top: 100px;
  right: 10px;
  width: 150px;
  background-color: #FFF3E0;
  border: 1px solid #FFA726;
  padding: 10px;
  font-size: 90%;
  z-index: 1000;
`;
document.body.appendChild(sidebar);

function convertHebrewDate(hebrewDate, callback) {
    const months = {
        'תשרי':1,'חשוון':2,'כסלו':3,'טבת':4,
        'שבט':5,'אדר':6,'אדר ב׳':7,'ניסן':8,
        'אייר':9,'סיון':10,'תמוז':11,'אב':12,'אלול':13
    };
    const match = hebrewDate.match(/\[\[([^\]]+)\]\]\s*\[\[([^\]]+)\]\]/);
    if (!match) return;
    let day = parseInt(match[1].replace(/[^\d]/g,''));
    let month = months[match[2].trim()];
    let year = match[2].includes('תש') ? parseInt('5' + match[2].replace(/[^\d]/g,'')) : parseInt(match[2].replace(/[^\d]/g,''));
    fetch(`https://www.hebcal.com/converter?cfg=json&hy=${year}&hm=${month}&hd=${day}&h2g=1`)
        .then(resp => resp.json())
        .then(data => {
            callback(data.gy + '-' + data.gm + '-' + data.gd);
        });
}

convertHebrewDate('[[י"ח חשוון]] [[תשל"א]]', function(gregDate) {
    sidebar.textContent = 'תאריך לועזי: ' + gregDate;
});