AsciiDocは記事、書籍、Webページ、マニュアルなどをプレーンテキストで書くための軽量マークアップ言語です。 本ガイドはAsciidocドキュメントとマークアップ形式テキストのクイックリファレンスです。
本ガイドに記載している例は、HTML形式で生成されたドキュメントの出力結果です。 AsciiDocはその他にもPDF, EPUB, DocBook形式でドキュメントを出力できます。 Asciidoctor限定とレベル付けされた文法を、Pythonで実装された旧AsciiDocで使う場合、 Asciidoctor用に提供されているthis AsciiDoc configuration fileを使う必要があります。 |
1. 段落
1.1. 基本的な書き方
段落を記載するのに特別なマークアップは不要です。 1行から複数行に渡り連続して記述するだけです。 新しい段落を始める時は、最低1行の空白行を入れてください。
段落を記載するのに特別なマークアップは不要です。 1行から複数行に渡り連続して記述するだけです。
新しい段落を始める時は、最低1行の空白行を入れてください。
1.2. 改行
プラスを行末に指定すると改行とみなされます。 + ルビーの色は赤です。 + トパーズの色は青です。 [%hardbreaks] 段落にhardbreaksを指定するとテキスト上での改行が、 そのまま改行として表示されます。 ルビーの色は赤です。 トパーズの色は青です。
プラスを行末に指定すると改行とみなされます。
ルビーの色は赤です。
トパーズの色は青です。
段落にhardbreaksを指定するとテキスト上での改行が、
そのまま改行として表示されます。
ルビーの色は赤です。
トパーズの色は青です。
1.3. リテラル
段落その1 1つ以上の空白で始まる連続した行はリテラル段落とみなされます。 リレラル段落はあらかじめフォーマットされたテキストとして扱われます。 テキストは固定幅のフォントで表示され、 改行はそのまま改行として表示されます。 段落その2
段落その1
1つ以上の空白で始まる連続した行はリテラル段落とみなされます。 リレラル段落はあらかじめフォーマットされたテキストとして扱われます。 テキストは固定幅のフォントで表示され、 改行はそのまま改行として表示されます。
段落その2
1.4. 脚注
NOTE: 脚注段落は補足情報を示すものです。 段落冒頭のラベルによって脚注の種類を使い分けることができます。 NOTE以外にも下記のような脚注があります。 TIP: チップスを記述します。 IMPORTANT: 重要事項を記述します。 WARNING: 警告を記述します。 CAUTION: 注意を記述します。
脚注段落は補足情報を示すものです。 段落冒頭のラベルによって脚注の種類を使い分けることができます。 |
NOTE以外にも下記のような脚注があります。
チップスを記述します。 |
重要事項を記述します。 |
警告を記述します。 |
注意を記述します。 |
脚注ブロックのような書き方も可能です。 |
2. テキストフォーマット
2.1. 太字、イタリック、モノスペース
フォーマット対象文字列の左右にスペースがある場合は、1つの演算子で囲みます。 + スペースが無い場合(文章の途中、単語の一部)などの場合は、2つの演算子で囲みます。 *太字の語句* と **太**字の文**字** _イタリックの語句_ と __イタ__リックの文__字__ *_太字のイタリックの語句_* と **__太字のイタ__**リックの文**__字__** `モノスペースの語句`と``モノ``スペースの文``字`` `*モノスペースの太字の語句*` と ``**モノ**``スペースの太字の語``**句**`` `_モノスペースのイタリックの語句_` と ``__モノ__``スペースのイタリックの文``__字__`` `*_モノスペースの太字のイタリックの語句_*` と ``**__モノ__**``スペースの太字のイタリックの``**__文字__**``
フォーマット対象文字列の左右にスペースがある場合は、1つの演算子で囲みます。
スペースが無い場合(文章の途中、単語の一部)などの場合は、2つの演算子で囲みます。
太字の語句 と 太字の文字
イタリックの語句 と イタリックの文字
太字のイタリックの語句 と 太字のイタリックの文字
`モノスペースの語句`とモノ
スペースの文字
モノスペースの太字の語句
と モノ
スペースの太字の語句
モノスペースのイタリックの語句
と モノ
スペースのイタリックの文字
モノスペースの太字のイタリックの語句
と モノ
スペースの太字のイタリックの文字
2.2. マーカ、その他
狼男は #シナモン# アレルギーです。 狼男たちは [.small]#小さい活字# を読みましたか? 全ての [.underline]#コア# はどこに流れたのですか? [.line-through]#10# 20台のVMを用意する必要があります。 [.big]#い# ったん無限ループが起きると
狼男は シナモン アレルギーです。
狼男たちは 小さい活字 を読みましたか?
全ての コア はどこに流れたのですか?
10 20台のVMを用意する必要があります。
い ったん無限ループが起きると
2.4. カーブクォート、アポストロフィ
"`ダブルカーブクォート`" '`シングルカーブクォート`' Olaf's desk was a mess. All of the werewolves`' desks were a mess. Olaf had been with the company since the `'60s.
“ダブルカーブクォート”
‘シングルカーブクォート’
Olaf’s desk was a mess.
All of the werewolves’ desks were a mess.
Olaf had been with the company since the ’60s.
3. ドキュメントヘッダー
4. セクションタイトル
4.1. DocTypeがArticleの場合
= ドキュメントのタイトル(レベル0) == レベル1のセクションのタイトル === レベル2のセクションのタイトル ==== レベル3のセクションのタイトル ===== レベル4のセクションのタイトル ====== レベル5のセクションのタイトル == 別のレベル1のセクションのタイトル
ドキュメントのタイトル(レベル0)
レベル1のセクションのタイトル
レベル2のセクションのタイトル
レベル3のセクションのタイトル
レベル4のセクションのタイトル
レベル5のセクションのタイトル
別のレベル1のセクションのタイトル
DocTypeがArticleの場合(DocTypeのデフォルト値はArticle)、ドキュメントにレベル0のタイトルは1つしか定義できません。 また必ずドキュメントヘッダーに定義してください。 |
= の数がHTMLのヘッダータグのレベルと一致しています。例えばレベル1のセクションタイトルは<h2> に相当します。
|
5. ファイルのインクルード
5.1. ファイル名指定
= ドキュメントのリファレンス 開発者向け includeステートメントを指定することで別ファイルをインクルードできます。 + ファイル名の後の[]は、インクルードファイルのタグや行数を指定して、 + ファイルの一部だけをインクルードすることができます。 include::basics.adoc[] include::installation.adoc[] include::example.adoc[]
Asciidoctorはコンテンツを隔てるために、 隣接したincludeステートメントの間に空行を挿入するようなことはしません。 空行を勝手に挿入すると、セクションタイトルを無効にしてしまうような思わぬ結果を招いてしまうからです。 |
7. リスト
7.1. 順序無しリスト
*を行冒頭に指定することで順序無しリストを定義できます。 * Edgar Allen Poe * Sheri S. Tepper * Bill Bryson
*を行冒頭に指定することで順序無しリストを定義できます。
-
Edgar Allen Poe
-
Sheri S. Tepper
-
Bill Bryson
リストの前後には空白行が必須です。 |
行コメントで二つのリストを分割できます。
コメント中の(^ )はオプションで、この行がリストの終わりということを意味するマーカです。
|
7.2. 順序無しリストのネスト
* レベル1 ** レベル2 *** レベル3 **** レベル4 ***** レベル5 * レベル1
順序なしリストのマーカはblocks styleで変更できます。 |
7.3. チェックリスト
- [*] チェック済みの要素 - [x] これもチェック済みの要素 - [ ] 未チェックの要素 - 通常の順序無しリストの要素
-
チェック済みの要素
-
これもチェック済みの要素
-
未チェックの要素
-
通常の順序無しリストの要素
チェックリストはfont-based icons and be interactiveを使うこともできます。 |
7.6. 順序有りリストのネスト(最大までネスト)
. レベル1 .. レベル2 ... レベル3 .... レベル4 ..... レベル5 . レベル1
-
レベル1
-
レベル2
-
レベル3
-
レベル4
-
レベル5
-
-
-
-
-
レベル1
Asciidoctorでは、順序有りリスト用にnumeration stylesをサポートしています。
lowergreek やdecimal-leading-zero などが用意されています。
|
7.9. Q&A
[qanda] Asciidoctorとは何ですか?:: AsciiDocをRubyで実装したものです。 生命、宇宙、そして万物についての究極の疑問の答えは何ですか?:: 42です。
-
Asciidoctorとは何ですか?
AsciiDocをRubyで実装したものです。
-
生命、宇宙、そして万物についての究極の疑問の答えは何ですか?
42です。
7.10. リストとラベルの組み合わせ
オペレーティング システム:: Linux::: . Fedora * デスクトップ . Ubuntu * デスクトップ * サーバ BSD::: . FreeBSD . NetBSD クラウド プロバイダー:: PaaS::: . OpenShift . CloudBees IaaS::: . Amazon EC2 . Rackspace
- オペレーティング システム
-
- Linux
-
-
Fedora
-
デスクトップ
-
-
Ubuntu
-
デスクトップ
-
サーバ
-
-
- BSD
-
-
FreeBSD
-
NetBSD
-
- クラウド プロバイダー
-
- PaaS
-
-
OpenShift
-
CloudBees
-
- IaaS
-
-
Amazon EC2
-
Rackspace
-
ラベルはネスト可能です。行の冒頭のスペースは重要ではありません。あってもなくてもいいです。 |
7.11. アウトライン中の複雑なコンテンツ
* リストの要素は必ず段落を1つ以上含みます。 段落のコンテンツはインデントしていても折り返し可能です。 + リストの途中に段落やブロックを挿入するには、 その上と下の行にリスト継続用マーカを記述します。 + リスト継続用マーカ:: プラス記号(`{plus}`)を使います。 * リレラル段落はリスト継続用マーカは不要です。 $ gem install asciidoctor * AsciiDocのリストは複雑なコンテンツを含むことができます。 + [cols="2", options="header"] |=== |アプリケーション |言語 |Asciidoc |Python |Asciidoctor |Ruby |===
-
リストの要素は必ず段落を1つ以上含みます。 段落のコンテンツはインデントしていても折り返し可能です。
リストの途中に段落やブロックを挿入するには、 その上と下の行にリスト継続用マーカを記述します。
- リスト継続用マーカ
-
プラス記号(
+
)を使います。
-
リレラル段落はリスト継続用マーカは不要です。
$ gem install asciidoctor
-
AsciiDocのリストは複雑なコンテンツを含むことができます。
アプリケーション 言語 Asciidoc
Python
Asciidoctor
Ruby
8. リンク
8.1. 通常のリンク
http://asciidoctor.org - 自動でリンクになります。 http://asciidoctor.org[Asciidoctor] https://github.com/asciidoctor[Asciidoctor @ *GitHub*]
8.2. スペースと特殊文字を含んだリンク
link:++http://example.org/?q=[a b]++[空白を含むURL] link:http://example.org/?q=%5Ba%20b%5D[特殊文字を含んだリンク]
8.5. メールとIRC
devel@dicsuss.arquillian.org - 自動でリンクになります。 mailto:devel@dicsuss.arquillian.org[Arquillianについて議論する] mailto:devel-join@discuss.arquillian.org[購読する, 購読します, 参加したいです!] - メールの件名と本文が指定できます。 irc://irc.freenode.org/#asciidoctor
devel@dicsuss.arquillian.org - 自動でリンクになります。
購読する - メールの件名と本文が指定できます。
8.6. 属性付きのリンク(Asciidoctor限定)
http://discuss.asciidoctor.org[Asciidoctorについて議論する, role="external", window="_blank"] http://discuss.asciidoctor.org[Asciidoctorについて議論する^] http://example.org["Google, Yahoo, Bing^", role="teal"]
属性付きリンクはAsciidoctor限定の機能です。
機能を有効にするにはドキュメントの属性にlinkattrs を指定してください。
機能有効時は、カンマを含むリンクはクォートで囲む必要があります。
|
8.7. インラインアンカー
[[ブックマーク-A]]インラインアンカーは任意のコンテンツを参照可能にします。 [#ブックマーク-B]#インラインアンカーはこのように指定することもできます。# anchor:ブックマーク-C[]相互参照 [[ブックマーク-D,最終パラグラフ]]xreflabelは相互参照リンクのリンクとして使用されます。
9. 画像
ドキュメント属性のimagedir(デフォルトは空文字)起点にした相対パスを指定します。
imagedir
を指定することで、共通のパスをハードコードするのを防げます。
imagedir
は絶対パス、相対パス、URLを指定できます。
画像の読み込みパスに、絶対パスまたはURLを指定した場合はimagedirのプレフィックスは付きません。
9.1. ブロック要素
image::sunset.jpg[] image::sunset.jpg[夕日] .山の夕日 [#image-sunset] [caption="図 1:", link=http://www.flickr.com/photos/javh/5448336655] image::sunset.jpg[夕日, 300, 200] image::http://asciidoctor.org/images/octocat.jpg[GitHub mascot]
9.2. インライン要素
クリック image:icons/play.png[Play, title="Play"] パーティーを開始する。 クリック image:icons/pause.png[title="Pause"] 休憩する。
クリック パーティーを開始する。
クリック 休憩する。
image というキーワードの後にある二つのコロンはブロック要素の画像を示し、
一つの時はインライン要素の画像を示します。文章と同じ行に画像を挿入するならインライン要素を使いますが、
それ以外の場合はブロック要素を使用すべきです。
|
9.3. インライン画像(位置指定あり)
image::sunset.jpg[夕日, 150, 150, role="right"] なんて美しい夕日!
image::sunset.jpg[夕日, 150, 150, role="right"] なんて美しい夕日!
画像の位置とフレームには様々な属性を指定できます。 |
9.4. 画像データ埋め込み
= ドキュメントタイトル :data-uri:
data-uri を設定すると、アイコンも含め全ての画像がドキュメントの中にdata-uriとして埋め込まれます。
|
data-uri を設定する代わりに、コマンドラインで-a data-uri オプションを付けることでも埋め込み可能です。
|
11. ソース
11.3. リテラル(ブロック要素)
.... error: The requested operation returned error: 1954 Forbidden search for defensive operations manual absolutely fatal: operation initiation lost in the dodecahedron of doom would you like to die again? y/n ....
error: The requested operation returned error: 1954 Forbidden search for defensive operations manual absolutely fatal: operation initiation lost in the dodecahedron of doom would you like to die again? y/n
11.4. タイトル付きブロック要素(シンタックスハイライトなし)
.Gemfile.lock ---- GEM remote: https://rubygems.org/ specs: asciidoctor (0.1.4) PLATFORMS ruby DEPENDENCIES asciidoctor (~> 0.1.4) ----
GEM remote: https://rubygems.org/ specs: asciidoctor (0.1.4) PLATFORMS ruby DEPENDENCIES asciidoctor (~> 0.1.4)
11.5. タイトル付きブロック要素(シンタックスハイライトあり)
[[app-listing]] [source,ruby] .app.rb ---- require 'sinatra' get '/hi' do "Hello World!" end ----
require 'sinatra'
get '/hi' do
"Hello World!"
end
11.6. 吹き出し付きブロック要素
[source,ruby] ---- require 'sinatra' // <1> get '/hi' do // <2> "Hello World!" // <3> end ---- <1> Library import <2> URL mapping <3> HTTP response body
require 'sinatra' (1)
get '/hi' do (2)
"Hello World!" (3)
end
1 | Library import |
2 | URL mapping |
3 | HTTP response body |
11.7. いろいろな吹き出し付きブロック要素
---- ソースコード //<1> ソースコード #<2> ソースコード ;;<3> ---- <1> C言語用の行末吹き出しコメント <2> Ruby、Python、Perlなどの行末吹き出しコメント <3> Clojure用の行末吹き出しコメント
ソースコード (1) ソースコード (2) ソースコード (3)
1 | C言語用の行末吹き出しコメント |
2 | Ruby、Python、Perlなどの行末吹き出しコメント |
3 | Clojure用の行末吹き出しコメント |
11.8. 吹き出し付きXMLブロック要素
[source,xml] ---- <section> <title>Section Title</title> <!--1--> </section> ---- <1> セクションタイトルをここで定義します。
<section>
<title>Section Title</title> (1)
</section>
1 | セクションタイトルをここで定義します。 |
11.10. ソースファイル読み込み(相対パス指定)
[source,java] ---- include::{sourcedir}/StringUtils.java[] ----
package example;
public class StringUtils {
public boolean contains(String a, String b) {
if(a == null) {
return false;
}
return a.contains(b);
}
}
11.11. ソースファイル読み込み(インデント指定)
[source,java,indent=0] ---- include::{sourcedir}/StringUtils.java[lines=5..7] ---- [source,java,indent=1] ---- include::{sourcedir}/StringUtils.java[lines=5..7] ---- [source,java,indent=2] ---- include::{sourcedir}/StringUtils.java[lines=5..7] ----
if(a == null) {
return false;
}
if(a == null) {
return false;
}
if(a == null) {
return false;
}
|
12. ブロック
12.1. サイドバー
.AsciiDocの歴史 **** AsciiDocは、Stuart Rackhamが2002年11月にリリースした AsciiDocは、DocBookやLaTeXのような専門的な文章を作成するためのもので、 より簡単な文法で専門的は文章が書けるようにデザインされていた。 ****
どんなブロックでも、ブロックの上にタイトルを付けることができます。
タイトルは. で始まるテキスト行です。
. のあとにスペースを定義することはできません。
|
12.2. 例
.サンプルドキュメント ==== これはAsciiDocのドキュメントのサンプルです。 [listing] .... = ドキュメントのタイトル 著者名 :toc: 本ガイドは... .... ドキュメントヘッダーは、必須ではありません。 ====
これはAsciiDocのドキュメントのサンプルです。
= ドキュメントのタイトル 著者名 :toc: 本ガイドは...
ドキュメントヘッダーは、必須ではありません。
12.3. 脚注
[NOTE] ==== 脚注ブロックは複雑はコンテンツを含むことができます。 .リスト - 一 - 二 - 三 別のパラグラフ ====
脚注ブロックは複雑はコンテンツを含むことができます。 リスト
別のパラグラフ |
脚注と吹き出しのアイコン
AsciidoctorではFont-AwesomeとCSSを使って “描く” ことができます。 これらを使うには、ドキュメント属性の |
12.4. ブロッククォート
[quote, Abraham Lincoln, Address delivered at the dedication of the Cemetery at Gettysburg] ____ Four score and seven years ago our fathers brought forth on this continent a new nation... ____ [quote, Albert Einstein] A person who never made a mistake never tried anything new. ____ A person who never made a mistake never tried anything new. ____ [quote, Charles Lutwidge Dodgson, 'Mathematician and author, also known as http://en.wikipedia.org/wiki/Lewis_Carroll[Lewis Carroll]'] ____ If you don't know where you are going, any road will get you there. ____
Four score and seven years ago our fathers brought forth on this continent a new nation…
Address delivered at the dedication of the Cemetery at Gettysburg
A person who never made a mistake never tried anything new.
A person who never made a mistake never tried anything new.
If you don’t know where you are going, any road will get you there.
Mathematician and author, also known as Lewis Carroll
12.5. ブロッククォート(簡略記法、Asciidoctor限定)
"I hold it that a little rebellion now and then is a good thing, and as necessary in the political world as storms in the physical." -- Thomas Jefferson, Papers of Thomas Jefferson: Volume 11
I hold it that a little rebellion now and then is a good thing, and as necessary in the political world as storms in the physical.
Papers of Thomas Jefferson: Volume 11
12.6. Airクォート(Asciidoctor限定)
[, Richard M. Nixon] "" When the President does it, that means that it's not illegal. ""
When the President does it, that means that it’s not illegal.
12.7. 変換せずに出力
++++ <p> ``+``で囲まれたブロックは、変換処理を行わずにそのままHMTLに出力されます。 </p> <script src="http://gist.github.com/mojavelinux/5333524.js"> </script> ++++
``+``で囲まれたブロックは、変換処理を行わずにそのままHMTLに出力されます。
12.8. オープン
-- オープンブロックは汎用的に使えます。 -- [source] -- puts "これはソースブロック!" --
オープンブロックは汎用的に使えます。
puts "これはソースブロック!"
12.9. カスタム置換属性
:version: 0.1.4 [source,xml,subs="verbatim,attributes"] ---- <dependency> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-java-integration</artifactId> <version>{version}</version> </dependency> ----
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-java-integration</artifactId>
<version>{version}</version>
</dependency>
上記でsubs属性に指定している値の詳細は特殊文字の置換を参照してください。 |
13. ID,ロール,オプションの指定
15. テーブル
15.1. タイトル、ヘッダ付き2×3
.テーブルタイトル |=== |カラム名1 |カラム名2 |カラム名3 (1) (2) |セル11 |セル12 |セル13 |セル21 |セル22 |セル23 |===
カラム名1 |
カラム名2 |
カラム名3 // <1> |
セル11 |
セル12 |
セル13 |
セル21 |
セル22 |
セル23 |
1 | cols 属性が未指定の場合は、最初の1行目のカラムの数がテーブルの列数となります。 |
2 | 最初の行のあとが空行の場合は、最初の行はヘッダー行とみなされます。 |
15.2. ヘッダ付き2×2
[cols="2*", options="header"] (1) |=== |カラム名1 |カラム名2 |セル11 |セル12 |セル21 |セル22 |===
カラム名1 | カラム名2 |
---|---|
セル11 |
セル12 |
セル21 |
セル22 |
1 | cols 属性の* は繰り返しを表す演算子である。この場合4つのカラム全てにデフォルトのフォーマットが適用されます。
ヘッダー行が1行で定義されていない場合は、cols属性でカラム数を指定し、options 属性を指定する必要があります。 |
15.3. タイトル、ヘッダ付き2×3
[cols="1,1,2", options="header"](1) .テーブルタイトル |=== |名前 |カテゴリ |説明 |Firefox |ブラウザ |オープンソースのブラウザです。 標準仕様に準拠しており、高パフォーマンス、高い可搬性という特徴があります。 |Arquillian |テスト |革新的かつ高度に拡張可能なテストプラットフォームです。 開発者が実際の自動テストを簡単に作成できるようにします。 |===
名前 | カテゴリ | 説明 |
---|---|---|
Firefox |
ブラウザ |
オープンソースのブラウザです。 標準仕様に準拠しており、高パフォーマンス、高い可搬性という特徴があります。 |
Arquillian |
テスト |
革新的かつ高度に拡張可能なテストプラットフォームです。 開発者が実際の自動テストを簡単に作成できるようにします。 |
1 | cols でこのように指定すると、カラム数は3で、それぞれの列幅が1:1:2になるように表示されます。 |
15.4. AsciiDocコンテンツ入り
[cols="2,2,5a"] |=== |Firefox |ブラウザ |FirefoxはオープンソースのWEBブラウザです。 下記のような特徴があります。: * 標準仕様準拠 * 高パフォーマンス * 高い可搬性 http://getfirefox.com[Firefoxをダウンロードする]! |===
Firefox |
ブラウザ |
15.5. CSVデータ読み込み
[format="csv", options="header"] |=== アーティスト,トラック,ジャンル Baauer,Harlem Shake,Hip Hop The Lumineers,Ho Hey,Folk Rock |===
アーティスト | トラック | ジャンル |
---|---|---|
Baauer |
Harlem Shake |
Hip Hop |
The Lumineers |
Ho Hey |
Folk Rock |
15.6. CSVデータ読み込み(簡略記法、Asciidoctor限定)
[format="csv", options="header"] ,=== アーティスト,トラック,ジャンル Baauer,Harlem Shake,Hip Hop The Lumineers,Ho Hey,Folk Rock ,===
アーティスト | トラック | ジャンル |
---|---|---|
Baauer |
Harlem Shake |
Hip Hop |
The Lumineers |
Ho Hey |
Folk Rock |
16. マクロ
マクロを使用するには、ドキュメントヘッダーにexperimental 属性を指定します。
|
16.1. キーボードショートカット
|=== |ショートカット|目的 |kbd:[F11] |全画面表示 |kbd:[Ctrl+T] |新規タブを開く |kbd:[Ctrl+Shift+N] |シークレットウインドウを開く |kbd:[Ctrl + +] |ズーム |===
ショートカット | 目的 |
---|---|
F11 |
全画面表示 |
Ctrl+T |
新規タブを開く |
Ctrl+Shift+N |
シークレットウインドウを開く |
Ctrl++ |
ズーム |
17. 属性
17.1. 定義と使用方法
:homepage: http://asciidoctor.org :docslink: http://asciidoctor.org/docs[Asciidoctor's Docs] :summary: Asciidoctor is a mature, plain-text document format for \ writing notes, articles, documentation, books, and more. \ It's also a text processor & toolchain for translating \ documents into various output formats (i.e., backends), \ including HTML, DocBook, PDF and ePub. :checkedbox: pass:normal[{startsb}✔{endsb}] Check out {homepage}[Asciidoctor]! {summary} Check out {docslink} too! {checkedbox} That's done!
Check out Asciidoctor! Asciidoctor is a mature, plain-text document format for writing notes, articles, documentation, books, and more. It’s also a text processor & toolchain for translating documents into various output formats (i.e., backends), including HTML, DocBook, PDF and ePub. Check out Asciidoctor’s Docs too! [✔] That’s done! |
17.2. 属性の優先順位 (高いものから列挙)
-
APIまたはコマンドラインで指定した属性(終端文字が
@
でないもの) -
ドキュメント中に定義した属性
-
APIまたはコマンドラインで指定した属性(終端文字が
@
のもの) -
デフォルト属性値
ドキュメント中に定義した属性よりも優先度が低い属性をAPIとコマンドラインで指定するには、属性値の終わりに@ を付けます。
|
属性名 | 置換文字 | 表示形式 |
---|---|---|
blank |
なし |
|
empty |
なし |
|
sp |
スペース1文字 |
|
nbsp |
  |
|
zwsp[4] |
​ |
|
wj[5] |
⁠ |
|
apos |
' |
' |
quot |
" |
" |
lsquo |
‘ |
‘ |
rsquo |
’ |
’ |
ldquo |
“ |
“ |
rdquo |
” |
” |
deg |
° |
° |
plus |
+ |
+ |
brvbar |
¦ |
¦ |
vbar |
| |
| |
amp |
& |
& |
lt |
< |
< |
gt |
> |
> |
startsb |
[ |
[ |
endsb |
] |
] |
caret |
^ |
^ |
asterisk |
* |
* |
tilde |
~ |
~ |
backslash |
\ |
\ |
backtick |
` |
` |
two-colons |
:: |
:: |
two-semicolons |
;; |
;; |
cpp |
C++ |
C++ |
[1] 一部の置換文字はUnicodeですが、 その他は数値文字表現(例えば " のような文字) です。 数値文字表現は、Unicode文字がAsciiDocの構文解析やブラウザでのレンダリングを妨げる可能性がある場合に使用されます。 コンバーターは、数値文字表現をレンダラが理解できる形式に変換します。
[2] AsciiDocでは定義済み属性を再定義可能ですが、 異なるエンコーディング方式で出力する必要がない限り、参照限定で使用することが推奨されます。 これらの属性は、コンテンツと見た目を分離するために効率的です。
[3] AsciiDocではHTMLで定義されている任意の名前文字参照(通称named entities)使用できます。 (例えば、 € は € に変換されます。) ただし、名前文字参照はPDFなどHTML以外の形式で出力する場合、名前解決用の参照テーブルが定義されていないので問題になります。 そのためXMLに定義されている名前文字参照(lt, gt, amp, quot and apos)以外は使わずに、(€ のような)数値文字参照を使うことをおすすめします。
[4] 幅無しスペース(ZWSP)は、長い単語を分割して表示するために使うUnicodeのコードポイントです。
[5] 単語連結子は改行を跨いで1つの単語を表現するためのUnicodeのコードポイントです。
属性 | 説明 | 値の例 |
---|---|---|
|
プロセッサーがAsciidoctorの場合に設定する。 |
|
|
Asciidoctorのバージョン |
|
|
出力ファイルの形式。 |
|
|
backend属性の値から最後の数値を除いた値を設定する。 例えばbackendが`docbook5`なら`docbook`を設定する。 |
|
|
ドキュメントの最終更新日[1,2] |
|
|
ドキュメントの最終更新日時[1,2] |
|
|
ドキュメント格納ディレクトリのフルパス |
|
|
ドキュメントのフルパス |
|
|
拡張子を除いたドキュメント名 |
|
|
Last modified time of the source document.[1,2] |
|
|
ドキュメントタイプ (article、book、manpageのどれか) |
|
|
ドキュメント生成時にコンテンツをドキュメント自体に埋め込む場合に設定する。 |
|
|
出力ファイルの拡張子 |
|
|
HTMLに出力する時の構文形式(htmlかxhtml) |
|
|
ドキュメント生成日[2] |
|
|
ドキュメント生成日時[2] |
|
|
ドキュメント生成時間[2] |
|
|
出力ディレクトリのフルパス |
|
|
出力ファイルのフルパス。 |
|
|
出力ファイルの拡張子(最初にピリオド含む)。backendによって値が決まる。( |
|
|
数値によってセーフモードを指定する。 (UNSAFE=0, SAFE=10, SERVER=10, SECURE=20). |
|
|
文字列によってセーフモードを指定する。 |
|
|
セーフモードをUNSAFEにする場合に指定する。 |
|
|
セーフモードをSAFEにする場合に指定する。 |
|
|
セーフモードをSERVERにする場合に指定する。 |
|
|
セーフモードをSECUREにする場合に指定する。 |
|
|
カレントユーザのホームディレクトリ セーフモードがSERVER以上の場合は、カレントディレクトリからの相対パスとみなす。 |
|
18. テキスト置換
名前 | テキスト | Unicodeの場合のテキスト | 描画 | 備考 |
---|---|---|---|---|
Copyright |
(C) |
© |
© |
|
Registered |
(R) |
® |
® |
|
Trademark |
(TM) |
™ |
™ |
|
Em dash |
-- |
— |
— |
|
ellipses |
... |
… |
… |
|
right single arrow |
-> |
→ |
→ |
|
right double arrow |
=> |
⇒ |
⇒ |
|
left single arrow |
<- |
← |
← |
|
left double arrow |
<= |
⇐ |
⇐ |
|
apostrophe |
Sam's |
Sam’s |
Sam’s |
アポストロフィはカーブクォートに置換されます。 |
任意の名前付き、または16進数のXMLエンティティ参照がサポートされています。 |
19. テキストのエスケープ
20. 目次
20.2. 目次(右寄せ)
= AsciiDoc Writer's Guide Doc Writer <doc.writer@asciidoctor.org> v1.0, 2014-08-01 :toc: right
目次のタイトル、レベル、位置はカスタムできます。 |
21. 参考文献
21.1. リファレンス
_The Pragmatic Programmer_ <<prag>> should be required reading for all developers. [bibliography] - [[[prag]]] Andy Hunt & Dave Thomas. The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley. 1999. - [[[seam]]] Dan Allen. Seam in Action. Manning Publications. 2008.
The Pragmatic Programmer [prag] should be required reading for all developers.
23. マークダウン形式
Asciidoctor限定でマークダウン形式での記述が可能です。
23.1. ヘッダー
# ドキュメントのタイトル(レベル0) ## セクション レベル1 ### セクション レベル2 #### セクション レベル3 ##### セクション レベル4 ###### セクション レベル5 ## セクション レベル1
# ドキュメントのタイトル(レベル0)
## セクション レベル1
# セクション レベル2
## セクション レベル3
# セクション レベル4
セクション レベル5
## セクション レベル1
23.2. フェンスコードブロック(シンタックスハイライトあり)
```ruby require 'sinatra' get '/hi' do "Hello World!" end ```
require 'sinatra'
get '/hi' do
"Hello World!"
end
23.3. バッククォート
> I hold it that a little rebellion now and then is a good thing, > and as necessary in the political world as storms in the physical. > -- Thomas Jefferson, Papers of Thomas Jefferson: Volume 11
I hold it that a little rebellion now and then is a good thing, and as necessary in the political world as storms in the physical.
Papers of Thomas Jefferson: Volume 11
23.4. ブロッククォート
> > What's new? > > I've got Markdown in my AsciiDoc! > > > Like what? > > * Blockquotes > * Headings > * Fenced code blocks > > > Is there more? > > Yep. AsciiDoc and Markdown share a lot of common syntax already.
What’s new?
I’ve got Markdown in my AsciiDoc!
Like what?
Blockquotes
Headings
Fenced code blocks
Is there more?
Yep. AsciiDoc and Markdown share a lot of common syntax already.
24. ユーザマニュアルとヘルプ
Asciidoctorについてより学びたい場合は、Asciidoctorガイドの ユーザーマニュアルをご覧ください。 Asciidoctorのメーリングリストへの参加も忘れずに!質問、コメントお待ちしています。