#1030: fixes for separators and empty verses in html, epub, pdf
[librarian.git] / librarian / xslt / book2html.xslt
old mode 100644 (file)
new mode 100755 (executable)
index 369b542..752eade
@@ -1,9 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+   This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
+   Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+  
+-->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:wl="http://wolnelektury.pl/functions" >
 
 <xsl:output encoding="utf-8" indent="yes" omit-xml-declaration = "yes" version="2.0" />
-
-
 <xsl:template match="utwor">
     <!-- <html>
         <head>
@@ -49,6 +54,7 @@
                 background: #333;
                 color: #FFF;
                 opacity: 0.9;
+                z-index: 99;
             }
 
             #menu ul {
 
             #menu li a:hover, #menu li a:active {
                 color: #000;
-                background: #FFF url(/media/img/arrow-down.png) no-repeat center right;
+                background: #FFF url(/static/img/arrow-down.png) no-repeat center right;
             }
 
             #menu li a.selected {
                 color: #000;
-                background: #FFF url(/media/img/arrow-up.png) no-repeat center right;
+                background: #FFF url(/static/img/arrow-up.png) no-repeat center right;
             }
+            #menu a.menu-link {
+                display: block;
+                float: left;
+                height: 1.5em;
+                margin-left: 0.5em;
+                text-align: center;
+                color: #FFF;
+            }
+            #menu span {
+                color: #888;
+                font-style: italic;
+                font-size: .75em;
+                margin-right: 0.5em;
+            }
+
 
-            #toc, #themes {
+            #toc, #themes, #nota_red {
                 position: fixed;
                 left: 0em;
                 top: 1.5em;
                 overflow-x: hidden;
                 overflow-y: auto;
                 opacity: 0.9;
+                z-index: 99;
             }
 
             #toc ol, #themes ol {
                 color: #777;
                 padding: 0 0.5em;
                 width: 7.5em;
+
                 font-style: normal;
                 font-weight: normal;
+                font-variant: normal;
+                letter-spacing: 0;
+                text-transform: none;
+                text-decoration: none;
+
                 font-size: 16px;
                 float: right;
                 margin-right: -9.5em;
+                margin-bottom: 0.5em;
                 clear: both;
                 left: 40em;
                 line-height: 1.5em;
                 font-style: normal;
                 font-weight: normal;
                 font-size: 12px;
+                padding-left: 2px;
+                position: relative;
+                top: -4px;
             }
 
             #footnotes .annotation {
             /* ============= */
             /* = Numbering = */
             /* ============= */
+            .verse, .paragraph {
+                position:relative;
+            }
             .anchor {
                 position: absolute;
                 margin: -0.25em -0.5em;
-                left: 1em;
+                left: -3em;
                 color: #777;
                 font-size: 12px;
                 width: 2em;
                 font-style: normal;
                 font-variant: small-caps;
             }
+
+            .verse:after {
+                content: "\feff";
+            }
+
+
+            /* =================================== */
+            /* = Hide some elements for printing = */
+            /* =================================== */
+
+            @media print {
+                #menu {display: none;}
+            }
         </style>
         <body> -->
         <div id="book-text">
 <!-- = (can contain block tags, paragraph tags, standalone tags and special tags) = -->
 <!-- ============================================================================== -->
 <xsl:template match="powiesc|opowiadanie|liryka_l|liryka_lp|dramat_wierszowany_l|dramat_wierszowany_lp|dramat_wspolczesny">
+    <xsl:apply-templates select="nota_red" mode="special" />
     <xsl:if test="nazwa_utworu">
         <h1>
             <xsl:apply-templates select="autor_utworu|dzielo_nadrzedne|nazwa_utworu|podtytul" mode="header" />
 <!-- ========================================== -->
 <!-- Title page -->
 <xsl:template match="autor_utworu" mode="header">
-    <span class="author editable"><xsl:apply-templates mode="inline" /></span>
+    <span class="author"><xsl:apply-templates mode="inline" /></span>
 </xsl:template>
 
 <xsl:template match="nazwa_utworu" mode="header">
-    <span class="title editable"><xsl:apply-templates mode="inline" /></span>
+    <span class="title"><xsl:apply-templates mode="inline" /></span>
 </xsl:template>
 
 <xsl:template match="dzielo_nadrzedne" mode="header">
 </xsl:template>
 
 <xsl:template match="akap|akap_dialog|akap_cd">
-    <p class="paragraph editable"><xsl:apply-templates mode="inline" /></p>
+    <p class="paragraph"><xsl:apply-templates mode="inline" /></p>
 </xsl:template>
 
 <xsl:template match="strofa">
-    <div class="stanza editable">
+    <div class="stanza">
         <xsl:choose>
             <xsl:when test="count(br) > 0">     
                 <xsl:call-template name="verse">
 <xsl:template match="motyw" mode="inline" />
 
 
+<xsl:template match="nota_red" mode="special">
+    <div id="nota_red">
+        <xsl:apply-templates />
+    </div>
+</xsl:template>
+
+
 <!-- ================ -->
 <!-- = IGNORED TAGS = -->
 <!-- ================ -->
 <xsl:template match="extra|uwaga" />
 <xsl:template match="extra|uwaga" mode="inline" />
 
+<xsl:template match="nota_red" />
 
 <!-- ======== -->
 <!-- = TEXT = -->