About Quarkus documentation
Quarkus ドキュメントの構造と設定に関する詳細なリファレンスです。
ソースの場所
Quarkus のドキュメントソースは、リリース時にビルドされ、 Quarkus.io のウェブサイト に同期されます。
-
Quarkus コアおよびほとんどのエクステンションのドキュメントは、 Quarkus GitHub リポジトリー の docs モジュールにあります。
-
Quarkiverse やその他のサードパーティーのエクステンションのドキュメントは、それらのリポジトリーから直接取得されます。
Asciidoc ファイルは docs モジュール内の src/main/asciidoc ディレクトリーにあります。
テンプレート
コンテンツタイプに適したテンプレートを使用して、新しいドキュメントファイルを作成します。
- コンセプト
-
docs/src/main/asciidoc/_templates/template-concepts.adocの使用 - ハウツーガイド
-
docs/src/main/asciidoc/_templates/template-howto.adocの使用 - 参考
-
docs/src/main/asciidoc/_templates/template-reference.adocの使用 - チュートリアル
-
docs/src/main/asciidoc/_templates/template-tutorial.adocの使用
出力先
- 設定リファレンス
-
MicroProfile Config ソースファイルで発見された Javadoc コメントは、config reference ドキュメントを生成するために使用されます。これらの生成されたファイルは
target/asciidoc/generated/config/(プロジェクトルートから) に格納されています。 - Asciidoc 出力の HTML 化
-
asciidoc 処理のローカルレンダリング結果 (Web サイトのドキュメント生成に使われるものと似ていますが、同一ではありません) は、
docs/target/generated-docs/にあります。
タイトルと見出し
コンテンツの種類に関わらず、メインタイトルや文書の見出しは必ず付けてください。
-
目標志向で、聴衆の言葉やキーワードを利用する
-
説明的で、フィラーワードを避ける
-
検索エンジンでの検索性を最適化するため、1 行あたり 3〜12 ワード、50〜80 文字程度とします
-
文例大文字スタイルでは
タイトルと見出しは、次の表に示すように、Quarkus のコンテンツタイプに固有のガイダンスにも従っている必要があります。
| Content type | 以下を行う必要があります | 良い例 | 悪い例 |
|---|---|---|---|
コンセプト |
|
Quarkus のセキュリティーと認証メカニズム |
Quarkus での反応型 SQL クライアントの発見 |
ハウツーガイド |
|
WebAuthn 認証による Quarkus アプリケーションのセキュリティー確保 |
Quarkus での WebAuthn 認証の適用 |
参考 |
|
Hibernate Reactive API の設定プロパティー |
Hibernate Reactive API 設定プロパティーを設定するためのリファレンスガイド |
チュートリアル |
|
クイックスタートの例を使用して、JVM モードの Quarkus アプリケーションを作成します。 |
アプリの作成 |
ファイルの命名規則
Quarkus のドキュメントは、発見しやすくするために、かなりフラットな構造で保存されています。ファイル名の大部分は、そのタイトルを表すものでなければなりません。すべて小文字を使用し、単語はハイフンで区切り、記号や特殊文字は使用しないでください。
- プレフィックス
-
関連するドキュメントをグループ化するために、共通の接頭辞を使用します。例えば、Quarkus のドキュメントを書くことに関連するすべてのドキュメントは、プレフィックスとして`doc-`が付きます。
- 接尾辞
-
ファイル名は、ドキュメントの種類を反映したものにします:
-
コンセプトドキュメントは
-concepts.adocで終わる必要があります。 -
ハウツーガイドは
-how.adocで終わるべきである。 -
リファレンスは
-reference.adocで終わる必要があります。 -
チュートリアルは
-tutorial.adocで終わる必要があります。
-
Asciidoc 構文
Quarkus docs は、Asciidoc 構文を使用しています。次のリンクは、Asciidoc の構文と一般的な規則に関する背景を説明しています。
セマンティック改行
段落、リスト、および表のテキストは、[1] をレビューしやすいように細かく分割する必要があります。各文の終わりで新しい行を開始し、句間の自然な区切りで文自体を分割します。
アブストラクト (前文)
検索しやすさを最適化するには、ユーザー指向のキーワードを使用して短い説明を追加し、ドキュメントの目的、タスク、および意図を 3 センテンス以内で要約します。「このドキュメント..」、「このチュートリアル..」、「次の..」などの自己言及的な表現やつなぎ言葉は避けてください。 ユーザーがコンテンツを読むことで得られるメリットについて言及することも役に立ちます。
|
要約の最初の文は、26文字以内でコンテンツの価値と何らかの利益を説明する必要があります。これは、 Quarkusガイド のホームページに自動的に表示されるためです。 |
自動目次 (TOC)
文書のヘッダーで :toc: preamble を使うと、文書のアブストラクト (またはプリアンブル) の後に自動生成された TOC を挿入できます。たとえば、この文書のヘッダーには次のように書かれています:
[id="reference-doc-quarkus-documentation"]
= Quarkus documentation reference
include::_attributes.adoc[]
:toc: preamble
セクションの使用
セクションのタイトルは、タイトルケースではなく、センテンスケースで記述すること。
すべての文書はタイトル ( = Level 0 の見出し) で始まり、レベルを飛ばすことなく適切なサブセクション ( = Level 1 から = Level 5 ) に分割されなければなりません。
|
深い入れ子 (
コンテンツの種類と設定の詳細については、 Quarkus ドキュメントのコンセプト を参照してください。 |
リンク
一般に、素のリンクや自動リンクよりも、 url マクロ を使う方が望ましいです。特に、リンクが他のテキストの途中に含まれている場合は、人間が読みやすいテキストを提供してください。
|
属性を持つ URL マクロリンク
URL マクロは、リンクを別ウィンドウで開くなどの関連性が考えられる 追加属性 もサポートしています。
上記のソースからこのようなリンクが生成されます: link: Asciidoc Syntax Quick Reference |
クロスリファレンス
Quarkus のドキュメントは、いくつかの異なる環境でソースから構築されています。相互参照で属性を使用して、これらの環境全体でドキュメントを構築できるようにします。
| 属性 | 説明 |
|---|---|
|
収集されたサンプルソースファイルを含むディレクトリーへの相対パス |
|
ドキュメントの adoc ファイルへの相対パス (例:doc-concepts.adoc) |
|
ドキュメントガイドのソース例への相対パス |
|
生成された設定ファイル |
|
イメージが格納されているディレクトリーへの相対パス |
|
部分的/再利用可能なコンテンツ ( |
コンテンツを相互参照する場合は、常にドキュメント間の xref: 構文を使用し、人間が判読できるラベルをリンクに付けてください。
xref:{doc-guides}/doc-concepts.adoc[Quarkus Documentation concepts] (1)
| 1 | 相互参照は xref: で始まり、相互参照ソース属性 ({doc-guides})、および読みやすい説明を提供します: [Quarkus ドキュメントの概念] |
リファレンスソースコード
ドキュメントにソースコードやサンプルを含めるには、さまざまな方法があります。
一番簡単なのは、このようにファイルに直接書き込むことです。
[source,java]
----
System.out.println("Hello, World!");
----
チュートリアルなどのドキュメントでは、定期的にビルドおよびテストされているソースコードを参照したい場合があります。Quarkus ドキュメントモジュールのビルドは、 *-examples/yaml ファイルに列挙されたソースファイルを (プロジェクトルートから) target/asciidoc/examples ディレクトリーのフラット化された構造にコピーします。
examples:
- source: path/to/source/file/SomeClassFile.java (1)
target: prefix-simplified-unique-filename.java (2)
| 1 | コピーするソースのパスを定義する |
| 2 | target/asciidoc/examples ディレクトリにファイルをコピーする際に使用する簡略化されたターゲットファイル名を定義します。ファイル名には、関連/消費ドキュメントと同じプレフィックスを使用することをお勧めします。 |
この方法でコピーされたコンテンツは、 {code-examples} source属性を使って参照されます。コピーされたファイルにリテラル文字列 {{source}} が含まれている場合、そのリテラル値はソースファイルのパスに置き換えられます。
-
コピーされる元ファイルは
integration-tests/micrometer-prometheus/src/main/java/documentation/example/telemetry/micrometer/tutorial/ExampleResource.java -
docs で使いたいターゲットファイル名は。
telemetry-micrometer-tutorial-example-resource.java. -
ソースファイル名とターゲットファイル名は
docs/src/main/asciidoc/telemetry-examples.yamlで宣言されます。examples: - source: integration-tests/micrometer-prometheus/src/main/java/io/quarkus/doc/micrometer/ExampleResource.java target: telemetry-micrometer-tutorial-example-resource.java -
そして、このソースファイルからのスニペットは、以下のパスを使ってインクルードされます:
{code-examples}/telemetry-micrometer-tutorial-example-resource.java. -
ソースファイルには、以下のコメントが記載されています。
// Source: {{source}}
-
コピーされたファイルには、代わりにこのコメントが含まれています。
// Source: integration-tests/micrometer-prometheus/src/main/java/io/quarkus/doc/micrometer/ExampleResource.java
Quarkus ドキュメント変数
以下の変数は、時間の経過とともに変化する重要な情報を外部化しています。このような情報を参照するには、中括弧で囲まれた {} 内の変数を使用する必要があります。
使用する外部化変数の完全なリストを次の表に示します。
| プロパティ名 | 値 | 説明 |
|---|---|---|
|
|
プロジェクトの現在のバージョン。 |
|
プロジェクトのホームページの場所。 |
|
|
プロジェクトの GitHub 組織の場所。 |
|
|
Quarkus GitHub の URL の共通ベース接頭辞。 |
|
|
ドキュメントで参照されている git clone の Quarkus URL。 |
|
|
メインソースアーカイブへの Quarkus URL。 |
|
|
ソースファイルを参照するために使用される、メインのブロブソースツリーへの Quarkus URL。 |
|
|
メインソースツリールートへの Quarkus URL。 |
|
|
Quarkus の課題ページへの URL。 |
|
|
Quarkus 用に配信されるコンテナーイメージのセットへの Quarkus URL。 |
|
|
チャットの URL |
|
|
メーリングリストに登録するために使用される電子メール。 |
|
|
メーリングリストのインデックスページです。 |
|
|
Quickstarts URL 共通ベースプレフィックス。 |
|
|
ドキュメントから参照される git clone のクイックスタート URL です。 |
|
|
|
メインソースアーカイブへのクイックスタート URL です。 |
|
メイン blob ソースツリーへのクイックスタート URL。 |
|
|
メインソースツリーのルートへのクイックスタートの URL。 |
|
|
|
使用する GraalVM の推奨バージョン。 |
|
|
使用するGraalVMのビルダーイメージタグ。例: |