AsciiDocで書いてみる

これは AsciiDoc で書いた Hugo 記事です。

Markdown と AsciiDoc の構文比較表

機能 Markdown の書き方 AsciiDoc の書き方 備考

見出し(Heading)

# 見出し1
## 見出し2

= 見出し1
== 見出し2

AsciiDocは「=」の数で階層を示す

段落

空行で区切る

空行で区切る

共通

強調(太字)

強調 または 強調

強調

Markdownより簡潔

斜体

italic または italic

italic

漢字フォントは斜体が出ない場合あり

打ち消し線

~取り消し~

取り消し

属性を指定して書く

箇条書き(ul)

- 項目 または * 項目

* 項目

Markdownと似ている

番号付きリスト(ol)

1. 項目

. 項目

ピリオドで書く(自動連番)

リンク

[表示名](URL)

表示名

HTML属性なども指定可能

画像

![説明文](画像.png)

image::画像.png[説明文]

サイズや位置指定も可能
例: image::a.png[width=300,align=center]

引用

> 引用文

[quote]
_
引用文
_

ブロック構文で装飾可能

コード(インライン)

code

code または code

ほぼ同じ

コードブロック

```cpp
code

[source,cpp]
----
code
----

AsciiDocは言語属性をタグで指定

水平線

--- または *

'---'

ほぼ同等

リンク付き画像

[![img](a.png)](URL)

a

組み合わせが自然

注釈(footnote)

[^1] と本文末尾で [^1]: 注釈内容

[1]

AsciiDocの方が簡単

ブロック引用(複数行)

> 複数行

[quote, 作者, 出典]
_
本文
_

書籍スタイルに向く

目次

Hugo側で生成

:toc: または toc::[]

AsciiDocはファイル単体で完結可能

コメント

<!-- コメント -→

// コメント

Markdownより簡潔

属性定義(変数)

なし

:name: 値 → {name}

AsciiDocは変数展開が可能

改行(明示)

末尾に (半角スペース2つ)

+(単独行)

AsciiDocの方が明確

  • 箇条書き 強調 ABC斜体

// コードブロック(Asciidoctor流)
#include <bits/stdc++.h>
int main(){ std::cout << "hello\n"; }

行内: \(E = mc^2\)

\[\int_0^\infty e^{-x^2}\,dx = \frac{\sqrt{\pi}}{2}\]
Diagram
Diagram

1. 注釈内容