Learned Stackの書き方¶
このサイトで使える記述法の説明、用途及びおおまかな設定について
reStructuredText
Markdown
mermaid
reStructuredText¶
Sphinxで標準となっているマークアップ言語で、特に設定をせずに使用することができる
reStructuredTextでは目次機能を容易に利用できるため、主に目次の生成に利用する
reStructuredTextの記述方法¶
要素 |
構文 |
|---|---|
H1 |
=== |
H2 |
--- |
H3 |
^^^ |
```
.. toctree::
:maxdepth: 1
:caption: Content
hoge
huga
example
```
toctreeの生成は
.rstもしくは.mdファイルに対するpathを記述する
reStructuredTextの参考¶
Markdown¶
Githubなどで特に書き慣れた(筆者の個人的な話)マークアップ言語で、拡張機能を利用することにより使用できる
Markdownは主に、コンテンツ本文の記述に利用する
Markdownインストール方法¶
MySTという拡張機能を利用することでMarkdownでの記述が可能になる
$ pip install myst-parser
SphinxでMySTを有効にする方法¶
conf.pyファイルに以下の記述をする
extensions = ["myst_parser"]
source_suffix = {
'.rst': 'restructuredtext',
'.md': 'markdown',
}
これによりMySTパーサーの拡張機能が有効になり、.mdの拡張子をもつドキュメントが全て解析される
Markdownでの記述方法¶
要素 |
構文 |
|---|---|
H1 |
# |
H2 |
## |
H3 |
### |
H4 |
#### |
H5 |
##### |
H6 |
###### |
太字 |
**bold** |
イタリック |
*italic* |
インラインコード |
`code` |
引用 |
> quote |
テーマ別ブレイク |
--- |
自動リンク |
<https://github.com> |
URLリンク |
[github](https://github.com) |
画像リンク |
 |
リンク定義 |
[link]: https://github.com |
参照リンク |
[title][link] |
順序付きリスト |
1. item |
順序なしリスト |
- item |
コード |
```lang |
コメント |
% comment |
Markdownの参考¶
Mermaid¶
notionやgithubで使い慣れているとともに
学習内容の記録の際にDiagramの挿入ができると表現の幅が広がる
Mermaidインストール方法¶
sphinxcontrib.mermaidによってMySTを利用してMermaidを使用できるように拡張できる
pip install sphinxcontrib-mermaid
有効にする方法¶
conf.py
extensions = [
"myst-parser",
"sphinxcontrib.mermaid",
]
Mermaidの記述例¶
```{mermaid}
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
```
SphinxでのMermaidの実用¶
正直うまく出力できないことが多い
うまくいかない時はNotionもしくはGithubで図を作成し、スクショを撮って画像として貼り付ける方法をとる
Mermaidの参考¶
画像の貼り付けについて¶
画像はサイズが大きすぎるとページ全体のスタイルが崩れてしまう(特にスマートフォン)ので、サイズを固定する方法をとる
サイズは横幅360pxに固定する
固定方法
横幅360pxの画像を生成する
ffmpeg等で360pxに等倍加工をする
pipでインストールしたthemeのデフォルトのCSS設定でimgタグのwidthを360pxにする
$ ffmpeg -i INPUT_FILE -vf "scale=360:-1" -q 2 OUTPUT_FILE