サイトおよびスペース レイアウトのカスタマイズ
レイアウト ファイル(デコレーターとも呼ばれる)を編集して、Confluence のルック アンド フィールを変更することができます。これらのファイルを編集すると、Confluence サイト全体または個別のスペースのルック アンド フィールを変更することができます。
サイトのレイアウトを編集する場合、スペース内の既に編集されたものを除いて、サイトのすべてのスペースのデフォルト デコレーターを変更します。単一のスペースのデコレーターを編集する方法の詳細については、「スペースのレイアウトをカスタマイズする」を参照してください。
サイトのレイアウトを編集するには、システム管理者権限が必要です。
Confluence は、ウェブページのレイアウトシステム、オープン ソースの SiteMesh ライブラリ上に構築されています。
Confluence のレイアウトを編集するには、このデコレーター ファイルを変更する必要があります。デコレーター ファイルは Velocity で書かれている .vmd
ファイルです。詳細については、「Velocity ユーザー ガイド」を参照してください。
Velocity に慣れたら、Confluence の体裁をパーソナライズするデコレーター ファイルを編集します。
Confluence のデコレーターファイルは、次のカテゴリに分類されています。
- サイト レイアウト:サイトの各ページに配置されているコントロールを定義するのに使用されます。例:ヘッダー、フッター、ダッシュボード
- コンテンツ レイアウト:ページやブログ投稿などのコンテンツの体裁を制御します。ページ自体の表示を変更するのではなく、配置されているコメントや添付ファイルなどの表示方法を変更します。
- エクスポート レイアウト:スペースやページを HTML 形式でエクスポートするときの体裁を制御します。
サイト デコレーター ファイルを編集します。
サイト デコレーターを編集する方法:
- 移動 > Layouts (under Look and Feel)
- 変更するデコレーター
.vmd
ファイルの横の [カスタムの作成] をクリックします。 - 変更を加え、更新をクリックします。
上手くいかない場合:デフォルトにリセットを押し、元のレイアウトに戻します。
Velocity マクロを使用する
カスタム デコレーター テンプレートを編集する場合、メニューやパンくずのように、複雑または可変の部分を定義するのに利用可能なマクロがいくつかあります。テンプレートのどこにでもこれらのマクロを挿入することができます。詳細については、「デコレーター マクロの使用方法」を参照してください。
高度なカスタマイズ
Velocity テンプレートのオーバーライド
velocity
ディレクトリは Confluence の Velocity テンプレートの検索パスの手前にあります。そのため、同じ名前のファイルを適切な場所に配置することで、Confluence の任意の Velocity テンプレートを上書きできます。これは変更内容を完全に理解している場合にのみ推奨されますが、Confluence のあらゆる側面で外観を完全に制御できます。また、web インターフェイスではなく、テキスト エディタでテンプレートを編集することもできます。
キャッシング
Velocity はテンプレートをメモリにキャッシュするように設定されています。Confluence 内からページを編集する場合、そのページをディスクからリロードします。ディスク上のページを編集する場合、WEB-INF/classes/velocity.properties
で Velocity のキャッシングを一時的にオフにするか、変更を可視化するためにサーバを再起動する必要があります。
Velocity ファイルの場所
Confluence インストール ディレクトリで Velocity ファイルを探します。主要な Velocity ファイルは、<CONFLUENCE-INSTALLATION>\confluence\decorators
ディレクトリにあります。たとえば、main.vmd, space.vmd, form-aui.vmd, global.vmd
などがこのディレクトリにあります。
URL からレイアウトを探す
レイアウトが表示されないくらい広範囲に変更されている場合、URL を直接参照することができます。
http://<confluence base url>/admin/resetdecorator.action?decoratorName=decorators/main.vmd
base URL と適切な .vmd
ファイルで置き換えます。