PortableMag/templates.html

399 lines
11 KiB
HTML
Raw Normal View History

<html>
<head>
<link rel="stylesheet" href="css/magazine.css">
<link rel="stylesheet" href="css/magazine-themes.css">
<link rel="stylesheet" href="css/magazine-custom.css">
<style>
body {
background: silver;
}
.container {
position: relative;
border: solid 1px silver;
width: 750px;
min-height: 300px;
margin: 25px;
background: white;
/*box-shadow: 5px 5px 200px 0px silver;*/
padding: 10px;
}
.container .preview {
position: absolute;
display: none;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background: white;
overflow: hidden;
}
.container .preview .page {
margin: 10%;
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-o-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: scale(0.7);
-moz-transform: scale(0.7);
-o-transform: scale(0.7);
-ms-transform: scale(0.7);
transform: scale(0.7);
box-shadow: 5px 5px 300px 0px gray;
}
.container .page-box {
position: relative;
text-align: center;
display: inline-block;
width: 225px;
height: 175px;
margin: 10px;
border: solid 1px silver;
overflow: hidden;
background: white;
box-shadow: 5px 5px 200px 30px gray inset;
cursor: hand;
}
.page-box .page {
box-shadow: 5px 5px 200px 30px gray;
margin: 5%;
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-o-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: scale(0.25);
-moz-transform: scale(0.25);
-o-transform: scale(0.25);
-ms-transform: scale(0.25);
transform: scale(0.25);
}
.container .page {
-webkit-transition: none;
-moz-transition: none;
-o-transition: all 0 ease;
-ms-transition: none;
transition: none;
}
.container .title {
position: absolute;
color: white;
bottom: 10%;
right: 10%;
/*z-index: 1000;*/
text-shadow: black 0.1em 0.1em 0.4em, black 0.1em 0.1em;
}
.container .preview-toggle,
.container .column-toggle,
.container .light.theme-toggle,
.container .theme-toggle {
position: absolute;
background: white;
width: 20px;
height: 20px;
top: 5px;
right: 40px;
overflow: hidden;
border: solid white 2px;
box-shadow: 3px 3px 20px 0px gray;
}
.container .light.theme-toggle div,
.container .theme-toggle div {
position: absolute;
background: black;
width: 40px;
height: 40px;
top: 8px;
left: 0px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.container .dark.theme-toggle {
border: solid black 2px;
background: black;
}
.container .dark.theme-toggle div {
background: white;
}
.container .column-toggle div {
width: 8px;
height: 18px;
margin: 1px;
background: gray;
float: left;
}
.container .column-toggle {
right: 75px;
}
.container .preview-toggle div {
height: 16px;
border: solid black 2px;
}
.container .preview-toggle {
right: 5px;
}
</style>
<script src="ext-lib/jquery.js"></script>
<script src="lib/jli.js"></script>
<script>
function toggleTheme(){
var page = $(this).parents('.page-box, .preview').children('.page')
if(page.hasClass('dark')){
page.add(this)
.removeClass('dark')
.addClass('light')
} else {
page.add(this)
.removeClass('light')
.addClass('dark')
}
return false
}
var togglePageColumns = createCSSClassToggler('', [
'one-column',
'two-column',
'three-column',
'four-column',
])
function toggleColumns(){
var page = $(this)
.parents('.page-box, .preview')
.find('.one-column, .two-column, .three-column, .four-column')
togglePageColumns(page, 'next')
return false
}
function addThemeToggleZones(){
$('<div><div/></div>')
.addClass('theme-toggle')
.attr('title', 'Toggle dark/light theme')
.appendTo($('.page-box:not(.no-themes), .preview'))
.click(toggleTheme)
}
function addPreviewToggleZones(){
$('<div><div/></div>')
.addClass('preview-toggle')
.attr('title', 'Toggle preview')
.appendTo($('.page-box, .preview'))
.click(function(){
if($('.container .preview').css('display') == 'block'){
$('.container .preview')
.css('display', 'none')
.children('.page')
.remove()
}
$(this)
.parents('.page-box')
.children('.page')
.clone()
.appendTo($('.container .preview'))
.click(function(){
$('.container').trigger('templateSelected', this)
return false
})
$('.container .preview')
.css('display', 'block')
return false
})
}
function addColumnToggleZones(){
$('<div><div/><div/></div>')
.addClass('column-toggle')
.attr('title', 'Toggle columns theme')
.appendTo($('.one-column, .two-column, .three-column, .four-column').parents('.page-box').add($('.preview')))
.click(toggleColumns)
}
$(function(){
$('.page.image-fit, .page.image-fit-height')
.width(800)
.height(600)
addThemeToggleZones()
addColumnToggleZones()
addPreviewToggleZones()
$('.preview')
.click(function(){
$(this)
.css('display', 'none')
.children('.page')
.remove()
})
$('.page-box')
.click(function(){
var page = $(this)
if(!page.hasClass('page')){
page = page.children('.page')
}
$('.container').trigger('templateSelected', page[0])
/*
$(this)
.children('.page')
.clone()
.appendTo($('.container .preview'))
.click(function(){
$('.container').trigger('templateSelected', this)
return false
})
$('.container .preview')
.css('display', 'block')
*/
})
$('.container')
.on('templateSelected', function(evt, elem){
alert(elem.outerHTML)
})
})
</script>
</head>
<body>
<div class="container light">
<div class="page-box">
<div class="title">Article</div>
</div>
<div class="page-box">
<div class="title">Cover Page</div>
</div>
<div class="page-box">
<div class="title">Page Group</div>
</div>
<div class="page-box">
<div class="title">Two Column</div>
<div class="page">
<div class="content">
<div class="header" contenteditable="false">
<h1>Page with columns</h1>
</div>
<div class="body three-column" contenteditable="false">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.
</div>
<div class="footer">
<div class="page-number-text">[PAGE NUMBER]</div>
</div>
</div>
</div>
<!-- keep this last -->
<div class="title">Columns</div>
</div>
<div class="page-box">
<div class="page caption-bottom-arrow">
<div class="content" contenteditable="false">
<h2>Caption Text</h2>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.
</p>
</div>
</div>
<!-- keep this last -->
<div class="title">Caption</div>
</div>
<div class="page-box">
<div class="page image-fit">
<div class="content" style="background-image: url('landscape.jpg')">
<div class="caption hidden" contenteditable="false">
<h3>Horizontal image fit to viewer</h3>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.
</div>
<div class="page-number-text">[PAGE NUMBER]</div>
</div>
</div>
<!-- keep this last -->
<div class="title">Image (fit)</div>
</div>
<div class="page-box">
<div class="page image-fit-height">
<div class="content">
<img src="img.jpg">
<div class="caption hidden" contenteditable="false">
<h3>Image fit to height</h3>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.
</div>
<div class="page-number-text">[PAGE NUMBER]</div>
</div>
</div>
<!-- keep this last -->
<div class="title">Image (fit height)</div>
</div>
<div class="page-box">
<div class="page">
<div class="content">
</div>
</div>
<!-- keep this last -->
<div class="title">Raw Page</div>
</div>
<div class="page-box no-themes">
<!-- keep this last -->
<div class="title">Blank Template</div>
</div>
<!-- keep this last -->
<div class="preview">
</div>
</div>
</body>
</html>
<!-- vim:set sw=4 ts=4 nowrap : -->