View Source



h1.Introduction

From release 3.3.0 we can describe a complete site's layout using an xml file. Through site schema you can set root page (called home) its children's tree, add attachments and labels.
Use it is pretty straightforward, put your *{{site.xml}}* in *{{$\{basedir\}/src/site/confluence}}* folder and describe your preferred layout following the [site schema|https://raw.githubusercontent.com/bsorrentino/maven-confluence-plugin/master/schemas/site-schema-3.4.0.xsd|].


h2.Site template

To simplify understanding, below there is a simple site descriptor template

{code:xml}

<?xml version="1.0" encoding="UTF-8"?>

<bsc:site
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:bsc='https://github.com/bsorrentino/maven-confluence-plugin'
xsi:schemaLocation='https://github.com/bsorrentino/maven-confluence-plugin https://raw.githubusercontent.com/bsorrentino/maven-confluence-plugin/master/schemas/site-schema-3.4.0.xsd'>
<home name="" uri="">

<attachment name="" uri="" comment="" contentType="" version=""></attachment>
<attachment name="" uri="" comment="" contentType="" version=""></attachment>

<child name="" uri="">

<attachment name="" uri="" comment="" contentType="" version=""></attachment>
<attachment name="" uri="" comment="" contentType="" version=""></attachment>

<child name="" uri="">
<attachment name="" uri="" comment="" contentType="" version=""></attachment>
<attachment name="" uri="" comment="" contentType="" version=""></attachment>
</child>

<child name="" uri=""></child>

</child>

<child name="" uri=""></child>

</home>

<label>label1</label>
<label>label2</label>
<label>label3</label>

</bsc:site>


{code}



h2.Tags description



h3.home

||Attribute||Description ||mandatory ||
|uri |Content's source |no |
|name |Title of page |no (if uri is defined)|


h3.child

||Attribute||Description ||mandatory ||
|uri |Content's source |no |
|name |Title of page |no (if uri is defined)|


h3.attachment

||Attribute||Description ||mandatory ||
|uri |Content's source |no |
|name |Name of attachment |no (if uri is defined)|
|comment | |no |
|contentType | |yes |
|version | |no |


h3.label


bq. The content of label's tag is the label's value



h2.Example

The example below is the [site.xml|https://raw.githubusercontent.com/bsorrentino/maven-confluence-plugin/master/maven-confluence-reporting-plugin/src/site/confluence/site.xml|] used by plugin to document itself

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<bsc:site
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:bsc='https://github.com/bsorrentino/maven-confluence-plugin'
xsi:schemaLocation='https://github.com/bsorrentino/maven-confluence-plugin https://raw.githubusercontent.com/bsorrentino/maven-confluence-plugin/master/schemas/site-schema-3.4.0.xsd'>

<home uri="codehaus-home.confluence">

<child name="Usage" uri="usage.confluence">
<attachment name="gitlog-sample02.png" uri="../resources/images/gitlog-sample02.png" comment="gitlog to jira sample" contentType="image/png" version="1"></attachment>
</child>

</home>

<label>maven</label>
<label>confluence</label>
<label>documentation</label>

</bsc:site>



{code}

----


h2.Note:



h3.The *URI* format

The *uri* attribute could refer to

* *File* resource

bq. We can refer to file in *absolute* way using *file* scheme (e.g. {{file:///Documents/page.confluence}}) or in *relative* way not using any scheme. In that case the path will be resolved starting from *site home*



* *Classpath* resource

bq. We can refer to resource using *classpath* schema. (e.g. {{classpath:page.confluence}})


* Network resource

bq. We can refer to resource using *http* scheme. (e.g. {{http://www.thesite.com/page.confluence}})