プロジェクトのサイトは、簡単なコマンドを使用して作成されます。
mvn site
デフォルトでは、このコマンドの結果として、空のプロジェクト用のhtmlページの標準セットが作成されます:index.html、dependencies.html、integration.html ...これらはmaven-project-info-reports-pluginプラグインによって作成されたレポートです。 pom.xmlのレポートセクションを設定することにより、それらを無効にしたり追加したりできます。 ただし、このトピックについては詳しく説明しません。Mavenの別の機能、つまりコンテンツを追加し、作成するサイトの外観をカスタマイズすることについて説明したいからです。
プロジェクトのセットアップ
したがって、開始するには、プロジェクトを作成します。 コンテンツを作成するには、 maven-site-pluginを使用します 。したがって、プロジェクトのビルドセクションに追加し、ニーズに合わせて構成するのが理にかなっています。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>site-example</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>Site Example</name> <description> This is an example application that demonstrates creation of site for project using maven </description> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>2.1</version> <configuration> <inputEncoding>UTF-8</inputEncoding> <outputEncoding>UTF-8</outputEncoding> <generateReports>false</generateReports> </configuration> </plugin> </plugins> </build> </project>
この例では、ソーステキスト( inputEncoding )と結果のページ( outputEncoding )のエンコーディングが明示的に設定され、レポート生成( generateReports )が無効になっています。 設定の完全なリストはここにあります 。 これで、メインパートに移動できます。
コンテンツを追加する
デフォルトでは、サイトを作成するためのソースコードはsrc / siteに保存され、形式に従ってフォルダに分割されます。mavenには3つの部分があります。
- APT形式 (「ほぼプレーンテキスト」)。 この形式は、よく知られているwiki形式をやや連想させます。 したがって、私にとって最も魅力的なのは、この記事でさらに注目することです。
- FML形式 (「FAQマークアップ言語」)。 名前が示すように、FAQドキュメントの作成専用に作成されました。 最初のMavenから来ました。
- XDocフォーマット 。 最初のMavenから来ました。メイン/唯一のフォーマットでした。
一般に、プロジェクトの初期構造は次のようになります。
+- src/ +- site/ +- resources/ | +- css/ | | +- site.css | | | +- images/ | +- pic1.jpg | +- apt/ | +- index.apt | +- fml/ | +- general.fml | +- faq.fml | +- xdoc/ | +- other.xml | +- site.xml
結果は次のようになります。
+- target/ +- site/ +- css/ | +- images/ | +- index.html +- general.html +- faq.html +- other.html
ご覧のとおり、ソースコードに加えて、site.xmlファイル(サイト記述子とリソースフォルダー)もあります。これについては後で説明しますが、ここではコンテンツの作成に戻りましょう。
APTフォーマット
Wikiのスタイルと非常によく似た、単純なテキスト構成を使用してドキュメントの構造を説明します。 この場合、ソーステキストは通常のテキストファイルのように見えます。 仕組みを示すために、この形式を使用してこの記事の説明を検討してください。
まず、タイトルを追加します。 これはオプションの要素であり、存在する場合はドキュメントの先頭に配置する必要があります。 少なくとも前の3つの---で示され、その後にドキュメントのタイトルに対応するテキストが続きます。 次のように閉じることができます-著者と日付に関する追加情報を追加します。 この場合、次のようになります。
---- ---- sody ---- 2011-03-15
ISO-8601形式の日付を使用することをお勧めします。 YYYY-MM-DD
次に、ドキュメントを論理的に関連する小さなコンポーネント、セクションに分割します。 セクションの見出しは、スペースやタブなどを前に付けずに、行頭から始まるプレーンテキストとして指定されます。 それらはいくつかのレベルのネストをサポートし、次の各レベルは1つ、2つなどで開始する必要があります。 文字*。 単純なドキュメントの場合、セクションではなく段落を使用することをお勧めします。
---- ---- sody ---- 2011-03-15 * APT * * *
セクションが作成されました。次に、テキストを追加する必要があります。 文書に含まれるテキストは、文書の通常のテキスト、セクションテキスト、リストアイテムなど、段落に分割できます。 段落は、空白行で区切られた一連のテキスト行として指定されます。 また、段落の最初の行の前にはいくつかのスペースが必要です。 スペースの数は重要ではありませんが、2を使用して、これら2つのスペースで段落の各行を開始するのが慣例です。
---- ---- sody ---- 2011-03-15 . . java . , . : mvn site
リストを使用することが必要になる場合があります。 それらを示すには、要素の名前が*文字で始まり、空の文字列で区切られている必要があります。ネストされたリストの要素の前には、より多くのスペースが必要です。 私たちの場合、フォーマットを説明する部分はリストとして配置できます:
src/site , 3 : * APT Format ("Almost Plain Text"). - . , . * FML Format ("FAQ Markup Language"). FAQ . . * XDoc format. , / . []
上位のリスト項目とセクション名は、現在のリストを自動的に終了します。 リストを手動で閉じる必要がある場合は、[]記号を使用できます。
また、何らかの方法でテキストを選択するか、フォーマットせずにそのままにしておく必要があります。 プログラミングでは、これはソースコードを強調表示するのに役立ちます。 少なくとも3文字が指定に使用されます-前のスペースはありません。
: +----+ +- target/ +- site/ +- css/ | +- images/ | +- index.html +- general.html +- faq.html +- other.html +----+
+記号を追加すると、そのようなテキストはフレーム化されます。
さて、写真のないどのようなドキュメントですか? 画像を示すには、ファイルへのパスを文字[]で囲む必要があります。文字の前にはスペースを入れないでください。その後に画像の名前が続く場合があります。
[images/sample-site.jpg] Example Site
テーブルが必要な場合は、次の構文を使用できます。
*----------*--------------*----------------* || || || | *----------*--------------*----------------* | | | | *----------*--------------*----------------* | | | | *----------*--------------*----------------* | | | | *----------*--------------*----------------*
または:
*----------------:--------------+ || | .. | *----------------:--------------+ || | 26.03.1989 | *----------------:--------------+ || | 651003 | *----------------:--------------+
テーブルは行*で始まる必要があります-前のスペースなしで、テーブルの行は同じ行で区切られる必要があります*-。 また、次の文字を使用してテキストを揃えることができます。
- *センタリング用
- +左揃え
- :右揃え
列見出しは、二重文字|で示すことができます。
次に、このページの他のリソース/ページ/セクションへのリンクをテキストに追加しましょう。 セクションへのリンクを作成する機能を追加するには、アンカーが使用されます。 単一の文字{}は、それらを示すために使用されます。 それらの間の結論に従って、アンカーが生成されます。 生成は、スペースをアンダースコアに置き換えることで発生することに注意してください。 リンクの参照には同じ文字が使用されますが、{{}}が2回使用されます。 それらの間には、アンカーの名前、このリソースの別のページへの相対リンク、または別のリソースへの見慣れたリンクがあります。 また、すべてを二重{{}} +に入れて無題リンクを別の{}に入れることで、リンクの名前を変更することもできます。
src/site , 3 : * {{{http://maven.apache.org/doxia/references/apt-format.html}APT Format}} ("Almost Plain Text"). - . , . * {{{http://maven.apache.org/doxia/references/fml-format.html}FML Format}} ("FAQ Markup Language"). FAQ . . * {{{http://maven.apache.org/doxia/references/xdoc-format.html}XDoc format}}. , / . []
結論として、フォントを変更できます。 単一文字<>は斜体、二重<< >>-太字、三重<<< >>>-等幅を示します。
, ISO-8601, .. <<YYYY-MM-DD>>.
その結果、次のような結果が得られます。
さらにページを追加すると、外観のカスタマイズに進むことができます。
詳細はこちら 。
外観のカスタマイズ
外観をカスタマイズするには、次の3つのことを実行できます。
- ニーズに合わせて、site.cssのCSSスタイルをオーバーライドします。
- サイト記述子(site.xml)を追加します。 ページレイアウトの基本要素を設定/追加できます。また、ナビゲーションメニューをカスタマイズすることもできます。
- ページテンプレートをカスタマイズします。この場合、結果のページを完全に変更できます。
スタイルのカスタマイズ
できる最も簡単なことは、CSSスタイルを必要なものにオーバーライドすることです。 必要なのは、site.cssファイルを作成し、誰がそれを行うかだけです。 私の例では、ハブのスタイルに似たスタイルを基本としました。
サイト記述子の設定
サイト記述子ファイル(site.xml)をプロジェクトに追加します。
<project xmlns="http://maven.apache.org/DECORATION/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd"> <body> <menu name=""> <item name="" href="index.html"/> <item name=" 0" href="sample0.html"/> <item name=" 1" href="sample1.html"/> <item name=" 2" href="sample2.html"/> <item name=" 4" href="sample3.html"/> </menu> </body> </project>
この例では、サイドメニューが構成されます。サイドメニューはArticlesセクションで構成され、ArticlesセクションとArticle 0-4から構成されています。 いくつかのセクションに分割できます。
<project xmlns="http://maven.apache.org/DECORATION/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd"> <body> <menu name=""> <item name="" href="index.html"/> </menu> <menu name=""> <item name=" 0" href="sample0.html"/> <item name=" 1" href="sample1.html"/> <item name=" 2" href="sample2.html"/> <item name=" 4" href="sample3.html"/> </menu> </body> </project>
メニューに加えて、バージョン、発行日、バナー、ナビゲーションバーなどの他の要素を制御することもできます。
<version position="none"/> <publishDate position="navigation-bottom" format="yyyy-MM-dd"/>
これらの行を追加すると、プロジェクトのバージョンは表示されず、公開日は指定された形式でメニューの下に表示されます。 説明したすべてに加えて、サイトに別のスキンを適用できます。
<skin> <groupId>org.apache.maven.skins</groupId> <artifactId>maven-classic-skin</artifactId> <version>1.0</version> </skin>
その結果、サイトの外観は次のように変わります。
設定の詳細についてはこちらをご覧ください 。
サイトテンプレートのセットアップ
サイトテンプレートは、テキストを結果の形式(この場合はhtml)に変換する速度に関するスクリプトです。 多くのニュアンスがあるので、この記事ではそれを検討しません。得られた結果のみを表示します。
ソースコードはgithubにあります。