Warning, /graphics/digikam/core/dplugins/generic/tools/htmlgallery/themes/dateframes/template.xsl is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8" ?>
0002 
0003 <!--
0004  * ============================================================
0005  *
0006  * This file is a part of digiKam project
0007  * https://www.digikam.org
0008  *
0009  * Date        : 2011-03-30
0010  * Description : A date framed theme for the digiKam html gallery tool.
0011  *
0012  * SPDX-FileCopyrightText: 2011 by Elizabeth Marmorstein <purplegamba at cox dot net>
0013  *
0014  * SPDX-License-Identifier: GPL-2.0-or-later
0015  *
0016  * ============================================================
0017  -->
0018 
0019 <!DOCTYPE stylesheet [
0020 <!ENTITY raquo "&#187;" >
0021 <!ENTITY blank "&#160;" >
0022 ]>
0023 
0024 <xsl:transform version="1.0"
0025         xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
0026         xmlns:exsl="http://exslt.org/common"
0027         xmlns:dt="http://xsltsl.org/date-time"
0028         extension-element-prefixes="exsl">
0029 
0030         <xsl:import href="http://xsltsl.sourceforge.net/modules/date-time.xsl"/>
0031 
0032 <!-- ********************************************************************* -->
0033 <!-- ** Create single image page for each image                         ** -->
0034 <!-- ********************************************************************* -->
0035 <xsl:template name="createImagePage">
0036         <xsl:param name="prevPic"/>
0037         <xsl:param name="nextPic"/>
0038         <html>
0039         <head>
0040                 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
0041                 <title><xsl:value-of select="title"/></title>
0042                 <link rel="stylesheet" type="text/css" href="../dateframes/style.css"/>
0043         </head>
0044         <body id="imagePage">
0045                 <!-- Add Previous/Next Links --> 
0046                 <xsl:if test="string($prevPic)">
0047                         <a href="{$prevPic}.html">
0048                                 <xsl:value-of select="$i18nPrevious"/>
0049                         </a>
0050                 </xsl:if>
0051                 <xsl:if test="string($prevPic) and string($nextPic)">
0052                         |
0053                 </xsl:if>
0054                 <xsl:if test="string($nextPic)">
0055                         <a href="{$nextPic}.html"> 
0056                                 <xsl:value-of select="$i18nNext"/>
0057                         </a>
0058                 </xsl:if>
0059                 <br/>
0060                 
0061                 <!-- Draw the picture --> 
0062                 <img src="{full/@fileName}" width="{full/@width}" height="{full/@height}" />
0063                 <br/>
0064 
0065                 <!-- Add Previous/Next Links --> 
0066                 <xsl:if test="string($prevPic)">
0067                         <a href="{$prevPic}.html">
0068                                 <xsl:value-of select="$i18nPrevious"/>
0069                         </a>
0070                 </xsl:if>
0071                 <xsl:if test="string($prevPic) and string($nextPic)">
0072                         |
0073                 </xsl:if>
0074                 <xsl:if test="string($nextPic)">
0075                         <a href="{$nextPic}.html"> 
0076                                 <xsl:value-of select="$i18nNext"/>
0077                         </a>
0078                 </xsl:if>
0079                 <br/>
0080 
0081 
0082                 <!-- Add Original File Link, if present --> 
0083                 <xsl:if test="original/@fileName != ''">
0084                         <p>
0085                         <a href="{original/@fileName}"><xsl:value-of select="$i18nOriginalImage"/></a>
0086                         (<xsl:value-of select="original/@width"/>x<xsl:value-of select="original/@height"/>)
0087                         </p>
0088                 </xsl:if>
0089 
0090                 <!-- Add Caption and Date-->
0091                 <div id="caption">
0092                         <xsl:value-of select="description"/> 
0093                         <br/>
0094                         <xsl:call-template name="dt:format-date-time">
0095                                 <xsl:with-param name="xsd-date-time" select="date"/>
0096                                 <xsl:with-param name="format" select="$longformat"/>
0097                         </xsl:call-template>
0098                         <br/>
0099                 </div>
0100         </body>
0101         </html>
0102 </xsl:template>
0103 
0104 <!-- ********************************************************************* -->
0105 <!-- ** Create thumbnail page for each collection                       ** -->
0106 <!-- ********************************************************************* -->
0107 <xsl:template name="createThumbnailPage">
0108         <html>
0109         <head>
0110                 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
0111                 <title><xsl:value-of select="name"/></title>
0112                 <link rel="stylesheet" type="text/css" href="dateframes/style.css"/>
0113         </head>
0114                 <h1>
0115                 <span>
0116                         <xsl:value-of select="name"/>
0117                 </span>
0118                 </h1>
0119 
0120         <body id="collectionPage">
0121         <div id="comment">
0122                 <xsl:value-of select="comment"/><br/>
0123         </div>
0124         <ul>
0125                         <xsl:variable name="folder" select='fileName'/>
0126                         <xsl:for-each select="image">
0127                                 <xsl:variable name="cur" select="position()"/>
0128                                 <li>
0129                                         <a href="{$folder}/{full/@fileName}.html" target="image">
0130                                                 <img src="{$folder}/{thumbnail/@fileName}" width="{thumbnail/@width}" height="{thumbnail/@height}"/>
0131                                         </a><br/>
0132                                         <xsl:call-template name="dt:format-date-time">
0133                                                 <xsl:with-param name="xsd-date-time" select="date"/>
0134                                                 <xsl:with-param name="format" select="$shortformat"/>
0135                                         </xsl:call-template>
0136                                         <br/>
0137                                 </li>
0138                                 <exsl:document href='{$folder}/{full/@fileName}.html'>
0139                                         <xsl:call-template name="createImagePage">
0140                                                 <xsl:with-param name="prevPic" select="preceding-sibling::*[1]/full/@fileName"/>
0141                                                 <xsl:with-param name="nextPic" select="following-sibling::*[1]/full/@fileName"/>
0142                                         </xsl:call-template>
0143                                 </exsl:document>
0144                         </xsl:for-each>
0145         </ul>
0146         </body>
0147         </html>
0148 </xsl:template>
0149 
0150 
0151 <!-- ********************************************************************* -->
0152 <!-- ** Create the collection index page when more than one collection  ** -->
0153 <!-- ********************************************************************* -->
0154 <xsl:template name="createCollectionIndexPage">
0155         <html>
0156         <head>
0157                 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
0158                 <title><xsl:value-of select="$i18nCollectionList"/></title>
0159                 <link rel="stylesheet" type="text/css" href="dateframes/style.css"/>
0160         </head>
0161         <body id="collectPage">
0162                         <xsl:for-each select="collections/collection">
0163                                         <xsl:sort select="name" order="ascending" data-type="text" />
0164                                         &blank;
0165                                         <a href="Thmbs{fileName}.html" target="mythmbs">
0166                                                 <xsl:value-of select="name"/>
0167 
0168                                         </a>
0169                                         <xsl:for-each select="image">
0170                                                 <xsl:choose>
0171                                                         <xsl:when test="position()=last()">
0172                                                                 (<xsl:value-of select="position()"/>)
0173                                                         </xsl:when>
0174                                                 </xsl:choose>
0175                                         </xsl:for-each>
0176                                         <exsl:document href="Thmbs{fileName}.html">
0177                                                 <xsl:call-template name="createThumbnailPage"/>
0178                                         </exsl:document>
0179                                 
0180                         </xsl:for-each>
0181         </body>
0182         </html>
0183         
0184 </xsl:template>
0185 
0186 <!-- ********************************************************************* -->
0187 <!-- ** Create the frameset page                                        ** -->
0188 <!-- ********************************************************************* -->
0189 <xsl:template name="createCollectionFrameSetPage">
0190 <!-- ** create variable tsize for the width of the thumbnails frame            ** -->
0191 <!-- ** add 10 pixel to tsize for the border around the thumbnail              ** -->
0192         <xsl:variable name="tsize" select="3*(collections/collection[1]/image[1]/thumbnail/@width + 18) + 65"/>
0193         <html>
0194         <head>
0195                 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
0196 
0197                 <title>
0198                 <xsl:value-of select="name"/>
0199                 </title>
0200                 <link rel="stylesheet" type="text/css" href="dateframes/style.css"/>
0201         </head>
0202         <frameset rows="40,*" noresize="1" border="0">
0203                 <frame src="collect.html" name="collection"/>
0204                 <frameset cols="{$tsize},*" noresize="1" border="0">
0205                         <frame src="blank.html" name="mythmbs"/>
0206                         <frame src="intro.html" name="image"/>
0207                 </frameset>
0208         </frameset>
0209         </html>
0210         <exsl:document href="collect.html">
0211                 <xsl:call-template name="createCollectionIndexPage"/>
0212         </exsl:document>
0213 </xsl:template>
0214 
0215 <!-- ********************************************************************* -->
0216 <!-- ** Create a blank page                                             ** -->
0217 <!-- ** as a starting page when more than one collection is used        ** -->
0218 <!-- ********************************************************************* -->
0219 <xsl:template name="createBlankPage">
0220         <html>
0221         <head>
0222                 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
0223 
0224                 <title>
0225                 <xsl:value-of select="name"/>
0226                 </title>
0227                 <link rel="stylesheet" type="text/css" href="dateframes/style.css"/>
0228         </head>
0229         <body id="blankPage">
0230                 <xsl:value-of select="title"/>
0231         </body>
0232 
0233         </html>
0234 </xsl:template>
0235 
0236 <!-- ********************************************************************* -->
0237 <!-- ** Create the intro page                                           ** -->
0238 <!-- ********************************************************************* -->
0239 <xsl:template name="createIntroPage">
0240         <html>
0241         <head>
0242                 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
0243 
0244                 <title>
0245                 <xsl:value-of select="name"/>
0246                 </title>
0247                 <link rel="stylesheet" type="text/css" href="dateframes/style.css"/>
0248         </head>
0249         <body id="intro">
0250                 <xsl:value-of select="$intro"/>
0251         </body>
0252 
0253         </html>
0254 </xsl:template>
0255 
0256 
0257 <!-- ********************************************************************* -->
0258 <!-- ** Create css style sheet                                       ** -->
0259 <!-- ********************************************************************* -->
0260 <xsl:template name="createStyleSheet">
0261 body {
0262         background-color: <xsl:value-of select="$color1"/>; /*background behind thumbnails, outside boxes*/
0263         color: <xsl:value-of select="$color2"/>; /*default text color*/
0264         font-size: 14pt;
0265         text-align: center;
0266         font-family: Bitstream Vera Serif, serif;
0267         margin: 0in;
0268         padding: 0in;
0269 }
0270 
0271 a { /*links (album titles)*/
0272         color: #FFFFFF; 
0273         text-decoration: none;
0274 }
0275 
0276 a:hover { /*links when mouse is over them (album titles)*/
0277         color: #5555FF;
0278         text-decoration: underline;
0279 }
0280 
0281 h1 { /*album title above thumbnails*/
0282         padding-top: 0.1em;
0283         color: <xsl:value-of select="$color2"/>; 
0284         font-size: 14pt;
0285         text-align: center;
0286 }
0287 
0288 /* Collection page */
0289 #collectionPage {
0290         background-color: <xsl:value-of select="$color1"/>;
0291         color: <xsl:value-of select="$color2"/>; 
0292         padding-left: 2%;
0293         text-align: center;
0294         width: 95%;
0295 }
0296 
0297 #comment {
0298         width: 95%;
0299         text-align: center;
0300 }
0301 
0302 #collectionPage h1 {
0303         margin-top: 12px;
0304 } 
0305 
0306 #collectionPage ul { /*affects list of thumbnails*/
0307         padding: 0;
0308 }
0309 
0310 #collectionPage li { /*affects stuff in boxes with thumbnails*/
0311         display: block;
0312         float: left;
0313         margin-left: 6px;
0314         margin-top: 6px;
0315         padding: 5px;
0316         color: <xsl:value-of select="$color1"/>;
0317         font-size: 8pt;
0318         background-color: <xsl:value-of select="$color2"/>;
0319         border: 1px solid #000000;
0320 }
0321 
0322 /* Blank Page */
0323 #blankPage {
0324         background-color: <xsl:value-of select="$color1"/>;
0325 }
0326 
0327 #intro {
0328         padding: 10%;
0329         background-color: <xsl:value-of select="$color2"/>;
0330         color: <xsl:value-of select="$color1"/>;
0331         font-size: 16pt;
0332         text-align: center;
0333 }
0334 
0335 /*  Collect Page */
0336 #collectPage { /*album titles at top*/
0337         background-color: <xsl:value-of select="$color3"/>;
0338         font-size: 12pt;
0339         padding-top: 0.5em;
0340         margin: 0 auto;
0341         width: 95%;
0342         color: #AAAAAA; /*number of pics in collection*/
0343         text-align: center;
0344 }
0345 
0346 
0347 /* Image page */
0348 #imagePage {
0349         padding:.5em;
0350         background-color:<xsl:value-of select="$color2"/>; /*background color behind the big image*/
0351         text-align: center;
0352         color: <xsl:value-of select="$color1"/>; 
0353 }
0354 
0355 
0356 #caption { /*caption below photo*/
0357         padding-bottom:1em;
0358         padding-top:1em;
0359         color: <xsl:value-of select="$color1"/>;
0360         font-size: 16pt;
0361 }
0362 
0363 #imagePage img {
0364         border: 1px solid #CECECE; /*border around picture*/
0365 }
0366 
0367 #imagePage a { /*links*/
0368         color: <xsl:value-of select="$color1"/>; 
0369         text-decoration: none;
0370 }
0371 
0372 #imagePage a:hover { /*links when mouse is over them*/
0373         color: <xsl:value-of select="$color1"/>;
0374         text-decoration: underline;
0375 }
0376 
0377         
0378 </xsl:template>
0379 
0380 <!-- ********************************************************************* -->
0381 <!-- ** the beginning of all                                            ** -->
0382 <!-- ********************************************************************* -->
0383 <xsl:template match="/">
0384         <xsl:call-template name="createCollectionFrameSetPage"/>
0385         <exsl:document href="blank.html">
0386                 <xsl:call-template name="createBlankPage"/>
0387         </exsl:document>
0388         <exsl:document href="intro.html">
0389                 <xsl:call-template name="createIntroPage"/>
0390         </exsl:document>
0391         <exsl:document href="dateframes/style.css">
0392                 <xsl:call-template name="createStyleSheet"/>
0393         </exsl:document>
0394 </xsl:template>
0395 
0396 </xsl:transform>