AEM サイト出力のカスタマイズ
AEM Guidesでは、次の形式での出力の作成がサポートされています。
- AEM サイト
- HTML5
- EPUB
- DITA-OT によるカスタム出力
AEM サイトの出力については、異なる出力タスクに異なるデザインテンプレートを割り当てることができます。 これらのデザインテンプレートは、異なるレイアウトで DITA コンテンツをレンダリングできます。 例えば、内部オーディエンスと外部オーディエンスに対して異なるデザインテンプレートを指定できます。
カスタマイズした DITA Open Toolkit \(DITA-OT\) プラグインをAEM Guidesで使用することもできます。 これらのカスタム DITA-OT プラグインをアップロードすると、特定の方法でPDF出力を生成できます。
出力を生成するためのデザインテンプレートのカスタマイズ
AEM Guidesでは、事前定義済みの一連のデザインテンプレートを使用して、AEM Site 出力を生成します。 AEM Guidesのデザインテンプレートをカスタマイズして、企業のブランディングに合った出力を生成できます。 デザインテンプレートは、様々なスタイル \(CSS\)、スクリプト \(サーバー側とクライアント側の両方\)、リソース \(画像、ロゴ、その他のアセット\)、およびこれらすべてのリソースを結び付ける JCR ノードのコレクションです。 デザインテンプレートは、単一のサーバーサイドスクリプトと複数の JCR ノードのみで構成するか、スタイル、リソース、JCR ノードの複雑な組み合わせで構成することができます。 デザインテンプレートは、AEM Guides サイト出力を生成する際にAEM パブリッシングサブシステムで使用され、生成された出力の構造、ルックアンドフィールを制御します。
デザイン テンプレート リソースをサーバ上のどこに配置するかについては制限はありませんが、通常は機能に応じて論理的に編成されます。 例えば、デフォルトのテンプレートでは、すべてのJavaScriptと CSS ファイルがフォルダーに保存 /etc/designs/fmdita/clientlibs/siteoutput/default
れています。 これらのファイルが配置されている場所では、それらのファイルは JCR ノードのコレクションによってリンクされます。 これらの JCR ノードとファイルによって、デザインテンプレート全体が構成されます。
AEM Guidesに付属しているデフォルトのデザインテンプレートを使用すると、ランディング、トピックおよび検索ページのコンポーネントをカスタマイズできます。 デフォルトのデザインと対応する参照テンプレートのコピーを作成し、異なるコンポーネントを指定して目的の出力を生成できます。
次の手順を実行して、AEM Site の出力生成に使用する独自のデザインテンプレートを指定します。
-
パッケージマネージャーを使用して、次の場所からデフォルトのデザインテンプレートをダウンロードします。
/libs/fmdita/config/templates
-
ダウンロードしたファイルのコピーをCloud Manager Git リポジトリ内の次の場所に作成します。
/apps/fmdita/config/templates
-
また、デフォルトのテンプレートノードから参照されたテンプレートをダウンロードしてコピーする必要もあります。 参照されるテンプレートは、次の場所に配置されます。
/libs/fmdita/templates/default/cqtemplates
次の表に、AEM Guides デザインテンプレートのプロパティを示します。
プロパティ 説明 landingPageTemplate
、searchPageTemplate
、topicPageTemplate
、shadowPageTemplate
これらの対応するページの cq:Template
ノード (ランディング、検索、トピック\)を指定してください。 デフォルトでは、これらのページのcq:Template
ノードは/libs/fmdita/templates/default/cqtemplates
ノードにあります。 このノードは、ランディングページ、検索ページ、トピックページの構造とプロパティを定義します。shadowPageTemplate
は、チャンクされたコンテンツの最適化に使用されます。 このプロパティの値を次に設定する必要があります。fmdita/templates/default/cqtemplates/shadowpage
メモ:topicPageTemplate
の値を指定する必要があります。landingPageTemplate
とsearchPageTemplate
はオプションのプロパティです。 検索ページとランディングページを生成しない場合は、これらのプロパティを指定しないでください。title
デザインテンプレートのわかりやすい名前。 topicContentNode
トピックページ内の DITA コンテンツを格納するノードの場所。 パスは、トピックページを基準とした相対パスです。 topicHeadNode
DITA コンテンツから派生したヘッド値\(またはメタデータ\)を含むノードの場所。 パスはトピックページを基準とした相対パスです。 tocNode
目次を含むノードの場所。 パスは、ランディングページまたは宛先パスを基準とした相対パスです。 basePathProp
公開されたサイトのルートのパスを保存するプロパティ名。 indexPathProp
公開されたサイトのランディングページまたはインデックスページのパスを保存するプロパティ名。 pdfPathProp
トピックのPDFの生成が有効な場合に、トピックのPDFのパスを保存するためのプロパティ名。 pdfTypeProp
PDF世代のタイプを格納するプロパティ名。 現在、このプロパティには常に「トピック」が含まれています。 searchPathProp
テンプレートに検索ページが含まれている場合に、検索ページのパスを保存するためのプロパティ名。 siteTitleProp
公開するサイトのタイトルを保存するためのプロパティ名。 通常、このタイトルはパブリッシュするマップのタイトルと同じです。 sourcePathProp
現在のページのソース DITA トピックのパスを保存するためのプロパティ名。 tocPathProp
公開されたサイトの目次ルートのパスを保存するプロパティ名。
詳しくは、 最初のAdobe Experience Manager Web サイトの作成および 基本「AEMでの独自 Web サイトの開発」を参照してください。
AEM サイト出力の生成にドキュメントタイトルを使用
AEM Site 出力を生成する場合、URL の生成方法は、コンテンツの検出性に重要な役割を果たします。 UUID ベースのファイル名を使用している場合、ファイルの UUID に基づいて URL を生成しても、検索しづらくなります。 管理者または公開者は、AEM サイト出力の URL の生成方法を制御できます。 AEM Guidesでは、UUID ベースのファイル名ではなくファイルのタイトルを使用して、AEM サイト出力の URL を生成できる設定を提供します。 デフォルトでは、UUID ベースのファイルシステムの場合、このオプションはオンになっています。 つまり、UUID ベースのファイルシステムに対してAEM サイト出力を生成する場合、ファイルの UUID ではなく URL の生成にファイルのタイトルが使用されます。
設定の上書きの手順に従って、設定ファイルを作成します。 設定ファイルで、次の\(property\)の詳細を指定して、AEM サイト出力での URL 生成を設定します。
PID | プロパティキー | プロパティの値 |
---|---|---|
com.adobe.fmdita.config.ConfigManager | aemsite.pagetitle | ブール \(true/false\) ページタイトルを使用して出力を生成する場合は、このプロパティを true に設定します。 デフォルトでは、ファイル名を使用するように設定されています。 デフォルト値:false |
ドキュメントのタイトルを使用するには、AEM サイト出力の URL を設定します
AEM Site 出力の URL にドキュメントタイトルを使用できます。 ファイル名が存在しないか、特殊文字がすべて含まれる場合は、AEM サイト出力の URL で特殊文字を区切り文字に置き換えるようにシステムを設定できます。 また、最初の子トピックの名前に置き換えるように設定することもできます。
ページ名を設定するには、次の手順を実行します。
- 設定の上書きの手順に従って、設定ファイルを作成します。
- 設定ファイルで、次の(プロパティ)の詳細を指定して、トピックのページ名を設定します。
PID | プロパティキー | プロパティの値 |
---|---|---|
com.adobe.fmdita.common.SanitizeNodeName | nodename.systemDefinedPageName | ブール値(true/false )。 デフォルト値: false |
たとえば、<topichead>
の @navtitle にすべての特殊文字があり、aemsite.pagetitle
プロパティを true に設定した場合、既定では区切り文字が使用されます。 nodename.systemDefinedPageName
プロパティを true に設定すると、最初の子トピックの名前が表示されます。
AEM Sitesやその他の形式でトピックを作成し、出力を公開するためのファイル名のサニタイズルールを設定します
管理者は、ファイル名に使用できる有効な特殊文字のリストを定義できます。これらの特殊文字が、最終的にAEM サイトの出力の URL になります。 以前のリリースでは、@
、$
、>
などの特殊文字を含むファイル名を定義できていました。 これらの特殊文字により、AEM サイトページの生成時に URL がエンコードされていました。
3.8 リリース以降、ファイル名で使用できる特殊文字のリストを定義する設定が追加されました。 デフォルトでは、有効なファイル名設定には「a-z A-Z 0-9 - _
」が含まれます。 つまり、ファイルを作成する際に、ファイルのタイトルに任意の特殊文字を含めることができますが、内部的には、ファイル名ではハイフン\(-
\)に置き換えられます。 例えば、ファイルのタイトルを Introduction 1 またはIntroduction@1にすることができ、これらの場合に生成される対応するファイル名は Introduction-1 になります。
有効な文字のリストを定義する場合、これらの文字「*/:[\]|#%{}?&<>"/+
」と a space
は常にハイフン \(-
\)に置き換えられることに注意してください。
設定の上書きの手順に従って、設定ファイルを作成します。 設定ファイルで、次の\(property\)の詳細を指定して、ファイル名とAEM サイト出力に有効な特殊文字を設定します。
PID | プロパティキー | プロパティの値 |
---|---|---|
com.adobe.fmdita.common.SanitizeNodeNameImpl | aemsite.DisallowedFileNameChars | プロパティが '<>`@$ に設定されていることを確認します。 このリストには、さらに特殊文字を追加できます。 |
その他のプロパティも設定できます。例えば、ファイル名で小文字を使用する、無効な文字を処理するための区切り文字、ファイル名に使用できる最大文字数などです。 これらのプロパティを設定するには、次のキーと値のペアを設定ファイルに追加します。
プロパティキー | プロパティの値 |
---|---|
nodename.uselower | ブール値\(true/false\). デフォルト値:true |
nodename.separator | 任意の文字。 デフォルト値:_ \(underscore\) |
nodename.maxlength | 整数値。 デフォルト値:50 |