סקריפט: הכנסת סימוני יוניקוד RLM ו-LRM ועוד שיפורים



  • לפעמים, כדי שטקסט דו-כיווני ייוצג בצורה נכונה, צריך להוסיף תווים סמויים (LRM ו-RLM)
    הסבר מצויין כאן
    כתבתי סקריפט שיקל על הכנסת תווים אלו, הסקריפט מוסיף שני לחצנים לעורך הפוסטים בפורום 96c069b1-617b-4059-a108-2c13833292f1-image.png - הימני עבור הכנסת תו LRM והשמאלי עבור תו RLM.
    בנוסף, הסקריפט מאפשר שימוש בקיצורי מקשים ctrl+b ו-ctrl+i עבור טקסט בולד ונטוי

    קוד הסקריפט:

    // ==UserScript==
    // @name         RLM LRM
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  Add LRM and RLM and some keyboard shortcuts to nodebb composer
    // @author       yossi zahn
    // @match        https://tchumim.com/*
    // @match        http://forum.netfree.link/*
    // @match        https://xn--9dbazrsfz.com/*
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
        require(['composer/formatting'], function(formatting){
            require(['composer/controls'], function(controls){
                formatting.addButton("fa fa-caret-right", function(textArea){controls.insertIntoTextarea(textArea, "\u200e")}, "LTR Mark");
                formatting.addButton("fa fa-caret-left", function(textArea){controls.insertIntoTextarea(textArea, "\u200f")}, "RTL Mark");
            })
        });
        $(window).on('action:composer.loaded', function(e, data) {
            var composer = $('[data-uuid='+ data.post_uuid +'] .write');
            composer.on("keydown", function (event) {
                if (event.ctrlKey && event.which === 66) {
                    let boldButton = $('[data-uuid='+ data.post_uuid +'] [data-format="bold"]');
                    boldButton.click();
                    return false;
                }
                else if (event.ctrlKey && event.keyCode === 73) {
                    let italicButton = $('[data-uuid='+ data.post_uuid +'] [data-format="italic"]');
                    italicButton.click();
                    return false;
                }
                return true;
            });
        });
    })();
    

    השימוש בסקריפט הוא בצירוף התוסף TamperMonkey.
    למי שלא מכיר את TamperMonkey, ראה דוגמה נוספת לשימוש בתוסף כאן

    עריכה 1: הוספתי ctrl+b ו-ctrl+i
    עריכה 2: שיכתוב מחדש של תיאור הסקריפט...



  • דוגמא לשימוש בסקריפט:

    אתה רוצה לכתוב: ‎(something) something else
    בלי התערבות באלגוריתם זה יצא כך: (something) something else
    הפתרון הוא להוסיף לפני תחילת הטקסט האנגלי סימן LRM ע"י לחיצה על לחצן ▶

    דוגמה נוספת
    רוצה לומר hi לביבי:
    בלי עזרה זה ייצא כך: @bibi Hi!
    יש 2 פתרונות:

    • הוספת LRM לפני השטרודל ואחרי סימן הקריאה: ‎@bibi hi!‎
    • הוספת RLM לפני הרווח שאחרי ניק המשתמש: @bibi ‏Hi!


  • @yossiz
    מה צריך להוסיף בסקריפט כדי שיחול גם על פורום נטפרי ומקצועות ?



  • @ליכט להוסיף עוד שורות ‎@match, אחד לכל דומיין שאתה רוצה להוסיף

    // @match        https://tchumim.com/*
    // @match        http://forum.netfree.link/*
    // @match        https://xn--9dbazrsfz.com/*
    


  • שיפור:
    הוספתי אפשרות להשתמש בקיצורי מקשים עבור טקסט בולד (ctrl+b) ונטוי (ctrl+i)



  • @yossiz
    אני רואה שהוספת לסקריפט את הכתובת של פורום נטפרי ולא של מקצועות, יש סיבה מיוחדת לכך ?





  • @yossiz עובד גם ב-GreaseMonkey?


התחבר כדי לפרסם תגובה
 

38
מחובר

2.0k
משתמשים

6.8k
נושאים

79.3k
פוסטים

gardner photograph

סלולר כשר במחירים הנמוכים ביותר עם ובלי ניוד.

כנסו לאתר לקניה מקוונת, או בדקו סניף קרוב לביתכם.

מוצרים עם הנחה

לחצו פה כדי להגיע לרשימת מוצרים עם הנחה בקיאספי.

בהגעה דרך הלינק, ישנה הנחה בשלב התשלום בקופה!

בא תתחבר לדף היומי!