- 1. 概要
- 2. 編集
1. 概要
ご存知だろうか?
本サイトは、現在、コードの記述には、この「prism.js」を使用しているのでありますが。
コードの記述を、パソコン上のブラウザで開くと、少なくとも「Vivaldi」(ということは「Chromium」系列)であれば、コードの記述上にマウスカーソルを持って行くと、「言語名 Copy」という表示があらわれます。
この「Copy」をクリックすると、そのコードがそのままクリップボードにコピーされるので。
「Unix」や「Linux」のコマンド記述をコピーすれば、「Unix(Linux)」の端末にそのままペーストして貼り付けられるということを。
「Windows」のコマンドプロンプトでも、同じことができます。
ただ、ちょっと面倒なのが、クリップボードにコピーする際、末尾の1行に改行がはいらないので、複数行のコマンドをコピーしてペーストする際は、末尾で一発 Enter を打たなければならないので、面倒なのだ。
それで、コピーする際に、末尾に改行を追加したいというわけです。
2. 編集
「prism.js」を開いて、「copy-to-clipboard」を検索します。
2つ目くらいに、下記のようなコードが見つかるはずです。
!function(){if("undefined"!=typeof self&&self.Prism&&self.document){if(!Prism.plugins.toolbar)return console.warn("Copy to Clipboard plugin loaded before Toolbar plugin."),void 0;var o=window.Clipboard||void 0;/(native code)/.test(o.toString())&&(o=void 0),o||"function"!=typeof require||(o=require("clipboard"));var t=[];if(!o){var e=document.createElement("script"),n=document.querySelector("head");e.onload=function(){if(o=window.Clipboard)for(;t.length;)t.pop()()},e.src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.8/clipboard.min.js",n.appendChild(e)}Prism.plugins.toolbar.registerButton("copy-to-clipboard",function(e){function n(){var t=new o(i,{text:function(){return e.code}});t.on("success",function(){i.textContent="Copied!",r()}),t.on("error",function(){i.textContent="Press Ctrl+C to copy",r()})}function r(){setTimeout(function(){i.textContent="Copy"},5e3)}var i=document.createElement("a");return i.textContent="Copy",o?n():t.push(n),i})}}();
改行がないのでつらいところですが・・・。
その中に
var t=new o(i,{text:function(){return e.code}});
というコードがあります。
これを
var t=new o(i,{text:function(){return e.code+"\n"}});
に変えてやれば、コピー時、末尾に改行が追加されます。
|