2
0
mirror of https://github.com/janeczku/calibre-web synced 2024-11-06 09:20:31 +00:00
calibre-web/cps/templates/readtxt.html
Ozzie Isaacs d2ad78eb40 Added swipe support for comic reader and txt reader (#925)
Bugfix for txt file not present on serving file
2021-01-24 11:28:17 +01:00

144 lines
4.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>{{_('Basic txt Reader')}}</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}" type="text/css"/>
<!-- EPUBJS Renderer -->
<!--<script src="../build/epub.js"></script>-->
<script src="{{ url_for('static', filename='js/libs/jquery.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/libs/plugins.js') }}"></script>
<style type="text/css">
body {
background: white;
}
#readmain {
position: absolute;
width: 100%;
height: 100%;
}
#area {
width: 80%;
height: 80%;
margin: 5% auto;
max-width: 1250px;
}
#area iframe {
border: none;
}
xmp, pre, plaintext {
display: block;
font-family: -moz-fixed;
white-space: pre;
margin: 1em 0;
}
#area{
overflow:hidden;
}
pre {
white-space: pre-wrap;
word-wrap: break-word;
font-family: -moz-fixed;
column-count:2;
-webkit-columns:2;
-moz-columns:2;
column-gap:20px;
-moz-column-gap:20px;
-webkit-column-gap:20px;
position:relative;
}
</style>
<script>
"use strict";
</script>
</head>
<body>
<div id="readmain">
<div id="left" class="arrow" ></div>
<div id="area"><pre id="content" class="content"></pre></div>
<div id="right" class="arrow"></div>
</div>
<script>
$(document).ready(function() {
//to int
$("#area").width($("#area").width());
$("#content").width($("#content").width());
//bind text
$("#content").load("{{ url_for('web.serve_book', book_id=txtfile,book_format='txt') }}",function(textStr) {
$(this).height($(this).parent().height()*0.95);
$(this).text(textStr);
});
//keybind
$(document).keydown(function(event){
if(event.keyCode == 37){
prevPage();
}
if(event.keyCode == 39){
nextPage();
}
});
//click
$( "#left" ).click(function() {
prevPage();
});
$( "#right" ).click(function() {
nextPage();
});
$("#readmain").swipe( {
swipeRight:function() {
prevPage();
},
swipeLeft:function() {
nextPage();
},
});
//bind mouse
$(window).bind('DOMMouseScroll mousewheel', function(event) {
var delta = 0;
if (event.originalEvent.wheelDelta) {
delta = event.originalEvent.wheelDelta;
}else if (event.originalEvent.detail) {
delta = event.originalEvent.detail*-1;
}
if (delta >= 0) {
prevPage();
}
else {
nextPage();
}
});
//page animate
var origwidth = $("#content")[0].getBoundingClientRect().width;
var gap = 20;
function prevPage(){
if($("#content").offset().left > 0){ return;}
leftoff = $("#content").offset().left;
leftoff = leftoff+origwidth+gap;
$("#content").offset({left:leftoff});
}
function nextPage(){
leftoff = $("#content").offset().left;
leftoff = leftoff-origwidth-gap;
if ( leftoff + $("#content")[0].scrollWidth < 0) { return;}
$("#content").offset({left:leftoff});
}
});
</script>
</body>
</html>