コードブロックしたい(code-block
)
1```言語
2コード
3```
コードブロックはMarkdown記法の```言語名
を使って挿入できます。
参考
MySTを使っている場合コロンフェンス(:::
)でディレクティブ宣言を代用できるオプションがあります。
コードの中にコードを書く場合など、入れ子になったディレクティブを記述する場合にとても便利です。
1# conf.py
2myst_enable_extensions = [
3 "colon_fence",
4]
5
シンタックスハイライトしたい
1# conf.py
2pygments_style = "sphinx"
シンタックスハイライトにはPygments
というPythonモジュールが使われています。
pygments_style
を使って色使いを変更できます。
デフォルトはsphinx
になっています。
指定可能なプログラミング言語はPygmentsのAvaileble lexersで確認できます。 知らない言語もたくさん列挙されていて、眺めるだけでもおもしろいです。
行番号を表示したい(linenos
)
1```{code-block} python
2---
3linenos: true
4---
5import pandas as pd
6data = pd.read_csv("example.csv)
7```
linenos
オプションで、行番号を表示できます。
オプションを有効にする場合はcode-block
ディレクティブを使います。
注釈
conf.py
でmyst_number_code_blocks = ["言語"]
を設定すると、ドキュメント全体を変更できます。
1myst_number_code_blocks = [
2 "bash",
3 "python",
4 "dockerfile",
5]
参考
reST形式で書くと次のようになります。
1.. code-block: python
2 :linenos:
3
4 import pandas as pd
5 data = pd.read_csv("example.csv")
特定の行をハイライトしたい(emphasize-lines
)
1```{code-block} python
2---
3emphasize-lines: 1,3,9-20
4---
5import pandas as pd
6data = pd.read_csv("example.csv)
7```
emphasize-lines
オプションで、特定の行をハイライトできます。
複数行を飛び飛びで指定する場合は,(カンマ)
で区切ります。
連続で指定する場合は-(ハイフン)
で接続します。
キャプションをつけたい(caption
)
1```{code-block} python
2---
3caption: コードサンプルのキャプション
4---
5import pandas as pd
6data = pd.read_csv("example.csv)
7```
コードを参照したい(name
)
1```{code-block} python
2---
3name: ラベル名
4---
5import pandas as pd
6data = pd.read_csv("example.csv)
7```