mirror of
https://github.com/flynx/PortableMag.git
synced 2025-10-28 10:40:07 +00:00
added html loader + some style changes...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
856394806d
commit
ce9f8aba48
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.magazine {
|
.magazine {
|
||||||
box-shadow: 10px 10px 50px 10px #444;
|
box-shadow: 10px 10px 50px 10px rgba(0,0,0,0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -147,7 +147,7 @@
|
|||||||
color: #eee;
|
color: #eee;
|
||||||
}
|
}
|
||||||
.light-viewer .magazine {
|
.light-viewer .magazine {
|
||||||
box-shadow: 10px 10px 50px 10px #ddd;
|
box-shadow: 10px 10px 50px 10px rgba(0,0,0,0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.light-viewer .top-toolbar,
|
.light-viewer .top-toolbar,
|
||||||
@ -228,7 +228,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.dark-viewer .magazine {
|
.dark-viewer .magazine {
|
||||||
box-shadow: 10px 10px 50px 10px #000;
|
box-shadow: 10px 10px 50px 10px rgba(0,0,0,0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dark-viewer .magazine:before,
|
.dark-viewer .magazine:before,
|
||||||
@ -398,6 +398,7 @@
|
|||||||
color: #e8e8e8;
|
color: #e8e8e8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.shadowless.viewer,
|
||||||
.shadowless.viewer .magazine,
|
.shadowless.viewer .magazine,
|
||||||
.shadowless.viewer .top-toolbar,
|
.shadowless.viewer .top-toolbar,
|
||||||
.shadowless.viewer .bottom-toolbar {
|
.shadowless.viewer .bottom-toolbar {
|
||||||
|
|||||||
@ -151,6 +151,8 @@ body {
|
|||||||
|
|
||||||
background: gray;
|
background: gray;
|
||||||
|
|
||||||
|
box-shadow: 0px 0px 300px 0px rgba(0,0,0,0.1) inset;
|
||||||
|
|
||||||
-webkit-transition: all 0.6s ease;
|
-webkit-transition: all 0.6s ease;
|
||||||
-moz-transition: all 0.6s ease;
|
-moz-transition: all 0.6s ease;
|
||||||
-o-transition: all 0.6s ease;
|
-o-transition: all 0.6s ease;
|
||||||
@ -739,7 +741,7 @@ div.page-number-text {
|
|||||||
|
|
||||||
cursor: hand;
|
cursor: hand;
|
||||||
|
|
||||||
box-shadow: 20px -20px 50px 0px #000;
|
box-shadow: 20px -20px 50px 0px rgba(0,0,0,0.8);
|
||||||
|
|
||||||
-webkit-transform: rotate(45deg);
|
-webkit-transform: rotate(45deg);
|
||||||
-moz-transform: rotate(45deg);
|
-moz-transform: rotate(45deg);
|
||||||
@ -763,11 +765,11 @@ div.page-number-text {
|
|||||||
*/
|
*/
|
||||||
.page.caption-top-arrow,
|
.page.caption-top-arrow,
|
||||||
.page.caption-bottom-arrow {
|
.page.caption-bottom-arrow {
|
||||||
box-shadow: 35px 0px 100px 0px #000;
|
box-shadow: 35px 0px 100px 0px rgba(0,0,0,0.8);
|
||||||
}
|
}
|
||||||
.page.caption-top-arrow:before,
|
.page.caption-top-arrow:before,
|
||||||
.page.caption-bottom-arrow:before {
|
.page.caption-bottom-arrow:before {
|
||||||
box-shadow: 20px -20px 30px 10px #000;
|
box-shadow: 20px -20px 30px 10px rgba(0,0,0,0.8);
|
||||||
}
|
}
|
||||||
/* XXX changing shdows makes things a bit gittery on devices...
|
/* XXX changing shdows makes things a bit gittery on devices...
|
||||||
.current.page.caption-top-arrow,
|
.current.page.caption-top-arrow,
|
||||||
|
|||||||
35
index.html
35
index.html
@ -203,6 +203,24 @@ function str2ab(str) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
function loadMagazineDOM(data){
|
||||||
|
var data = $(data)
|
||||||
|
// get the .magazine element...
|
||||||
|
data = data.hasClass('magazine') ? data.children() : data.find('.magazine').children()
|
||||||
|
|
||||||
|
var mag = $('.magazine')
|
||||||
|
mag.children().remove()
|
||||||
|
mag.append(data)
|
||||||
|
|
||||||
|
runMagazineTemplates()
|
||||||
|
togglePageView(togglePageView('?'))
|
||||||
|
MagazineScroller.refresh()
|
||||||
|
|
||||||
|
focusPage(0, null, 0)
|
||||||
|
|
||||||
|
return mag
|
||||||
|
}
|
||||||
|
|
||||||
// upload...
|
// upload...
|
||||||
function handleFileSelect(evt) {
|
function handleFileSelect(evt) {
|
||||||
var files = evt.target.files; // FileList object
|
var files = evt.target.files; // FileList object
|
||||||
@ -227,11 +245,18 @@ function handleFileSelect(evt) {
|
|||||||
var zip = new JSZip(raw_data)
|
var zip = new JSZip(raw_data)
|
||||||
console.log('zip loaded...')
|
console.log('zip loaded...')
|
||||||
var json = zip.file('magazine.json').data
|
var json = zip.file('magazine.json').data
|
||||||
|
loadJSON($.parseJSON(json), true)
|
||||||
|
|
||||||
|
} else if(/html|htm/.test(type)){
|
||||||
|
console.log('html loaded...')
|
||||||
|
loadMagazineDOM(raw_data)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
var json = raw_data
|
var json = raw_data
|
||||||
|
loadJSON($.parseJSON(json), true)
|
||||||
}
|
}
|
||||||
|
|
||||||
loadJSON($.parseJSON(json), true)
|
|
||||||
console.log('done.')
|
console.log('done.')
|
||||||
};
|
};
|
||||||
})(f);
|
})(f);
|
||||||
@ -239,13 +264,17 @@ function handleFileSelect(evt) {
|
|||||||
// Read in the image file as a data URL.
|
// Read in the image file as a data URL.
|
||||||
if(type == 'zip'){
|
if(type == 'zip'){
|
||||||
reader.readAsArrayBuffer(f)
|
reader.readAsArrayBuffer(f)
|
||||||
|
|
||||||
|
} else if(/html|htm/.test(type)){
|
||||||
|
reader.readAsText(f)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
reader.readAsBinaryString(f)
|
reader.readAsBinaryString(f)
|
||||||
}
|
}
|
||||||
//reader.readAsText(f)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// XXX these stubs override the magazine API and use iScroll...
|
// XXX these stubs override the magazine API and use iScroll...
|
||||||
|
|
||||||
// XXX need to account for page align...
|
// XXX need to account for page align...
|
||||||
@ -542,8 +571,6 @@ $(function(){
|
|||||||
|
|
||||||
//setupEditor()
|
//setupEditor()
|
||||||
|
|
||||||
$('.dpi').text(getDPI())
|
|
||||||
|
|
||||||
// hide the splash...
|
// hide the splash...
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
|
|
||||||
|
|||||||
@ -57,7 +57,7 @@ var KEYBOARD_CONFIG = {
|
|||||||
} else {
|
} else {
|
||||||
setMagazineScale(getPageTargetScale(PAGES_IN_RIBBON))
|
setMagazineScale(getPageTargetScale(PAGES_IN_RIBBON))
|
||||||
}
|
}
|
||||||
setCurrentPage(n)
|
focusPage(n)
|
||||||
},
|
},
|
||||||
Esc: '0',
|
Esc: '0',
|
||||||
|
|
||||||
@ -66,14 +66,14 @@ var KEYBOARD_CONFIG = {
|
|||||||
setMagazineScale(Math.min(
|
setMagazineScale(Math.min(
|
||||||
getMagazineScale() * 1.2,
|
getMagazineScale() * 1.2,
|
||||||
getPageTargetScale(1)))
|
getPageTargetScale(1)))
|
||||||
setCurrentPage(n)
|
focusPage(n)
|
||||||
},
|
},
|
||||||
'-': function(){
|
'-': function(){
|
||||||
var n = getPageNumber()
|
var n = getPageNumber()
|
||||||
setMagazineScale(Math.max(
|
setMagazineScale(Math.max(
|
||||||
getMagazineScale() * 0.8,
|
getMagazineScale() * 0.8,
|
||||||
getPageTargetScale(PAGES_IN_RIBBON*2)))
|
getPageTargetScale(PAGES_IN_RIBBON*2)))
|
||||||
setCurrentPage(n)
|
focusPage(n)
|
||||||
},
|
},
|
||||||
|
|
||||||
'O': {
|
'O': {
|
||||||
|
|||||||
20
magazine.js
20
magazine.js
@ -305,7 +305,7 @@ function setMagazineScale(scale){
|
|||||||
|
|
||||||
// center-align ribbon view pages...
|
// center-align ribbon view pages...
|
||||||
var align = togglePageView('?') == 'off' ? 'center' : null
|
var align = togglePageView('?') == 'off' ? 'center' : null
|
||||||
var left = getMagazineOffset(cur, scale, align)
|
//var left = getMagazineOffset(cur, scale, align)
|
||||||
|
|
||||||
//setElementTransform(mag, left, scale)
|
//setElementTransform(mag, left, scale)
|
||||||
MagazineScroller.zoom(scale)
|
MagazineScroller.zoom(scale)
|
||||||
@ -510,6 +510,7 @@ function fitPagesTo(mode, cur, time, scale){
|
|||||||
var viewer = $('.viewer')
|
var viewer = $('.viewer')
|
||||||
var W = viewer.width()
|
var W = viewer.width()
|
||||||
var H = viewer.height()
|
var H = viewer.height()
|
||||||
|
|
||||||
// XXX is this a good way to sample content size???
|
// XXX is this a good way to sample content size???
|
||||||
var content = $('.content')
|
var content = $('.content')
|
||||||
var w = content.width()
|
var w = content.width()
|
||||||
@ -576,6 +577,7 @@ function fitPagesTo(mode, cur, time, scale){
|
|||||||
$(NON_RESIZABLE_PAGES)
|
$(NON_RESIZABLE_PAGES)
|
||||||
.each(function(_, e){
|
.each(function(_, e){
|
||||||
e.style.width = 'auto'
|
e.style.width = 'auto'
|
||||||
|
e.style.height = 'auto'
|
||||||
})
|
})
|
||||||
|
|
||||||
MagazineScroller.scrollBy(offset*scale, 0, time)
|
MagazineScroller.scrollBy(offset*scale, 0, time)
|
||||||
@ -1623,6 +1625,22 @@ function createCoverPage(data){
|
|||||||
// NOTE: for these to be self-aplicable they must only replace the content
|
// NOTE: for these to be self-aplicable they must only replace the content
|
||||||
// of the matched elements and not touch the element itself.
|
// of the matched elements and not touch the element itself.
|
||||||
var MagazineTemplates = {
|
var MagazineTemplates = {
|
||||||
|
'.image-fit': function(elem){
|
||||||
|
var w = $('.content').width()
|
||||||
|
var h = $('.content').height()
|
||||||
|
|
||||||
|
elem.each(function(_, e){
|
||||||
|
e = $(e)
|
||||||
|
e.width() == 0 ? e.width(w) : 0
|
||||||
|
e.height() == 0 ? e.height(h) : 0
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// set dpi value...
|
||||||
|
'.dpi': function(elem){
|
||||||
|
elem.text(getDPI())
|
||||||
|
},
|
||||||
|
|
||||||
// setup titles...
|
// setup titles...
|
||||||
'.magazine-title-text': function(elem){
|
'.magazine-title-text': function(elem){
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user