Merge from trunk

This commit is contained in:
Sengian 2010-08-10 12:38:59 +02:00
parent 1f576fea11
commit 2eb2024931
10 changed files with 871 additions and 769 deletions

View File

@ -1,102 +1,104 @@
body { background-color: white; }
body {
background-color: white;
}
p.title {
margin-top:0em;
margin-bottom:1em;
text-align:center;
font-style:italic;
font-size:xx-large;
border-bottom: solid black 4px;
}
p.title {
margin-top: 0em;
margin-bottom: 1em;
text-align: center;
font-style: italic;
font-size: xx-large;
border-bottom: solid black 4px;
}
p.author {
margin-top:0em;
margin-bottom:0em;
margin-top: 0em;
margin-bottom: 0em;
text-align: left;
text-indent: 1em;
font-size:large;
}
font-size: large;
}
p.tags {
margin-top:0em;
margin-bottom:0em;
margin-top: 0em;
margin-bottom: 0em;
text-align: left;
text-indent: 1em;
font-size:small;
}
font-size: small;
}
p.description {
text-align:left;
font-style:normal;
text-align: left;
font-style: normal;
margin-top: 0em;
}
}
p.date_index {
font-size:x-large;
text-align:center;
font-weight:bold;
margin-top:1em;
margin-bottom:0px;
}
font-size: x-large;
text-align: center;
font-weight: bold;
margin-top: 1em;
margin-bottom: 0px;
}
p.letter_index {
font-size:x-large;
text-align:center;
font-weight:bold;
margin-top:1em;
margin-bottom:0px;
}
font-size: x-large;
text-align: center;
font-weight: bold;
margin-top: 1em;
margin-bottom: 0px;
}
p.author_index {
font-size:large;
text-align:left;
margin-top:0px;
margin-bottom:0px;
font-size: large;
text-align: left;
margin-top: 0px;
margin-bottom: 0px;
text-indent: 0em;
}
}
p.series {
text-align: left;
margin-top:0px;
margin-bottom:0px;
margin-left:2em;
text-indent:-2em;
}
margin-top: 0px;
margin-bottom: 0px;
margin-left: 2em;
text-indent: -2em;
}
p.read_book {
text-align:left;
margin-top:0px;
margin-bottom:0px;
margin-left:2em;
text-indent:-2em;
}
text-align: left;
margin-top: 0px;
margin-bottom: 0px;
margin-left: 2em;
text-indent: -2em;
}
p.unread_book {
text-align:left;
margin-top:0px;
margin-bottom:0px;
margin-left:2em;
text-indent:-2em;
}
text-align: left;
margin-top: 0px;
margin-bottom: 0px;
margin-left: 2em;
text-indent: -2em;
}
p.date_read {
text-align:left;
margin-top:0px;
margin-bottom:0px;
margin-left:6em;
text-indent:-6em;
}
text-align: left;
margin-top: 0px;
margin-bottom: 0px;
margin-left: 6em;
text-indent: -6em;
}
hr.series_divider {
width:50%;
margin-left:1em;
margin-top:0em;
margin-bottom:0em;
}
width: 50%;
margin-left: 1em;
margin-top: 0em;
margin-bottom: 0em;
}
hr.annotations_divider {
width:50%;
margin-left:1em;
margin-top:0em;
margin-bottom:0em;
}
width: 50%;
margin-left: 1em;
margin-top: 0em;
margin-bottom: 0em;
}

View File

@ -1,142 +1,157 @@
body {
background-color: white;
background-color: white;
}
#banner {
position: absolute;
left: 5px; top: 0px;
position: absolute;
left: 5px;
top: 0px;
}
/*
Search bar
*/
#search_box {
width: 201px;
height: 31px;
background: url(bg_search_box.png);
top: 5px; right: 20px;
position: absolute;
width: 201px;
height: 31px;
background: url(bg_search_box.png);
top: 5px;
right: 20px;
position: absolute;
}
#search_box #s {
float: left;
padding: 0;
margin: 6px 0 0 6px;
border-width: 0px;
font-size: 16px;
width: 159px;
background: transparent;
float: left;
padding: 0;
margin: 6px 0 0 6px;
border-width: 0px;
font-size: 16px;
width: 159px;
background: transparent;
}
#search_box #go {
float: right;
margin: 3px 4px 0 0;
float: right;
margin: 3px 4px 0 0;
}
/*
Count bar
*/
#count_bar {
position: absolute;
right: 30px;
top: 80px;
font-size:smaller;
padding-bottom: 5px;
position: absolute;
right: 30px;
top: 80px;
font-size: smaller;
padding-bottom: 5px;
}
#count_bar * img {
cursor: pointer;
cursor: pointer;
}
#count { cursor: default;}
#count {
cursor: default;
}
/*
Styles for the book list
*/
#main {
width:95%;
overflow: auto;
border: solid thin black;
position: absolute;
top: 115px; left: 10px;
z-index: 1;
width: 95%;
overflow: auto;
border: solid thin black;
position: absolute;
top: 115px;
left: 10px;
z-index: 1;
}
table#book_list thead tr td {
width: 100%;
padding-right: 1em; padding-left: 1em;
text-align: center;
font-weight: bold;
font-size: 130%;
border-bottom: thick solid black;
border-top: thick solid black;
cursor: pointer;
font-family: serif;
padding-top: 0.5ex; padding-bottom: 0.5ex;
width: 100%;
padding-right: 1em;
padding-left: 1em;
text-align: center;
font-weight: bold;
font-size: 130%;
border-bottom: thick solid black;
border-top: thick solid black;
cursor: pointer;
font-family: serif;
padding-top: 0.5ex;
padding-bottom: 0.5ex;
}
table#book_list tbody tr td {
padding-right: 1em; padding-left: 1em;
/*border-bottom: thin solid black;*/
padding-bottom: 0.7ex; padding-top: 0.7ex;
margin: 0pt;
cursor: pointer;
padding-right: 1em;
padding-left: 1em;
/*border-bottom: thin solid black;*/
padding-bottom: 0.7ex;
padding-top: 0.7ex;
margin: 0pt;
cursor: pointer;
}
table#book_list * .sort_indicator {
visibility:hidden;
color: #9f9f9f;
visibility: hidden;
color: #9f9f9f;
}
table#book_list * .rating {
color: #3fbbe4;
color: #3fbbe4;
}
table#book_list * span.subtitle {
font-size: smaller;
font-size: smaller;
}
table#book_list * a.format {
text-decoration: none;
color: blue;
font-family: monospace;
text-decoration: none;
color: blue;
font-family: monospace;
}
table#book_list * a.format:hover {
color: red;
color: red;
}
table#book_list * a.format:visited {
color: blue;
color: blue;
}
table#book_list * .comments {
font-size: smaller;
display: none;
font-size: smaller;
display: none;
}
/*
Loading message
*/
#loading {
top: 10px; left: 10px;
position: absolute;
font-size: 160%; font-family: monospace;
text-align: center;
visibility: hidden;
z-index: 10000;
background-color: #aaaaaa;
opacity: 0.8;
top: 10px;
left: 10px;
position: absolute;
font-size: 160%;
font-family: monospace;
text-align: center;
visibility: hidden;
z-index: 10000;
background-color: #aaaaaa;
opacity: 0.8;
}
#loading div {
top: 50%; position: relative;
top: 50%;
position: relative;
}
#cover_pane {
overflow: auto;
position: absolute;
visibility: hidden;
text-align: right;
z-index: 2;
margin: 0pt; padding: 0pt; border-width: 0pt;
}
overflow: auto;
position: absolute;
visibility: hidden;
text-align: right;
z-index: 2;
margin: 0pt;
padding: 0pt;
border-width: 0pt;
}

View File

@ -1,49 +1,60 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" version="XHTML 1.1" xml:lang="en">
<head>
<title>calibre library</title>
<link rel="stylesheet" type="text/css" href="/static/gui.css" charset="utf-8" />
<script type="text/javascript" src="/static/date.js" charset="utf-8"></script>
<script type="text/javascript" src="/static/jquery.js" charset="utf-8"></script>
<script type="text/javascript" src="/static/gui.js" charset="utf-8"></script>
<link rel="icon" href="http://calibre-ebook.com/favicon.ico" type="image/x-icon" />
</head>
<body>
<div id="banner">
<a style="border: 0pt" href="http://calibre-ebook.com" alt="calibre" title="calibre"><img style="border:0pt" src="/static/calibre_banner.png" alt="calibre" /></a>
</div>
<div id="search_box">
<form name="search_form" onsubmit="search();return false;" action="./" method="get">
<input value="" id="s" type="text" />
<input type="image" src="/static/btn_search_box.png" width="27" height="24" id="go" alt="Search" title="Search" />
</form>
</div>
<div id="count_bar">
<span id="left"><img src="/static/first.png" alt="Show first set of books" title="Show first set of books"/>&nbsp;<img src="/static/previous.png" alt="Show previous set of books" title="Show previous set of books"/>&nbsp;</span><span id="count">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;<span id="right"><img src="/static/next.png" alt="Show next set of books" title="Show next set of books"/>&nbsp;<img src="/static/last.png" alt="Show last set of books" title="Show last set of books" /></span>
</div>
<div id="main">
<table id="book_list" summary="Book list" cellspacing="0" cellpadding="0">
<thead>
<tr></tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div id="loading">
<div>
<img align="top" src="/static/loading.gif" alt="Loading..." title="Loading..."/>&nbsp;<span id="loading_msg">Loading&hellip;</span>
</div>
</div>
<div id="cover_pane">
<img title="Cover" src="" />
</div>
</body>
<html xmlns="http://www.w3.org/1999/xhtml" version="XHTML 1.1"
xml:lang="en">
<head>
<title>calibre library</title>
<link rel="stylesheet" type="text/css" href="/static/gui.css"
charset="utf-8" />
<script type="text/javascript" src="/static/date.js" charset="utf-8"></script>
<script type="text/javascript" src="/static/jquery.js" charset="utf-8"></script>
<script type="text/javascript" src="/static/gui.js" charset="utf-8"></script>
<link rel="icon" href="http://calibre-ebook.com/favicon.ico"
type="image/x-icon" />
</head>
<body>
<div id="banner"><a style="border: 0pt"
href="http://calibre-ebook.com" alt="calibre" title="calibre"><img
style="border: 0pt" src="/static/calibre_banner.png" alt="calibre" /></a>
</div>
<div id="search_box">
<form name="search_form" onsubmit="search();return false;" action="./"
method="get">
<input value="" id="s" type="text" />
<input type="image" src="/static/btn_search_box.png" width="27"
height="24" id="go" alt="Search" title="Search" />
</form>
</div>
<div id="count_bar"><span id="left"><img
src="/static/first.png" alt="Show first set of books"
title="Show first set of books" />&nbsp;<img src="/static/previous.png"
alt="Show previous set of books" title="Show previous set of books" />&nbsp;</span><span
id="count">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;<span
id="right"><img src="/static/next.png"
alt="Show next set of books" title="Show next set of books" />&nbsp;<img
src="/static/last.png" alt="Show last set of books"
title="Show last set of books" /></span></div>
<div id="main">
<table id="book_list" summary="Book list" cellspacing="0"
cellpadding="0">
<thead>
<tr></tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div id="loading">
<div><img align="top" src="/static/loading.gif" alt="Loading..."
title="Loading..." />&nbsp;<span id="loading_msg">Loading&hellip;</span>
</div>
</div>
<div id="cover_pane"><img title="Cover" src="" /></div>
</body>
</html>

View File

@ -1,83 +1,78 @@
/* CSS for the mobile version of the content server webpage */
.navigation table.buttons {
width: 100%;
width: 100%;
}
.navigation .button {
width: 50%;
width: 50%;
}
.button a, .button:visited a {
padding: 0.5em;
font-size: 1.25em;
border: 1px solid black;
text-color: black;
background-color: #ddd;
border-top: 1px solid ThreeDLightShadow;
border-right: 1px solid ButtonShadow;
border-bottom: 1px solid ButtonShadow;
border-left: 1 px solid ThreeDLightShadow;
-moz-border-radius: 0.25em;
-webkit-border-radius: 0.25em;
.button a,.button:visited a {
padding: 0.5em;
font-size: 1.25em;
border: 1px solid black;
text-color: black;
background-color: #ddd;
border-top: 1px solid ThreeDLightShadow;
border-right: 1px solid ButtonShadow;
border-bottom: 1px solid ButtonShadow;
border-left: 1 px solid ThreeDLightShadow;
-moz-border-radius: 0.25em;
-webkit-border-radius: 0.25em;
}
.button:hover a {
border-top: 1px solid #666;
border-right: 1px solid #CCC;
border-bottom: 1 px solid #CCC;
border-left: 1 px solid #666;
border-top: 1px solid #666;
border-right: 1px solid #CCC;
border-bottom: 1 px solid #CCC;
border-left: 1 px solid #666;
}
div.navigation {
padding-bottom: 1em;
clear: both;
padding-bottom: 1em;
clear: both;
}
#search_box {
border: 1px solid #393;
-moz-border-radius: 0.5em;
-webkit-border-radius: 0.5em;
padding: 1em;
margin-bottom: 0.5em;
float: right;
border: 1px solid #393;
-moz-border-radius: 0.5em;
-webkit-border-radius: 0.5em;
padding: 1em;
margin-bottom: 0.5em;
float: right;
}
#listing {
width: 100%;
border-collapse: collapse;
width: 100%;
border-collapse: collapse;
}
#listing td {
padding: 0.25em;
padding: 0.25em;
}
#listing td.thumbnail {
height: 60px;
width: 60px;
height: 60px;
width: 60px;
}
#listing tr:nth-child(even) {
background: #eee;
background: #eee;
}
#listing .button a{
display: inline-block;
width: 2.5em;
padding-left: 0em;
padding-right: 0em;
overflow: hidden;
text-align: center;
#listing .button a {
display: inline-block;
width: 2.5em;
padding-left: 0em;
padding-right: 0em;
overflow: hidden;
text-align: center;
}
#logo {
float: left;
float: left;
}
#spacer {
clear: both;
}
clear: both;
}

View File

@ -34,380 +34,367 @@
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
@
namespace url (http: //www.w3.org /1999/xhtml);
@namespace svg url (http: //www.w3.org /2000/svg);
/* blocks */
@namespace url(http://www.w3.org/1999/xhtml);
@namespace svg url(http://www.w3.org/2000/svg);
/* blocks */
html, div, map, dt, isindex, form {
display: block;
html,div,map,dt,isindex,form {
display: block;
}
body {
display: block;
display: block;
}
p, dl, multicol {
display: block;
margin: 1em 0;
p,dl,multicol {
display: block;
margin: 1em 0;
}
dd {
display: block;
margin-left: 40px;
display: block;
margin-left: 40px;
}
blockquote {
display: block;
margin: 1em;
display: block;
margin: 1em;
}
address {
display: block;
font-style: italic;
display: block;
font-style: italic;
}
center {
display: block;
text-align: center;
display: block;
text-align: center;
}
blockquote[type=cite] {
display: block;
margin: 1em 0em;
border-color: blue;
border-width: thin;
display: block;
margin: 1em 0em;
border-color: blue;
border-width: thin;
}
span[_moz_quote=true] {
color: blue;
color: blue;
}
pre[_moz_quote=true] {
color: blue;
color: blue;
}
h1 {
display: block;
font-size: 2em;
font-weight: bold;
margin: .67em 0;
display: block;
font-size: 2em;
font-weight: bold;
margin: .67em 0;
}
h2 {
display: block;
font-size: 1.5em;
font-weight: bold;
margin: .83em 0;
display: block;
font-size: 1.5em;
font-weight: bold;
margin: .83em 0;
}
h3 {
display: block;
font-size: 1.17em;
font-weight: bold;
margin: 1em 0;
display: block;
font-size: 1.17em;
font-weight: bold;
margin: 1em 0;
}
h4 {
display: block;
font-weight: bold;
margin: 1.33em 0;
display: block;
font-weight: bold;
margin: 1.33em 0;
}
h5 {
display: block;
font-size: 0.83em;
font-weight: bold;
margin: 1.67em 0;
display: block;
font-size: 0.83em;
font-weight: bold;
margin: 1.67em 0;
}
h6 {
display: block;
font-size: 0.67em;
font-weight: bold;
margin: 2.33em 0;
display: block;
font-size: 0.67em;
font-weight: bold;
margin: 2.33em 0;
}
listing {
display: block;
font-family: monospace;
font-size: medium;
white-space: pre;
margin: 1em 0;
display: block;
font-family: monospace;
font-size: medium;
white-space: pre;
margin: 1em 0;
}
xmp, pre, plaintext {
display: block;
font-family: monospace;
white-space: pre;
margin: 1em 0;
xmp,pre,plaintext {
display: block;
font-family: monospace;
white-space: pre;
margin: 1em 0;
}
/* tables */
table {
display: table;
border-spacing: 2px;
border-collapse: separate;
margin-top: 0;
margin-bottom: 0;
text-indent: 0;
display: table;
border-spacing: 2px;
border-collapse: separate;
margin-top: 0;
margin-bottom: 0;
text-indent: 0;
}
table[align="left"] {
float: left;
float: left;
}
table[align="right"] {
float: right;
float: right;
}
table[rules]:not([rules="none"]) {
border-collapse: collapse;
table[rules]:not ([rules="none"] ) {
border-collapse: collapse;
}
/* caption inherits from table not table-outer */
/* caption inherits from table not table-outer */
caption {
display: table-caption;
text-align: center;
display: table-caption;
text-align: center;
}
table[align="center"] > caption {
margin-left: auto;
margin-right: auto;
table[align="center"]>caption {
margin-left: auto;
margin-right: auto;
}
table[align="center"] > caption[align="left"] {
margin-right: 0;
table[align="center"]>caption[align="left"] {
margin-right: 0;
}
table[align="center"] > caption[align="right"] {
margin-left: 0;
table[align="center"]>caption[align="right"] {
margin-left: 0;
}
tr {
display: table-row;
vertical-align: inherit;
display: table-row;
vertical-align: inherit;
}
col {
display: table-column;
display: table-column;
}
colgroup {
display: table-column-group;
display: table-column-group;
}
tbody {
display: table-row-group;
vertical-align: middle;
display: table-row-group;
vertical-align: middle;
}
thead {
display: table-header-group;
vertical-align: middle;
display: table-header-group;
vertical-align: middle;
}
tfoot {
display: table-footer-group;
vertical-align: middle;
display: table-footer-group;
vertical-align: middle;
}
/* for XHTML tables without tbody */
table > tr {
vertical-align: middle;
table>tr {
vertical-align: middle;
}
td {
display: table-cell;
vertical-align: inherit;
text-align: inherit;
padding: 1px;
td {
display: table-cell;
vertical-align: inherit;
text-align: inherit;
padding: 1px;
}
th {
display: table-cell;
vertical-align: inherit;
font-weight: bold;
padding: 1px;
display: table-cell;
vertical-align: inherit;
font-weight: bold;
padding: 1px;
}
/* inlines */
b, strong {
font-weight: bolder;
b,strong {
font-weight: bolder;
}
i, cite, em, var, dfn {
font-style: italic;
i,cite,em,var,dfn {
font-style: italic;
}
tt, code, kbd, samp {
font-family: monospace;
tt,code,kbd,samp {
font-family: monospace;
}
u, ins {
text-decoration: underline;
u,ins {
text-decoration: underline;
}
s, strike, del {
text-decoration: line-through;
s,strike,del {
text-decoration: line-through;
}
blink {
text-decoration: blink;
text-decoration: blink;
}
big {
font-size: larger;
font-size: larger;
}
small {
font-size: smaller;
font-size: smaller;
}
sub {
vertical-align: sub;
font-size: smaller;
line-height: normal;
vertical-align: sub;
font-size: smaller;
line-height: normal;
}
sup {
vertical-align: super;
font-size: smaller;
line-height: normal;
vertical-align: super;
font-size: smaller;
line-height: normal;
}
nobr {
white-space: nowrap;
white-space: nowrap;
}
/* titles */
abbr[title], acronym[title] {
border-bottom: dotted 1px;
abbr[title],acronym[title] {
border-bottom: dotted 1px;
}
/* lists */
ul, menu, dir {
display: block;
list-style-type: disc;
margin: 1em 0;
ul,menu,dir {
display: block;
list-style-type: disc;
margin: 1em 0;
}
ol {
display: block;
list-style-type: decimal;
margin: 1em 0;
display: block;
list-style-type: decimal;
margin: 1em 0;
}
li {
display: list-item;
display: list-item;
}
/* nested lists have no top/bottom margins */
ul ul, ul ol, ul dir, ul menu, ul dl,
ol ul, ol ol, ol dir, ol menu, ol dl,
dir ul, dir ol, dir dir, dir menu, dir dl,
menu ul, menu ol, menu dir, menu menu, menu dl,
dl ul, dl ol, dl dir, dl menu, dl dl {
margin-top: 0;
margin-bottom: 0;
ul ul,ul ol,ul dir,ul menu,ul dl,ol ul,ol ol,ol dir,ol menu,ol dl,dir ul,dir ol,dir dir,dir menu,dir dl,menu ul,menu ol,menu dir,menu menu,menu dl,dl ul,dl ol,dl dir,dl menu,dl dl
{
margin-top: 0;
margin-bottom: 0;
}
/* 2 deep unordered lists use a circle */
ol ul, ul ul, menu ul, dir ul,
ol menu, ul menu, menu menu, dir menu,
ol dir, ul dir, menu dir, dir dir {
list-style-type: circle;
ol ul,ul ul,menu ul,dir ul,ol menu,ul menu,menu menu,dir menu,ol dir,ul dir,menu dir,dir dir
{
list-style-type: circle;
}
/* 3 deep (or more) unordered lists use a square */
ol ol ul, ol ul ul, ol menu ul, ol dir ul,
ol ol menu, ol ul menu, ol menu menu, ol dir menu,
ol ol dir, ol ul dir, ol menu dir, ol dir dir,
ul ol ul, ul ul ul, ul menu ul, ul dir ul,
ul ol menu, ul ul menu, ul menu menu, ul dir menu,
ul ol dir, ul ul dir, ul menu dir, ul dir dir,
menu ol ul, menu ul ul, menu menu ul, menu dir ul,
menu ol menu, menu ul menu, menu menu menu, menu dir menu,
menu ol dir, menu ul dir, menu menu dir, menu dir dir,
dir ol ul, dir ul ul, dir menu ul, dir dir ul,
dir ol menu, dir ul menu, dir menu menu, dir dir menu,
dir ol dir, dir ul dir, dir menu dir, dir dir dir {
list-style-type: square;
ol ol ul,ol ul ul,ol menu ul,ol dir ul,ol ol menu,ol ul menu,ol menu menu,ol dir menu,ol ol dir,ol ul dir,ol menu dir,ol dir dir,ul ol ul,ul ul ul,ul menu ul,ul dir ul,ul ol menu,ul ul menu,ul menu menu,ul dir menu,ul ol dir,ul ul dir,ul menu dir,ul dir dir,menu ol ul,menu ul ul,menu menu ul,menu dir ul,menu ol menu,menu ul menu,menu menu menu,menu dir menu,menu ol dir,menu ul dir,menu menu dir,menu dir dir,dir ol ul,dir ul ul,dir menu ul,dir dir ul,dir ol menu,dir ul menu,dir menu menu,dir dir menu,dir ol dir,dir ul dir,dir menu dir,dir dir dir
{
list-style-type: square;
}
/* leafs */
/* <hr> noshade and color attributes are handled completely by
/* <hr> noshade and color attributes are handled completely by
* the nsHTMLHRElement attribute mapping code
*/
hr {
display: block;
height: 2px;
border: 1px inset;
margin: 0.5em auto 0.5em auto;
color: gray;
display: block;
height: 2px;
border: 1px inset;
margin: 0.5em auto 0.5em auto;
color: gray;
}
hr[size="1"] {
border-style: solid none none none;
border-style: solid none none none;
}
img[usemap], object[usemap] {
color: blue;
img[usemap],object[usemap] {
color: blue;
}
frameset {
display: block ! important;
position: static ! important;
float: none ! important;
border: none ! important;
display: block ! important;
position: static ! important;
float: none ! important;
border: none ! important;
}
frame {
border: none ! important;
border: none ! important;
}
iframe {
border: 2px inset;
border: 2px inset;
}
noframes {
display: none;
display: none;
}
spacer {
position: static ! important;
float: none ! important;
position: static ! important;
float: none ! important;
}
/* hidden elements */
area, base, basefont, head, meta, script, style, title,
noembed, param, link {
display: none;
area,base,basefont,head,meta,script,style,title,noembed,param,link {
display: none;
}
/* Page breaks at body tags, to help out with LIT-generation */
body {
page-break-before: always;
page-break-before: always;
}
/* Explicit line-breaks are blocks, sure... */
br {
display: block;
display: block;
}
/* Images, embedded object, and SVG size defaults */
img, object, svg|svg {
width: auto;
height: auto;
img,object,svg |svg {
width: auto;
height: auto;
}
/* These are needed because ADE renders anchors the same as links */
a {
text-decoration: inherit;
color: inherit;
cursor: inherit
}
a { text-decoration: inherit; color: inherit; cursor: inherit }
a[href] { text-decoration: underline; color: blue; cursor: pointer }
a[href] {
text-decoration: underline;
color: blue;
cursor: pointer
}

View File

@ -1,9 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="AdvancedWelcomeEulaDlgDescriptionPerUser">If you are upgrading from a {app} version older than 0.6.17, please uninstall {app} first. Click Advanced to change installation settings.</String>
<String Id="ProgressTextFileCost">Computing space requirements, this may take upto five minutes...</String>
<String Id="ProgressTextCostInitialize">Computing space requirements, this may take upto five minutes...</String>
<String Id="ProgressTextCostFinalize">Computing space requirements, this may take upto five minutes...</String>
<String Id="WaitForCostingDlgText">Please wait while the installer finishes determining your disk space requirements, this may take upto five minutes...</String>
<WixLocalization Culture="en-us"
xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="AdvancedWelcomeEulaDlgDescriptionPerUser">If you are upgrading from a {app} version older than
0.6.17, please uninstall {app} first. Click Advanced to change
installation settings.</String>
<String Id="ProgressTextFileCost">Computing space requirements, this may take upto five
minutes...</String>
<String Id="ProgressTextCostInitialize">Computing space requirements, this may take upto five
minutes...</String>
<String Id="ProgressTextCostFinalize">Computing space requirements, this may take upto five
minutes...</String>
<String Id="WaitForCostingDlgText">Please wait while the installer finishes determining
your disk space requirements, this may take upto five minutes...</String>
</WixLocalization>

View File

@ -1,164 +1,157 @@
<?xml version='1.0' encoding='utf-8'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Name='{app}' Id='*' UpgradeCode='{upgrade_code}'
Language='1033' Codepage='1252' Version='{version}' Manufacturer='Kovid Goyal'>
<Package Id='*' Keywords='Installer' Description="{app} Installer"
Comments='{app} is a registered trademark of Kovid Goyal' Manufacturer='Kovid Goyal'
InstallerVersion='300' Languages='1033' Compressed='yes'
SummaryCodepage='1252' />
<Product Name='{app}' Id='*' UpgradeCode='{upgrade_code}'
Language='1033' Codepage='1252' Version='{version}' Manufacturer='Kovid Goyal'>
<Media Id="1" Cabinet="{app}.cab" CompressionLevel="{compression}" EmbedCab="yes" />
<Upgrade Id="{upgrade_code}">
<UpgradeVersion Maximum="{version}"
IncludeMaximum="yes"
OnlyDetect="no"
Language="1033"
Property="OLDPRODUCTFOUND"/>
<UpgradeVersion Minimum="{version}"
IncludeMinimum="no"
OnlyDetect="yes"
Language="1033"
Property="NEWPRODUCTFOUND"/>
</Upgrade>
<CustomAction Id="PreventDowngrading" Error="Newer version already installed."/>
<Package Id='*' Keywords='Installer' Description="{app} Installer"
Comments='{app} is a registered trademark of Kovid Goyal'
Manufacturer='Kovid Goyal' InstallerVersion='300' Languages='1033'
Compressed='yes' SummaryCodepage='1252' />
<Directory Id='TARGETDIR' Name='SourceDir'>
<Merge Id="VCRedist" SourceFile="{crt_msm}" DiskId="1" Language="0"/>
<Directory Id='ProgramFilesFolder' Name='PFiles'>
<Directory Id='APPLICATIONFOLDER' Name='{app}' />
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="{app} - E-book Management"/>
</Directory>
<Directory Id="DesktopFolder" Name="Desktop"/>
</Directory>
<Media Id="1" Cabinet="{app}.cab" CompressionLevel="{compression}"
EmbedCab="yes" />
<DirectoryRef Id="APPLICATIONFOLDER">
{app_components}
<Component Id="AddToPath" Guid="*">
<Environment Id='UpdatePath' Name='PATH' Action='set' System='yes' Part='last' Value='[APPLICATIONFOLDER]' />
<RegistryValue Root="HKCU" Key="Software\Microsoft\{app}" Name="system_path_updated" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<Upgrade Id="{upgrade_code}">
<UpgradeVersion Maximum="{version}" IncludeMaximum="yes"
OnlyDetect="no" Language="1033" Property="OLDPRODUCTFOUND" />
<UpgradeVersion Minimum="{version}" IncludeMinimum="no"
OnlyDetect="yes" Language="1033" Property="NEWPRODUCTFOUND" />
</Upgrade>
<CustomAction Id="PreventDowngrading" Error="Newer version already installed." />
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="StartMenuShortcuts" Guid="*">
<Shortcut Id="s1" Name="{app} - E-book management"
Description="Manage your e-book collection and download news"
Target="[#{exe_map[calibre]}]"
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<Shortcut Id="s2" Name="E-book viewer"
Description="Viewer for all the major e-book formats"
Target="[#{exe_map[ebook-viewer]}]"
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<Shortcut Id="s3" Name="LRF viewer"
Description="Viewer for LRF format e-books"
Target="[#{exe_map[lrfviewer]}]"
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<util:InternetShortcut Id="OnlineDocumentationShortcut"
Name="User Manual" Type="url"
Target="http://calibre-ebook.com/user_manual"/>
<util:InternetShortcut Id="GetInvolvedS"
Name="Get Involved" Type="url"
Target="http://calibre-ebook.com/get-involved"/>
<Directory Id='TARGETDIR' Name='SourceDir'>
<Merge Id="VCRedist" SourceFile="{crt_msm}" DiskId="1"
Language="0" />
<Directory Id='ProgramFilesFolder' Name='PFiles'>
<Directory Id='APPLICATIONFOLDER' Name='{app}' />
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="{app} - E-book Management" />
</Directory>
<Directory Id="DesktopFolder" Name="Desktop" />
</Directory>
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\Microsoft\{app}" Name="start_menu_shortcuts_installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<DirectoryRef Id="APPLICATIONFOLDER">
{app_components}
<Component Id="AddToPath" Guid="*">
<Environment Id='UpdatePath' Name='PATH' Action='set'
System='yes' Part='last' Value='[APPLICATIONFOLDER]' />
<RegistryValue Root="HKCU" Key="Software\Microsoft\{app}"
Name="system_path_updated" Type="integer" Value="1" KeyPath="yes" />
</Component>
</DirectoryRef>
<DirectoryRef Id="DesktopFolder">
<Component Id="DesktopShortcut" Guid="*">
<Shortcut Id="ds1" Name="{app} - E-book management"
Description="Manage your e-book collection and download news"
Target="[#{exe_map[calibre]}]"
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<RegistryValue Root="HKCU" Key="Software\Microsoft\{app}" Name="desktop_shortcut_installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="StartMenuShortcuts" Guid="*">
<Shortcut Id="s1" Name="{app} - E-book management"
Description="Manage your e-book collection and download news"
Target="[#{exe_map[calibre]}]" WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<Shortcut Id="s2" Name="E-book viewer"
Description="Viewer for all the major e-book formats" Target="[#{exe_map[ebook-viewer]}]"
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<Shortcut Id="s3" Name="LRF viewer" Description="Viewer for LRF format e-books"
Target="[#{exe_map[lrfviewer]}]" WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<util:InternetShortcut Id="OnlineDocumentationShortcut"
Name="User Manual" Type="url" Target="http://calibre-ebook.com/user_manual" />
<util:InternetShortcut Id="GetInvolvedS" Name="Get Involved"
Type="url" Target="http://calibre-ebook.com/get-involved" />
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\Microsoft\{app}"
Name="start_menu_shortcuts_installed" Type="integer" Value="1"
KeyPath="yes" />
</Component>
</DirectoryRef>
<DirectoryRef Id="DesktopFolder">
<Component Id="DesktopShortcut" Guid="*">
<Shortcut Id="ds1" Name="{app} - E-book management"
Description="Manage your e-book collection and download news"
Target="[#{exe_map[calibre]}]" WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<RegistryValue Root="HKCU" Key="Software\Microsoft\{app}"
Name="desktop_shortcut_installed" Type="integer" Value="1" KeyPath="yes" />
</Component>
</DirectoryRef>
<Feature Id="Complete" Title="{app}" Display="expand" Level="1"
ConfigurableDirectory="APPLICATIONFOLDER">
<Feature Id="MainApplication" Title="Program Files" Level="1"
Description="All the files need to run {app}" Absent="disallow">
</Feature>
<Feature Id="Complete" Title="{app}" Display="expand" Level="1"
ConfigurableDirectory="APPLICATIONFOLDER">
<Feature Id="VCRedist" Title="Visual C++ 8.0 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
<MergeRef Id="VCRedist"/>
</Feature>
<Feature Id="MainApplication" Title="Program Files" Level="1"
Description="All the files need to run {app}" Absent="disallow">
</Feature>
<Feature Id="FSMS" Title="Start menu shortcuts" Level="1"
Description="Program shortcuts installed in the Start Menu">
<ComponentRef Id="StartMenuShortcuts"/>
</Feature>
<Feature Id="VCRedist" Title="Visual C++ 8.0 Runtime"
AllowAdvertise="no" Display="hidden" Level="1">
<MergeRef Id="VCRedist" />
</Feature>
<Feature Id="DS" Title="Shortcut on desktop" Level="1"
Description="Shortcut to {app} on your desktop">
<ComponentRef Id="DesktopShortcut"/>
</Feature>
<Feature Id="FSMS" Title="Start menu shortcuts" Level="1"
Description="Program shortcuts installed in the Start Menu">
<ComponentRef Id="StartMenuShortcuts" />
</Feature>
<Feature Id="FAddToPath" Title="Add install directory to path" Level="1"
Description="Add installation directory to PATH. Makes using command line tools easier">
<ComponentRef Id="AddToPath"/>
</Feature>
</Feature>
<Feature Id="DS" Title="Shortcut on desktop" Level="1"
Description="Shortcut to {app} on your desktop">
<ComponentRef Id="DesktopShortcut" />
</Feature>
<!-- Add icon to entry in Add/Remove programs -->
<Icon Id="main_icon" SourceFile="{main_icon}"/>
<Property Id="ARPPRODUCTICON" Value="main_icon" />
<Feature Id="FAddToPath" Title="Add install directory to path"
Level="1"
Description="Add installation directory to PATH. Makes using command line tools easier">
<ComponentRef Id="AddToPath" />
</Feature>
</Feature>
<Condition
Message="This application is only supported on Windows XP SP2, or higher.">
<!-- Add icon to entry in Add/Remove programs -->
<Icon Id="main_icon" SourceFile="{main_icon}" />
<Property Id="ARPPRODUCTICON" Value="main_icon" />
<Condition
Message="This application is only supported on Windows XP SP2, or higher.">
<![CDATA[Installed OR (VersionNT >= 501)]]>
</Condition>
<InstallExecuteSequence>
<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
<RemoveExistingProducts After="InstallFinalize" />
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
</InstallUISequence>
</Condition>
<InstallExecuteSequence>
<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
<RemoveExistingProducts After="InstallFinalize" />
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
</InstallUISequence>
<UI>
<UIRef Id="WixUI_Advanced" />
<Publish Dialog="ExitDialog"
Control="Finish"
Event="DoAction"
Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
<UI>
<UIRef Id="WixUI_Advanced" />
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction"
Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
</UI>
</UI>
<!--
Set default folder name and allow only per machine installs.
For a per-machine installation, the default installation location
will be [ProgramFilesFolder][ApplicationFolderName] and the user
will be able to change it in the setup UI. This is because the installer
has to install the VC90 merge module into the system winsxs folder for python
to work, so per user installs are impossible anyway.
-->
<Property Id="ApplicationFolderName" Value="Calibre2" />
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
<WixVariable Id="WixUISupportPerUser" Value="0" />
<!--
Set default folder name and allow only per machine installs. For a
per-machine installation, the default installation location will be
[ProgramFilesFolder][ApplicationFolderName] and the user will be able
to change it in the setup UI. This is because the installer has to
install the VC90 merge module into the system winsxs folder for
python to work, so per user installs are impossible anyway.
-->
<Property Id="ApplicationFolderName" Value="Calibre2" />
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
<WixVariable Id="WixUISupportPerUser" Value="0" />
<!-- Add option to launch calibre after install -->
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch {app}" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1"/>
<Property Id="WixShellExecTarget" Value="[#{exe_map[calibre]}]" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA"
DllEntry="WixShellExec" Impersonate="yes"/>
<!-- Add option to launch calibre after install -->
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch {app}" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
<Property Id="WixShellExecTarget" Value="[#{exe_map[calibre]}]" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA"
DllEntry="WixShellExec" Impersonate="yes" />
<InstallUISequence>
<FileCost Suppress="yes" />
</InstallUISequence>
<InstallUISequence>
<FileCost Suppress="yes" />
</InstallUISequence>
</Product>
</Product>
</Wix>

View File

@ -1,187 +1,279 @@
<html>
<head>
<style type='text/css'>
.toc { page-break-after: always; text-indent: 0em; }
.tocpn {text-align: right; }
.tocchr {text-align: right;}
.hanging_indent { padding-left:4em; text-indent:-4em }
.drop { text-indent: 0pt}
.drop:first-letter { font-size:xx-large}
.toc {
page-break-after: always;
text-indent: 0em;
}
.tocpn {
text-align: right;
}
.tocchr {
text-align: right;
}
.hanging_indent {
padding-left: 4em;
text-indent: -4em
}
.drop {
text-indent: 0pt
}
.drop:first-letter {
font-size: xx-large
}
</style>
</head>
<h1>Demo of <span style='font-family:monospace'>html2lrf</span></h1>
<p>
This document contains a demonstration of the capabilities of <span style='font-family:monospace'>html2lrf</span>, the HTML to LRF converter from <em>calibre.</em> To obtain calibre visit<br/><span style='font:sans-serif'>http://calibre-ebook.com</span>
</p>
<br/>
<h2 id="toc">Table of Contents</h2>
<ul style='page-break-after:always'>
<li><a href='#lists'>Lists</a></li>
<li><a href='#tables'>Tables</a></li>
<li><a href='#text'>Text formatting and ruled lines</a></li>
<li><a href='#images'>Inline images</a></li>
<li><a href='#fonts'>Embedded Fonts</a></li>
<li><a href='#dropcaps'>Paragraph Emphasis</a></li>
<li><a href='#recursive'>Recursive link following</a></li>
</ul>
<h1>Demo of <span style='font-family: monospace'>html2lrf</span></h1>
<p>This document contains a demonstration of the capabilities of <span
style='font-family: monospace'>html2lrf</span>, the HTML to LRF
converter from <em>calibre.</em> To obtain calibre visit<br />
<span style='font: sans-serif'>http://calibre-ebook.com</span></p>
<br />
<h2 id="toc">Table of Contents</h2>
<ul style='page-break-after: always'>
<li><a href='#lists'>Lists</a></li>
<li><a href='#tables'>Tables</a></li>
<li><a href='#text'>Text formatting and ruled lines</a></li>
<li><a href='#images'>Inline images</a></li>
<li><a href='#fonts'>Embedded Fonts</a></li>
<li><a href='#dropcaps'>Paragraph Emphasis</a></li>
<li><a href='#recursive'>Recursive link following</a></li>
</ul>
<h2 id="lists">Lists</h2>
<h3>Nested lists</h3>
<ol>
<li>Item 1</li>
<ul>
<li>Sub item 1</li>
<li>Sub item 2</li>
<ol>
<li>Sub sub item 1. This is a multiline item with <i>almost</i> correct blocking.</li>
<li>Sub sub item 2</li>
</ol>
</ul>
<li>Item 2</li>
</ol>
<p></p>
<h3>Definition Lists</h3>
<dl>
<dt>Term 1</dt>
<dd>Definition of Term 1. A multi line definition showing correct blocking.</dd>
<dt>Term 2</dt>
<dd>Definition of Term 2</dd>
</dl>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a>
</p>
<h2 id="lists">Lists</h2>
<h2><a name='tables'>Tables</a></h2>
<table>
<tr><td colspan=4><h3 style="text-align:center">A matrix</h3></td></tr>
<tr><td></td><td style="text-align:center"><b>Column 1</b></td><td style="text-align:center"><b>Column 2</b></td><td style="text-align:center"><b>Column 3</b></td></tr>
<tr><td><b>Row 1</b></td><td><p style="text-align:center">(1, 1)</p></tr>
<tr><td><b>Row 2</b></td><td></td><td style="text-align:center"><p>(2, 2)</p></td><td></td></tr>
<tr><td><b>Row 3</b></td><td></td><td></td><td><p style="text-align:center">(3, 3)</p></td></tr>
</table>
<br/>
<p>
html2lrf supports both rowspan and colspan, but no other HTML table attributes, as it uses its own algorithm to determine optimal placement of cells.
</p>
<p>
Note that if you have custom fonts on your reader, the table may not be properly aligned. Also html2lrf does not support nested tables.
</p>
<p style="page-break-after:always">
On the next page you'll see a real life example taken from a Project Gutenberg text with no modifications. It shows off html2lrf's handling of rowspan and colspan.
</p>
<h3 align="center">Sample Complex Table of Contents</h3>
<table summary="TOC">
<tr><td colspan="3">&nbsp;</td><td align="right">PAGE</td></tr>
<tr><td class="tocch" colspan="3">Preface</td><td class="tocpn">v</td></tr>
<tr><td class="tocch" colspan="3">List of Works of Reference</td><td class="tocpn">vii</td></tr>
<tr><td class="tocch" colspan="3">List of Illustrations</td><td class="tocpn">xi</td></tr>
<tr><td class="tocch">Chapter</td><td class="tocchr">I.</td><td class="tocch">History of the Foundation</td><td class="tocpn">3</td></tr>
<tr><td class="tocchr" colspan="2">II.</td><td class="tocch">Exterior of the Church</td><td class="tocpn">25</td></tr>
<tr><td class="tocchr" colspan="2">III.</td><td class="tocch">Interior of the Church</td><td class="tocpn">33</td></tr>
<tr><td class="tocchr" colspan="2">IV.</td><td class="tocch">St. Bartholomew-the-Less and the Hospital</td><td class="tocpn">63</td></tr>
<tr><td class="tocch">Appendix</td><td class="tocchr">I.</td><td class="tocch">The Priory Seals</td><td class="tocpn">73</td></tr>
<tr><td class="tocchr" colspan="2">II.</td><td class="tocch">The Priors and Rectors</td><td class="tocpn">77</td></tr>
<tr><td class="tocchr" colspan="2">III.</td><td class="tocch">Inventory of Vestments, etc.</td><td class="tocpn">79</td></tr>
<tr><td class="tocchr" colspan="2">IV.</td><td class="tocch">The Organ</td><td class="tocpn">80</td></tr>
<tr><td class="tocch" colspan="3">Index</td><td class="tocpn">83</td></tr>
</table>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a>
</p>
<h2><a name='text'>Text formatting</a></h2>
<p>
A simple <i>paragraph</i> of <b>formatted
<i>text</i></b>, with a <u>ruled line</u> following it.
Super<sup>scripts</sup> and Sub<sub>scripts</sub>.
</p>
<hr/>
<br/>
<p> A
<span style='font-style:italic'>similar</span>
paragraph, but now <span style="text-decoration:overline">using</span>
<span style='font-weight:bold'><i>CSS</i></span>
to perform the text formatting.</p>
<hr/>
<center>A centered phrase</center>
<span style='text-align:right'>A right aligned phrase</span>
A normal phrase
<hr />
<p> A paragraph containing a <em>&lt;blockquote&gt;</em>
<blockquote>This is blockquoted text. It is rendered in a separate block with margins.</blockquote>The above text should be distinct from the rest of the paragraph.
</p>
<hr/>
<p style='text-indent:10em'>A very indented paragraph</p>
<p style='text-indent:0em'>An unindented paragraph</p>
<p>A default indented paragraph</p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a>
</p>
<h2><a name='images'>Inline images</a></h2>
<p>
Here I demonstrate the use of inline images in the midst of text. Here is a small image <img src='small.jpg' /> embedded in a sentence. Now we have a slightly larger image that is automatically put in its own block <img style="text-align:center" src='medium.jpg' /> and finally we have a large image which is put on a page by itself. Try changing sizes from S to M to L and see how the images behave. <img align='center' src='large.jpg' />
</p>
<h3>Nested lists</h3>
<ol>
<li>Item 1</li>
<ul>
<li>Sub item 1</li>
<li>Sub item 2</li>
<ol>
<li>Sub sub item 1. This is a multiline item with <i>almost</i>
correct blocking.</li>
<li>Sub sub item 2</li>
</ol>
</ul>
<li>Item 2</li>
</ol>
<p></p>
<h3>Definition Lists</h3>
<dl>
<dt>Term 1</dt>
<dd>Definition of Term 1. A multi line definition showing correct
blocking.</dd>
<dt>Term 2</dt>
<dd>Definition of Term 2</dd>
</dl>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a>
</p>
<hr />
<a href='#toc'>Table of Contents</a></p>
<h2><a name='fonts'>Embedded fonts</a></h2>
<p>This LRF file has been prepared by embedding Times New Roman and Andale Mono
as the default serif and monospace fonts. This allows it to correctly display
non English characters such as: </p>
<ul>
<li>mouse in German: mūs</li>
<li>mouse in Russian: мышь</li>
</ul>
<p>
Note that embedding fonts in LRF files slows down page turns slightly.
<br />
</p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a>
</p>
<h2><a name='dropcaps'>Paragraph Emphasis</a></h2>
<br/>
<p><img class='libprs500_dropcaps' src='a.png' /> beautiful image based dropcaps to emphasize this
paragraph. Image based dropcaps are specified by adding the <code>class = 'libprs500_dropcaps'</code>
attribute to an <code>&lt;img&gt;</code> tag.<p/>
<br/>
<p class="drop">This is a plain text based dropcaps. It
is not nearly as dramatic, but easier to code ;-)
</p>
<br/>
<p><span style="font-variant: small-caps">This is an Example</span> of small-caps.
It can also be used to highlight the start of a paragraph very effectively.
</p>
<br/>
<p class='hanging_indent'>A paragraph with a hanging indent. This is especially
useful for highly structured text like verse, or dialogue.<br/></p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a>
</p>
<h2><a name='tables'>Tables</a></h2>
<table>
<tr>
<td colspan=4>
<h3 style="text-align: center">A matrix</h3>
</td>
</tr>
<tr>
<td></td>
<td style="text-align: center"><b>Column 1</b></td>
<td style="text-align: center"><b>Column 2</b></td>
<td style="text-align: center"><b>Column 3</b></td>
</tr>
<tr>
<td><b>Row 1</b></td>
<td>
<p style="text-align: center">(1, 1)</p>
</tr>
<tr>
<td><b>Row 2</b></td>
<td></td>
<td style="text-align: center">
<p>(2, 2)</p>
</td>
<td></td>
</tr>
<tr>
<td><b>Row 3</b></td>
<td></td>
<td></td>
<td>
<p style="text-align: center">(3, 3)</p>
</td>
</tr>
</table>
<br />
<p>html2lrf supports both rowspan and colspan, but no other HTML
table attributes, as it uses its own algorithm to determine optimal
placement of cells.</p>
<p>Note that if you have custom fonts on your reader, the table may
not be properly aligned. Also html2lrf does not support nested tables.</p>
<p style="page-break-after: always">On the next page you'll see a
real life example taken from a Project Gutenberg text with no
modifications. It shows off html2lrf's handling of rowspan and colspan.
</p>
<h3 align="center">Sample Complex Table of Contents</h3>
<table summary="TOC">
<tr>
<td colspan="3">&nbsp;</td>
<td align="right">PAGE</td>
</tr>
<tr>
<td class="tocch" colspan="3">Preface</td>
<td class="tocpn">v</td>
</tr>
<tr>
<td class="tocch" colspan="3">List of Works of Reference</td>
<td class="tocpn">vii</td>
</tr>
<tr>
<td class="tocch" colspan="3">List of Illustrations</td>
<td class="tocpn">xi</td>
</tr>
<tr>
<td class="tocch">Chapter</td>
<td class="tocchr">I.</td>
<td class="tocch">History of the Foundation</td>
<td class="tocpn">3</td>
</tr>
<tr>
<td class="tocchr" colspan="2">II.</td>
<td class="tocch">Exterior of the Church</td>
<td class="tocpn">25</td>
</tr>
<tr>
<td class="tocchr" colspan="2">III.</td>
<td class="tocch">Interior of the Church</td>
<td class="tocpn">33</td>
</tr>
<tr>
<td class="tocchr" colspan="2">IV.</td>
<td class="tocch">St. Bartholomew-the-Less and the Hospital</td>
<td class="tocpn">63</td>
</tr>
<tr>
<td class="tocch">Appendix</td>
<td class="tocchr">I.</td>
<td class="tocch">The Priory Seals</td>
<td class="tocpn">73</td>
</tr>
<tr>
<td class="tocchr" colspan="2">II.</td>
<td class="tocch">The Priors and Rectors</td>
<td class="tocpn">77</td>
</tr>
<tr>
<td class="tocchr" colspan="2">III.</td>
<td class="tocch">Inventory of Vestments, etc.</td>
<td class="tocpn">79</td>
</tr>
<tr>
<td class="tocchr" colspan="2">IV.</td>
<td class="tocch">The Organ</td>
<td class="tocpn">80</td>
</tr>
<tr>
<td class="tocch" colspan="3">Index</td>
<td class="tocpn">83</td>
</tr>
</table>
<h2><a name='recursive'>Recursive link following</a></h2>
<p>
<span style='font:monospace'>html2lrf</span> follows links in HTML files that point to other files, recursively. Thus it can be used to convert a whole tree of HTML files into a single LRF file.
<br />
</p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a>
</p>
<hr />
<a href='#toc'>Table of Contents</a></p>
<h2><a name='text'>Text formatting</a></h2>
<p>A simple <i>paragraph</i> of <b>formatted <i>text</i></b>, with a
<u>ruled line</u> following it. Super<sup>scripts</sup> and Sub<sub>scripts</sub>.
</p>
<hr />
<br />
<p>A <span style='font-style: italic'>similar</span> paragraph, but
now <span style="text-decoration: overline">using</span> <span
style='font-weight: bold'><i>CSS</i></span> to perform the text
formatting.</p>
<hr />
<center>A centered phrase</center>
<span style='text-align: right'>A right aligned phrase</span>
A normal phrase
<hr />
<p>A paragraph containing a <em>&lt;blockquote&gt;</em>
<blockquote>This is blockquoted text. It is rendered in a
separate block with margins.</blockquote>
The above text should be distinct from the rest of the paragraph.</p>
<hr />
<p style='text-indent: 10em'>A very indented paragraph</p>
<p style='text-indent: 0em'>An unindented paragraph</p>
<p>A default indented paragraph</p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a></p>
<h2><a name='images'>Inline images</a></h2>
<p>Here I demonstrate the use of inline images in the midst of text.
Here is a small image <img src='small.jpg' /> embedded in a sentence.
Now we have a slightly larger image that is automatically put in its own
block <img style="text-align: center" src='medium.jpg' /> and finally
we have a large image which is put on a page by itself. Try changing
sizes from S to M to L and see how the images behave. <img
align='center' src='large.jpg' /></p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a></p>
<h2><a name='fonts'>Embedded fonts</a></h2>
<p>This LRF file has been prepared by embedding Times New Roman and
Andale Mono as the default serif and monospace fonts. This allows it to
correctly display non English characters such as:</p>
<ul>
<li>mouse in German: mūs</li>
<li>mouse in Russian: мышь</li>
</ul>
<p>Note that embedding fonts in LRF files slows down page turns
slightly. <br />
</p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a></p>
<h2><a name='dropcaps'>Paragraph Emphasis</a></h2>
<br />
<p><img class='libprs500_dropcaps' src='a.png' /> beautiful image
based dropcaps to emphasize this paragraph. Image based dropcaps are
specified by adding the <code>class = 'libprs500_dropcaps'</code>
attribute to an <code>&lt;img&gt;</code> tag.
<p /><br />
<p class="drop">This is a plain text based dropcaps. It is not
nearly as dramatic, but easier to code ;-)</p>
<br />
<p><span style="font-variant: small-caps">This is an Example</span>
of small-caps. It can also be used to highlight the start of a paragraph
very effectively.</p>
<br />
<p class='hanging_indent'>A paragraph with a hanging indent. This is
especially useful for highly structured text like verse, or dialogue.<br />
</p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a></p>
<h2><a name='recursive'>Recursive link following</a></h2>
<p><span style='font: monospace'>html2lrf</span> follows links in
HTML files that point to other files, recursively. Thus it can be used
to convert a whole tree of HTML files into a single LRF file. <br />
</p>
<p class='toc'>
<hr />
<a href='#toc'>Table of Contents</a></p>
</html>

View File

@ -1,14 +1,14 @@
{% extends "!layout.html" %}
{% block sidebarlogo %}
<p class="logo">
<a href="http://calibre-ebook.com"><img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/></a>
</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick" />
<input type="hidden" name="hosted_button_id" value="3028915" />
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="Donate to support calibre development" style="border:0pt" />
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"/>
</form>
<hr/>
{% extends "!layout.html" %} {% block sidebarlogo %}
<p class="logo"><a href="http://calibre-ebook.com"><img
class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo" /></a></p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick" /> <input
type="hidden" name="hosted_button_id" value="3028915" /> <input
type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif"
border="0" name="submit" alt="Donate to support calibre development"
style="border: 0pt" /> <img alt="" border="0"
src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" />
</form>
<hr />
{% endblock %}

View File

@ -1,19 +1,19 @@
<html>
<head>
<title>A very short ebook</title>
<meta name="charset" value="utf-8" />
</head>
<body>
<h1 class="bookTitle">A very short ebook</h1>
<p style="text-align:right">Written by Kovid Goyal</p>
<div class="introduction">
<p>A very short ebook to demonstrate the use of XPath.</p>
</div>
<head>
<title>A very short ebook</title>
<meta name="charset" value="utf-8" />
</head>
<body>
<h1 class="bookTitle">A very short ebook</h1>
<p style="text-align: right">Written by Kovid Goyal</p>
<div class="introduction">
<p>A very short ebook to demonstrate the use of XPath.</p>
</div>
<h2 class="chapter">Chapter One</h2>
<p>This is a truly fascinating chapter.</p>
<h2 class="chapter">Chapter One</h2>
<p>This is a truly fascinating chapter.</p>
<h2 class="chapter">Chapter Two</h2>
<p>A worthy continuation of a fine tradition.</p>
</body>
<h2 class="chapter">Chapter Two</h2>
<p>A worthy continuation of a fine tradition.</p>
</body>
</html>