使用方法

これはコードブロック(<pre><code>)を対象としており、インラインコード向けではありません。

使用する <pre> にクラス command-line を追加します。サーバーコマンドラインの場合は、data-user 属性と data-host 属性を使用してユーザー名とホスト名を指定します。結果として表示されるプロンプトには、ルートユーザーの場合は #、それ以外のユーザーの場合は $ が表示されます。Windows プロンプトなどのその他のすべてのコマンドラインの場合は、data-prompt 属性を使用してプロンプト全体を指定できます。

オプション: コマンド出力(位置情報)

次のシンプルな形式を使用して、<pre> 要素の data-output 属性で、出力として表示される行(プロンプトがなく、強調表示されていない)を指定できます。

5
5 行目
1-5
1 行目から 5 行目まで
1,4
1 行目と 4 行目
1-2, 5, 9-20
1 行目から 2 行目、5 行目、9 行目から 20 行目まで

オプション: コマンド出力(プレフィックス)

いくつかの行を自動的に出力として表示するには、data-filter-output 属性を使用して、<pre> 要素のそれらの行に任意の文字列をプレフィックスとして付け、プレフィックスを指定できます。たとえば、data-filter-output="(out)" は、(out) で始まる行を出力として扱い、プレフィックスを削除します。

空白行は、プロンプトのある空行としてレンダリングされます。プロンプトのない空行が必要な場合は、出力プレフィックスのみを含む行を使用できます。例: (out)。以下の例で空白行を確認してください。

出力行はデフォルトでユーザーが選択できるように設定されているため、コードブロックのすべてのコンテンツを選択すると、シェルコマンドとすべての出力行が選択されます。コマンドのみをコピーして貼り付けたい場合に、これが好ましくない場合があります。出力をユーザーが選択できないようにするには、CSS に以下を追加します。

.command-line span.token.output {
	user-select: none;
}

オプション: 複数行コマンド

プラグインを構成して複数行コマンドを処理できます。これには 2 つの方法があります。行継続文字列の設定(Bash の場合)、または、継続文字列/文字列のない言語(SQL、Scala など)の継続行にプレフィックスを明示的に追加する方法です。

data-continuation-str
この属性を行継続文字列/文字列に設定します。たとえば、bash の場合は data-continuation-str="\"
data-filter-continuation
これは、data-filter-output と同様の方法で機能します。data-filter-continuation の値ですべての継続行にプレフィックスを付けると、data-continuation-prompt で設定されたプロンプトで表示されます。たとえば、data-filter-continuation="(con)" は、(con) で始まる行を継続行として扱い、プレフィックスを削除します。
data-continuation-prompt
この属性を設定して、コマンドが 1 行目以降に続いたときに表示されるプロンプトを定義します(行継続またはコマンド終了を使用しているかどうかに関係なく)。たとえば、MySQL の場合 data-continuation-prompt="->"。この属性が設定されていない場合、既定の > が使用されます。

出力のないデフォルトの使用

<pre class="command-line">
cd ~/.vim

vim vimrc

出力のないルートユーザー

<pre class="command-line"
     data-user="root"
     data-host="localhost">
cd /usr/local/etc
cp php.ini php.ini.bak
vi php.ini

出力がある一般ユーザー

<pre class="command-line"
     data-user="chris"
     data-host="remotehost"
     data-output="2, 4-8">
pwd
/usr/home/chris/bin
ls -la
total 2
drwxr-xr-x   2 chris  chris     11 Jan 10 16:48 .
drwxr--r-x  45 chris  chris     92 Feb 14 11:10 ..
-rwxr-xr-x   1 chris  chris    444 Aug 25  2013 backup
-rwxr-xr-x   1 chris  chris    642 Jan 17 14:42 deploy

出力がある Windows PowerShell

<pre class="command-line"
     data-prompt="PS C:\Users\Chris>"
     data-output="2-19">
dir


    Directory: C:\Users\Chris


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-r--        10/14/2015   5:06 PM            Contacts
d-r--        12/12/2015   1:47 PM            Desktop
d-r--         11/4/2015   7:59 PM            Documents
d-r--        10/14/2015   5:06 PM            Downloads
d-r--        10/14/2015   5:06 PM            Favorites
d-r--        10/14/2015   5:06 PM            Links
d-r--        10/14/2015   5:06 PM            Music
d-r--        10/14/2015   5:06 PM            Pictures
d-r--        10/14/2015   5:06 PM            Saved Games
d-r--        10/14/2015   5:06 PM            Searches
d-r--        10/14/2015   5:06 PM            Videos

出力を使用した行継続(bash)

<pre class="command-line"
     data-filter-output="(out)"
     data-continuation-str="\" >
export MY_VAR=123
echo "hello"
(out)hello
echo one \
two \
three
(out)one two three
(out)
echo "goodbye"
(out)goodbye

出力に対する行継続 (PowerShell)

<pre class="command-line"
     data-prompt="ps c:\users\chris>"
     data-continuation-prompt=">>"
     data-filter-output="(out)"
     data-continuation-str=" `">
Write-Host `
'Hello' `
'from' `
'PowerShell!'
(out)Hello from PowerShell!
Write-Host 'Goodbye from PowerShell!'
(out)Goodbye from PowerShell!

接頭辞を使用した行継続 (MySQL/SQL)

<pre class="command-line"
     data-prompt="mysql>"
     data-continuation-prompt="->"
     data-filter-output="(out)"
     data-filter-continuation="(con)">
set @my_var = 'foo';
set @my_other_var = 'bar';
(out)
CREATE TABLE people (
(con)first_name VARCHAR(30) NOT NULL,
(con)last_name VARCHAR(30) NOT NULL
(con));
(out)Query OK, 0 rows affected (0.09 sec)
(out)
insert into people
(con)values ('John', 'Doe');
(out)Query OK, 1 row affected (0.02 sec)
(out)
select *
(con)from people
(con)order by last_name;
(out)+------------+-----------+
(out)| first_name | last_name |
(out)+------------+-----------+
(out)| John       | Doe       |
(out)+------------+-----------+
(out)1 row in set (0.00 sec)