これはコードブロック(<pre><code>
)を対象としており、インラインコード向けではありません。
使用する <pre>
にクラス command-line を追加します。サーバーコマンドラインの場合は、data-user
属性と data-host
属性を使用してユーザー名とホスト名を指定します。結果として表示されるプロンプトには、ルートユーザーの場合は #、それ以外のユーザーの場合は $ が表示されます。Windows プロンプトなどのその他のすべてのコマンドラインの場合は、data-prompt
属性を使用してプロンプト全体を指定できます。
次のシンプルな形式を使用して、<pre>
要素の data-output
属性で、出力として表示される行(プロンプトがなく、強調表示されていない)を指定できます。
例
いくつかの行を自動的に出力として表示するには、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
data-continuation-str="\"
。data-filter-continuation
data-filter-output
と同様の方法で機能します。data-filter-continuation
の値ですべての継続行にプレフィックスを付けると、data-continuation-prompt
で設定されたプロンプトで表示されます。たとえば、data-filter-continuation="(con)"
は、(con)
で始まる行を継続行として扱い、プレフィックスを削除します。data-continuation-prompt
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
<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
<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
<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!
<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)