mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-01-19 14:13:34 +01:00
formatting: bulk remove trailing whitespaces
Do not touch vendorized files (e.g. libraries that were imported from external projects). No functional changes. Command: find . -name '*.<EXTENSION>' -type f -print0 | xargs -0 sed -i 's/[[:space:]]*$//'
This commit is contained in:
parent
24abd9ca07
commit
312c72c364
28 changed files with 156 additions and 156 deletions
|
@ -10,7 +10,7 @@
|
|||
* contain meaningful and detailed **commit messages** in the form:
|
||||
```
|
||||
submodule: description
|
||||
|
||||
|
||||
longer description of the change you have made, eventually mentioning the
|
||||
number of the issue that is being fixed, in the form: Fixes #someIssueNumber
|
||||
```
|
||||
|
@ -131,4 +131,4 @@ Etherpad is much more than software. So if you aren't a developer then worry no
|
|||
* Work with SFC to maintain legal side of project
|
||||
* Maintain TODO page - https://github.com/ether/etherpad-lite/wiki/TODO#IMPORTANT_TODOS
|
||||
* Replying to messages on IRC / The Mailing list / Emails
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# IMPORTANT
|
||||
# IMPORTANT
|
||||
# Protect against misspelling a var and rm -rf /
|
||||
set -u
|
||||
set -e
|
||||
|
|
|
@ -11,21 +11,21 @@ if [ -d "../bin" ]; then
|
|||
fi
|
||||
|
||||
#Is wget installed?
|
||||
hash wget > /dev/null 2>&1 || {
|
||||
hash wget > /dev/null 2>&1 || {
|
||||
echo "Please install wget" >&2
|
||||
exit 1
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Is zip installed?
|
||||
hash zip > /dev/null 2>&1 || {
|
||||
hash zip > /dev/null 2>&1 || {
|
||||
echo "Please install zip" >&2
|
||||
exit 1
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Is zip installed?
|
||||
hash unzip > /dev/null 2>&1 || {
|
||||
hash unzip > /dev/null 2>&1 || {
|
||||
echo "Please install unzip" >&2
|
||||
exit 1
|
||||
exit 1
|
||||
}
|
||||
|
||||
START_FOLDER=$(pwd);
|
||||
|
|
138
bin/convert.js
138
bin/convert.js
|
@ -26,10 +26,10 @@ log("open output file...");
|
|||
var sqlOutput = fs.openSync(sqlOutputFile, "w");
|
||||
var sql = "SET CHARACTER SET UTF8;\n" +
|
||||
"CREATE TABLE IF NOT EXISTS `store` ( \n" +
|
||||
"`key` VARCHAR( 100 ) NOT NULL , \n" +
|
||||
"`value` LONGTEXT NOT NULL , \n" +
|
||||
"`key` VARCHAR( 100 ) NOT NULL , \n" +
|
||||
"`value` LONGTEXT NOT NULL , \n" +
|
||||
"PRIMARY KEY ( `key` ) \n" +
|
||||
") ENGINE = INNODB;\n" +
|
||||
") ENGINE = INNODB;\n" +
|
||||
"START TRANSACTION;\n\n";
|
||||
fs.writeSync(sqlOutput, sql);
|
||||
log("done");
|
||||
|
@ -52,7 +52,7 @@ async.series([
|
|||
function(callback)
|
||||
{
|
||||
log("get all padIds out of the database...");
|
||||
|
||||
|
||||
etherpadDB.query("SELECT ID FROM PAD_META", [], function(err, _padIDs)
|
||||
{
|
||||
padIDs = _padIDs;
|
||||
|
@ -62,9 +62,9 @@ async.series([
|
|||
function(callback)
|
||||
{
|
||||
log("done");
|
||||
|
||||
|
||||
//create a queue with a concurrency 100
|
||||
var queue = async.queue(function (padId, callback)
|
||||
var queue = async.queue(function (padId, callback)
|
||||
{
|
||||
convertPad(padId, function(err)
|
||||
{
|
||||
|
@ -72,10 +72,10 @@ async.series([
|
|||
callback(err);
|
||||
});
|
||||
}, 100);
|
||||
|
||||
|
||||
//set the step callback as the queue callback
|
||||
queue.drain = callback;
|
||||
|
||||
|
||||
//add the padids to the worker queue
|
||||
for(var i=0,length=padIDs.length;i<length;i++)
|
||||
{
|
||||
|
@ -85,25 +85,25 @@ async.series([
|
|||
], function(err)
|
||||
{
|
||||
if(err) throw err;
|
||||
|
||||
|
||||
//write the groups
|
||||
var sql = "";
|
||||
for(var proID in proID2groupID)
|
||||
{
|
||||
var groupID = proID2groupID[proID];
|
||||
var subdomain = proID2subdomain[proID];
|
||||
|
||||
|
||||
sql+="REPLACE INTO store VALUES (" + etherpadDB.escape("group:" + groupID) + ", " + etherpadDB.escape(JSON.stringify(groups[groupID]))+ ");\n";
|
||||
sql+="REPLACE INTO store VALUES (" + etherpadDB.escape("mapper2group:subdomain:" + subdomain) + ", " + etherpadDB.escape(groupID)+ ");\n";
|
||||
}
|
||||
|
||||
|
||||
//close transaction
|
||||
sql+="COMMIT;";
|
||||
|
||||
|
||||
//end the sql file
|
||||
fs.writeSync(sqlOutput, sql, undefined, "utf-8");
|
||||
fs.closeSync(sqlOutput);
|
||||
|
||||
|
||||
log("finished.");
|
||||
process.exit(0);
|
||||
});
|
||||
|
@ -118,7 +118,7 @@ var padsDone = 0;
|
|||
function incrementPadStats()
|
||||
{
|
||||
padsDone++;
|
||||
|
||||
|
||||
if(padsDone%100 == 0)
|
||||
{
|
||||
var averageTime = Math.round(padsDone/((Date.now() - startTime)/1000));
|
||||
|
@ -149,10 +149,10 @@ function convertPad(padId, callback)
|
|||
function(callback)
|
||||
{
|
||||
var sql = "SELECT * FROM `PAD_CHAT_TEXT` WHERE NUMID = (SELECT `NUMID` FROM `PAD_CHAT_META` WHERE ID=?)";
|
||||
|
||||
|
||||
etherpadDB.query(sql, [padId], function(err, results)
|
||||
{
|
||||
if(!err)
|
||||
if(!err)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -163,7 +163,7 @@ function convertPad(padId, callback)
|
|||
}
|
||||
}catch(e) {err = e}
|
||||
}
|
||||
|
||||
|
||||
callback(err);
|
||||
});
|
||||
},
|
||||
|
@ -171,10 +171,10 @@ function convertPad(padId, callback)
|
|||
function(callback)
|
||||
{
|
||||
var sql = "SELECT * FROM `PAD_REVS_TEXT` WHERE NUMID = (SELECT `NUMID` FROM `PAD_REVS_META` WHERE ID=?)";
|
||||
|
||||
|
||||
etherpadDB.query(sql, [padId], function(err, results)
|
||||
{
|
||||
if(!err)
|
||||
if(!err)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -185,7 +185,7 @@ function convertPad(padId, callback)
|
|||
}
|
||||
}catch(e) {err = e}
|
||||
}
|
||||
|
||||
|
||||
callback(err);
|
||||
});
|
||||
},
|
||||
|
@ -193,10 +193,10 @@ function convertPad(padId, callback)
|
|||
function(callback)
|
||||
{
|
||||
var sql = "SELECT * FROM `PAD_REVMETA_TEXT` WHERE NUMID = (SELECT `NUMID` FROM `PAD_REVMETA_META` WHERE ID=?)";
|
||||
|
||||
|
||||
etherpadDB.query(sql, [padId], function(err, results)
|
||||
{
|
||||
if(!err)
|
||||
if(!err)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -207,7 +207,7 @@ function convertPad(padId, callback)
|
|||
}
|
||||
}catch(e) {err = e}
|
||||
}
|
||||
|
||||
|
||||
callback(err);
|
||||
});
|
||||
},
|
||||
|
@ -215,7 +215,7 @@ function convertPad(padId, callback)
|
|||
function(callback)
|
||||
{
|
||||
var sql = "SELECT `JSON` FROM `PAD_APOOL` WHERE `ID` = ?";
|
||||
|
||||
|
||||
etherpadDB.query(sql, [padId], function(err, results)
|
||||
{
|
||||
if(!err)
|
||||
|
@ -225,7 +225,7 @@ function convertPad(padId, callback)
|
|||
apool=JSON.parse(results[0].JSON).x;
|
||||
}catch(e) {err = e}
|
||||
}
|
||||
|
||||
|
||||
callback(err);
|
||||
});
|
||||
},
|
||||
|
@ -233,10 +233,10 @@ function convertPad(padId, callback)
|
|||
function(callback)
|
||||
{
|
||||
var sql = "SELECT * FROM `PAD_AUTHORS_TEXT` WHERE NUMID = (SELECT `NUMID` FROM `PAD_AUTHORS_META` WHERE ID=?)";
|
||||
|
||||
|
||||
etherpadDB.query(sql, [padId], function(err, results)
|
||||
{
|
||||
if(!err)
|
||||
if(!err)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -247,7 +247,7 @@ function convertPad(padId, callback)
|
|||
}
|
||||
}catch(e) {err = e}
|
||||
}
|
||||
|
||||
|
||||
callback(err);
|
||||
});
|
||||
},
|
||||
|
@ -255,17 +255,17 @@ function convertPad(padId, callback)
|
|||
function(callback)
|
||||
{
|
||||
var sql = "SELECT JSON FROM `PAD_META` WHERE ID=?";
|
||||
|
||||
|
||||
etherpadDB.query(sql, [padId], function(err, results)
|
||||
{
|
||||
if(!err)
|
||||
if(!err)
|
||||
{
|
||||
try
|
||||
{
|
||||
padmeta = JSON.parse(results[0].JSON).x;
|
||||
}catch(e) {err = e}
|
||||
}
|
||||
|
||||
|
||||
callback(err);
|
||||
});
|
||||
},
|
||||
|
@ -278,19 +278,19 @@ function convertPad(padId, callback)
|
|||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//get the proID out of this padID
|
||||
var proID = padId.split("$")[0];
|
||||
|
||||
|
||||
var sql = "SELECT subDomain FROM pro_domains WHERE ID = ?";
|
||||
|
||||
|
||||
etherpadDB.query(sql, [proID], function(err, results)
|
||||
{
|
||||
if(!err)
|
||||
{
|
||||
subdomain = results[0].subDomain;
|
||||
}
|
||||
|
||||
|
||||
callback(err);
|
||||
});
|
||||
}
|
||||
|
@ -300,105 +300,105 @@ function convertPad(padId, callback)
|
|||
{
|
||||
//saves all values that should be written to the database
|
||||
var values = {};
|
||||
|
||||
|
||||
//this is a pro pad, let's convert it to a group pad
|
||||
if(padId.indexOf("$") != -1)
|
||||
{
|
||||
var padIdParts = padId.split("$");
|
||||
var proID = padIdParts[0];
|
||||
var padName = padIdParts[1];
|
||||
|
||||
|
||||
var groupID
|
||||
|
||||
|
||||
//this proID is not converted so far, do it
|
||||
if(proID2groupID[proID] == null)
|
||||
{
|
||||
groupID = "g." + randomString(16);
|
||||
|
||||
|
||||
//create the mappers for this new group
|
||||
proID2groupID[proID] = groupID;
|
||||
proID2subdomain[proID] = subdomain;
|
||||
groups[groupID] = {pads: {}};
|
||||
}
|
||||
|
||||
|
||||
//use the generated groupID;
|
||||
groupID = proID2groupID[proID];
|
||||
|
||||
|
||||
//rename the pad
|
||||
padId = groupID + "$" + padName;
|
||||
|
||||
|
||||
//set the value for this pad in the group
|
||||
groups[groupID].pads[padId] = 1;
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
var newAuthorIDs = {};
|
||||
var oldName2newName = {};
|
||||
|
||||
|
||||
//replace the authors with generated authors
|
||||
// we need to do that cause where the original etherpad saves pad local authors, the new (lite) etherpad uses them global
|
||||
for(var i in apool.numToAttrib)
|
||||
{
|
||||
var key = apool.numToAttrib[i][0];
|
||||
var value = apool.numToAttrib[i][1];
|
||||
|
||||
|
||||
//skip non authors and anonymous authors
|
||||
if(key != "author" || value == "")
|
||||
continue;
|
||||
|
||||
|
||||
//generate new author values
|
||||
var authorID = "a." + randomString(16);
|
||||
var authorColorID = authors[i].colorId || Math.floor(Math.random()*32);
|
||||
var authorName = authors[i].name || null;
|
||||
|
||||
|
||||
//overwrite the authorID of the attribute pool
|
||||
apool.numToAttrib[i][1] = authorID;
|
||||
|
||||
|
||||
//write the author to the database
|
||||
values["globalAuthor:" + authorID] = {"colorId" : authorColorID, "name": authorName, "timestamp": timestamp};
|
||||
|
||||
|
||||
//save in mappers
|
||||
newAuthorIDs[i] = authorID;
|
||||
oldName2newName[value] = authorID;
|
||||
}
|
||||
|
||||
|
||||
//save all revisions
|
||||
for(var i=0;i<changesets.length;i++)
|
||||
{
|
||||
values["pad:" + padId + ":revs:" + i] = {changeset: changesets[i],
|
||||
values["pad:" + padId + ":revs:" + i] = {changeset: changesets[i],
|
||||
meta : {
|
||||
author: newAuthorIDs[changesetsMeta[i].a],
|
||||
timestamp: changesetsMeta[i].t,
|
||||
atext: changesetsMeta[i].atext || undefined
|
||||
}};
|
||||
}
|
||||
|
||||
|
||||
//save all chat messages
|
||||
for(var i=0;i<chatMessages.length;i++)
|
||||
{
|
||||
values["pad:" + padId + ":chat:" + i] = {"text": chatMessages[i].lineText,
|
||||
"userId": oldName2newName[chatMessages[i].userId],
|
||||
values["pad:" + padId + ":chat:" + i] = {"text": chatMessages[i].lineText,
|
||||
"userId": oldName2newName[chatMessages[i].userId],
|
||||
"time": chatMessages[i].time}
|
||||
}
|
||||
|
||||
|
||||
//generate the latest atext
|
||||
var fullAPool = (new AttributePool()).fromJsonable(apool);
|
||||
var keyRev = Math.floor(padmeta.head / padmeta.keyRevInterval) * padmeta.keyRevInterval;
|
||||
var atext = changesetsMeta[keyRev].atext;
|
||||
var curRev = keyRev;
|
||||
while (curRev < padmeta.head)
|
||||
while (curRev < padmeta.head)
|
||||
{
|
||||
curRev++;
|
||||
var changeset = changesets[curRev];
|
||||
atext = Changeset.applyToAText(changeset, atext, fullAPool);
|
||||
}
|
||||
|
||||
values["pad:" + padId] = {atext: atext,
|
||||
pool: apool,
|
||||
head: padmeta.head,
|
||||
|
||||
values["pad:" + padId] = {atext: atext,
|
||||
pool: apool,
|
||||
head: padmeta.head,
|
||||
chatHead: padmeta.numChatMessages }
|
||||
|
||||
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
|
@ -407,13 +407,13 @@ function convertPad(padId, callback)
|
|||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
var sql = "";
|
||||
for(var key in values)
|
||||
{
|
||||
sql+="REPLACE INTO store VALUES (" + etherpadDB.escape(key) + ", " + etherpadDB.escape(JSON.stringify(values[key]))+ ");\n";
|
||||
}
|
||||
|
||||
|
||||
fs.writeSync(sqlOutput, sql, undefined, "utf-8");
|
||||
callback();
|
||||
}
|
||||
|
@ -429,24 +429,24 @@ function parsePage(array, pageStart, offsets, data, json)
|
|||
{
|
||||
var start = 0;
|
||||
var lengths = offsets.split(",");
|
||||
|
||||
|
||||
for(var i=0;i<lengths.length;i++)
|
||||
{
|
||||
var unitLength = lengths[i];
|
||||
|
||||
|
||||
//skip empty units
|
||||
if(unitLength == "")
|
||||
continue;
|
||||
|
||||
|
||||
//parse the number
|
||||
unitLength = Number(unitLength);
|
||||
|
||||
|
||||
//cut the unit out of data
|
||||
var unit = data.substr(start, unitLength);
|
||||
|
||||
|
||||
//put it into the array
|
||||
array[pageStart + i] = json ? JSON.parse(unit) : unit;
|
||||
|
||||
|
||||
//update start
|
||||
start+=unitLength;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"etherpadDB":
|
||||
"etherpadDB":
|
||||
{
|
||||
"host": "localhost",
|
||||
"port": 3306,
|
||||
|
|
|
@ -12,9 +12,9 @@ try:
|
|||
assert(os.path.exists(dirtydb_input))
|
||||
assert(not os.path.exists(dirtydb_output))
|
||||
except:
|
||||
print()
|
||||
print()
|
||||
print('Usage: %s /path/to/dirty.db' % sys.argv[0])
|
||||
print()
|
||||
print()
|
||||
print('Note: Will create a file named dirty.db.new in the same folder,')
|
||||
print(' please make sure permissions are OK and a file by that')
|
||||
print(' name does not exist already. This script works by omitting')
|
||||
|
|
|
@ -65,7 +65,7 @@ function processIncludes(inputFile, input, cb) {
|
|||
console.error(includes);
|
||||
var incCount = includes.length;
|
||||
if (incCount === 0) cb(null, input);
|
||||
|
||||
|
||||
includes.forEach(function(include) {
|
||||
var fname = include.replace(/^@include\s+/, '');
|
||||
if (!fname.match(/\.md$/)) fname += '.md';
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
ERROR_HANDLING=0
|
||||
# Your email address which should receive the error messages
|
||||
EMAIL_ADDRESS="no-reply@example.com"
|
||||
# Sets the minimum amount of time between the sending of error emails.
|
||||
# This ensures you do not get spammed during an endless reboot loop
|
||||
# Sets the minimum amount of time between the sending of error emails.
|
||||
# This ensures you do not get spammed during an endless reboot loop
|
||||
# It's the time in seconds
|
||||
TIME_BETWEEN_EMAILS=600 # 10 minutes
|
||||
|
||||
|
@ -39,7 +39,7 @@ do
|
|||
if [ ! -f ${LOG} ]; then
|
||||
touch ${LOG} || ( echo "Logfile '${LOG}' is not writeable" && exit 1 )
|
||||
fi
|
||||
|
||||
|
||||
#Check if the file is writeable
|
||||
if [ ! -w ${LOG} ]; then
|
||||
echo "Logfile '${LOG}' is not writeable"
|
||||
|
@ -48,21 +48,21 @@ do
|
|||
|
||||
#Start the application
|
||||
bin/run.sh $@ >>${LOG} 2>>${LOG}
|
||||
|
||||
|
||||
#Send email
|
||||
if [ $ERROR_HANDLING = 1 ]; then
|
||||
TIME_NOW=$(date +%s)
|
||||
TIME_SINCE_LAST_SEND=$(($TIME_NOW - $LAST_EMAIL_SEND))
|
||||
|
||||
|
||||
if [ $TIME_SINCE_LAST_SEND -gt $TIME_BETWEEN_EMAILS ]; then
|
||||
printf "Server was restarted at: $(date)\nThe last 50 lines of the log before the error happens:\n $(tail -n 50 ${LOG})" | mail -s "Pad Server was restarted" $EMAIL_ADDRESS
|
||||
|
||||
|
||||
LAST_EMAIL_SEND=$TIME_NOW
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
echo "RESTART!" >>${LOG}
|
||||
|
||||
|
||||
#Sleep 10 seconds before restart
|
||||
sleep 10
|
||||
done
|
||||
|
|
|
@ -70,11 +70,11 @@ This creates an empty apool. An apool saves which attributes were used during th
|
|||
```
|
||||
> apool.fromJsonable({"numToAttrib":{"0":["author","a.kVnWeomPADAT2pn9"],"1":["bold","true"],"2":["italic","true"]},"nextNum":3});
|
||||
> console.log(apool)
|
||||
{ numToAttrib:
|
||||
{ numToAttrib:
|
||||
{ '0': [ 'author', 'a.kVnWeomPADAT2pn9' ],
|
||||
'1': [ 'bold', 'true' ],
|
||||
'2': [ 'italic', 'true' ] },
|
||||
attribToNum:
|
||||
attribToNum:
|
||||
{ 'author,a.kVnWeomPADAT2pn9': 0,
|
||||
'bold,true': 1,
|
||||
'italic,true': 2 },
|
||||
|
|
|
@ -62,7 +62,7 @@ Example: `lang=ar` (translates the interface into Arabic)
|
|||
|
||||
## rtl
|
||||
* Boolean
|
||||
|
||||
|
||||
Default: true
|
||||
Displays pad text from right to left.
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ Returns: {SelectButton}
|
|||
* {String} value - The value of this option
|
||||
* {String} text - the label text used for this option
|
||||
* {Object} attributes - any additional html attributes go here (e.g. `data-l10n-id`)
|
||||
|
||||
|
||||
## registerButton(name, item)
|
||||
* {String} name - used to reference the item in the toolbar config in settings.json
|
||||
* {Button|SelectButton} item - the button to add
|
|
@ -124,7 +124,7 @@ If your plugin adds or modifies the front end HTML (e.g. adding buttons or chang
|
|||
|
||||
## Writing and running front-end tests for your plugin
|
||||
|
||||
Etherpad allows you to easily create front-end tests for plugins.
|
||||
Etherpad allows you to easily create front-end tests for plugins.
|
||||
|
||||
1. Create a new folder
|
||||
```
|
||||
|
|
|
@ -460,7 +460,7 @@ Pad.prototype.remove = async function remove() {
|
|||
// none of the operations except getting the group depended on callbacks
|
||||
// so the database operations here are just started and then left to
|
||||
// run to completion
|
||||
|
||||
|
||||
// is it a group pad? -> delete the entry of this pad in the group
|
||||
if (padID.indexOf("$") >= 0) {
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ function getAllLocales() {
|
|||
|
||||
//add core supported languages first
|
||||
extractLangs(npm.root+"/ep_etherpad-lite/locales");
|
||||
|
||||
|
||||
//add plugins languages (if any)
|
||||
for(var pluginName in plugins) extractLangs(path.join(npm.root, pluginName, 'locales'));
|
||||
|
||||
|
@ -94,11 +94,11 @@ exports.expressCreateServer = function(n, args) {
|
|||
res.status(404).send('Language not available');
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
args.app.get('/locales.json', function(req, res) {
|
||||
res.setHeader('Content-Type', 'application/json; charset=utf-8');
|
||||
res.send(localeIndex);
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -163,7 +163,7 @@ td, th {
|
|||
position: absolute;
|
||||
top: 0; left: 0; bottom:0; right:0;
|
||||
padding: auto;
|
||||
|
||||
|
||||
background: rgb(255,255,255);
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ body,
|
|||
#tbl_context_menu ul .yuimenuitemlabel,
|
||||
.yui-skin-sam .yui-split-button button em:not(.color-picker-button),
|
||||
#yui-picker-panel .button-group .yui-button:first-child button,
|
||||
#newComment .sidebar-comment input[type=reset], #newComment .sidebar-comment input[type=reset]:hover,
|
||||
#newComment .sidebar-comment input[type=reset], #newComment .sidebar-comment input[type=reset]:hover,
|
||||
#newComment .sidebar-comment input[type=submit]:hover,
|
||||
.suggestion, .comment-reply-input, .reply-suggestion p:not(.reply-comment-suggest-from-p), .comment-text,
|
||||
.sidebar-comment textarea, .reply-comment-suggest label, .comment-suggest label, .comment-reply-input
|
||||
|
@ -53,7 +53,7 @@ body,
|
|||
.suggestion .comment-suggest-from,
|
||||
.hyperlink-dialog>.hyperlink-url,
|
||||
.timeslider #padcontent span ,
|
||||
.exporttype, .timeslider #export > p
|
||||
.exporttype, .timeslider #export > p
|
||||
{ color: #2E3338 !important; }
|
||||
|
||||
/* MENUS ICONS */
|
||||
|
@ -61,7 +61,7 @@ body,
|
|||
#tbl-menu:before
|
||||
{ color: #767676 !important; }
|
||||
/* MENU BUTTONS */
|
||||
.timeslider #editbar .buttontext
|
||||
.timeslider #editbar .buttontext
|
||||
{ background-color: #767676 !important; }
|
||||
|
||||
/* PRIMARY BUTTONS */
|
||||
|
@ -74,13 +74,13 @@ body,
|
|||
.comment-changeTo-approve input[type=submit],
|
||||
.hyperlink-dialog>.hyperlink-save,
|
||||
#importsubmitinput, #forcereconnect
|
||||
{
|
||||
background-color: #64d29b;
|
||||
{
|
||||
background-color: #64d29b;
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* PRIMARY COLOR */
|
||||
h1,
|
||||
h1,
|
||||
#titlelabel,
|
||||
.yui-skin-sam .yui-panel .hd,
|
||||
p[data-l10n-id="ep_comments_page.comment"],
|
||||
|
@ -88,7 +88,7 @@ p[data-l10n-id="ep_comments_page.comment"],
|
|||
.stepper, #importmessageabiword, #importmessageabiword > a
|
||||
{ color: #64d29b; }
|
||||
#ui-slider-handle, #playpause_button_icon {
|
||||
background-color: #64d29b;
|
||||
background-color: #64d29b;
|
||||
}
|
||||
.stepper {
|
||||
border-color: #64d29b;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
}
|
||||
|
||||
#chatbox.stickyChat {
|
||||
width: 193px !important;
|
||||
width: 193px !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
|||
|
||||
#titlelabel, #chatlabel {
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#titlelabel { font-size: 16px; }
|
||||
|
@ -40,7 +40,7 @@
|
|||
|
||||
#chattext {
|
||||
top: 45px;
|
||||
font-size: 13px;
|
||||
font-size: 13px;
|
||||
bottom: 52px;
|
||||
overflow-y: auto;
|
||||
padding: 0;
|
||||
|
@ -49,13 +49,13 @@
|
|||
}
|
||||
|
||||
.plugin-ep_author_neat #chattext {
|
||||
padding: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.plugin-ep_author_neat #chattext.authorColors p,
|
||||
.plugin-ep_author_neat #chattext.authorColors p,
|
||||
.plugin-ep_author_neat #chattext.authorColors span {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
}
|
||||
|
||||
#chattext p b {
|
||||
color: #4c4c4c;
|
||||
|
@ -76,7 +76,7 @@
|
|||
}
|
||||
|
||||
#chatbox.stickyChat #chattext {
|
||||
padding: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#chatinputbox {
|
||||
|
@ -85,7 +85,7 @@
|
|||
|
||||
#chatinput {
|
||||
width: calc(100% - 20px);
|
||||
float: right;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.plugin-ep_author_neat #chatbox.stickyChat #chattext {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
#importmessageabiword {
|
||||
#importmessageabiword {
|
||||
font-style: italic;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
border-right: 5px solid transparent;
|
||||
}
|
||||
|
||||
#sidedivinner>div {
|
||||
#sidedivinner>div {
|
||||
line-height: 24px;
|
||||
font-size: 10px !important;
|
||||
color: #a0a0a0;
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
.toolbar ul li a:hover,
|
||||
.toolbar ul li a.selected,
|
||||
.toolbar ul li a:focus {
|
||||
background: none !important;
|
||||
background: none !important;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ table#otheruserstable {
|
|||
bottom: 42px;
|
||||
left: initial;
|
||||
top: initial !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#users.chatAndUsers {
|
||||
|
@ -87,7 +87,7 @@ table#otheruserstable {
|
|||
box-shadow: none;
|
||||
border: none !important;
|
||||
padding: 10px;
|
||||
padding-top: 15px;
|
||||
padding-top: 15px;
|
||||
}
|
||||
|
||||
#users.chatAndUsers #myusernameedit {
|
||||
|
|
|
@ -9,26 +9,26 @@
|
|||
|
||||
#editorcontainer {
|
||||
top: 41px !important;
|
||||
padding-top: 0 !important;
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
#outerdocbody, .timeslider #editorcontainerbox {
|
||||
#outerdocbody, .timeslider #editorcontainerbox {
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
padding-top: 20px;
|
||||
margin: 0 auto;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
#outerdocbody {
|
||||
overflow-y: auto;
|
||||
position: relative;
|
||||
background-color: transparent;
|
||||
background-color: transparent;
|
||||
padding-left: 40px; /* space for side div */
|
||||
}
|
||||
|
||||
#outerdocbody.plugin-ep_author_neat {
|
||||
padding-left: 120px; /* more space for sidediv */
|
||||
}
|
||||
@media (max-width:600px) {
|
||||
@media (max-width:600px) {
|
||||
#outerdocbody.plugin-ep_author_neat { padding-left: 0; }
|
||||
#options-linenoscheck { display:none; }
|
||||
#options-linenoscheck ~ label { display:none; }
|
||||
|
@ -42,16 +42,16 @@
|
|||
display: block;
|
||||
position: relative;
|
||||
left: 0 !important;
|
||||
top: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
#outerdocbody iframe, .timeslider #editorcontainerbox {
|
||||
padding: 55px;
|
||||
box-shadow: 0 0 0 0.5px rgba(209, 209, 209, 0.32), 0 0 7pt 0pt rgba(204, 204, 204, 0.52);
|
||||
box-shadow: 0 0 0 0.5px rgba(209, 209, 209, 0.32), 0 0 7pt 0pt rgba(204, 204, 204, 0.52);
|
||||
border: 0;
|
||||
border-radius: 5px;
|
||||
background-color: white;
|
||||
width: calc(100% - 110px) !important; /* 100% - padding */
|
||||
width: calc(100% - 110px) !important; /* 100% - padding */
|
||||
}
|
||||
|
||||
#sidediv {
|
||||
|
@ -62,8 +62,8 @@
|
|||
padding: 0;
|
||||
}
|
||||
|
||||
#outerdocbody.plugin-ep_author_neat #sidediv {
|
||||
right: calc(100% - 113px);
|
||||
#outerdocbody.plugin-ep_author_neat #sidediv {
|
||||
right: calc(100% - 113px);
|
||||
}
|
||||
|
||||
/* Fixs comments_page & author_hover does not take in account the document padding */
|
||||
|
@ -73,22 +73,22 @@
|
|||
|
||||
#outerdocbody.plugin-ep_author_neat .authortooltip{ margin-left: 145px; }
|
||||
#outerdocbody.plugin-ep_author_neat .caretindicator{ margin-left: 52px; margin-top: 65px!important;}
|
||||
@media (max-width:1000px) {
|
||||
#outerdocbody.plugin-ep_author_neat .authortooltip{ margin-left: 115px; }
|
||||
.caretindicator{ margin-left: 13px; }
|
||||
#outerdocbody.plugin-ep_author_neat .caretindicator{ margin-left: 17px; }
|
||||
@media (max-width:1000px) {
|
||||
#outerdocbody.plugin-ep_author_neat .authortooltip{ margin-left: 115px; }
|
||||
.caretindicator{ margin-left: 13px; }
|
||||
#outerdocbody.plugin-ep_author_neat .caretindicator{ margin-left: 17px; }
|
||||
}
|
||||
|
||||
@media (min-width: 1381px) {
|
||||
@media (min-width: 1381px) {
|
||||
#outerdocbody.plugin-ep_comments_page { padding-right: 150px; } }
|
||||
#outerdocbody.plugin-ep_comments_page #comments { left: calc(100% - 150px) }
|
||||
@media (max-width: 1380px) {
|
||||
@media (max-width: 1380px) {
|
||||
#outerdocbody.plugin-ep_comments_page #comments { left: calc(100% - 220px) }
|
||||
#outerdocbody.plugin-ep_comments_page { padding-right: 220px; }
|
||||
#outerdocbody.plugin-ep_comments_page { padding-right: 220px; }
|
||||
}
|
||||
@media (max-width: 1278px) {
|
||||
@media (max-width: 1278px) {
|
||||
#outerdocbody.plugin-ep_comments_page #comments { display: none; }
|
||||
#outerdocbody.plugin-ep_comments_page { padding-right: 0px; }
|
||||
#outerdocbody.plugin-ep_comments_page { padding-right: 0px; }
|
||||
}
|
||||
|
||||
@media (max-width:1000px) {
|
||||
|
@ -101,17 +101,17 @@
|
|||
border-radius: 0;
|
||||
width: calc(100% - 40px) !important; /* 100% - padding */
|
||||
}
|
||||
#sidediv {
|
||||
#sidediv {
|
||||
top: 20px !important; /* = #outerdocbody iframe padding-top */
|
||||
}
|
||||
}
|
||||
|
||||
.comment-modal, .authortooltip { margin-top: 20px !important; }
|
||||
.caretindicator { margin-top: 0px !important; }
|
||||
#outerdocbody.plugin-ep_author_neat .caretindicator { margin-top: 10px !important; }
|
||||
|
||||
#outerdocbody.plugin-ep_author_neat #sidedivinner>div:before { padding-right: 10px !important; }
|
||||
#outerdocbody.plugin-ep_author_neat #sidedivinner.authorColors>div,
|
||||
#outerdocbody.plugin-ep_author_neat #sidedivinner.authorColors>div.primary-none,
|
||||
#outerdocbody.plugin-ep_author_neat #sidedivinner.authorColors>div,
|
||||
#outerdocbody.plugin-ep_author_neat #sidedivinner.authorColors>div.primary-none,
|
||||
#outerdocbody.plugin-ep_author_neat #sidedivinner>div { padding-right: 6px!important; }
|
||||
#outerdocbody.plugin-ep_author_neat #sidediv { padding-right: 0 !important; }
|
||||
}
|
||||
|
@ -125,7 +125,7 @@
|
|||
padding: 15px !important;
|
||||
width: calc(100% - 30px) !important; /* 100% - padding */
|
||||
}
|
||||
#sidediv {
|
||||
#sidediv {
|
||||
display: none;
|
||||
top: 15px !important; /* = #outerdocbody iframe padding-top */
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#innerdocbody, #padcontent {
|
||||
font-size: 15px;
|
||||
line-height: 25px;
|
||||
line-height: 25px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
}
|
||||
|
||||
@media (max-width:720px) {
|
||||
#pad_title { display: none !important; }
|
||||
#pad_title { display: none !important; }
|
||||
}
|
||||
|
||||
#edit_title {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
background: none !important;
|
||||
width: 18px !important;
|
||||
padding-left: 2px !important;
|
||||
}
|
||||
}
|
||||
#tbl-menu:before {
|
||||
content: "\F0CE";
|
||||
}
|
||||
|
@ -51,7 +51,7 @@
|
|||
border: none;
|
||||
text-align: center;
|
||||
background-color: transparent;
|
||||
padding-top: 4px;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
#tbl_insert .yuimenuitemlabel { text-align: center; }
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
.timeslider #timeslider-top {
|
||||
position: relative;
|
||||
border-bottom: 1px solid #e4e4e4;
|
||||
border-bottom: 1px solid #e4e4e4;
|
||||
}
|
||||
|
||||
.timeslider-bar { background: none; }
|
||||
|
@ -60,8 +60,8 @@
|
|||
background-color: transparent;
|
||||
}
|
||||
|
||||
#timeslider, #timeslider-left, #timeslider-right {
|
||||
height: 57px;
|
||||
#timeslider, #timeslider-left, #timeslider-right {
|
||||
height: 57px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
@ -133,7 +133,7 @@
|
|||
text-align: center;
|
||||
border-radius: 50%;
|
||||
height: 25px;
|
||||
padding-top: 2px;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
.timeslider #authorsList .author {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@media (max-width:600px) {
|
||||
#sidediv {
|
||||
#sidediv {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
html {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0px;
|
||||
|
@ -60,7 +60,7 @@ body {
|
|||
}
|
||||
|
||||
#mocha h1 a:visited
|
||||
{
|
||||
{
|
||||
color: #00E;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue