Строка 2339 из wmd.js может быть хорошим местом для начала:
Attacklab.wmd_defaults = {version:1, output:"HTML", lineLength:40, delayLoad:false};
Добавьте опцию для каждого идентификатора div, который нужно изменить.
Вы переопределяете эти настройки, добавляя блок скрипта перед включением wmd.js, например:
<script type="text/javascript">wmd_options = {"output": "Markdown"};</script>
Затем измените функцию wmd.PanelCollection
на ..
wmd.PanelCollection = function(){
this.buttonBar = doc.getElementById(wmd.wmd_env["wmd-button-bar"]);
this.preview = doc.getElementById(wmd.wmd_env["wmd-preview"]);
this.output = doc.getElementById(wmd.wmd_env["wmd-output"]);
this.input = doc.getElementById(wmd.wmd_env["wmd-input"]);
};
Обратите внимание, что это полностью не проверено и может не сработать, но по сравнению с автоматической генерацией редактора ОМУ или созданием нескольких копий это немного более элегантно ..
Редактировать : я пытался внести изменения, но это не так просто, как добавление в wmd_defaults - различные элементы (в основном панель кнопок) используют идентификатор, а не класс, но это близко. .
Редактировать 2 : После долгих раздумий я бы сказал, что в основном ответ "нет".
Лучший ответ - нет, не без каких-либо довольно больших изменений в ОМУ (изменений, которые выходят за рамки моего очень ограниченного опыта работы с javascript) ..
Я попытался переместить все жестко запрограммированные имена div в настройки и добавил настройку "elementNamePrefix" для всех имен классов кнопок, вместо того, чтобы использовать "wmd-spacer1"
, он использовал wmd.wmd_env["elementNamePrefix"] + "spacer1"
... но даже с этим вам нужно дублировать элементы в файле CSS, и изменения вызвали странное поведение, которое я не смог исправить (я думаю, из-за глобальной переменной AttackLab, определенной в первой строке? Не уверен) ..
Возможно, в качестве альтернативы наличию нескольких элементов управления ОМУ у вас может быть раскрывающийся список, который загружает различные сообщения через AJAX? Конечно, было бы проще, чем модифицировать ОМУ, чтобы разрешить несколько экземпляров.