משתמש:רובין בוט/ניסוי.js

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
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;
});