Прежде всего, спасибо всем за не блокирует или делая этот вопрос на сообщение как не кусок кода.
Я собирался поставить щедрость на этот вопрос, когда я решил попробовать себя еще раз и хорошо, я решил проблему после многого. Хотя, это помогло мне лучше понять эфир.
Я хочу перечислить две важные ссылки, связанные с EtherPad:
- https://github.com/ether/etherpad-lite/wiki
- О ЦСИ - https://github.com/ether/etherpad-lite/wiki/Introduction-to-the-source
Они могут быть очень важно, если вы пытаетесь понять EtherPad или хотите сделайте некоторые изменения самостоятельно.
Так вот как вы это делаете:
В src/static/js/ace2_inner.js
, перейдите к setAuthorStyle
функции и заменить:
// author color
authorStyle.backgroundColor = bgcolor;
parentAuthorStyle.backgroundColor = bgcolor;
// text contrast
if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.5)
{
authorStyle.color = '#ffffff';
parentAuthorStyle.color = '#ffffff';
}else{
authorStyle.color = null;
parentAuthorStyle.color = null;
}
// anchor text contrast
if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.55)
{
anchorStyle.color = colorutils.triple2css(colorutils.complementary(colorutils.css2triple(bgcolor)));
}else{
anchorStyle.color = null;
}
С:
authorStyle.backgroundColor = '#ffffff';
parentAuthorStyle.backgroundColor = '#ffffff';
authorStyle.color = bgcolor;
parentAuthorStyle.color = bgcolor;
и закомментируйте:
if ((typeof info.fade) == "number")
{
bgcolor = fadeColor(bgcolor, info.fade);
}
Ofcource не забудьте перезапустить процесс на bin/run.sh
для изменений.
Люди, заинтересованные в понимании того, как это работает, могут продолжать чтение.
Затем эта переменная globalUserColor
заполняет pad.myUserInfo.colorId
в том же файле.
Сейчас в collab_client.js
, это colorId
сохраняется в cssColor
в функции tellAceAuthorInfo
и editor.setAuthorInfo
вызывается давая параметр bgcolor: cssColor
.
Теперь эта функция setAuthorInfo
существует в src/static/js/ace2_inner.js
, которая вызывает другую собственную функцию (тот же файл) setAuthorStyle
, где мы внесли изменения.
То, что я сделал то, что вместо того, чтобы изменить цвет фона с переменной при условии bgcolor
, который на самом деле имеет место userColor
:
authorStyle.backgroundColor = bgcolor;
parentAuthorStyle.backgroundColor = bgcolor;
Я изменил backgroundColor
на белый (#ffffff) и цвет текста в bgcolor
:
authorStyle.backgroundColor = '#ffffff';
parentAuthorStyle.backgroundColor = '#ffffff';
authorStyle.color = bgcolor;
parentAuthorStyle.color = bgcolor;
Я также удалил:
// text contrast
if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.5)
{
authorStyle.color = '#ffffff';
parentAuthorStyle.color = '#ffffff';
}else{
authorStyle.color = null;
parentAuthorStyle.color = null;
}
// anchor text contrast
if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.55)
{
anchorStyle.color = colorutils.triple2css(colorutils.complementary(colorutils.css2triple(bgcolor)));
}else{
anchorStyle.color = null;
}
Поскольку эти линии задают контрастность текста в зависимости от выбранного цвета фона. Но я сделал фоновый белый цвет и задал цвет текста для заданного userColor
, поэтому мне больше не нужна контрастная функциональность.
В конце концов я также прокомментировал:
if ((typeof info.fade) == "number")
{
bgcolor = fadeColor(bgcolor, info.fade);
}
Потому что это делает текст увядает, когда пользователь не в сети, по крайней мере, для меня это сделал.
Вот и все. Я надеюсь, что это поможет тем, кто хочет иметь такую же функциональность, как и я.