Page 1 of 1

Prehliadač markdown .MD - pridať u kódu tlačítko Skopírovať?

Posted: 14 Feb 2025, 17:00
by AD7
Občas si uložím konverzáciu s ChatGPT, ako .md. Ak sú tam nejaké príkazy alebo kód hodilo by sa tam mať rovnako to tlačítko skopírovať do schránky.

Vie niekto či by to išlo urobiť do AS v4 ev. v5 preview?

Re: Prehliadač markdown .MD - pridať u kódu tlačítko Skopírovať?

Posted: 14 Feb 2025, 19:08
by therube
Co když pro něj nastavíte (alternativní) prohlížeč?

-

How about if you set up an (Alternative) Viewer for it?

Options | Configuration | Viewers -> Alternate

*.md
Command: copymdtoclip.bat

copymdtoclip.bat:

Code: Select all

cat.exe %1 | clip
With cat.exe being the UNIX cat command.

Re: Prehliadač markdown .MD - pridať u kódu tlačítko Skopírovať?

Posted: 16 Feb 2025, 17:32
by AD7
Myslím iné, u kódu mať tlačítko ako tu:
2025-02-16.png
2025-02-16.png (36.84 KiB) Viewed 22665 times

Re: Prehliadač markdown .MD - pridať u kódu tlačítko Skopírovať?

Posted: 16 Feb 2025, 19:32
by powerlicht
That would actually be a brilliant additional function in the MD viewer.

But I think that will be quite complex because each code block needs an element with a unique ID.

The solutions I've seen on websites so far have always used JavaScript.

So it's still a case of triple-clicking plus CTRL-C :lol:

Re: Prehliadač markdown .MD - pridať u kódu tlačítko Skopírovať?

Posted: 30 Mar 2025, 12:50
by AD7
Dobrá správa, JavaScript ide pridať do markdown viewera (ieviewer plugin) vo verzii AS 4.0 x64, inšpirácia pre vlastné pokusy. :wink:

Napadlo ma to pri riešení tmavej témy. :roll:
viewtopic.php?t=43645

Postačí pridať jednoduchý kód buď na začiatok alebo koniec CSS súboru:

Code: Select all

C:\Program Files\Altap Salamander\plugins\ieviewer\css\githubmd.css
Dve verzie:
1. Vložený kód v .CSS. AS predtým než podhodí .MD súbor pluginu jednoducho vloží .CSS do hlavičky a pridá HTML tagy:

Code: Select all

</style>
<script>
alert("Ahoj.");
</script>
<style>
2. Externý súbor .JS. Príklad: súbor mám uložený v adresári pluginu, v podadresári JS:

Code: Select all

C:\Program Files\Altap Salamander\plugins\ieviewer\js\myscripts.js
a potom vložený kód v .CSS bude:

Code: Select all

</style>
<script src="file:///C:/Program%20Files/Altap%20Salamander/plugins/ieviewer/js/myscripts.js"></script>
<style>
My len jednoducho ukončíme štýl, vložíme náš JavaScript, a pridáme ešte jeden párový tag opäť pre štýl.

Renderovaný HTML z markdown-u je takýto, pre vložený JS:
2025-03-30.png
2025-03-30.png (9.5 KiB) Viewed 19274 times
A u externého JS:
2025-03-30_ext_js.png
2025-03-30_ext_js.png (10.68 KiB) Viewed 19274 times
Poznámka:
Samozrejme si možno vkladať viac súborov, nejaké knižnice... a tak rozšíriť možnosti prehliadača, v mojom prípade markdown súborov. Ak narazíte nejaké limity (IE) dajte vedieť.

Re: Prehliadač markdown .MD - pridať u kódu tlačítko Skopírovať?

Posted: 30 Mar 2025, 13:13
by AD7
Riešenie k otázke.
Nepridával som tlačítko "Copy" ale jednoducho pri pohybe myši kliknem na zvýraznený tag (svetlejšie pozadie) a ten blikne 2x. :wink:

Kód pre súbor myscripts.js (cesta: C:\Program Files\Altap Salamander\plugins\ieviewer\js\myscripts.js) funkčný pre AS 4.0 x64 vo Windows 10 22H2, stable release:

Code: Select all

window.onload = function () {
    var elements = document.querySelectorAll(".markdown-body *");
    Array.prototype.forEach.call(elements, function (element) {
        // Pridanie efektu zvýraznenia pri pohybe myši
        element.addEventListener("mouseenter", function () {
            this.setAttribute("data-original-bg", this.style.backgroundColor || "");
            this.style.backgroundColor = "#3B4855";
            this.style.cursor = "pointer";
        });

        element.addEventListener("mouseleave", function () {
            this.style.backgroundColor = this.getAttribute("data-original-bg");
        });

        // Kopírovanie textu po kliknutí
        element.addEventListener("click", function () {
            var text = this.innerText;
            if (window.clipboardData && window.clipboardData.setData) {
                // Pre IE11
                window.clipboardData.setData("Text", text);
                blinkText(this);
            } else if (navigator.clipboard && navigator.clipboard.writeText) {
                navigator.clipboard.writeText(text).then(function () {
                    blinkText(this);
                }).catch(function (err) {
                    console.error("Chyba pri kopírovaní: ", err);
                });
            } else {
                console.error("Kopírovanie nie je podporované");
            }
        });
    });

    function blinkText(element) {
        var originalColor = element.style.color;
        element.style.color = "transparent";
        setTimeout(function () {
            element.style.color = originalColor;
            setTimeout(function () {
                element.style.color = "transparent";
                setTimeout(function () {
                    element.style.color = originalColor;
                }, 150);
            }, 150);
        }, 150);
    }
};
Celý kód:
https://www.upload.ee/files/17913970/ie ... s.zip.html

Preview:
js.gif
js.gif (113.59 KiB) Viewed 19271 times

Re: Prehliadač markdown .MD - pridať u kódu tlačítko Skopírovať?

Posted: 15 Apr 2025, 11:45
by AD7
Vylepšenie JS:
+ hláška o počte skopírovaných znakov do schránky, timeout cca. 3 sek

Kód pre myscripts.js (v2):
https://pastebin.com/k1XfKcEL


Náhľad:
myscripts.js.gif
myscripts.js.gif (82.23 KiB) Viewed 2087 times