Optimized index page for mobile devices
This commit is contained in:
parent
9ad3aa0e4b
commit
b615da194f
471
static/pad.html
471
static/pad.html
|
@ -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;">- </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"> </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>
|
||||||
|
|
Loading…
Reference in New Issue