Ported PDF viewer to Jekyll layout
This commit is contained in:
parent
f2c8985b85
commit
7ffb9858e2
2 changed files with 78 additions and 103 deletions
75
_layouts/viewer.html
Normal file
75
_layouts/viewer.html
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
{% include head.html %}
|
||||
|
||||
<body>
|
||||
|
||||
{% include header.html %}
|
||||
|
||||
<div class="page-content">
|
||||
<div class="wrapper">
|
||||
{{ content }}
|
||||
<div style="width:680px;margin-left:auto;margin-right:auto;">
|
||||
<div style="float:left;margin-top:350px;margin-right:8px;">
|
||||
<button id="prevPDF" style="font-size:large;"><</button>
|
||||
</div>
|
||||
<div style="float:left;">
|
||||
<iframe id="framePDF" src="" width="550" height="800"></iframe>
|
||||
</div>
|
||||
<div style="float:left;margin-top:350px;margin-left:8px;">
|
||||
<button id="nextPDF" style="font-size:large;">></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include footer.html %}
|
||||
|
||||
<script id="initFrame" type="text/javascript">
|
||||
(function() {
|
||||
var aParms = {};
|
||||
var sParms = window.location.search.substr(1);
|
||||
var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g;
|
||||
var decode = function(s) { return decodeURIComponent(s.replace(pl, " ")); };
|
||||
while ((match = search.exec(sParms))) aParms[decode(match[1])] = decode(match[2]);
|
||||
var pdf = aParms['url'];
|
||||
var curPage = parseInt(aParms['page'], 10) || 1;
|
||||
var totalPages = parseInt(aParms['total'], 10) || 999;
|
||||
var frame = document.getElementById('framePDF');
|
||||
if (pdf && frame) {
|
||||
pdf = pdf.replace('/static/', '/');
|
||||
var i = pdf.indexOf("/pages/");
|
||||
if (i > 0) {
|
||||
var sReturnLink = pdf.substr(0, i+1);
|
||||
var sReturnPath = sReturnLink.slice(0, -1).toUpperCase().replace(/\//g, '\\');
|
||||
var e = document.getElementById('returnLink');
|
||||
if (e) e.setAttribute('href', sReturnLink);
|
||||
e = document.getElementById('returnPath');
|
||||
if (e) e.textContent = sReturnPath;
|
||||
}
|
||||
i = pdf.indexOf('%20');
|
||||
if (i < 0) i = pdf.indexOf(' ');
|
||||
if (i > 0) pdf = pdf.substr(0, i);
|
||||
var setPage = function(page) {
|
||||
frame.setAttribute('src', 'http://static.pcjs.org' + pdf + ' ' + curPage + '.pdf');
|
||||
};
|
||||
setPage(curPage);
|
||||
var buttonPrev = document.getElementById('prevPDF');
|
||||
if (buttonPrev) {
|
||||
buttonPrev.onclick = function() {
|
||||
if (curPage > 1) setPage(--curPage);
|
||||
};
|
||||
}
|
||||
var buttonNext = document.getElementById('nextPDF');
|
||||
if (buttonNext) {
|
||||
buttonNext.onclick = function() {
|
||||
if (curPage < totalPages) setPage(++curPage);
|
||||
};
|
||||
}
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Loading…
Reference in a new issue