Formatting toolbar

Я сделал здесь свой, крайне субъективный форк:

Он выглядит так и требует плагина для математики:

Есть ли способ переместить некоторые кнопки в меню шестерёнки?

1 лайк

Способ кодирования кнопок в меню шестерёнки немного отличается. Вы можете вдохновиться моим компонентом темы: https://github.com/iunctis/md-composer-extras/blob/master/desktop/head_tag.html

Вот пример кнопки на панели инструментов

api.onToolbarCreate(toolbar => {
    toolbar.addButton({
        id: "align_justify_button",
        group: "extras",
        icon: "align-justify",
        perform: e => e.applySurround('[wrap="justify"]\n', '\n[/wrap]', 'align_justify_text')
    });
});

А вот пример кнопки в меню

api.addToolbarPopupMenuOptionsCallback(() => {
  return {
      action: "columns",
      icon: "columns",
      label: "columns_button"
  };
});

api.modifyClass("controller:composer", {
  actions: {
       columns() {
	  this.get("toolbarEvent").applySurround('[wrap="columns"]\n', '\n[/wrap]', "columns_text");
	}
  }
});
3 лайка

Да, TinyMCE WYSIWYG Editor — хороший вариант для работы. Есть и несколько других достойных провайдеров. Но я сам привык к старому стилю WordPress, поэтому хотел бы выбрать именно его.

Интересовался, доступен ли этот плагин в виде компонента темы? Спасибо.

Существует компонент темы: https://github.com/iunctis/md-composer-extras

Есть несколько различных вариантов, но в целом идея примерно одинаковая.

Да, спасибо, Стивен, но в компоненте темы отсутствует опция для настройки цвета текста. Желательно, чтобы это было более интуитивно, чем BBCode, с палитрой цветов и возможностью выбора предустановленного текста.

Честно говоря, я не знаю, возможно ли реализовать что-то подобное в компоненте темы. В компоненте темы есть ветка с базовым вариантом цвета BBCode https://github.com/iunctis/md-composer-extras/tree/color.

У меня очень базовые знания в программировании, поэтому я не тот, кто мог бы создать палитру цветов. Но я с радостью приму pull request, если кто-то захочет обновить плагин!

О, мне очень нравятся все эти опции форматирования, и к слову, я почти исключительно использую floatr :wink:
Где я могу увидеть эту опцию в виде цитаты?
В классической теме нет CSS-опции для добавления или отключения кнопок.
А после установки я получил эту ошибку:
/var/discourse# неожиданно найдено «! template-lint-disable ~» при обрезке исходного кода, но ожидалось « template-lint-disable »

Думаю, эта ошибка не исходит от того плагина. У меня она тоже была — ничего не сломалось, впрочем. Полагаю, она из ядра.

Спасибо, @Jagster. Я добавил этот компонент темы

и «удалил» плагин, и теперь ошибка исчезла, так что…

Интересно :thinking: Потому что я его не использую. Может быть, есть какой-то другой плагин, который использует то же самое?

Чёрт… Мне нужно проверить, не забыл ли я это после того, как попробовал его —>

Аааа, и я вернулся. Оно у меня было, но закомментировано. Может, вторая пересборка — это ключ к решению?

Эти опции были удалены несколько лет назад, когда вышла более новая версия Discourse. К сожалению, у меня нет ни знаний, ни времени, чтобы восстановить их.

Что касается вашей проблемы, вам нужно выбрать либо плагин, либо компонент темы, иначе всё сломается, так как они используют практически один и тот же код.

Удалите компонент темы, если хотите попробовать плагин.

Обратите внимание, что этот плагин или компонент темы также конфликтует с такими плагинами, как официальный bbcode для Discourse.

2 лайка

Возможно, пора обновить верхний пост с этой информацией и отключить ссылку на GitHub? В принципе, она сейчас не работает.

Идея была отличной (спасибо), и жаль, что это не стало стандартом в Discourse или не поддерживается как дополнение.

Плагин работает, упоминание этих опций было удалено в исходном посте, а я добавил несколько предупреждений некоторое время назад. Нет причин что-либо редактировать и отключать плагин в данный момент.

1 лайк

Крутой плагин панели инструментов! Хотелось бы узнать, сможете ли вы добавить двухцветный bbcode для цвета фона?

Ещё одна интересная идея — использование выпадающих списков в панели инструментов. Это может быть полезно, например, на мобильных устройствах.

Также интересно, есть ли у вашего плагина полный список поддерживаемых bbcode-тегов.

Спасибо.

Думаю, я могу добавить совместимость. Основа кода доступна в этом официальном плагине: discourse-bbcode-color/assets/javascripts/lib/discourse-markdown/bbcode-color.js at main · discourse/discourse-bbcode-color · GitHub

Я подумаю над этим. Скорее всего, я не буду добавлять кнопку :thinking:

Я добавил поддержку следующих BB-кодов:

color=
size=
small
floatl
floatr
floatc
left
center
right
justify

1 лайк

Спасибо большое. Да, нам действительно не нужны кнопки для всего. :clinking_beer_mugs::smiling_face_with_sunglasses::+1::sparkles: :discourse:

Добавлена поддержка bbcode-тега [bgcolor]

1 лайк

Привет! Если текст внутри тегов bbcode содержит две последовательные новые строки или последовательные символы новой строки и возврата каретки:

[center]
text "\n\n" text
[/center]

[center]
text "\r\n" text
[/center]

то в постах отображается обычный текст вместе с самими тегами [center][/center].

Однако в этом случае:

[center]
text "\n" text
[/center]

or

[center]
text text
[/center]

bbcode корректно обрабатывается, и текст выравнивается по центру.

Я думал, что это ограничение платформы Discourse, но, возможно, мы можем что-то с этим сделать?

Вы включили расширенный редактор (первая кнопка), но плагин пока не совместим с ним.

Последний раз, когда я проверял, он должен работать с редактором Markdown.

2 лайка