Регулярные выражения не должны иметь вид:
var regex= /test/;
Все регулярные выражения для переносимости между браузерами должны быть созданы как новый объект:
var regex= new RegExp("test");
Все глобальные функции и переменные должны начинаться с двух знаков подчеркивания:
function __example()
Комментарии к коду на русском языке.
После внесения правок необходимо запустить deploy.py для сборки релизов.
Для вынесения изображений (которые хранятся в data-url) за пределы кода необходимо скрывать их data-url за псевдотэгом:
<img src='[DEPLOY:image64]images/path.png[/DEPLOY]'>
Если функция не сможет работать или бесполезна на каком-то из проектов Сети Знаний", то она должна проверять location, дабы не быть задействованной где не надо.
Каждый аддон представляет собой один файл в папке addons, они должны быть написаны с учетом того, что их код будет объединяться с кодом userjsloader путем помещения кода аддонов в конец. Функция с аддоном должна иметь то же имя, что и файл, только с двумя знаками подчеркивания в начале.
Файл: test.js Функция: function __test()
Желательно использовать следующий механизм для хранения данных аддона:
function __test() {
var settings= __addonsSettings.get(arguments.callee.name);
if (settings == null) settings= {
title: 'Ваш город', // title отвечает за заголовок, которым будет представлен аддон
description: 'Показывает город участника.' // description содержит описание
};
__addonsSettings.set(arguments.callee.name);
};
Если в настройках будет присутствовать элемент exports, то эти настройки будут отображаться в настройках аддона. order в свою очередь будет отвечать за порядок в котором настройки будут выведены на экран, если настройки нет в order, то на экран она выведена не будет. value это значение по умолчанию, оно может быть определено пользователем и его надо считывать, чтобы узнать значение настройки. Настройка checkbox переключает значения 0 и 1.
Возможны следующие типы настроек:
var defaultSettings= {
exports: {
bgcolor: {type: 'text', value:'bebebe', title:'Цвет фона:'},
usebgcolor: {type: 'checkbox', value='1', title:'Использовать цвет фона'},
country: {type: 'select', value='1', title:'Ваш город:', options:{'1':'Даллас', '2':'Вегас'} },
hideCountry: {type: 'radio', value='1', title:'Скрывать Ваш город:', options:{'1':'Нет', '2':'Да'} }
},
order: ['bgcolor', 'country', 'hideCountry', 'usebgcolor'],
title: 'Ваш город'
};
var settings= __addonsSettings.getUpdatedSettings( arguments.callee.name, defaultSettings );
Сборки релизов под разные браузеры производятся автоматически отдельным коммитом.