blob: d2c427f98a12a8a042f2be1088c140a8016a9382 [file] [log] [blame]
<%--
Copyright (C) 2009-2010 the original author or authors.
See the notice.md file distributed with this work for additional
information regarding copyright ownership.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--%>
<%@ var body: String %>
<%@ var title: String = "Apache Karaf Cave ${cave.version} Guides" %>
<% escapeMarkup = false %>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
/*
Copyright (c) 2005 Hakon Wium Lie and Bert Bos
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
html {
margin: 0; padding: 0;
font: 10pt/1.26 "Gill Sans", sans-serif;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Gill Sans", sans-serif;
margin: 2em 0 0.5em 0;
page-break-after: avoid;
}
h1 {
font-size: 2.0em;
font-weight: 900;
margin: 0;
margin-left:-2cm;
margin-top:-1cm;
margin-bottom:1.5cm;
top: 0cm;
left: 0cm;
padding: 2cm;
padding-top: 0cm;
padding-bottom: 1cm;
background: #888;
border-bottom-right-radius: 2cm;
page-break-before: always;
page-break-inside: avoid;
}
@media screen, handheld {
h1 {
margin-top:1cm;
background-image: url("chapter-rounded-bottom.png");
background-repeat: no-repeat;
background-position: bottom right;
}
div.page-reset > h1 {
margin-top:0cm;
}
}
h2 {
font-size: 1.2em;
text-transform: uppercase;
font-weight: bold;
}
h3 {
font-size: 1em;
font-weight: bold;
}
q::before {
content: "\201C";
}
q::after {
content: "\201D";
}
p { margin: 0 }
p + p { text-indent: 1.3em ; margin-top: 0.2em; }
p.sidenote + p, p.caption, p.art { text-indent: 0 }
p.author {
margin-top: 2em;
text-indent: 0;
text-align: right;
}
a { text-decoration: none; color: black }
/* cross-references */
a.pageref::after { content: " on page " target-counter(attr(href), page); }
a.chapref::before { content: " Chapter " target-counter(attr(href), chapter) ", "; }
a.figref { content: " Figure " target-counter(attr(href), figure); }
a.tableref { content: " Table " target-counter(attr(href), figure); }
a.listingref { content: " Listing " target-counter(attr(href), listing); }
/* sidenotes */
.sidenote {
float: left;
clear: left;
margin: 0 0 1em -41%;
width: 37%;
font-size: 0.9em;
font-style: normal;
text-indent: 0;
text-align: right;
page-break-inside: avoid;
}
/* sidebars */
div.sidebar {
float: top-next;
margin: 1.2em 0 1.2em 0;
border: thin solid;
background: #CCC;
padding: 0.5em 1em;
page-break-inside: avoid;
column-count: 2;
column-gap: 1.5em;
}
div.sidebar h2 {
margin-top: 0;
}
/* frontpage */
.title p{
font-size:22pt;
font-family: "Gill Sans", sans-serif;
text-align: center;
}
.copyright-section {
text-align: center;
font-size: 9pt;
page-break-after: always;
margin-top: 50pt;
margin-bottom: 20pt;
}
.toc-title {
font-size:18pt;
font-family: "Gill Sans", sans-serif;
text-align: left;
margin-left:20pt;
margin-bottom: 40pt;
}
/* figures, tables, and listings */
div.confluenceTableSmall th.confluenceTh {
font-size: 11px;
}
div.confluenceTableSmall td.confluenceTd {
font-size: 7px;
}
div.figure {
margin: 1em 0;
counter-increment: figure;
}
div.figure .caption, div.table .caption {
font-size: 0.9em;
font-style: italic;
}
div.figure .caption::before {
content: "Figure " counter(figure) ". ";
font-weight: bold;
font-style: normal;
}
div.table .caption::before {
content: "Table " counter(table) ". ";
font-weight: bold;
font-style: normal;
}
div.table {
margin: 1em 0;
counter-increment: table;
}
div.table th {
text-align: left;
}
table th, table td {
text-align: left;
padding-right: 1em;
page-break-inside: avoid;
}
table th {
border-top: thin solid;
border-bottom: thin solid;
padding-top: 0.2em;
padding-bottom: 0.2em;
}
table td {
border-top: none;
border-bottom: thin dotted;
padding-top: 0.2em;
padding-bottom: 0.2em;
}
div.Scrollbar {
display: none;
}
/* Weird div.codeHeader a b::before would be a better selection
but prince does not properly match it.. Firefox does. */
div.codeHeader::before {
content: "Listing " counter(listing) ". ";
font-weight: bold;
font-style: normal;
}
div.codeHeader a b {
font-style: italic;
font-weight: normal;
}
div.codeHeader {
font-size: 0.9em;
counter-increment: listing;
}
div.code {
border: 1px dashed #c0c0c0;
font-size: 12px;
font-family: Courier;
margin: 5px;
line-height: 13px;
padding: 3px;
background-color: #f8f8f8;
}
@page {
margin: 2cm;
size: 7in 9.25in;
@footnotes {
border-top: thin solid black;
padding-top: 0.3em;
margin-top: 0.6em;
}
}
/* define default page and names pages: cover, blank, frontmatter */
div.page-reset {
counter-reset: page 1;
}
@page :left {
@top-left-corner {
font-weight: 900; font: 9pt "Gill Sans", serif;
content: counter(page);
text-align: left;
margin-left: 1cm;
visibility: hidden;
}
@top-left {
font-weight: 900;
font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
content: string(header, first);
visibility: hidden;
}
@bottom-left-corner {
font-weight: 900; font: 9pt "Gill Sans", serif;
content: counter(page);
text-align: left;
margin-left: 1cm;
}
@bottom-left {
font-weight: 900;
font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
content: string(header, first);
}
}
@page :right {
@top-right-corner {
font-weight: 900; font: 9pt "Gill Sans", serif;
content: counter(page);
text-align: left;
margin-left: 1cm;
visibility: hidden;
}
@top-right {
font-weight: 900;
font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
content: string(header, first)
visibility: hidden;
}
@bottom-right-corner {
font-weight: 900; font: 9pt "Gill Sans", serif;
content: counter(page);
text-align: right;
margin-right: 1cm;
}
@bottom-right {
font-weight: 900; font: 9pt "Gill Sans", serif;
white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
content: string(header, first)
}
}
/*
In theory we should be able to use the :first selector so taht
we can put the page numbering on the bottom of the first page of the chapter
but have the rest of the pages number at the top. But this does not seem
to work. See http://www.princexml.com/doc/6.0/page-selectors/
So for now just always number at the bottom :(
*/
/*
div.chapter { page: bottom-number; }
@page bottom-number :first {
@top-left {
visibility: hidden;
}
@bottom-left {
visibility: visible;
}
@top-right {
visibility: hidden;
}
@bottom-right {
visibility: visible;
}
}
*/
@page cover { margin: 0; }
@page frontmatter :left {
@bottom-left-corner {
content: counter(page, lower-roman);
}
@bottom-left-corner {
content: counter(page, lower-roman);
}
}
@page frontmatter :right {
@bottom-right-corner {
content: counter(page, lower-roman);
}
@bottom-right-corner {
content: counter(page, lower-roman);
}
}
@page blank :left {
@top-left { visibility: hidden; }
@bottom-left { visibility: hidden; }
@top-left-corner { visibility: hidden; }
@bottom-left-corner { visibility: hidden; }
}
@page blank :right {
@top-right { visibility: hidden; }
@bottom-right { visibility: hidden; }
@top-right-corner { visibility: hidden; }
@bottom-right-corner { visibility: hidden; }
}
/* footnotes */
.footnote {
display: none; /* default rule */
display: prince-footnote; /* prince-specific rules */
position: footnote;
footnote-style-position: inside;
counter-increment: footnote;
margin-left: 1.4em;
font-size: 90%;
line-height: 1.4;
}
.footnote::footnote-call {
vertical-align: super;
font-size: 80%;
}
.footnote::footnote-marker {
vertical-align: super;
color: green;
padding-right: 0.4em;
}
/* Confluence contents to hide */
#labels-section {
display: none;
}
#comments-section {
display: none;
}
#footer {
display: none;
}
.hidden {
display: none;
}
/*
A book consists of different types of sections. We propose to use
DIV elements with these class names:
frontcover
halftitlepage: contains the title of the book
titlepage: contains the title of the book, name of author(s) and publisher
imprint: left page with copyright, publisher, library printing information
dedication: right page with short dedication
foreword: written by someone other than the author(s)
toc: table of contents
preface: preface, including acknowledgements
chapter: each chapter is given its own DIV element
references: contains list of references
appendix: each appendix is given its own
bibliography
glossary
index
colophon: describes how the book was produced
backcover
A book will use several of the types listed above, but few books
will use all of them.
*/
/* which section uses which named page */
div.halftitlepage, div.titlepage, div.imprint, div.dedication { page: blank }
div.foreword, div.toc, div.preface { page: frontmatter }
/* page breaks */
div.frontcover, div.halftitlepage, div.titlepage { page-break-before: right }
div.imprint { page-break-before: always; }
div.chapter { page-break-before: always; }
div.dedication, div.foreword, div.toc, div.preface, div.reference,
div.appendix, div.bibliography, div.glossary, div.index, div.colophon {
page-break-before: always
}
div.backcover { page-break-before: left }
/* titlepage, halftitlepage */
div.titlepage h1, div.halftitlepage h1 { margin-bottom: 2em; }
div.titlepage h2, div.halftitlepage h2 { font-size: 1.2em; margin-bottom: 3em; }
div.titlepage h3, div.halftitlepage h3 { font-size: 1em; margin-bottom: 3em; }
div.titlepage p, div.halftitlepage p {
font-size: 1.4em;
font-weight: bold;
margin: 0; padding: 0;
}
/* TOC */
ul.toc, ul.toc ul {
list-style-type: none;
margin: 0; padding: 0;
margin-left: 3cm;
}
ul.toc ul {
margin-left: 1em;
font-weight: normal;
}
ul.toc > li {
font-weight: bold;
margin-bottom: 0.5em;
}
ul.toc a::after {
content: leader('.') target-counter(attr(href), page);
font-style: normal;
}
ul.toc > li.frontmatter a::after {
content: leader('.') target-counter(attr(href), page, lower-roman);
font-style: normal;
}
ul.toc > li.endmatter a::after {
content: leader('.') target-counter(attr(href), page);
font-style: normal;
}
ul.toc > li.chapter::before {
content: "Chapter " counter(toc-chapter, decimal);
display: block;
margin: 1em 0 0.1em -2.5cm;
font-weight: normal;
counter-increment: toc-chapter;
page-break-after: avoid;
}
/* chapter numbers */
div.chapter { counter-increment: chapter; }
div.chapter h1::before {
text-transform: uppercase;
letter-spacing: 0.15em;
content: "Chapter " counter(chapter) " \A\B0 \B0 \B0 \B0\A";
white-space: pre;
font-size: 50%;
}
div.frontcover h1::before, div.titlepage h1::before, div.halftitlepage h1::before {
content: normal; /* that is, none */
}
h1 { string-set: header content();}
div.chapter h1 { string-set: header "Chapter " counter(chapter) " - " content(); }
/* index */
ul.index {
list-style-type: none;
margin: 0; padding: 0;
column-count: 2;
column-gap: 1em;
}
ul.index a::after { content: ", " target-counter(attr(href), page); }
span.element, span.attribute {
text-transform: uppercase;
font-weight: bold;
font-size: 80%;
}
span.property { font-weight: bold }
code, span.css, span.value, span.declaration {
font: 90% "Lucida Console", "Lucida Sans Typewriter", monospace;
}
@media screen, handheld {
html {font: 14px "Gill Sans", sans-serif; }
h1 { margin-bottom: 0.5em }
div.frontcover, div.halftitlepage, div.titlepage, div.imprint,
div.dedication, div.foreword, div.toc, div.index { display: none }
body {
margin: 0cm;
margin-left: 2cm;
margin-right: 2cm;
}
}
/*
* Enhancements to the take advantage of some of the style markup that
* Confluence generates
*/
a sup img { visibility: hidden; position: absolute;}
img {
prince-image-resolution:150dpi;
}
table {
font: "Lucida Console", "Lucida Sans Typewriter", monospace;
}
table td {
font-size: 10pt;
}
pre {
white-space: pre-wrap;
}
.codeContent {
font-size: 80%;
}
.code {
}
.code-keyword {
color: #000091;
background-color: inherit;
}
.code-object {
color: #910091;
background-color: inherit;
}
.code-quote {
color: #009100;
background-color: inherit;
}
.code-comment {
color: #808080;
background-color: inherit;
}
.code-xml .code-keyword {
color: inherit;
font-weight: bold;
}
.code-tag {
color: #000091;
background-color: inherit;
}
.noteMacro { border-color: #F0C000; background-color: #FFFFCE;}
.warningMacro { border-color: #CC0000; background-color: #FFCCCC }
.infoMacro { border-color: #3c78b5; background-color: #D8E4F1; }
.tipMacro { border-color: #090; background-color: #dfd;}
.noteMacro, .warningMacro, .infoMacro, .tipMacro, .informationMacroPadding {
border: thin solid;
float: top-next;
margin: 1em 0 1.2em 0;
padding: 0.5em;
column-count: 2;
column-gap: 1.5em;
width: 100%;
}
table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro td, table.sectionMacro td {
border: none;
}
table.infoMacro p, table.warningMacro p, table.tipMacro p, table.noteMacro p, table.sectionMacro p {
font-size:x-small;
margin-top: 1em;
}
</style>
<style type="text/css">
.syntax .hll { background-color: #ffffcc }
.syntax { background: #f0f0f0; }
.syntax .c { color: #60a0b0; font-style: italic } /* Comment */
.syntax .err { border: 1px solid #FF0000 } /* Error */
.syntax .k { color: #007020; font-weight: bold } /* Keyword */
.syntax .o { color: #666666 } /* Operator */
.syntax .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
.syntax .cp { color: #007020 } /* Comment.Preproc */
.syntax .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
.syntax .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
.syntax .gd { color: #A00000 } /* Generic.Deleted */
.syntax .ge { font-style: italic } /* Generic.Emph */
.syntax .gr { color: #FF0000 } /* Generic.Error */
.syntax .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.syntax .gi { color: #00A000 } /* Generic.Inserted */
.syntax .go { color: #808080 } /* Generic.Output */
.syntax .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.syntax .gs { font-weight: bold } /* Generic.Strong */
.syntax .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.syntax .gt { color: #0040D0 } /* Generic.Traceback */
.syntax .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.syntax .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.syntax .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
.syntax .kp { color: #007020 } /* Keyword.Pseudo */
.syntax .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
.syntax .kt { color: #902000 } /* Keyword.Type */
.syntax .m { color: #40a070 } /* Literal.Number */
.syntax .s { color: #4070a0 } /* Literal.String */
.syntax .na { color: #4070a0 } /* Name.Attribute */
.syntax .nb { color: #007020 } /* Name.Builtin */
.syntax .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
.syntax .no { color: #60add5 } /* Name.Constant */
.syntax .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.syntax .ni { color: #d55537; font-weight: bold } /* Name.Entity */
.syntax .ne { color: #007020 } /* Name.Exception */
.syntax .nf { color: #06287e } /* Name.Function */
.syntax .nl { color: #002070; font-weight: bold } /* Name.Label */
.syntax .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.syntax .nt { color: #062873; font-weight: bold } /* Name.Tag */
.syntax .nv { color: #bb60d5 } /* Name.Variable */
.syntax .ow { color: #007020; font-weight: bold } /* Operator.Word */
.syntax .w { color: #bbbbbb } /* Text.Whitespace */
.syntax .mf { color: #40a070 } /* Literal.Number.Float */
.syntax .mh { color: #40a070 } /* Literal.Number.Hex */
.syntax .mi { color: #40a070 } /* Literal.Number.Integer */
.syntax .mo { color: #40a070 } /* Literal.Number.Oct */
.syntax .sb { color: #4070a0 } /* Literal.String.Backtick */
.syntax .sc { color: #4070a0 } /* Literal.String.Char */
.syntax .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
.syntax .s2 { color: #4070a0 } /* Literal.String.Double */
.syntax .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
.syntax .sh { color: #4070a0 } /* Literal.String.Heredoc */
.syntax .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
.syntax .sx { color: #c65d09 } /* Literal.String.Other */
.syntax .sr { color: #235388 } /* Literal.String.Regex */
.syntax .s1 { color: #4070a0 } /* Literal.String.Single */
.syntax .ss { color: #517918 } /* Literal.String.Symbol */
.syntax .bp { color: #007020 } /* Name.Builtin.Pseudo */
.syntax .vc { color: #bb60d5 } /* Name.Variable.Class */
.syntax .vg { color: #bb60d5 } /* Name.Variable.Global */
.syntax .vi { color: #bb60d5 } /* Name.Variable.Instance */
.syntax .il { color: #40a070 } /* Literal.Number.Integer.Long */
/* don't highlight errors */
.syntax .err {
border: none;
}
.syntax {
font-size: .9em;
font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
background-color: #F8F8FF;
overflow:auto;
-moz-background-clip:border;
-moz-background-inline-policy:continuous;
-moz-background-origin:padding;
margin: 1em 0 1em 0;
border:1px solid #DDDDDD;
border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px; -moz-border-radius-topleft: 8px;
border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; -moz-border-radius-topright: 8px;
border-style: solid; border-width: 1px; border-color: #dedede !important;
padding: 1em;
}
.syntax .linenodiv {
background-color:#ECECEC;
border-right:1px solid #DDDDDD;
color:#AAAAAA;
padding: .5em;
text-align:right;
}
.syntax .highlight {
}
.syntax pre {
margin:0;
}
pre.syntax {
padding: .5em;
background-color: #F8F8FF; overflow:auto;
}
.syntax code {
font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
font-size: 10pt;
}
div.compare { width: 700px; }
div.compare div.compare-left { float:left; width:340px; padding:5px; margin-top: 15px; }
div.compare div.compare-right { float:right; width:340px; padding:5px; margin-top: 15px; }
div.compare div h3 {
margin-left: 15px;
padding: 5px 15px;
display: inline;
font-size: .8em;
color: #666;
border-top: 1px solid #ccc; -moz-border-top-colors: #ccc white white #e5e5e5;
border-left: 1px solid #ccc; -moz-border-left-colors: #ccc white white #e5e5e5;
border-right: 1px solid #ccc;-moz-border-right-colors: #ccc white white #e5e5e5;
border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px; -moz-border-radius-topleft: 8px;
border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; -moz-border-radius-topright: 8px;
}
div.compare div div {
margin: 5px 0px 0px 0px;
}
.clear {
clear:both;
}
.wide div.compare div.compare-left { float:none; width:700px; }
.wide div.compare div.compare-right { float:none; width:700px; }
</style>
<title>${title}</title>
</head>
<body>
<div id="titlepage">
<div id="title">Apache Karaf Cave</div>
<div id="subtitle">Version ${cave.version}</div>
</div>
<div id="main">
<%= body %>
</div>
</body>
</html>