// ++++ // // ++++ include::config.adoc[] :toc: left // adoc-pdf -aで@指定をすればImagesdirはここが優先される // 書き換えたら遅くなるなる? rubyが動いてしまう。 // adoc-pdfなどを未使用にすると、遅くなくなった! :imagesdir: ./ // :lang: ja // :doctype: bookDir // :toc-title: 目次 // :toclevels: 3 // :sectnums: // :sectnumlevels: 4 // :sectlinks: // :icons: font // :example-caption: 例 // :table-caption: 表 // example-caption={example-caption} // 以下でマクロが有効になる :experimental: = Adoc使用説明書簡易 (Asciidocの表現を試す) [%hardbreaks] :dollar: $ :ddollar: $$ // // [underlinex]## xxxxx アンダー xxxxx ## // stylesdir = {stylesdir} // stylesheet = {stylesheet} //:stylesdir: stylesheets/ //:stylesheet: asciidoctor-default.css // ++++ //
はじめてのCSSインラインブロックで閉じた場合
// ++++ // // // ++++ //// ++++ // はじめてのCSS インラインブロックの2つで記述した場合 // // // ++++ //
// ++++ == はじめに AsciiDocの記述方法でよくつかうものを記載します。さらに多くの記述を使いたい場合は以下を参照してください。 * https://takumon.github.io/asciidoc-syntax-quick-reference-japanese-translation/[Asciidoctor 文法クイックリファレンス(日本語訳)] * https://asciidoctor.org/docs/user-manual/[ユーザーマニュアル(英語)] * https://qiita.com/hbsnow/items/88e1414ac97501af17ff[ Qiita 細かい設定がよくわかる!] * https://asciidoctor.org/docs/user-manual/#builtin-attributes[ビルドインアトリビュートの一覧] == コメント類 コメント部分は、最終出力から除外されます ---- // :行頭でその行はコメントになる ////から//// :ブロック内がすべてコメント ---- == 文字飾り .基本 $$`*_`$$でサンドイッチすることで表現。空白含む場合は $$**単語A 単語B**$$ の様に2個ずつつけるとよい // =============================== [cols="1a,2l", options="header"] |=== ^| 結果 ^| 記述 | [%hardbreaks] *太字の語句* _イタリック_ *_太字のイタリック_* `モノスペース` | *太字の語句* _イタリック_ *_太字のイタリック_* `モノスペース` |=== .少し拡張(アンダーラインなど) // =============================== [cols="2a,3l", options="header"] |=== ^| 結果 ^| 記述 | [%hardbreaks] [.underline]#アンダーライン# 通常文字 vs [.small]#小さい文字# vs [.big]#大きい文字# [.line-through]#取り消し線# | [.underline]#アンダーライン# 通常文字 vs [.small]#小さい文字# vs [.big]#大きい文字# [.line-through]#取り消し線# |=== == 見た目(ボタンとアイコン) // チェックボックス 文書定義 :cboxOn: pass:normal[``{startsb}✔{endsb}``] :cboxOff: pass:normal[``{startsb}{nbsp}{endsb}``] // チェックボックス GUI定義 :cboxgOn: kbd:[✔] :cboxgOff: kbd:[{nbsp}] // [cols="1l,2a", options="header"] [cols="l,a", options="header"] [%autowidth] |=== | 記述 | 説明 |kbd:[Ctrl+C] | kbd:[Ctrl+C], kbd:[Ctrl+Shift+V] |btn:[ボタン] | btn:[ボタン],btn:[ OK ],btn:[ CANCEL ]など |{cboxOn}/{cboxOff} | {cboxOn}/{cboxOff} 以下の事前マクロ定義必要 + ``$$ :cboxOn: pass:normal[``{startsb}✔{endsb}``] $$ `` + ``$$ :cboxOff: pass:normal[``{startsb}{nbsp}{endsb}``] $$ `` |{cboxgOn}/{cboxgOff} | {cboxgOn}/{cboxgOff} 以下の事前マクロ定義必要 + ``$$ :cboxgOn: kbd:[✔] $$`` + ``$$ :cboxgOff: kbd:[{nbsp}] $$`` |menu:ファイル[保存] | [%hardbreaks] menu:ファイル[保存] 階層化$$:$$``>``でサブメニュー化:: $$menu:ファイル[保存 > Sub > A]$$ + -> menu:ファイル[保存 > Sub > A] a| $${OK}$$ | :OK: pass:[😀 ] [%hardbreaks] 事前に定義 ``$$:OK: pass:[😀 ]$$`` {ok} https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u1f600.html[アイコンはユニコードで色々定義,Unicodeの絵文字] 😍(``$$😍$$``)、🙅(``$$🙅$$``)、🌈(``$$🌈$$``) などなど |=== == セクション(章節) == ``=␣<セクション>``で始める行がセクションになる。セクションの区切りには空白行が必要。$$=$$の数でセクションレベルが決まる ---- = ドキュメントのタイトル == 章最初のタイトル === 節のタイトル ==== 文節のタイトル ===== さらにその下タイトル ====== さらにさらにタイトル == 章次のタイトル ---- //// 以下は箇条書きのほう ["arabic"] . 階層番号番号 ["decimal"] .. サブ ["arabic"] ... サブサブ ... サブサブ . 階層番号番号 . 階層番号番号 //// == 箇条書き == * ``*␣<項目>``、``-␣<項目>``で始める。異なる記号を使えば、階層的に表現できる * 形状変更は``[square]``,``[circle]``,``[disc]``を指定 .箇条書き(項目) // =============================== [cols="a,l", options="header"] |=== ^| 結果 ^| 記述 | - 項目1 * サブ項目1 * サブ項目2 + -- サブ項目の中に複数行に渡る大きな大きなブロックを記述できる -- - 項目2 .形状変更 [square] * square [circle] * circle [disc] * disc | - 項目1 * サブ項目1 * サブ項目2 + -- サブ項目の中に複数行に渡る大きな大きな大きな ブロックを記述できる -- - 項目2 .形状変更 [square] * square [circle] * circle [disc] * disc |=== // =============================== == 箇条書き(数字) == [%hardbreaks] ``.␣<項目>``(ピリオド)で始める。階層構造は``...␣``と連ねる。 番号は[arabic]/[decimal]/[loweralpha]/[upperroman]などで階層ごとに指定 .箇条書き(数字) [%hardbreaks] // =============================== [cols="a,a", options="header"] |=== ^| 結果 ^| 記述 | . 項目1 + [caption=""] .項目1のタイトル -- サブ項目の中にブロックを記述できる -- .. サブ項目1 .. サブ項目2 [decimal] ... サブサブ1 ... サブサブ2 + //"例"を削除 // [caption=""] // .テストタイトル -- サブ項目の中にブロックを記述できる -- . 項目2 | .... . 項目1 + -- サブ項目の中にブロックを記述できる -- .. サブ項目1 .. サブ項目2 [decimal] ... サブサブ1 ... サブサブ2 + -- サブ項目の中にブロックを記述できる -- .... |=== // =============================== == ラベル == * <ラベル名>$$::$$(後ろのコロン2つ)でラベルをつける。コロンを増やせば階層化できる。 * $$[horizontal]$$指定で一行目から、行が開始される .ラベル // =============================== [cols="a,a", options="header"] |=== ^| 結果 ^| 記述 | 第一項:: 第一項の定義 さらにそのサブ::: サブの内容 | .... 第一項:: 第一項の定義 さらにそのサブ::: サブの内容 .... |=== // ============================== == ブロックラベル == ``.ブロックラベル``(ドット)でラベルをつける。スペースは不要。箇条書き(数字)になってしまう。 :source-highlighter: coderay == ブロック == * 以下の記号4文字のキーワード行で囲む。それぞれ動作、意味が異なる * {ddollar}~ {ddollar}で囲むとパスされる → <<_エスケープ方法>> //[%autowidth.stretch] [cols="1,1,4,20"] |===================================================================================== |1|`--` |(ハイフンx2) |オープンブロック。 [red]##**汎用ブロック**##。オープンブロックはpassとtableを除き、他のブロックとして機能できます。 |2|`----` |(ハイフンx4) |コードブロック。コードもしくはファイルの表示(リスティング) |3|`$$....$$` |(ドット) |リテラルブロック。書いたままに表示させたいとき。 |4|`====` |(イコール) |サンプルブロック。 通常で枠ができるフォーマット。#[caption="キャプション名"]で制御。``=`` のみで、ナンバリングもキャプションも除去される様子# |5|`$$++++$$` |(プラス) |インラインブロック。変換せずにHTML出力,パススルー/インライン,バックエンドのマークアップの書式を記述する |6|`$$****$$` |(アスタ) |サイドバーブロック |7|`$$____$$` |(アンダーバー) |ブロッククウォート(引用かな?) |===================================================================================== コードブロックに指定できる言語:: + ==== ``C,C++,HTML,Python,Ruby,JavaScript,JSON,Java,XML,YAML ,Clojure,CSS,Delphi,diff,ERB,Go,Groovy,HAML,Lua ,PHP,Sass,SQL,Taskpaper`` ==== // =============================== [cols="a,a", options="header"] |=== ^| 結果 ^| 記述 | [source,JavaScript] .JavaScript例(タイトル) ---- var a = "test"; echo(a,b); ---- | .... [source,JavaScript] .JavaScript例(タイトル) ---- var a = "test"; echo(a,b); ---- .... |=== == 警告、重要、情報などのアイコン 適用するには属性 ``:icons: font``が必要 // =============================== [cols="a,a", options="header"] [%autowidth] |=== ^| 結果 ^| 記述 | NOTE: ノート(NOTE) WARNING: 警告(WARNING) IMPORTANT: 重要(IMPORTANT) TIP: チップス(TIP) CAUTION: 注意(CAUTION) | .... NOTE,WARNING,IMPORTANT,TIP,CAUTION 単行の場合: NOTE: <内容> ブロックの場合: (サンプルブロックを使う) [NOTE] ==== <内容> ==== .... |=== .■カスタムアイコンの利用方法 [%hardbreaks] PNGもしくはSVGデータとしてこれらのアイコンを変更することができます。iconsフォルダにファイル名"NOTE,WARNING,IMPORTANT,TIP,CAUTION"で、拡張子を``.svg``もしくは``.png``のファイルを配置すればよい。 .アイコンの属性を変更 [cols="l,a"] [%autowidth] |=== |:icons: image| アイコンのタイプをイメージに変更 |:iconsdir: ./icons | アイコンの配置場所をiconsに変更(未設定だと\{imagesdir}/icons) |:icontype: svg | 画像の種類を指定 svg or png |=== IMPORTANT: 属性変更はファイルの先頭がよい。途中で切り換えるとうまくいかない場合があった。 // [horizontal] ※その他方法:: 以下でも一時的に変更することも可能。拡張子は``:icontype: xxx``と同じなら [underline]##拡張子を省略可能##です + ==== [%hardbreaks] $$[NOTE, $$ [red]##icon=NoteCustom.svg## ] $$====$$ $$カスタムNOTEアイコン$$ $$====$$ ==== // =============================== == 区切り線 == ``---``(ハイフン)3個のみ。 .区切り線 // =============================== [cols="a,a", options="header"] |=== ^| 結果 ^| 記述 | --- | ``---`` |=== // =============================== == 改行 == [%hardbreaks] * ``␣+``で繋ぐ。 * もしくは``[%hardbreaks]``で段落全体で改行を有効にする(段落毎にリセットされる)。ドキュメント全体で設定するなら``:hardbreaks:``属性をつけるとよい。個別の解除は`` \{set:hardbreaks!} ``。 .改行 // =============================== [cols="1a,2l", options="header"] |=== ^| 結果 ^| 記述 | 1行目 + 2行目 | 1行目 + 2行目 |=== // =============================== == 段落 揃え == [%hardbreaks] * ``[.text-left]``,``[.text-right]``,``[.text-center]``で調整する * ``[.text-justify]``はよくわからない * ``[align=xxxx]``、 xxxx=left,center,right,...でもよい // =============================== [cols="1a,2l", options="header"] |=== ^| 結果 ^| 記述 | [.text-right] 右寄せ [.text-center] センター [.text-left] 左 行内で部分的右 [.right]##[右]## | [.text-right] 右寄せ [.text-center] センター [.text-left] 左 行内で部分的右 [.right]##[右]## |=== // =============================== [.text-right] This paragraph is aligned right [.text-center] This paragraph is aligned center [.text-left] This paragraph is aligned left. This paragraph is aligned left. This paragraph is aligned left. This paragraph is aligned left. This paragraph is aligned left. This paragraph is aligned left. This paragraph is aligned left. [.text-justified] This paragraph is justified, which is the default.This paragraph is justified, which is the default.This paragraph is justified, which is the default.This paragraph is justified, which is the default. == コメント == .... // コメント行 //// コメントブロック //// .... == エスケープ方法 == [cols="^1a,3a",options="header"] |========= |記述 |表現 |{ddollar} ~ {ddollar}で囲む |通常文字になる |$$+++~+++$$で囲む |HTML制御になる(インライン要素) |$$pass:[~]$$で囲む |HTML制御になる(インライン要素、同上) |{backslash}(backslash) |次の文字の制御のみキャンセル。{backslash}$$*bold*$$や{backslash}$${lt}$$など 2+<| ※ その他は<<_特殊記号>>で記載すること。 |========= == 特殊記号 == 特殊記号は``{}``を使う。もしくは``$$<10進数>;$$`` or ``$$<10進数>;$$``など。 .特殊記号の一覧 [cols="^1a,3a",options="header",caption=] |========= |記号{nbsp}{nbsp}{nbsp} pass:[* ({}で囲む)] |表現 |dollar | $(ドル):{sp}{sp}$$$ or $$$ + ※これは存在しないので、自身で``$$:dollar: $$$``を定義すること |sp | ``$$ $$ `` スペース1文字 |nbsp | ノンブランクスペース文字 |zwsp | 幅無スペース |quot | ``$$"$$`` (ダブルクウォート) |apos | ``' ``(アポストロフィー} |backtick| ``{backtick}`` (バッククウォート) |lsquo | ``‘``(開始シングルクウォート) |rsquo | ``’``(終了シングルクウォート) |ldquo | ``“``(開始ダブルクウォート) |rdquo | ``”``(終了ダブルクウォート) |deg | ``°``(角度) |plus | ``+``(プラス) |brvbar | ``¦`` |vbar | ``{vbar}``(論理和) |amp | ``&`` (アンパサンド) |lt | ``<`` (smaller than) |gt | ``>`` (gretar than) |startsb | ``[`` (開始カギカッコ) |endsb | ``]`` (終了カギカッコ) |caret | ``^`` (キャレット) |asterisk | ``*`` (アスタリスク) |tilde | ``~`` (チルダ) |backslash | ``\`` (バックスラッシュ) |two-colons | ``::`` (2つのコロン) |two-semicolons | ``;;`` (2つのセミコロン) |cpp | ``C++`` (C++?) |wj | |blank | |empty | |========= == 色 == ``$$[色 色-background]#コンテンツ#$$``で指定する ==== [red yellow-background]#赤いコンテンツ、黄色の背景# <- ``$$[red yellow-background]## 赤いコンテンツ、黄色の背景 ##$$`` ==== * 色名の一覧はwikiのWebColor一覧から取れる + -- [%hardbreaks] https://en.wikipedia.org/wiki/Web_colors#HTML_color_names[HTML color names] この内の基本の16種の色のみ定義されている -- **asciidoctor-pdf**は以下の定義みたい(rubyの中):: link:c:\Ruby24\lib\ruby\gems\2.4.0\gems\asciidoctor-2.0.10\data\stylesheets[] + asciidoctor-default.css **vs-codeプラグイン**は以下:: %USERPROFILE%\.vscode\extensions\asciidoctor.asciidoctor-vscode-2.8.3\media\ + asciidoctor-default.css 一覧:: + [cols="a,a,a" align="center"] |=== [%hardbreaks] [aqua]##■■■■■■■## aqua ``([small]##$$[aqua]##■...■## aqua $$##)`` |[black]##■■■■■■■## black |[white gray-background]##■■■■■■■## white |[fuchsia]##■■■■■■■## fuchsia |[green]##■■■■■■■## green |[lime]## ■■■■■■■## lime |[maroon]## ■■■■■■■## maroon |[navy]## ■■■■■■■## navy |[olive]## ■■■■■■■## olive |[purple]##■■■■■■■## purple |[red]##■■■■■■■## red |[silver]## ■■■■■■■## silver |[teal]## ■■■■■■■## teal |[yellow]## ■■■■■■■## yellow |[yellow]## ■■■■■■■## yellow // [cols="a" options="autowidth" frame="none",grid="all"] |=== ※色を拡張したければインラインで定義するか、CSSを拡張するかです。 .インラインで拡張 ==== -- ---- :SpanRed: pass:[] // Spanの終了は共通{SpanEnd} :SpanEnd: pass:[] ---- :SpanRed: pass:[] :SpanEnd: pass:[] このように定義しておいて + $${SpanRed} 適当な文字列 {SpanEnd}$$ -> {SpanRed} 適当な文字列 {SpanEnd} -- ==== .CSSで拡張 ==== 未記載 ==== :app-name: MyApp^2^ [subs="specialchars,attributes,quotes,replacements,macros,post_replacements"] The application is called {app-name}. [%hardbreaks] example-caption={example-caption} figure-caption={figure-caption} Red [red]+++`sum_(i=1)\^n i=(n(n+1))/2`$+++ <-AsciiMathML formula pass_attribute=pass:attributes,quotes[the '{example-caption}'] ※ passすると[%hardbreaks]などリセットされちゃう [%hardbreaks] lang={lang} menu=menu:File[Save] keyboad=kbd:[F11] docdate={docdate} user-home={user-home} == 独自のマクロみたいなの == [%hardbreaks] . HTML文法における `id` / `class` 指定の対応 ....