Optimized index page for mobile devices

This commit is contained in:
0ip 2011-12-06 18:45:16 +01:00
parent 9ad3aa0e4b
commit b615da194f
1 changed files with 146 additions and 331 deletions

View File

@ -1,333 +1,148 @@
<!doctype html> <!doctype html>
<html lang="en"> <html>
<head> <title>Etherpad Lite</title>
<meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="robots" content="noindex, nofollow"> <style>
<title>Etherpad Lite</title> *{ margin:0;padding:0; }
<!-- CSS --> body {
<link href="../static/css/pad.css" rel="stylesheet"> background: rgba(0,0,0,.05);
<!-- javascript --> color: #333;
<script type="text/javascript"> font: 14px helvetica,sans-serif;
// <![CDATA[ background: #ccc;
var clientVars = {}; // ]]> background: -webkit-radial-gradient(circle,#aaa,#eee 60%) center fixed;
</script> background: -moz-radial-gradient(circle,#aaa,#eee 60%) center fixed;
<script src="../socket.io/socket.io.js"></script> background: -ms-radial-gradient(circle,#aaa,#eee 60%) center fixed;
<script src="../minified/pad.js"></script> background: -o-radial-gradient(circle,#aaa,#eee 60%) center fixed;
<link href="../static/custom/pad.css" rel="stylesheet"> overflow-x: hidden;
<script src="../static/custom/pad.js"></script> border-top: 8px solid rgba(51,51,51,.8);
<style type="text/css" title="dynamicsyntax"></style> }
</head> #container {
text-shadow: 0 1px 1px #fff;
border-top: 1px solid #999;
margin-top: 160px;
text-align: center;
padding: 15px;
background: #eee;
background: -webkit-linear-gradient(#fff,#ccc);
background: -moz-linear-gradient(#fff,#ccc);
background: -ms-linear-gradient(#fff,#ccc);
background: -o-linear-gradient(#fff,#ccc);
opacity: .9;
box-shadow: 0px 1px 8px rgba(0,0,0,0.3);
}
#button {
margin: 0 auto;
border-radius: 3px;
text-align: center;
font: 36px verdana,arial,sans-serif;
color: white;
text-shadow: 0 -1px 0 rgba(0,0,0,.8);
height: 70px;
line-height: 70px;
width: 300px;
background: #555;
background: -webkit-linear-gradient(#5F5F5F,#565656 50%,#4C4C4C 51%,#373737);
background: -moz-linear-gradient(#5F5F5F,#565656 50%,#4C4C4C 51%,#373737);
background: -ms-linear-gradient(#5F5F5F,#565656 50%,#4C4C4C 51%,#373737);
background: -o-linear-gradient(#5F5F5F,#565656 50%,#4C4C4C 51%,#373737);
box-shadow: inset 0 1px 3px rgba(0,0,0,0.9);
}
#button:hover {
cursor: pointer;
background: #666;
background: -webkit-linear-gradient(#707070,#666666 50%,#5B5B5B 51%,#474747);
background: -moz-linear-gradient(#707070,#666666 50%,#5B5B5B 51%,#474747);
background: -ms-linear-gradient(#707070,#666666 50%,#5B5B5B 51%,#474747);
background: -o-linear-gradient(#707070,#666666 50%,#5B5B5B 51%,#474747);
}
#button:active {
box-shadow: inset 0 1px 12px rgba(0,0,0,0.9);
background: #444;
}
#label {
text-align: left;
margin: 0 auto;
width: 300px;
}
input {
vertical-align: middle;
font-weight: bold;
font-size: 15px;
}
input[type="text"] {
width: 243px;
padding: 10px 47px 10px 10px;
background: #fff;
border: 1px solid #bbb;
outline: none;
border-radius: 3px;
text-shadow: 0 0 1px #fff;
}
input[type="submit"] {
width: 45px;
margin-left: -50px;
padding: 8px;
}
input[type="submit"]::-moz-focus-inner { border: 0 }
@-moz-document url-prefix() { input[type="submit"] { padding: 7px } }
@media only screen and (min-device-width: 320px) and (max-device-width: 600px) {
body {
background: #bbb;
background: -webkit-linear-gradient(#aaa,#eee 60%) center fixed;
height: 100%;
}
#container {
margin-top: 0;
text-align: left;
}
#button, #label {
text-align: center;
width: 95%;
}
form {
text-align: center;
}
input[type=text] {
width: 75%;
}
}
</style>
<link href="static/custom/index.css" rel="stylesheet">
<script src="static/custom/index.js"></script>
<div id="container">
<div id="button" onclick="go2Random()" class="translate">New Pad</div><br><div id="label" class="translate">or create/open a Pad with the name</div>
<form action="#" onsubmit="go2Name();return false;">
<input type="text" id="padname" autofocus>
<input type="submit" value="OK">
</form>
</div>
<script>
function go2Name()
{
var padname = document.getElementById("padname").value;
padname.length > 0 ? window.location = "p/" + padname : alert("Please enter a name")
}
<body> function go2Random()
{
window.location = "p/" + randomPadName();
}
<div id="editbar"> function randomPadName()
{
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var string_length = 10;
var randomstring = '';
for (var i = 0; i < string_length; i++)
{
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum, rnum + 1);
}
return randomstring;
}
<ul id="menu_left"> //start the costum js
<li onClick="window.pad&&pad.editbarClick('bold');return false" > if(typeof costumStart == "function") costumStart();
<a title="Bold (ctrl-B)"> </script>
<div class="buttonicon" style="background-position:0px -116px"></div>
</a>
</li>
<li onClick="window.pad&&pad.editbarClick('italic'); return false;" >
<a title="Italics (ctrl-I)">
<div class="buttonicon" style="background-position:0px 0px"></div>
</a>
</li>
<li onClick="window.pad&&pad.editbarClick('underline');return false;" >
<a title="Underline (ctrl-U)">
<div class="buttonicon" style="background-position:0px -236px;margin-top:1px;"></div>
</a>
</li>
<li onClick="window.pad&&pad.editbarClick('strikethrough');return false;" >
<a title="Strikethrough">
<div class="buttonicon" style="background-position:0px -200px"></div>
</a>
</li>
<li class="separator"></li>
<li onClick="window.pad&&pad.editbarClick('insertunorderedlist');return false;" >
<a title="Toggle Bullet List">
<div class="buttonicon" style="background-position:0px -34px"></div>
</a>
</li>
<li onClick="window.pad&&pad.editbarClick('indent');return false;" >
<a title="Indent">
<div class="buttonicon" style="background-position:0px -52px"></div>
</a>
</li>
<li onClick="window.pad&&pad.editbarClick('outdent');return false;" >
<a title="Unindent">
<div class="buttonicon" style="background-position:0px -134px"></div>
</a>
</li>
<li class="separator"></li>
<li onClick="window.pad&&pad.editbarClick('undo');return false;" >
<a title="Undo (ctrl-Z)">
<div class="buttonicon" style="background-position:0px -255px"></div>
</a>
</li>
<li onClick="window.pad&&pad.editbarClick('redo');return false;" >
<a title="Redo (ctrl-Y)">
<div class="buttonicon" style="background-position:0px -166px"></div>
</a>
</li>
<li class="separator"></li>
<li id="clearAuthorship" onClick="window.pad&&pad.editbarClick('clearauthorship');return false;" >
<a title="Clear Authorship Colors">
<div class="buttonicon" style="background-position:0px -86px"></div>
</a>
</li>
</ul>
<ul id="menu_right">
<li onClick="window.pad&&pad.editbarClick('import_export');return false;">
<a id="exportlink" title="Import/Export from/to different document formats">
<div class="buttonicon" style="background-position:0px -68px"></div>
</a>
</li>
<li onClick="window.pad&&pad.editbarClick('embed');return false;" >
<a id="embedlink" title="Share and Embed this pad">
<div class="buttonicon" style="background-position:0px -18px"></div>
</a>
</li>
<li class="separator"></li>
<li id="timesliderlink" onClick="document.location = document.location.pathname+ '/timeslider'">
<a title="Show the history of this pad">
<div class="buttonicon" style="background-position:0px -218px"></div>
</a>
</li>
<li id="usericon" onClick="window.pad&&pad.editbarClick('showusers');return false;" >
<a title="Show connected users">
<div class="buttonicon" id="usericonback" style="background-position:0px -184px;display:inline-block;"></div>
<span id="online_count">1</span>
</a>
</li>
</ul>
</div>
<div id="users">
<div id="connectionstatus">
<!-- -->
</div>
<div id="myuser">
<div id="mycolorpicker">
<div id="colorpicker"></div>
<!--
<ul id="colorpickerswatches">
</ul>
-->
<span id="mycolorpickersave">
<a onclick="closeColorPicker()">Save</a>
</span>
<span id="mycolorpickercancel">
<a onclick="closeColorPicker()">Cancel</a>
</span>
<span id="mycolorpickerpreview" class="myswatchboxhoverable"></span>
</div>
<div id="myswatchbox"><div id="myswatch"><!-- --></div></div>
<div id="myusernameform"><input type="text" id="myusernameedit" disabled="disabled" /></div>
<div id="mystatusform"><input type="text" id="mystatusedit" disabled="disabled" /></div>
</div>
<div id="otherusers">
<div id="guestprompts"><!-- --></div>
<table id="otheruserstable" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
</td>
</tr>
</table>
<div id="nootherusers">
</div>
</div>
<div id="userlistbuttonarea">
<!--<a href="javascript:void(0)" id="sharebutton">Share</a>-->
</div>
</div>
<!-- /padusers -->
<!--<div id="users">
<!-- some example code so I can make the css --*>
</div>-->
<div id="editorcontainerbox">
<div id="editorcontainer">
<!-- -->
</div>
<div id="editorloadingbox">
Loading...
</div>
</div>
<!-- import export code -->
<div id="importexport">
<div id="import">
Import from text file, HTML, PDF, Word, ODT or RTF:<br/><br/>
<form id="importform" method="post" action="" target="importiframe" enctype="multipart/form-data">
<div class="importformdiv" id="importformfilediv">
<input type="file" name="file" size="15" id="importfileinput" />
<div class="importmessage" id="importmessagefail"></div>
</div>
<div class="importmessage" id="importmessagesuccess">Successful!</div>
<div class="importformdiv" id="importformsubmitdiv">
<input type="hidden" name="padId" value="blpmaXT35R" />
<span class="nowrap">
<input type="submit" name="submit" value="Import Now" disabled="disabled" id="importsubmitinput" />
<img alt="" id="importstatusball" src="../static/img/loading.gif" align="top" />
<img alt="" id="importarrow" src="../static/img/leftarrow.png" align="top" />
</span>
</div>
</form>
</div>
<div id="importexportline"></div>
<div id="export">
Export current pad as:
<a id="exporthtmla" target="_blank" class="exportlink"><div class="exporttype" id="exporthtml">HTML</div></a>
<a id="exportplaina" target="_blank" class="exportlink"><div class="exporttype" id="exportplain">Plain text</div></a>
<a id="exportworda" target="_blank" class="exportlink"><div class="exporttype" id="exportword">Microsoft Word</div></a>
<a id="exportpdfa" target="_blank" class="exportlink"><div class="exporttype" id="exportpdf">PDF</div></a>
<a id="exportopena" target="_blank" class="exportlink"><div class="exporttype" id="exportopen">OpenDocument</div></a>
<a id="exportwordlea" target="_blank" onClick="padimpexp.export2Wordle();return false;" class="exportlink"><div class="exporttype" id="exportwordle">Wordle</div></a>
<form id="wordlepost" name="wall" action="http://wordle.net/advanced" method="POST" style="margin-left:0px;">
<div id="hidetext" style=""><textarea id="text" name="text" id="text" style="display:none;">Coming soon!</textarea></div>
</form>
</div>
</div>
<!-- the embed code -->
<div id="embed">
<div id="embedreadonly">
<input type="checkbox" id="readonlyinput" onClick="padeditbar.setEmbedLinks();"/><label for="readonlyinput">Read only</label>
</div>
Share:
<br/>
<div id="linkcode">
<label for="linkinput">Link:</label><input id="linkinput" type="text" value="">
</div><br/>
<div id="embedcode">
<label for="embedinput">Embed code:</label><input id="embedinput" type="text" value="">
</div><br/>
<div id="qrcode">
<label for="embedreadonlyqr">QR code:</label><br/>
<div id="qr_center"><img id="embedreadonlyqr"></div>
</div>
</div>
<div id="chatthrob">
</div>
<div id="chaticon">
<a onClick="chat.show();return false;"
title="Open the chat for this pad">
<span id="chatlabel">Chat</span>
<div class="buttonicon" style="background-position:0px -102px;display:inline-block;"></div>
</a>
<span id="chatcounter">0</span>
</div>
<div id="chatbox">
<div id="titlebar"><span id ="titlelabel">Chat</span><a id="titlecross" onClick="chat.hide();return false;">-&nbsp;</a></div>
<div id="chattext" class="authorColors"></div>
<div id="chatinputbox">
<form>
<input id="chatinput" type="text" maxlength="140"/>
</form>
</div>
</div>
<div id="focusprotector">&nbsp;</div>
<!-- /padeditor -->
<div id="modaloverlay">
<div id="modaloverlay-inner">
<!-- -->
</div>
</div>
<div id="mainmodals">
<div id="connectionbox" class="modaldialog">
<div id="connectionboxinner" class="modaldialog-inner">
<div class="connecting">
Connecting...
</div>
<div class="reconnecting">
Reestablishing connection...
</div>
<div class="disconnected">
<h2 class="h2_disconnect">Disconnected.</h2>
<h2 class="h2_userdup">Opened in another window.</h2>
<h2 class="h2_unauth">No Authorization.</h2>
<div id="disconnected_looping">
<p>
<b>We're having trouble talking to the EtherPad lite synchronization server.</b>
You may be connecting through an incompatible firewall or proxy server.
</p>
</div>
<div id="disconnected_initsocketfail">
<p>
<b>We were unable to connect to the EtherPad lite synchronization server.</b>
This may be due to an incompatibility with your web browser or internet connection.
</p>
</div>
<div id="disconnected_userdup">
<p>
<b>You seem to have opened this pad in another browser window.</b>
If you'd like to use this window instead, you can reconnect.
</p>
</div>
<div id="disconnected_unknown">
<p>
<b>Lost connection with the EtherPad lite synchronization server.</b> This may be due to a loss of network connectivity.
</p>
</div>
<div id="disconnected_slowcommit">
<p>
<b>Server not responding.</b> This may be due to network connectivity issues or high load on the server.
</p>
</div>
<div id="disconnected_unauth">
<p>
Your browser's credentials or permissions have changed while viewing this pad. Try reconnecting.
</p>
</div>
<div id="disconnected_deleted">
<p>
This pad was deleted.
</p>
</div>
<div id="reconnect_advise">
<p>
If this continues to happen, please let us know
</p>
</div>
<div id="reconnect_form">
<button id="forcereconnect">Reconnect Now</button>
</div>
</div>
</div>
<form id="reconnectform" method="post" action="/ep/pad/reconnect" accept-charset="UTF-8" style="display: none;">
<input type="hidden" class="padId" name="padId"/>
<input type="hidden" class="diagnosticInfo" name="diagnosticInfo"/>
<input type="hidden" class="missedChanges" name="missedChanges"/>
</form>
</body>
</html> </html>