כתבתי כמה תיקונים לעבודה נוחה יותר עם chatGpt.
ניתן להוריד את התוסף מחנות גוגל כרום
במידה ואין אפשרות להתקנת תוספים בדפדפן שלך, אפשר להשתמש בתוסף באחת מהדרכים הבאות:
דרך ראשונה- יש ללחוץ ctrl+D כדי להוסיף bookmark, ואז לערוך את הבוקמרק ולשנות את שדה "כתובת האתר" לקוד שכתבתי כאן:
javascript:(function(){let textareaDirection='rtl';function toggleDirection(){textareaDirection=textareaDirection==='rtl'?'ltr':'rtl';const textarea=document.querySelector('#prompt-textarea');if(textarea){textarea.style.direction=textareaDirection;}const img=document.querySelector('#direction-toggle-button img');if(img){img.style.transform=textareaDirection==='ltr'?'scaleX(-1)':'scaleX(1)';}}function toggleMarkdownDirection(){const markdowns=document.querySelectorAll('.markdown');markdowns.forEach(el=>{el.dir=el.dir==='rtl'?'ltr':'rtl';});const img=document.querySelector('#markdown-toggle-button img');if(img){img.style.transform=img.style.transform==='scaleX(-1)'?'scaleX(1)':'scaleX(-1)';}}function toggleWhitespaceStyle(){document.querySelectorAll('.whitespace-pre-wrap').forEach(el=>{const isActive=el.classList.contains('styled-q');if(isActive){el.classList.remove('styled-q');el.style.border='';el.style.borderRadius='';el.style.background='';}else{el.classList.add('styled-q');el.style.border='1px solid red';el.style.borderRadius='10px';el.style.background='lightyellow';}});}function jumpToNext(){const messages=document.querySelectorAll('[data-message-author-role]');let current=[...messages].findIndex(m=>m.getBoundingClientRect().top>100);if(current!==-1&&messages[current]){messages[current].scrollIntoView({behavior:'smooth',block:'start'});}}function jumpToPrevious(){const messages=[...document.querySelectorAll('[data-message-author-role]')];if(messages.length===0)return;let index=messages.findIndex(m=>m.getBoundingClientRect().top>=10);if(index===-1){index=messages.length;}if(index>0){messages[index-1].scrollIntoView({behavior:'smooth',block:'start'});}}function toggleQButtonGlow(){const qButton=document.querySelector('#q-style-toggle-button');if(!qButton)return;const glowing=qButton.classList.toggle('glowing-q');if(glowing){qButton.style.boxShadow='0 0 10px 4px yellow';}else{qButton.style.boxShadow='0 2px 6px rgba(0,0,0,0.2)';}}function createTooltip(btn){let tooltip=document.createElement('div');tooltip.textContent='Snir Elgabsi';tooltip.style.cssText=`position:absolute;bottom:120%;left:50%;transform:translateX(-50%) scale(0.5);padding:5px 10px;background:rgba(0,0,0,0.7);color:white;border-radius:6px;font-size:0.9rem;opacity:0;transition:opacity 0.3s ease, transform 0.3s ease;pointer-events:auto;cursor:pointer;z-index:10000;white-space:nowrap;`;tooltip.onclick=()=>{window.open('https://snir.blogspot.com','_blank');};btn.appendChild(tooltip);setTimeout(()=>{tooltip.style.opacity='1';tooltip.style.transform='translateX(-50%) scale(1)';},30);setTimeout(()=>{tooltip.style.opacity='0';tooltip.style.transform='translateX(-50%) scale(0.5)';setTimeout(()=>{if(tooltip.parentElement){tooltip.remove();}},300);},5030);btn._tooltip=tooltip;}function removeTooltip(btn){if(btn._tooltip){btn._tooltip.style.opacity='0';btn._tooltip.style.transform='translateX(-50%) scale(0.5)';setTimeout(()=>{if(btn._tooltip){btn._tooltip.remove();btn._tooltip=null;}},300);}}function addTooltipEvents(btn){let hoverTimeout=null;let leaveTimeout=null;btn.addEventListener('mouseenter',()=>{clearTimeout(leaveTimeout);hoverTimeout=setTimeout(()=>createTooltip(btn),1500);});btn.addEventListener('mouseleave',()=>{clearTimeout(hoverTimeout);leaveTimeout=setTimeout(()=>removeTooltip(btn),1000);});}function makeButtonImage(id,title,imgSrc,imgAlt,clickHandler){const btn=document.createElement('button');btn.id=id;btn.title=title;btn.style.cssText='width:2.2rem;height:2.2rem;border-radius:50%;background:white;color:black;border:1px solid lightgray;font-size:1.2rem;box-shadow:0 2px 6px rgba(0,0,0,0.2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;position:relative;';btn.onmouseover=()=>btn.style.backgroundColor='#f0f0f0';btn.onmouseout=()=>btn.style.backgroundColor='white';btn.onclick=(e)=>{e.preventDefault();clickHandler();};const img=document.createElement('img');img.src=imgSrc;img.alt=imgAlt;img.style.cssText='width:1.5rem;height:1.5rem;object-fit:contain;pointer-events:none;';btn.appendChild(img);addTooltipEvents(btn);return btn;}const imgPromptDir = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD/UExURenp6c7OzrKysnl5eVZWVpOTkwAAAAEBAaGhoW1tbQMDA5ycnI2NjVtbW8bGxsjIyMrKyrGxscXFxd3d3dLS0ubm5ujo6IuLi3d3d+Li4uTk5E1NTezs7CYmJicnJ1BQUI6OjtXV1ZKSknZ2dpqamgICAt/f36ampnJyclxcXDk5OaqqqrCwsK+vr7+/v66urnR0dMPDw29vb+7u7rW1tSwsLIWFhUJCQkRERMTExNTU1AYGBsfHx3FxcWtra8nJybOzswQEBE5OTjMzM6mpqa2trdzc3OXl5UxMTKWlpUtLS52dnUlJSZ6enuPj40hISMvLy0ZGRqSkpOvr6wAAAKVmCqgAAABVdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCwoQfPAAAACXBIWXMAAA7BAAAOwQG4kWvtAAAAGHRFWHRTb2Z0d2FyZQBQYWludC5ORVQgNS4xLjgbaeqoAAAAtmVYSWZJSSoACAAAAAUAGgEFAAEAAABKAAAAGwEFAAEAAABSAAAAKAEDAAEAAAACAAAAMQECABAAAABaAAAAaYcEAAEAAABqAAAAAAAAANl2AQDoAwAA2XYBAOgDAABQYWludC5ORVQgNS4xLjgAAwAAkAcABAAAADAyMzABoAMAAQAAAAEAAAAFoAQAAQAAAJQAAAAAAAAAAgABAAIABAAAAFI5OAACAAcABAAAADAxMDAAAAAA5X1phWJRlb4AAAFhSURBVEhL5ZRXV8JAEIUpurEiorGAHdGIxoYo9i5WbPP/f4uzmZFkl6xsXuV7yHLP3C9kYU9SkJh/rqTSmWyfQponRKfSLxBHXtoM8IjoUAa5PxSUHUeGYZ4RujLCXSFGc2P5cVwz+cIEDwlNmaS6JIvRxXWKJiGaMh3uYgbjLK5FmoRoSonqEktlbp7qEltlgeoS2wdbpLrEVllKvv1lqktsFVhp/5XWCpR/D5i9AquBUEmiwNq6t1FN9C0Bm8mVreSK36vKtievO0Ls4mKl7AmxXwM4qFcPMRWPGg2XBiGacoy3FSccDKhKQRp5DiYUxcpQlBwKpwUOZiLKmTzy9bJ3HsfFJbeiCv6gFe31HeWKa1GlVhLXfyg+15QHc2/Qub3L+HHcP3BL3X7zEe/2xMFMVIHmMzovHIwoChRf0XnjYEJVoPWOzgcHA5oCrU/xxR9N6Ap8dzmUMUp3eloB+AGGLqjp2OH2dAAAAABJRU5ErkJggg=='; const imgMarkdownDir = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAABOCAIAAAAByLdKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALeSURBVHhe7ZsxjuIwFIZTU+0RKLkBJWlX4gLT0SPtDZBAokFcAYFoqaDZFiqQQKKAHi5ARUvB/orfWCSZOF7ivDHM+ypiXvL7ix2HSCG4/xhE9R2xVV0ul61Wq1qtBiyEYXg+nynbEVaqCKYuMILT6tY2XzXtiU6UCsW4ts1R7Xa7FBsE+Ox8UqXBZUJ5EQ5tTarIoMAgwLVKrSWTUAWubE2qk8lEhWE8qal8tCpC9WR2YmtS1bP3W1Qxj4BDW5PqYyo1lU8i1KGt76rAle0LqAIntq+hCorbvowqKGj7SqqgiK2/qrirU1Ocp229U9W/W5BOTSmes/VOFVkqFBgcnrD1ThVoB/NT6//a+qiKTmsHAGH05Esey3JtfVQFjyNmj/m3uqeqAEOUGLdcUE87f4W/qhqkA6zMWegnsJdXzQXdU/0UVUJUI0TVO0Q1iahGiGqMTqdTq9VQ87s0cHBEIIgiU3CojkYjVcAD4ig4Dofq4XBQBTwcj0cKjsOhCi6Xy5oFBFFkCiZVHxDVJKIakat6vV7VnYaBRqOBOAqOw6E6GAxUAQ+Io+A4HKq3263ZbKoazS9H0OE+QRDiKDgOh6oniGoSUY2wUT2dTn9ZQBBFpuBQ3W63qoAHxFFwHA7V6XSqCnhAHAXH4VAFw+GwXq+j5qM0cHBEIIgiUzCp+oCoJhHVCBvV8Xj8x5per0e7RUsaWjabDW0XgEN1NpupAnva7TZ2nM/ntB0EWc8r9nCorlYrVWBPv9/Hjuv1Wm1WKhV1qCJwqILdboepaMlisaDd7vf9fo+W4kMKmFR9QFSTiGqEqHqHqCYR1QhR9Q5RTSKqET9RdZLxGr0nWP6hzaQKQ3UI89n6drSqeUhMqpgY+nVcb+ewnr2AmjLI+VqfMIDPue/HM5PoHrVmkKMKnnixnB90krqbTb4q0OuTn1guJVaqAFd8GIY4ef4Msvqnhv0iYqv6Bojq+3G//wN9rsRvy4i5OAAAAABJRU5ErkJggg=='; const imgPrevBtn='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCA1LjEuOBtp6qgAAAC2ZVhJZklJKgAIAAAABQAaAQUAAQAAAEoAAAAbAQUAAQAAAFIAAAAoAQMAAQAAAAIAAAAxAQIAEAAAAFoAAABphwQAAQAAAGoAAAAAAAAAYAAAAAEAAABgAAAAAQAAAFBhaW50Lk5FVCA1LjEuOAADAACQBwAEAAAAMDIzMAGgAwABAAAAAQAAAAWgBAABAAAAlAAAAAAAAAACAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAAAAACrgCETU544KAAAAfBJREFUaEPtmbtKxEAYheMFLdRCsRC0ULQTES+NPoBvoGAraKGlhdhaqGglgq1voAg2ViIi2KiVKIhY+wCijZdzMpOQ3WwmS8i/mV3ng4+Z2SXZPUn+mU3WczgcmemBx/AOrvMFm2nSbTkMcQ5n/JFiD26orpE+uAyT9p0XW7pNpBvewN8K7sI0pmClbfPWiClEYFqYCfgNK22bp4lUEyJwByZRyBkJrmOGYE3M+qPq4JnZVN0SBuE2bIaxD8yRRd2G9MJbWJ64GvehFfCotcIOf6S+HHmBT6obcgU/VTck2M4aOGXeQwZ5g8PwTI8Dl+BCZHwIrWQAnsAxf+R5FzAaZBWSFXiguvVBUhArMa2+DDKnuj5r8Eh1jbTBftUVhSUQIhFkHF7DFsgzKUWnblPJemlNwuh2UpbA6bchkAjyAz/gF+S6I2UJEjXSDjmVS/Oq21Tqavp1NWIbLohtSMxaQ5A3XdIHaV63qWSdtQq51ZU4alwQaU2RCMJ91rz2JGrEmgd0AW5lLwIXxDYaJojErNUFpyH3HVu4cuRSt6lknbUa6p499kHSSAWRXgxjSNTIKDyF0s+1RnTrIxGEZ5kPIKSJPUlJwv1EKQJTEP4BFIXXvLWYgjzDR/gA+e/VO7QWU7Hzvej7Qa04HP8Hz/sDd3810jpBBHcAAAAASUVORK5CYII='; const imgNextBtn='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCA1LjEuOBtp6qgAAAC2ZVhJZklJKgAIAAAABQAaAQUAAQAAAEoAAAAbAQUAAQAAAFIAAAAoAQMAAQAAAAIAAAAxAQIAEAAAAFoAAABphwQAAQAAAGoAAAAAAAAAYAAAAAEAAABgAAAAAQAAAFBhaW50Lk5FVCA1LjEuOAADAACQBwAEAAAAMDIzMAGgAwABAAAAAQAAAAWgBAABAAAAlAAAAAAAAAACAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAAAAACrgCETU544KAAAAgVJREFUaEPtmT0vBEEYxw8JChJUEgoSNAoJKhIFn4HQShRIJKLSKBSiFSFK30BDR0RES0EkJOJTeCkE///uzGX2bs2eu3325TK/5Jdn9jY3e8/uM3O7swWHQ4YGFcPgPnP/jzJ3HMEHeAsf4RzMLLYrcgWn/KbHGtz3m1a64RK09R0H2ypGcg51OdEVWAlj0PyelAEaVYyTb2WiSCTCPiX6tWKrY5bWjN/0WIWHftNKH9yBTKasBGJkQcVIqh0jqZB4CUjhEskadZOIxKzVDHv8piivKnpIJDICr2ETlJx+21SMpNrpdxSa35MygBvsFnif9QY/4YegASTGSAvs9ZuivKgYibtFSQOXSNaom0QkZq1+uAulT9KsipFUO2u5xYdakEiEfSY+9iTGSN0s0KVC4iUghUska/wnEenBWxPmj+MzBF8bbMF7eAGnoUbPWstwCK7DMNrhOGTfZX9cMXKpYgBOmXyhwwNzdWIAnqlt7SKcN7b3YBipPLMTJsErwJ38R2Z8hk+qreWLHz5imp8dwFKYiO5H0gAcI1+Qz9hEl9ogZPmY8O1Vq98s8q5iKYmPJ33ADngKJ72tyuAd7qbfDDAMT6D0uhbLv4h55johk5nwtuz8lQThVeYChDRlKykmTOYGltajKZPIBbZkcpOEJiyZ3CWh6YLH8A5u8AOHw5FXCoVfKaQOUfKxTTgAAAAASUVORK5CYII=';const dirBtn=makeButtonImage('direction-toggle-button',textareaDirection==='rtl'?'כיוון כתיבה מימין לשמאל - Ctrl+Shift':'כיוון כתיבה משמאל לימין - Ctrl+Shift',imgPromptDir,'כיוון כתיבה',toggleDirection);dirBtn.querySelector('img').style.transform=textareaDirection==="ltr"?"scaleX(-1)":"scaleX(1)";const mdBtn=makeButtonImage('markdown-toggle-button','החלף כיוון כתיבה של התשובות',imgMarkdownDir,'כיוון תשובות',toggleMarkdownDirection);const qBtn=document.createElement('button');qBtn.id='q-style-toggle-button';qBtn.title='הפעל/בטל עיצוב על whitespace-pre-wrap';qBtn.textContent='Q';qBtn.style.cssText=dirBtn.style.cssText;qBtn.onclick=(e)=>{e.preventDefault();toggleWhitespaceStyle();toggleQButtonGlow();};addTooltipEvents(qBtn);const nextBtn=makeButtonImage('next-snir-button','קפוץ לשאלה הבאה - Alt+↓',imgNextBtn,'קפוץ לשאלה הבאה',jumpToNext);const prevBtn=makeButtonImage('prev-snir-button','קפוץ לשאלה הקודמת - Alt+↑',imgPrevBtn,'קפוץ לשאלה הקודמת',jumpToPrevious);function createButtons(){if(document.querySelector('#direction-toggle-button'))return;const textarea=document.querySelector('#prompt-textarea');const buttonContainer=textarea?.closest('form')?.querySelector('div.flex > div.flex');if(!textarea||!buttonContainer)return;let btnGroup=document.querySelector('#custom-btn-group');if(!btnGroup){btnGroup=document.createElement('div');btnGroup.id='custom-btn-group';btnGroup.style.cssText='position:absolute;bottom:13px;right:95px;display:flex;gap:10px;z-index:9999;';buttonContainer.style.position='relative';buttonContainer.appendChild(btnGroup);}btnGroup.appendChild(prevBtn);btnGroup.appendChild(nextBtn);btnGroup.appendChild(mdBtn);btnGroup.appendChild(dirBtn);}document.addEventListener('keydown',function(e){if(e.key==='ArrowUp'&&e.altKey){e.preventDefault();jumpToPrevious();}if(e.key==='ArrowDown'&&e.altKey){e.preventDefault();jumpToNext();}});document.addEventListener('keydown',function(e){if(e.ctrlKey&&e.shiftKey&&!e.altKey){e.preventDefault();toggleDirection();}});const observer=new MutationObserver(()=>{createButtons();});observer.observe(document.body,{childList:true,subtree:true});createButtons();toggleDirection();toggleDirection();})();
- לחץ כאן כדי להעתיק את הקוד
- לחץ ctrl+d
- שנה את שם הסימניה, ובמקום כתובת, הדבק את הטקסט שהעתקת בסעיף 1
דרך שניה תוסף לדפדפן גוגל כרום
יש ליצור תיקיה חדשה ולשמור בתוכה את הקבצים הבאים:
- manifest.json
{ "manifest_version": 3, "name": "כיוון כתיבת עברית ב-ChatGPT", "version": "1.2", "author": "Snir Elgabsi", "description": "הוספת תפריט קטן לשינוי כיוון כתיבה ב-ChatGPT", "icons": { "16": "icon.png", "48": "icon.png", "128": "icon.png" }, "content_scripts": [ { "matches": [ "https://chat.openai.com/*", "https://chatgpt.com/*" ], "js": [ "content.js" ] } ], "permissions": [], "host_permissions": [ "https://chat.openai.com/*" "https://chatgpt.com/*" ] }
-
content.js
javascript:(function(){ let textareaDirection = localStorage.getItem('snir-textarea-direction') || 'rtl'; function toggleDirection(){ textareaDirection = textareaDirection === 'rtl' ? 'ltr' : 'rtl'; localStorage.setItem('snir-textarea-direction', textareaDirection); const textarea = document.querySelector('#prompt-textarea'); if(textarea){ textarea.style.direction = textareaDirection; } const img = document.querySelector('#direction-toggle-button img'); if(img){ img.style.transform = textareaDirection === 'ltr' ? 'scaleX(-1)' : 'scaleX(1)'; } } function toggleMarkdownDirection(){ const markdowns=document.querySelectorAll('.markdown'); markdowns.forEach(el=>{el.dir=el.dir==='rtl'?'ltr':'rtl';}); const img=document.querySelector('#markdown-toggle-button img'); if(img){img.style.transform=img.style.transform==='scaleX(-1)'?'scaleX(1)':'scaleX(-1)';} } function toggleWhitespaceStyle(){ document.querySelectorAll('.whitespace-pre-wrap').forEach(el=>{ const isActive=el.classList.contains('styled-q'); if(isActive){ el.classList.remove('styled-q'); el.style.border='';el.style.borderRadius='';el.style.background=''; }else{ el.classList.add('styled-q'); el.style.border='2px solid red'; el.style.borderRadius='10px'; el.style.boxShadow='0 0 8px 2px red'; el.style.padding='5px'; } }); } function jumpToNext(){ const messages = document.querySelectorAll('[data-message-author-role]'); let current = [...messages].findIndex(m => m.getBoundingClientRect().top > 100); if (current !== -1 && messages[current]) { messages[current].scrollIntoView({behavior: 'smooth', block: 'start'}); } } function jumpToPrevious() { const messages = [...document.querySelectorAll('[data-message-author-role]')]; if (messages.length === 0) return; let index = messages.findIndex(m => m.getBoundingClientRect().top >= 10); if (index === -1) index = messages.length; if (index > 0) { messages[index - 1].scrollIntoView({ behavior: 'smooth', block: 'start' }); } } function toggleQButtonGlow(){ const qButton=document.querySelector('#q-style-toggle-button'); if(!qButton)return; const glowing=qButton.classList.toggle('glowing-q'); if(glowing){qButton.style.boxShadow='0 0 10px 4px yellow';} else{qButton.style.boxShadow='0 2px 6px rgba(0,0,0,0.2)';} } function createTooltip(btn){ let tooltip = document.createElement('div'); tooltip.textContent = 'Snir Elgabsi'; tooltip.style.cssText = ` position:absolute; bottom:120%; left:50%; transform:translateX(-50%) scale(0.5); padding:5px 10px; background:rgba(0,0,0,0.7); color:white; border-radius:6px; font-size:0.9rem; opacity:0; transition:opacity 0.3s ease, transform 0.3s ease; pointer-events:auto; cursor:pointer; z-index:10000; white-space:nowrap; `; tooltip.onclick = () => { window.open('https://snir.blogspot.com', '_blank'); }; btn.appendChild(tooltip); setTimeout(() => { tooltip.style.opacity = '1'; tooltip.style.transform = 'translateX(-50%) scale(1)'; }, 500); setTimeout(() => { tooltip.style.opacity = '0'; tooltip.style.transform = 'translateX(-50%) scale(0.5)'; setTimeout(() => { if (tooltip.parentElement) { tooltip.remove(); } }, 300); }, 5030); btn._tooltip = tooltip; } function removeTooltip(btn){ if(btn._tooltip){ btn._tooltip.style.opacity='0'; btn._tooltip.style.transform='translateX(-50%) scale(0.5)'; setTimeout(()=>{if(btn._tooltip){btn._tooltip.remove();btn._tooltip=null;}},300); } } function addTooltipEvents(btn){ let hoverTimeout=null; let leaveTimeout=null; btn.addEventListener('mouseenter',()=>{ clearTimeout(leaveTimeout); hoverTimeout=setTimeout(()=>createTooltip(btn),1500); }); btn.addEventListener('mouseleave',()=>{ clearTimeout(hoverTimeout); leaveTimeout=setTimeout(()=>removeTooltip(btn),1000); }); } function makeButtonImage(id,title,imgSrc,imgAlt,clickHandler){ const btn=document.createElement('button'); btn.id=id; btn.title=title; btn.style.cssText='width:2.2rem;height:2.2rem;border-radius:50%;background:white;color:black;border:1px solid lightgray;font-size:1.2rem;box-shadow:0 2px 6px rgba(0,0,0,0.2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;position:relative;'; btn.onmouseover=()=>btn.style.backgroundColor='#f0f0f0'; btn.onmouseout=()=>btn.style.backgroundColor='white'; btn.onclick=(e)=>{e.preventDefault();clickHandler();}; const img=document.createElement('img'); img.src=imgSrc; img.alt=imgAlt; img.style.cssText='width:1.5rem;height:1.5rem;object-fit:contain;pointer-events:none;'; btn.appendChild(img); addTooltipEvents(btn); return btn; } // BASE64 images: const imgPromptDir = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD/UExURenp6c7OzrKysnl5eVZWVpOTkwAAAAEBAaGhoW1tbQMDA5ycnI2NjVtbW8bGxsjIyMrKyrGxscXFxd3d3dLS0ubm5ujo6IuLi3d3d+Li4uTk5E1NTezs7CYmJicnJ1BQUI6OjtXV1ZKSknZ2dpqamgICAt/f36ampnJyclxcXDk5OaqqqrCwsK+vr7+/v66urnR0dMPDw29vb+7u7rW1tSwsLIWFhUJCQkRERMTExNTU1AYGBsfHx3FxcWtra8nJybOzswQEBE5OTjMzM6mpqa2trdzc3OXl5UxMTKWlpUtLS52dnUlJSZ6enuPj40hISMvLy0ZGRqSkpOvr6wAAAKVmCqgAAABVdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCwoQfPAAAACXBIWXMAAA7BAAAOwQG4kWvtAAAAGHRFWHRTb2Z0d2FyZQBQYWludC5ORVQgNS4xLjgbaeqoAAAAtmVYSWZJSSoACAAAAAUAGgEFAAEAAABKAAAAGwEFAAEAAABSAAAAKAEDAAEAAAACAAAAMQECABAAAABaAAAAaYcEAAEAAABqAAAAAAAAANl2AQDoAwAA2XYBAOgDAABQYWludC5ORVQgNS4xLjgAAwAAkAcABAAAADAyMzABoAMAAQAAAAEAAAAFoAQAAQAAAJQAAAAAAAAAAgABAAIABAAAAFI5OAACAAcABAAAADAxMDAAAAAA5X1phWJRlb4AAAFhSURBVEhL5ZRXV8JAEIUpurEiorGAHdGIxoYo9i5WbPP/f4uzmZFkl6xsXuV7yHLP3C9kYU9SkJh/rqTSmWyfQponRKfSLxBHXtoM8IjoUAa5PxSUHUeGYZ4RujLCXSFGc2P5cVwz+cIEDwlNmaS6JIvRxXWKJiGaMh3uYgbjLK5FmoRoSonqEktlbp7qEltlgeoS2wdbpLrEVllKvv1lqktsFVhp/5XWCpR/D5i9AquBUEmiwNq6t1FN9C0Bm8mVreSK36vKtievO0Ls4mKl7AmxXwM4qFcPMRWPGg2XBiGacoy3FSccDKhKQRp5DiYUxcpQlBwKpwUOZiLKmTzy9bJ3HsfFJbeiCv6gFe31HeWKa1GlVhLXfyg+15QHc2/Qub3L+HHcP3BL3X7zEe/2xMFMVIHmMzovHIwoChRf0XnjYEJVoPWOzgcHA5oCrU/xxR9N6Ap8dzmUMUp3eloB+AGGLqjp2OH2dAAAAABJRU5ErkJggg=='; const imgMarkdownDir = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAABOCAIAAAAByLdKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALeSURBVHhe7ZsxjuIwFIZTU+0RKLkBJWlX4gLT0SPtDZBAokFcAYFoqaDZFiqQQKKAHi5ARUvB/orfWCSZOF7ivDHM+ypiXvL7ix2HSCG4/xhE9R2xVV0ul61Wq1qtBiyEYXg+nynbEVaqCKYuMILT6tY2XzXtiU6UCsW4ts1R7Xa7FBsE+Ox8UqXBZUJ5EQ5tTarIoMAgwLVKrSWTUAWubE2qk8lEhWE8qal8tCpC9WR2YmtS1bP3W1Qxj4BDW5PqYyo1lU8i1KGt76rAle0LqAIntq+hCorbvowqKGj7SqqgiK2/qrirU1Ocp229U9W/W5BOTSmes/VOFVkqFBgcnrD1ThVoB/NT6//a+qiKTmsHAGH05Esey3JtfVQFjyNmj/m3uqeqAEOUGLdcUE87f4W/qhqkA6zMWegnsJdXzQXdU/0UVUJUI0TVO0Q1iahGiGqMTqdTq9VQ87s0cHBEIIgiU3CojkYjVcAD4ig4Dofq4XBQBTwcj0cKjsOhCi6Xy5oFBFFkCiZVHxDVJKIakat6vV7VnYaBRqOBOAqOw6E6GAxUAQ+Io+A4HKq3263ZbKoazS9H0OE+QRDiKDgOh6oniGoSUY2wUT2dTn9ZQBBFpuBQ3W63qoAHxFFwHA7V6XSqCnhAHAXH4VAFw+GwXq+j5qM0cHBEIIgiUzCp+oCoJhHVCBvV8Xj8x5per0e7RUsaWjabDW0XgEN1NpupAnva7TZ2nM/ntB0EWc8r9nCorlYrVWBPv9/Hjuv1Wm1WKhV1qCJwqILdboepaMlisaDd7vf9fo+W4kMKmFR9QFSTiGqEqHqHqCYR1QhR9Q5RTSKqET9RdZLxGr0nWP6hzaQKQ3UI89n6drSqeUhMqpgY+nVcb+ewnr2AmjLI+VqfMIDPue/HM5PoHrVmkKMKnnixnB90krqbTb4q0OuTn1guJVaqAFd8GIY4ef4Msvqnhv0iYqv6Bojq+3G//wN9rsRvy4i5OAAAAABJRU5ErkJggg=='; const imgPrevBtn='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCA1LjEuOBtp6qgAAAC2ZVhJZklJKgAIAAAABQAaAQUAAQAAAEoAAAAbAQUAAQAAAFIAAAAoAQMAAQAAAAIAAAAxAQIAEAAAAFoAAABphwQAAQAAAGoAAAAAAAAAYAAAAAEAAABgAAAAAQAAAFBhaW50Lk5FVCA1LjEuOAADAACQBwAEAAAAMDIzMAGgAwABAAAAAQAAAAWgBAABAAAAlAAAAAAAAAACAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAAAAACrgCETU544KAAAAeNJREFUaEPtmbtKxEAUhuMFLdRCsRC0ULQTES+VD2Bhr2AraKGljbYWXrASwdY3UAQbKxFRbFwrURCx9gFEK/U/mUmY7CaTEHLM7Ho++DgzG5Ldk7lkZ+IJgpCbHngM7+E6fVCPUBK38MdwD2ahT8c/pUlHk254Dmf8WhRKZkMVE5mCczDu2kWypWMslMQNNFui2l1oYwLGnVe0iWRJInAHJkEtEndO0UYImt/WnZKgltlUxQiDcBs2w5ovLJBFHUN64R2szjiL+9AJ6K61wg6/pn4c8QKfVDHkCn6qYkhwnjPQlFmBlMgbHIZnuh64BBeM+iF0kgF4Asf8muddQDORVUiswANVrA+SEnESGiMNge3pSy0yq4o+a/BIFa20wX5VZIXGcghHIuPwGrZA6pJcdOqYSt4xMgnN87iMwDFGvuEH/IL03OEyAkfXaoc0lXPzqmMqMv2WgSTiGpKIa3BMv0OQVo/cN2lex1TyTr+lrNmla1mg1eYytF27CKz7WibyZC8DScQ1JBHX4Jh+u+A0pGvXPLgK5FLHVPJOvw2zZi8Fjq41Ck8h93bQiI4+HIlQK9MGBDc1OylJyF+UMrAlQi+ATKjPO4stkWf4CB8gvb16h85iG+x0zDwejBVB+D943i8TrRfXoZttJgAAAABJRU5ErkJggg=='; const imgNextBtn='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCA1LjEuOBtp6qgAAAC2ZVhJZklJKgAIAAAABQAaAQUAAQAAAEoAAAAbAQUAAQAAAFIAAAAoAQMAAQAAAAIAAAAxAQIAEAAAAFoAAABphwQAAQAAAGoAAAAAAAAAYAAAAAEAAABgAAAAAQAAAFBhaW50Lk5FVCA1LjEuOAADAACQBwAEAAAAMDIzMAGgAwABAAAAAQAAAAWgBAABAAAAlAAAAAAAAAACAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAAAAACrgCETU544KAAAAfhJREFUaEPtmc0rBVEYhweFBYWVYkFhI8nHirKRjT1lLQskCytbC9mJIks7SxtZKUl3y4IUJf4JHwvh95tzzu3MnWvmds1rZnKeenrfubeZO+89Z87MOeM5HDLU6FgOfmd//6XNHQfwFl7BOzgLc8kFNK1AV2AltOv4p0R1rTM4qVKfZbiv0khG4DSMOnYSbOgYCwuxW2QJVsIQtPeTMkCtjkkiccxYJLpWF9yELCj0zyXInI6xVNu1UiGVbiCBKyRruEKyhsTwWw87VCrKk44+EoUMwktYByXvI006xlLtfWQY2vtJGUDiGvmEL/AdvgkaQKJrNcBOlYryqGMs7hElDVwhWcMVkjUkht9uuAWl/6QZHWOpdvjlKoq9n5QBXNeKgAt0CzDq2Ekgvq6VCm74zRr/shDpi/dX2IVwDnEMB/yt8ImbsXsRbqs0O5iT5ZB5CrmS/gyn4A7k6wHDPHyFR/6W5+3CVZUGaIajkMcO3bgS5FzHIiziBvJHOU1lfID3OjfyxQ+nmPZne7CU1ObsH5BzbGJaqBf2qbTIBGxUaRG2UCYwJ94CT+C4v1UZfDBcV2mAfshrTXo5qEdHH/uCboUsZszfiuanIghbmQsQ0oRWUmxYTAGW9kdbFpELoorJTRGGcsXkrghDGzyE13CNHzgcjrzied8Om+958SArgwAAAABJRU5ErkJggg=='; // כפתורים: const dirBtn = makeButtonImage('direction-toggle-button', textareaDirection==='rtl'?'כיוון כתיבה מימין לשמאל - Ctrl+Shift':'כיוון כתיבה משמאל לימין - Ctrl+Shift', imgPromptDir, 'כיוון כתיבה', toggleDirection); dirBtn.querySelector('img').style.transform = textareaDirection === "ltr" ? "scaleX(-1)" : "scaleX(1)"; const mdBtn = makeButtonImage('markdown-toggle-button', 'החלף כיוון כתיבה של התשובות', imgMarkdownDir, 'כיוון תשובות', toggleMarkdownDirection); const qBtn=document.createElement('button'); qBtn.id='q-style-toggle-button'; qBtn.title='הפעל/בטל עיצוב על whitespace-pre-wrap'; qBtn.textContent='Q'; qBtn.style.cssText=dirBtn.style.cssText; qBtn.onclick=(e)=>{e.preventDefault();toggleWhitespaceStyle();toggleQButtonGlow();}; addTooltipEvents(qBtn); const nextBtn=makeButtonImage('next-snir-button','קפוץ לשאלה הבאה - Alt+↓',imgNextBtn,'קפוץ לשאלה הבאה',jumpToNext); const prevBtn=makeButtonImage('prev-snir-button','קפוץ לשאלה הקודמת - Alt+↑',imgPrevBtn,'קפוץ לשאלה הקודמת',jumpToPrevious); // יצירת כפתורים function createButtons(){ if(document.querySelector('#direction-toggle-button')) return; const textarea=document.querySelector('#prompt-textarea'); const buttonContainer=textarea?.closest('form')?.querySelector('div.flex > div.flex'); if(!textarea||!buttonContainer) return; let btnGroup=document.querySelector('#custom-btn-group'); if(!btnGroup){ btnGroup=document.createElement('div'); btnGroup.id='custom-btn-group'; btnGroup.style.cssText='position:absolute;bottom:13px;right:95px;display:flex;gap:10px;z-index:9999;'; buttonContainer.style.position='relative'; buttonContainer.appendChild(btnGroup); } btnGroup.appendChild(prevBtn); btnGroup.appendChild(nextBtn); btnGroup.appendChild(mdBtn); btnGroup.appendChild(dirBtn); // החלת כיוון כתיבה מה־localStorage if (textarea) { textarea.style.direction = textareaDirection; const img = dirBtn.querySelector('img'); if (img) img.style.transform = textareaDirection === 'ltr' ? 'scaleX(-1)' : 'scaleX(1)'; } } document.addEventListener('keydown', function (e) { if (e.key === 'ArrowUp' && e.altKey) { e.preventDefault(); jumpToPrevious(); } if (e.key === 'ArrowDown' && e.altKey) { e.preventDefault(); jumpToNext(); } if(e.ctrlKey && e.shiftKey && !e.altKey) { e.preventDefault(); toggleDirection(); } }); const observer=new MutationObserver(()=>{createButtons();}); observer.observe(document.body,{childList:true,subtree:true}); createButtons(); })();
-
שמור את התמונה הבאה בשם icon.png
התוסף מוכן, כעת נפעיל אותו ע"י הדפדפן:
- פתח את Chrome.
-
:עבור לכתובת
chrome://extensions
(לחץ כאן כדי להעתיק את הכתובת) - הפעל את Developer mode (בצד ימין למעלה).
- לחץ על Load unpacked ובחר את התיקייה עם הקבצים שלך.