1

Тема: Помогите создать тэг для CustomEditorButton2

Страница плагина CustomEditorButton2 - http://mt.aklaswad.com/plugins/custom-e … ton-2.html
Создание для него тэгов - http://mt.aklaswad.com/plugins/writting … ugins.html

Ни хрена не понятно что делать. Тем более с английским не очень. Нид хэлп.
Нужно создать тэг "code" как на этом форуме. Т.е. текст должен быть в рамке, Если текст оч. длинный, выводит результат — полосу прокрутки в поле сообщения.

Скажите что делать, по пунктам =)

2

Re: Помогите создать тэг для CustomEditorButton2

1. Открыть файл plugins/CustomEditorButton2/config.yaml.

2. В конец файла добавить:

    codebutton:
        image: code.png
        title: 'Код'
        code: |
            function ceb_code ( text ) {
                return '<code>' + text + '</code>';
            }

При этом следует учесть, что это формат YAML (http://ru.wikipedia.org/wiki/YAML), он он чуткий для пробелов, табуляции и вложенности. Объект codebutton должен входить в buttons. Также файл должен быть в кодировке UTF-8.

3. В папку mt-static/plugins/CustomEditorButton2/images положить файл code.png для отображения иконки.


Но вообще, в плагине по умолчанию есть готовая кнопка для добавления кода. И она даже кодирует символы, как нужно. Правда, код будет помещён не в тег <code>, а в тег <pre class="code">. Но это особой роли не играет.

А чтобы код помещался на экране, нужно в CSS файл добавить следующее:

.code { 
    overflow-x: auto;
    overflow-y: auto;
}

3 Отредактировано tak0dmin (21:12:2009 15:25:28)

Re: Помогите создать тэг для CustomEditorButton2

Делаю, все как написано, но при обновлении выводит ошибку "Hash line over-indented" в файле config.yaml.
Код вставлял "правильным редактором" Notepad2.
Будет очень нагло, если я попрошу готовый файлег config.yaml по данному вопросу? =)

4

Re: Помогите создать тэг для CustomEditorButton2

Это как раз и следствие того, что неправильно размещены данные в формате YAML :)

Вот конфиг для этого плагина:
http://saahov.ru/uploads/2009/12/22/config.yaml
Кнопка, которую я там указал, практически ничем не отличается от присутствовавшего там codeblock — просто дополнительно код заключается ещё и в тег <code>.

5

Re: Помогите создать тэг для CustomEditorButton2

Андрей, спасибо за помощь!
Просмотрев файл, нашел изменения

 codebutton:
        image: images/code.png
        title: 'РљРѕРґ'
        code: |
            function ceb_code ( text ) {
                text = text.replace(/&/g, "&amp;");
                text = text.replace(/</g, "&lt;");
                text = text.replace(/>/g, "&gt;");
                text = text.replace(/"/g, "&quot;");
                return '<pre class="code"><code>' + text + '</code></pre>';
            } 

Другими словами, при выделении текста и нажатии кнопочки code.png, текст меняет шрифт и обрамляется рамкой (как в этом сообщении). Этого не происходит. Ничего не происходит.
Это тэг <code> по-умолчанию:

codeblock:
        image: images/codeblock.png
        title: encode HTML and wrap the selection by 'pre class="code"'
        code: |
            function ceb_codeblock ( text ) {
                text = text.replace(/&/g, "&amp;");
                text = text.replace(/</g, "&lt;");
                text = text.replace(/>/g, "&gt;");
                text = text.replace(/"/g, "&quot;");
                return '<pre class="code">' + text + '</pre>'; 

Он не устраивает, т.к. просто меняет шрифт текста. Т.е. визуально текст практически не отличается от обычного.

В конечном итоге хочу добиться работы этого кода, чтобы он визуально был аналогичен коду <code> этого форума. Может, и картиночку свистну =)
Возможно, я создаю себе проблемы сам, может существует функциональный плагин bb-кодов для редактора MT (смотрел только FCKeditor. Не понравился).

6

Re: Помогите создать тэг для CustomEditorButton2

Сама по себе кнопка — она и должна только заключать выделенный текст в какой-нибудь блоковый тег, например pre или code. Как этот тег будет отображаться на сайте — дело CSS. Так что, вам осталось оформить только визуальное оформление. В интернете много примеров есть: http://www.google.ru/search?q=code+styling+with+css