mirror of
https://github.com/flynx/PortableMag.git
synced 2025-10-29 11:10:08 +00:00
674 lines
31 KiB
HTML
Executable File
674 lines
31 KiB
HTML
Executable File
<!-- XXX for some reason a doctype kills the layout, need to investigate -->
|
|
<!--DOCTYPE html-->
|
|
<html>
|
|
<head>
|
|
<title>PortableMag</title>
|
|
|
|
<link rel="stylesheet" href="lister.css">
|
|
<link rel="stylesheet" href="magazine-custom.css">
|
|
|
|
<script src="jquery.js"></script>
|
|
<!-- XXX make this optional... -->
|
|
<script src="ckeditor/ckeditor.js"></script>
|
|
|
|
<script src="jli.js"></script>
|
|
<script src="magazine.js"></script>
|
|
|
|
<script>
|
|
|
|
var DEBUG = true
|
|
|
|
$(document).ready(function(){
|
|
|
|
$('.viewer')
|
|
// setup internal events...
|
|
.on('pageChanged bookmarkAdded bookmarkRemoved bookmarksCleared', saveState)
|
|
.on('pageChanged', updatePageNumberIndicator)
|
|
.on('bookmarksCleared', clearBookmarkIndicators)
|
|
.on('bookmarkAdded', function(_, n){makeBookmarkIndicator(n)})
|
|
.on('bookmarkRemoved', function(_, n){removeBookmarkIndicator(n)})
|
|
|
|
// editor specific events...
|
|
.on('pageCreated articleCreated magazineCreated', resetNavigator)
|
|
.on('pageMoved articleMoved', resetNavigator)
|
|
.on('pageRemoved articleRemoved', resetNavigator)
|
|
|
|
// XXX this will need to be repeated to newly created elements...
|
|
$('[contenteditable=true]')
|
|
.on('focus', function(){
|
|
toggleEditorMode('on')
|
|
})
|
|
.on('blur', function(){
|
|
toggleEditorMode('off')
|
|
})
|
|
|
|
$('button').attr('disabled', true)
|
|
|
|
$('#new_mag').click(function(){createBaseMagazine(prompt('Enter a name for the new magazine:'))})
|
|
|
|
})
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
<div class="viewer">
|
|
|
|
<div class="left-toolbar" draggable="true">
|
|
|
|
<svg id="new_mag" width="40" height="40" xmlns="http://www.w3.org/2000/svg">
|
|
<g>
|
|
<title>New Magazine</title>
|
|
<g id="svg_47">
|
|
<g id="svg_33">
|
|
<g id="svg_34">
|
|
<circle fill="#000000" stroke="#ffffff" fill-opacity="0" cx="28.671385" cy="30.356987" r="7.062921" id="svg_35"/>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" x="28.820414" y="36.240832" font-size="18" font-family="serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" id="svg_36">+</text>
|
|
</g>
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m22.8386,34.497002l-13.95876,0.052097l-0.06013,-28.683099l24.052891,0l-0.060101,18.821401" id="svg_37"/>
|
|
</g>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="15.923339" y="17.539691" font-size="12" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" id="svg_38">M</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
<hr>
|
|
|
|
<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg">
|
|
<g>
|
|
<title>New Article</title>
|
|
<g id="svg_48">
|
|
<g id="svg_26">
|
|
<g id="svg_27">
|
|
<circle fill="#000000" stroke="#ffffff" fill-opacity="0" cx="28.671385" cy="30.356987" r="7.062921" id="svg_28"/>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" x="28.820414" y="36.240832" font-size="18" font-family="serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" id="svg_29">+</text>
|
|
</g>
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m22.83856,34.49699l-13.95872,0.052139l-0.06013,-28.683129l24.052921,0l-0.06015,18.82142" id="svg_30"/>
|
|
</g>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="15.68281" y="17.539691" font-size="12" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" id="svg_31">A</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
|
|
<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg">
|
|
<g>
|
|
<title>Shift Article Left</title>
|
|
<g id="svg_76">
|
|
<g id="svg_70">
|
|
<g id="svg_71">
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m28.62114,34.492649l-19.73146,0.052151l-0.06013,-28.68306l24.052919,0l-0.000019,17.438419" id="svg_72"/>
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m32.840248,24.30155l0.05212,10.154291l-1.082369,0.060139" id="svg_73"/>
|
|
</g>
|
|
<path d="m30.587009,30.33219l-4.3314,-7.037199l2.8526,0l4.331209,7.037199l-4.331209,7.037241l-2.8526,0l4.3314,-7.037241z" fill-opacity="0" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" fill="#000000" stroke="#ffffff" transform="rotate(180 29.8475 30.3322)" id="svg_74"/>
|
|
</g>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="15.692654" y="17.535428" font-size="12" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" id="svg_75">A</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
|
|
<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg">
|
|
<g>
|
|
<title>Shift Article Right</title>
|
|
<g id="svg_89">
|
|
<g id="svg_85">
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m29.583229,34.612888l-20.693559,-0.007988l-0.06013,-28.6831l24.052921,0l-0.000023,20.86595" id="svg_86"/>
|
|
<path d="m32.27066,30.392269l-4.33132,-7.037249l2.852549,0l4.33123,7.037249l-4.33123,7.03727l-2.852549,0l4.33132,-7.03727z" fill-opacity="0" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" fill="#000000" stroke="#ffffff" id="svg_87"/>
|
|
</g>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="15.692638" y="17.595492" font-size="12" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" id="svg_88">A</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
<hr>
|
|
|
|
<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg">
|
|
<g>
|
|
<title>New Page</title>
|
|
<g id="svg_24">
|
|
<g id="svg_16">
|
|
<g id="svg_9">
|
|
<circle fill="#000000" stroke="#ffffff" fill-opacity="0" cx="28.691122" cy="30.383944" r="7.062921" id="svg_7"/>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" x="28.840151" y="36.267789" id="svg_8" font-size="18" font-family="serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0">+</text>
|
|
</g>
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m22.85829,34.523949l-13.95871,0.052132l-0.06013,-28.68312l24.05293,0l-0.06015,18.82142" id="svg_15"/>
|
|
</g>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="15.281621" y="17.566648" id="svg_17" font-size="12" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0">P</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
|
|
<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg">
|
|
<g>
|
|
<title>Shift Page Left</title>
|
|
<g id="svg_68">
|
|
<g id="svg_67">
|
|
<g id="svg_66">
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m28.621111,34.492619l-19.731441,0.052151l-0.06013,-28.683099l24.052921,0l-0.000011,17.4384" id="svg_61"/>
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m32.840248,24.30146l0.05212,10.15435l-1.082397,0.060131" id="svg_65"/>
|
|
</g>
|
|
<path d="m30.586981,30.3321l-4.3314,-7.037199l2.852598,0l4.331251,7.037199l-4.331251,7.0373l-2.852598,0l4.3314,-7.0373z" fill-opacity="0" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" fill="#000000" stroke="#ffffff" id="svg_62" transform="rotate(180 29.8475 30.3321)"/>
|
|
</g>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="15.271712" y="17.535359" font-size="12" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" id="svg_63">P</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
|
|
<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg">
|
|
<g>
|
|
<title>Shift Page Right</title>
|
|
<g id="svg_58">
|
|
<g id="svg_57">
|
|
<path fill="none" stroke="#ffffff" stroke-width="null" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" d="m29.57338,34.557121l-20.69354,-0.007992l-0.06013,-28.683129l24.052929,0l-0.000019,20.86593" id="svg_54"/>
|
|
<path d="m32.260818,30.336451l-4.331329,-7.037251l2.852551,0l4.331299,7.037251l-4.331299,7.037321l-2.852551,0l4.331329,-7.037321z" fill-opacity="0" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" fill="#000000" id="svg_56" stroke="#ffffff"/>
|
|
</g>
|
|
<text fill="#ffffff" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="15.261884" y="17.539691" font-size="12" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" id="svg_55">P</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
<hr>
|
|
|
|
<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg">
|
|
<g>
|
|
<title>Info</title>
|
|
<g id="svg_6">
|
|
<circle fill="#000000" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" cx="20.762543" cy="20.120354" r="14.302816" id="svg_2" stroke="#ffffff"/>
|
|
<text fill="#ffffff" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="21.029904" y="21.833322" id="svg_5" font-size="24" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" stroke-opacity="0" transform="matrix(0.894143 0 0 0.894143 1.91526 8.19192)" stroke="#000000">i</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="scaler">
|
|
<div class="aligner">
|
|
|
|
<!-- magazine -->
|
|
<div class="magazine" title="PortableMag Demo">
|
|
<div class="cover page current">
|
|
<div class="content">
|
|
<!--h1 style="color:gray;font-size:125px;margin-bottom:-35px; margin-top: 160px">PortableMag</h1>
|
|
<h1 style="color:silver; font-size: 20px; margin-left:10px">A suit for publishing portable periodic magazines on mobile platforms.</h1-->
|
|
|
|
<svg width="800" height="600" xmlns="http://www.w3.org/2000/svg">
|
|
<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
|
|
<g>
|
|
<title>PortableMag cover</title>
|
|
<defs>
|
|
<path id="circle_path" d="m177.720383,238.333344c0,-82.290771 66.655533,-148.946304 148.946304,-148.946304c82.290771,0 148.946289,66.655533 148.946289,148.946304c0,82.290771 -66.655518,148.946289 -148.946289,148.946289c-82.290771,0 -148.946304,-66.655518 -148.946304,-148.946289z"/>
|
|
</defs>
|
|
<text fill="#7f7f7f" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="306" y="434.33334" id="svg_2" font-size="15" font-family="Arial" text-anchor="middle" xml:space="preserve"/>
|
|
<g id="svg_1">
|
|
<g id="svg_8">
|
|
<text stroke="#000000" fill="#7f7f7f" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="224.898504" y="309.870464" id="svg_6" font-size="24" font-family="Arial" text-anchor="middle" xml:space="preserve" font-weight="bold" transform="matrix(5.71749 0 0 5.71749 -632.211 -1442.56)">Mag</text>
|
|
<text stroke="#000000" fill="#a8a8a8" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="156.581224" y="309.650884" id="svg_7" font-size="24" font-family="Arial" text-anchor="middle" xml:space="preserve" transform="matrix(5.71749 0 0 5.71749 -632.211 -1442.56)">Portable</text>
|
|
</g>
|
|
<text stroke="#000000" fill="#afafaf" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="261.526111" y="338.824173" id="svg_4" font-size="15" font-family="Arial" text-anchor="middle" xml:space="preserve" transform="matrix(1.53525 0 0 1.53525 -34.4106 -167.936)" font-weight="normal" font-style="normal">A suit for publishing portable periodic magazines on mobile platforms.</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- XXX do we need a Magazine Credits page??? -->
|
|
|
|
<div class="article">
|
|
<div class="cover page">
|
|
<div class="content">
|
|
<h1 name="basics" style="color:gray;font-size:100px;">The Basics...</h1>
|
|
<big>
|
|
<h2>Main features</h2>
|
|
<ul>
|
|
<li>Magazines, Covers, Articles and Pages, fully navigable
|
|
<li>Three main views: <i style="color:silver">Magazine (under development)</i> Page and Ribbon
|
|
<li>Fully linkable structure
|
|
<li>Full intuitive Gesture, Mouse or Keyboard navigation
|
|
<li>Special #URLs enable full link-based navigation and control
|
|
<li>Bookmarks and bookmark navigation
|
|
<li>Intuitive navigator widget
|
|
<li>Portable to most mobile platforms including: Apple iOS, Android, Windows Phone 7/8, BlackBery, HP webOS and more.
|
|
<li>Standalone on main desktop operating systems, including Apple MacOS X and Microsoft Windows
|
|
<li>Based on popular, open and easy to learn and use standards (HTML5 layout, SVG vector graphics)
|
|
<i style="color: silver">
|
|
<li>Usable from the web (support for engines other than WebKit not here yet)
|
|
<li>Integrated Editor (under development)
|
|
<li>Integrated publishing framework (under development)
|
|
</i>
|
|
</ul>
|
|
</big>
|
|
<div style="position:absolute; width:100%; bottom:10px; text-align: right;">
|
|
<a href="#next">get started...</a><br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="page">
|
|
<div class="content">
|
|
<h1 name="navigation">PortableMag Navigation and Linking</h1>
|
|
<div style="float:left; width: 40%; height: 100%; margin: 10px;">
|
|
<h2>Finger controls</h2>
|
|
<ul>
|
|
<li> Single finger swipe left/right – prev/next page.
|
|
<li> Two finger swipe left/right – prev/next article.
|
|
<li> Single finger swipe up/down – toggle thumbnail view.
|
|
<li> Pinch in/out – go in/out of thumbnail view.
|
|
</ul>
|
|
<h2>Navigation via #URLs</h2>
|
|
<h3>The basics</h3>
|
|
<a href="#1">Page #1</a><br>
|
|
<a href="#ArticleAnchorExample">Named page</a><br>
|
|
<p>
|
|
<s><a href="#page-3-anchor" style="pointer-events:none">Anchor on page #3</a></s><br>
|
|
<i> currently navigation via existing anchors
|
|
will break the layout, so use the name attribute
|
|
on any other tags (see example).
|
|
</i>
|
|
</p>
|
|
</div>
|
|
|
|
<div style="float:left; width: 40%; height: 100%; padding: 10px;">
|
|
<h3>Special anchors</h3>
|
|
<p>These show up in the page URL</p>
|
|
<a href="#home">Magazine cover</a><br>
|
|
<a href="#end">Last page</a><br>
|
|
<a href="#thumbnails">Thumbnail view</a><br>
|
|
<a href="#example-layer">Toggle a hidden layer</a><br>
|
|
<span name="example-layer" class="hidden">
|
|
<a href="#hideLayers">Hide all layers</a><br>
|
|
</span>
|
|
<a href="#bookmark">Toggle bookmark</a><br>
|
|
|
|
<h3>Relative special anchors</h3>
|
|
<p>These will get replaced by corresponding page numbers in the URL</p>
|
|
<a href="#next">Next page</a><br>
|
|
<a href="#prev">Previous page</a><br>
|
|
<a href="#nextArticle">Next article</a><br>
|
|
<a href="#prevArticle">Previous article</a><br>
|
|
<h3>History support</h3>
|
|
<i>NOTE: this is still a bit flaky...</i><br>
|
|
<a href="#back">Go back</a><br>
|
|
<a href="#forward">Go forward</a><br>
|
|
</div>
|
|
<div style="position:absolute; width:100%; bottom:10px; text-align: right;">
|
|
<a href="#config">configuration demo</a> <a href="#next">next page...</a><br>
|
|
</div>
|
|
|
|
|
|
<div name="example-layer" class="hidden" onclick="window.location='#example-layer'" style="position:absolute; left:450px; top:250px; width: 300px; height:50px; text-align: center; padding: 15px; border: solid gray 5px; background: white; color: gray; cursor: hand; opacity: 0.8">
|
|
<h3>This is an example layer</h3>
|
|
<i>click or tap to hide</i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- XXX do we need an Article Credits page??? -->
|
|
|
|
<div class="page">
|
|
<div class="content">
|
|
|
|
<svg width="800" height="600" xmlns="http://www.w3.org/2000/svg">
|
|
<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
|
|
<defs>
|
|
<marker refY="50" refX="50" markerHeight="5" markerWidth="5" viewBox="0 0 100 100" orient="auto" markerUnits="strokeWidth" id="se_marker_start_svg_36">
|
|
<path stroke-width="10" stroke="#000000" fill="#000000" d="m0,50l100,40l-30,-40l30,-40l-100,40z" id="svg_3"/>
|
|
</marker>
|
|
<marker refY="50" refX="50" markerHeight="5" markerWidth="5" viewBox="0 0 100 100" orient="auto" markerUnits="strokeWidth" id="se_marker_start_svg_37">
|
|
<path stroke-width="10" stroke="#000000" fill="#000000" d="m0,50l100,40l-30,-40l30,-40l-100,40z" id="svg_8"/>
|
|
</marker>
|
|
</defs>
|
|
<title>PortableMag Anatomy</title>
|
|
<g>
|
|
<title>Layer 1</title>
|
|
<text fill="#000000" stroke="#000000" stroke-width="0" x="199" y="56.33334" id="svg_1" font-size="32" font-family="Sans-serif" text-anchor="middle" xml:space="preserve" font-weight="bold">PortableMag Anatomy</text>
|
|
<path id="svg_34" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="2" stroke="#000000" fill="none"/>
|
|
<g id="svg_30">
|
|
<g id="svg_2">
|
|
<path stroke="#000000" fill="#000000" fill-opacity="0" d="m78.166656,117.166718l675.000092,0l0,123.000031l-675.000092,0" transform="rotate(180 415.667 178.667)" id="svg_12"/>
|
|
<rect fill="#ffffff" stroke-width="2" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="87" y="132" width="130" height="100" stroke="#000000" id="svg_13"/>
|
|
<rect stroke="#000000" fill="#000000" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" fill-opacity="0" x="223" y="132" width="415.00001" height="100" id="svg_14"/>
|
|
<text stroke-opacity="0" fill="#000000" stroke="#000000" stroke-width="0" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="152" y="187.5" id="svg_24" font-size="14" font-family="Sans-serif" text-anchor="middle" xml:space="preserve">Magazine cover</text>
|
|
<rect stroke="#000000" id="svg_7" fill="#ffffff" stroke-width="2" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="229.66666" y="138.66667" width="130" height="86"/>
|
|
<text stroke-opacity="0" xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="14" id="svg_4" y="187" x="294.83334" stroke-width="0" stroke="#000000" fill="#000000">Article Cover</text>
|
|
<rect id="svg_15" stroke="#000000" fill="#e5e5e5" stroke-width="2" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="365.66667" y="138.66668" width="130" height="86"/>
|
|
<text stroke-opacity="0" xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="14" id="svg_5" y="187.00003" x="430.83337" stroke-width="0" stroke="#000000" fill="#000000">Page</text>
|
|
<rect id="svg_16" stroke="#000000" fill="#e5e5e5" stroke-width="2" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="501.66665" y="138.66666" width="130" height="86"/>
|
|
<text id="svg_6" stroke-opacity="0" xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="14" y="186.66667" x="567.00001" stroke-width="0" stroke="#000000" fill="#000000">Page</text>
|
|
<path stroke="#000000" id="svg_17" fill="#bfbfbf" d="m646.167236,132.167267l105,0l0,99.000031l-105,0" transform="rotate(180 698.667 181.667)"/>
|
|
<text stroke-opacity="0" xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="14" id="svg_25" y="187.00063" x="709.66669" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="0" stroke="#000000" fill="#000000">Next Article</text>
|
|
<text xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="10" id="svg_26" y="113.33334" x="98.66669" stroke-opacity="0" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="0" stroke="#000000" fill="#000000">Magazine</text>
|
|
<text xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="9" id="svg_27" y="129.33334" x="236.16669" stroke-opacity="0" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="0" stroke="#000000" fill="#000000">Article</text>
|
|
</g>
|
|
<g id="svg_29">
|
|
<g id="svg_11">
|
|
<rect stroke="#000000" fill="#cccccc" stroke-width="2" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="273" y="295" width="322.99999" height="180" id="svg_20"/>
|
|
<rect stroke="#000000" fill="#ffffff" stroke-width="2" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x="324.5" y="300.38461" width="220" height="169.23077" id="svg_21"/>
|
|
<text xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="18" id="svg_10" y="289.33334" x="292.66669" stroke-opacity="0" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="0" stroke="#000000" fill="#000000">Page</text>
|
|
<g id="svg_19">
|
|
<text stroke-opacity="0" xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="18" id="svg_9" y="381.83334" x="434.16669" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="0" stroke="#000000" fill="#000000">Page Content</text>
|
|
<text xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="14" id="svg_18" y="400.83334" x="433.66669" stroke-opacity="0" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="0" stroke="#000000" fill="#000000">(safe area)</text>
|
|
</g>
|
|
</g>
|
|
<g id="svg_28">
|
|
<line id="svg_32" y2="275.33334" x2="305.66669" y1="227.33334" x1="362.66669" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke="#000000" fill="none"/>
|
|
<line stroke="#000000" id="svg_33" y2="228.33334" x2="497.66669" y1="289.33334" x1="587.66669" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" fill="none"/>
|
|
</g>
|
|
<g id="svg_23">
|
|
<text stroke-opacity="0" xml:space="preserve" text-anchor="middle" font-family="Sans-serif" font-size="10" id="svg_22" y="532.33334" x="446.66669" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="0" stroke="#000000" fill="#000000">This area might get clipped</text>
|
|
<path marker-start="url(#se_marker_start_svg_36)" stroke="#000000" id="svg_36" d="m301.666687,464.333344c1,39 84,28 112,55.000031" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" fill="none"/>
|
|
<path id="svg_37" marker-start="url(#se_marker_start_svg_37)" stroke="#000000" d="m577.666687,461.666687c1,39 -71,31 -98,56" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" fill="none"/>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="page">
|
|
<div class="content" style="background: black; color: gray; padding-left: 20px; padding-right: 20px;">
|
|
<h1>The Page <i>content</i> has a fixed size...</h1>
|
|
</div>
|
|
</div>
|
|
<div class="page">
|
|
<div class="content">
|
|
<a name="page-3-anchor"></a>
|
|
<img src="img.jpg" height="100%" align="left" style="margin-right: 15px"/>
|
|
<h1>Using the content block...</h1>
|
|
<p>
|
|
The content block can contain any HTML.
|
|
</p>
|
|
<p>
|
|
The contents will allways fit the screen, the aspect ratio
|
|
of the content block is fixed regardless of the viewer.
|
|
</p>
|
|
<p>
|
|
Contents will not get clipped as long as they are within the block.
|
|
</p>
|
|
<p>
|
|
NOTE: by default the overflow is visible (see <a href="#next">next page</a>), so be carefull.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="page">
|
|
<div class="content">
|
|
<img src="img.jpg" width="200%" style="position: absolute; left: -50%; top: -20%"/>
|
|
<div style="position:absolute; width:100%; height: 100%; color: white;">
|
|
<h1>You can still use the full page area...</h1>
|
|
<p>
|
|
Though anything outside the content block can and will get clipped,
|
|
depending on viewer aspect ratio...
|
|
</p>
|
|
<p>
|
|
You can see this by resizing the page in browser or rotating the device.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="article">
|
|
<div class="cover page">
|
|
<div class="content" name="ArticleAnchorExample">
|
|
<h1>Page Templates</h1>
|
|
<a href="#home">home</a><br>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="page">
|
|
<div class="content">
|
|
<h1>Two column</h1>
|
|
<div style="float:left; width: 45%; height: 100%; margin: 10px;">
|
|
Column 1
|
|
</div>
|
|
<div style="float:left; width: 45%; height: 100%; padding: 10px;">
|
|
Column 2
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="page no-resize">
|
|
<div class="content" style="background:gold">
|
|
Page
|
|
</div>
|
|
</div>
|
|
<div class="page no-resize">
|
|
<div class="content" style="background:yellow; width: 600px">
|
|
Page
|
|
</div>
|
|
</div>
|
|
<div class="page no-resize">
|
|
<div class="content" style="background:gold; width: 400px">
|
|
Page
|
|
</div>
|
|
</div>
|
|
<div class="page no-resize">
|
|
<div class="content" style="background:orange; width: 200px">
|
|
Page
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="article">
|
|
<div class="cover page">
|
|
<div class="content">
|
|
<h1>Article Cover</h1>
|
|
<a href="#home">home</a><br>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="page">
|
|
<div class="content">
|
|
Page
|
|
</div>
|
|
</div>
|
|
<div class="page">
|
|
<div class="content">
|
|
Page<br>
|
|
<a href="#home">home</a><br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="article">
|
|
<div class="cover page">
|
|
<div class="content">
|
|
<h1 name="config">Configuration demo</h1>
|
|
|
|
<p>
|
|
NOTE: this is not an actual configuration page, just a live demo
|
|
of some of the available configuration option effects.
|
|
</p>
|
|
|
|
<hr noshade color="silver">
|
|
|
|
<style>
|
|
.settings tr td:first-child {
|
|
text-align: right;
|
|
vertical-align: middle;
|
|
padding-right: 10px;
|
|
}
|
|
.settings tr {
|
|
height: 30px;
|
|
}
|
|
.settings button, .settings input {
|
|
background: white;
|
|
height: 25px;
|
|
}
|
|
.settings input {
|
|
border: solid silver 1px;
|
|
}
|
|
.settings button {
|
|
border: solid gray 1px;
|
|
cursor: hand;
|
|
padding-top: 3px;
|
|
padding-bottom: 3px;
|
|
padding-left: 15px;
|
|
padding-right: 15px;
|
|
}
|
|
#RESET {
|
|
background: red;
|
|
color: white;
|
|
font-weight: bold;
|
|
}
|
|
</style>
|
|
|
|
<table class="settings" width="100%">
|
|
<tr>
|
|
<td width="50%">
|
|
Pages in ribbon:
|
|
</td>
|
|
<td>
|
|
<input id="PAGES_IN_RIBBON" type="text" size="8" style="text-align:center" disabled>
|
|
<button onclick="$('#PAGES_IN_RIBBON').attr('value', parseFloat($('#PAGES_IN_RIBBON').attr('value'))+0.5); saveSettings()">+</button>
|
|
<button onclick="$('#PAGES_IN_RIBBON').attr('value', parseFloat($('#PAGES_IN_RIBBON').attr('value'))-0.5); saveSettings()">-</button>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
Fit page to view:
|
|
</td>
|
|
<td>
|
|
<button id="FIT_PAGE_TO_VIEW" onclick="toggleSetting(this)"></button>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
Animate window resize:
|
|
</td>
|
|
<td>
|
|
<button id="ANIMATE_WINDOW_RESIZE" onclick="toggleSetting(this)"></button>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
Drag in full page view:
|
|
</td>
|
|
<td>
|
|
<button id="DRAG_FULL_PAGE" onclick="toggleSetting(this)"></button>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
Toggle viewer animation (affects transition to and from full page view):
|
|
</td>
|
|
<td>
|
|
<button id="viewer_transition_state" onclick="toggleViewerAnimation()"></button>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
Enable different size pages (still flaky):
|
|
</td>
|
|
<td>
|
|
<button id="USE_REAL_PAGE_SIZES" onclick="toggleSetting(this)"></button>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
Reset stored data:
|
|
</td>
|
|
<td>
|
|
<button id="RESET" onclick="confirm('You really want to reset?')&&resetState()">Reset</button>
|
|
</td>
|
|
</tr>
|
|
<table/>
|
|
|
|
<hr noshade color="silver">
|
|
|
|
<table class="settings" width="100%">
|
|
<tr>
|
|
<td width="50%">
|
|
Fingers supported:
|
|
</td>
|
|
<td id="FingersSupported">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
Browser info:
|
|
</td>
|
|
<td id="BrowserInfo">
|
|
</td>
|
|
</tr>
|
|
<table/>
|
|
|
|
|
|
<div style="position:absolute; width:100%; bottom:10px; text-align: right;">
|
|
<a href="#back">go back</a>, or return to <a href="#home">magazine cover...</a><br>
|
|
</div>
|
|
|
|
<script>
|
|
var toggleViewerAnimation = function(){
|
|
var toggler = createCSSClassToggler(
|
|
// XXX this will turn off magazine animations...
|
|
'.scaler, .page, .magazine',
|
|
//'.scaler, .page',
|
|
'unanimated',
|
|
function(action){
|
|
$('#viewer_transition_state').text(action == 'on' ? 'off' : 'on')
|
|
})
|
|
return function(action){
|
|
if(action == null || action == '?'){
|
|
var res = toggler(action)
|
|
} else {
|
|
var res = toggler(action == 'on' ? 'off' : 'on')
|
|
}
|
|
return res == 'on' ? 'off' : 'on'
|
|
}
|
|
}()
|
|
toggleViewerAnimation('on')
|
|
|
|
function saveSettings(){
|
|
var v = parseFloat($('#PAGES_IN_RIBBON').attr('value'))
|
|
// ignore bad values...
|
|
v = v == null ? PAGES_IN_RIBBON : v
|
|
// can't be less that 1...
|
|
v = v < 1 ? 1 : v
|
|
PAGES_IN_RIBBON = v
|
|
// we need to reset the visible value in case it was wrong...
|
|
$('#PAGES_IN_RIBBON').attr('value', PAGES_IN_RIBBON)
|
|
|
|
FIT_PAGE_TO_VIEW = $('#FIT_PAGE_TO_VIEW').text() == 'true' ? true : false
|
|
ANIMATE_WINDOW_RESIZE = $('#ANIMATE_WINDOW_RESIZE').text() == 'true' ? true : false
|
|
DRAG_FULL_PAGE = $('#DRAG_FULL_PAGE').text() == 'true' ? true : false
|
|
USE_REAL_PAGE_SIZES = $('#USE_REAL_PAGE_SIZES').text() == 'true' ? true : false
|
|
}
|
|
function loadSettings(){
|
|
$('#PAGES_IN_RIBBON').attr('value', PAGES_IN_RIBBON)
|
|
$('#FIT_PAGE_TO_VIEW').text(FIT_PAGE_TO_VIEW)
|
|
$('#ANIMATE_WINDOW_RESIZE').text(ANIMATE_WINDOW_RESIZE)
|
|
$('#DRAG_FULL_PAGE').text(DRAG_FULL_PAGE)
|
|
$('#USE_REAL_PAGE_SIZES').text(USE_REAL_PAGE_SIZES)
|
|
|
|
//$('#FingersSupported').text($.fn.swipe.fingers.ALL)
|
|
var b = $('#BrowserInfo')
|
|
$.each($.browser, function(i, e){$('<div>'+i+': '+e+'</div>').appendTo(b)})
|
|
}
|
|
function toggleSetting(obj){
|
|
obj = $(obj)
|
|
obj.text() == 'true' ? obj.text('false') : obj.text('true')
|
|
saveSettings()
|
|
updateView()
|
|
}
|
|
|
|
|
|
loadSettings()
|
|
|
|
</script>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</body>
|
|
</html>
|
|
<!-- vim:set ts=4 sw=4 nowrap : -->
|