コンテンツにスキップ

その他の機能

特に断りのない限り,以下の拡張パッケージによって自由度の高い表現を実現できるようになります。詳しくはこちらに説明あり。

ソース:https://github.com/facelessuser/pymdown-extensions

文字の装飾いろいろ

mkdocs.ymlに以下を追加すると以下の装飾ができます。

  • 取り消し線
  • 下線
  • シンボル
  • 絵文字
  • すべての文字に対するエスケープ
  • 強調表示
  • ショートカットキー
  • インラインハイライト
markdown_extensions:
    - pymdownx.tilde:
    - pymdownx.caret:
    - pymdownx.betterem:
    - pymdownx.smartsymbols:
    - pymdownx.emoji:
        emoji_index: !!python/name:materialx.emoji.twemoji
        emoji_generator: !!python/name:materialx.emoji.to_svg
    - pymdownx.escapeall:
        hardbreak: True
        nbsp: True
    - pymdownx.mark:
    - pymdownx.keys:
        separator: "\uff0b"
機能 出力結果 Markdown
取り消し線 あいうえお かきくけこ あいうえお ~~かきくけこ~~
下線 さしすせそ たちつてと さしすせそ ^^たちつてと^^
斜体 なにぬねの はひふへほ なにぬねの *はひふへほ*
シンボルマーク ™ © ® ℅ ± → ← ↔ ≠ ¼. etc. 1st 2nd 3rd (tm) (c) (r) c/o +/- --> <-- <--> =/= 1/4. etc. 1st 2nd 3rd
絵文字 😄 ❤ 👍 :smile: :heart: :thumbsup:
文字のエスケープ We can escape everything! \W\e\ \c\a\n\ \e\s\c\a\p\e \e\v\e\r\y\t\h\i\n\g\!
強調表示 強調表示 ==強調表示==
ショートカットキー CtrlAltDel ++ctrl+alt+delete++

タブ

mkdocs.ymlに以下を追加すると文章中にタブを作れます。ただし,すべての機能がタブで実現できるようではないようです。pymdownに含まれていない拡張機能(plantumlなど)はダメなケースがあります。

markdown_extensions:
    - pymdownx.tabbed:
    - pymdownx.superfences:
        preserve_tabs: true

superfencesを入れておくと,タブの中でもフェンス内の記述を改行してくれます。(逆にこれがないと改行しない。)

  • 🍎 Apple
  • 🍌 Banana
  • 🥝 Kiwi
Fruit Color
🍎 Apple Red
🍌 Banana Yellow
🥝 Kiwi Green

チェックボックス

mkdocs.ymlに以下を追加するとチェックボックスを表示できます。

markdown_extensions:
    - pymdownx.tasklist:
        custom_checkbox: true
  • aaa
  • bbb
  • ccc
  • ddd
    • AAA
    • BBB
    • CCC
  • eee
* [x] aaa
* [x] bbb
* [x] ccc
* [ ] ddd
    * [x] AAA
    * [ ] BBB
    * [x] CCC
* [ ] eee

スニペット

mkdocs.ymlに以下を追加すると,マークダウンの中にマークダウンを挿入できます。

markdown_extensions:
    - pymdownx.snippets:
        base_path: docs/

使い方は以下の通り。

--8<--
filename.md
filename2.md
--8<--

詳細表示

mkdocs.ymlに以下を追加すると,クリックで詳細を表示するような表現ができます。詳細表示は初めから開いた状態と閉じた状態を指定でき,入れ子で挿入することもできます。

markdown_extensions:
    - pymdownx.details:
詳細を表示
入れ子で詳細表示

入れ子もできます。

???+ note "詳細を表示"
    ??? danger "入れ子で詳細表示"
        入れ子もできます。

数式サポート

mkdocs.ymlに以下を追加します。

extra_javascript: 
    - http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
markdown_extensions:
    - mdx_math

$$
\begin{align}
    \dot{x} &= A x + B u \\
    y &= C x
\end{align}
$$

plantuml

plantumlも描画できます。描画にはplantuml描画用のサーバーを用意する必要があります。 serverにはローカルで建てたサーバーも設定できます。

ソース:https://github.com/mikitex70/plantuml-markdown

mkdocs.ymlの記述は以下の通りです。

markdown_extensions:
    - plantuml_markdown:
        server: http://www.plantuml.com/plantuml

My super diagram placeholder

::uml:: format="svg" classes="uml myDiagram" alt="My super diagram placeholder" 
@startmindmap
* Debian
** Ubuntu
*** Linux Mint
*** Kubuntu
*** Lubuntu
*** KDE Neon
** LMDE
** SolydXK
** SteamOS
** Raspbian with a very long name
*** <s>Raspmbc</s> => OSMC
*** <s>Raspyfi</s> => Volumio
@endmindmap
::end-uml::

graphviz

graphvizもいけます。dotファイルは別書きしたいところですが,そこまではまだ調べ切れてません。

ソース:https://github.com/cesaremorel/markdown-inline-graphviz

mkdocs.ymlの記述は以下の通り。

markdown_extensions:
    - markdown_inline_graphviz
G Earth Earth Mars Mars Earth->Mars
```graphviz dot graph.svg
digraph G {
    rankdir=LR
    Earth [peripheries=2]
    Mars
    Earth -> Mars
}

最終更新日: 2020年6月2日