Возможность для пользователей строить графики и диаграммы данных

Мне очень нравится поддержка Discourse для inline-LaTeX при обсуждении математики и для Mermaid при создании диаграмм, но мне не хватало возможности брать небольшие фрагменты данных и строить по ним графики с осями X/Y — переход в электронную таблицу и экспорт PNG утомителен. Однако, после некоторого изучения исходного кода компонента темы Mermaid, я добился успеха в создании компонента темы для plotly.js. Он находится здесь:

После его включения вы можете построить точечный график следующим образом:

```plotly
data:
  - x: [0,300,400]
    y: [0,950,1050]
    name: Старый мемпул
  - x: [0,200,400]
    y: [0,700, 1150]
    name: Новый мемпул
layout:
  title: Тестовый график
```

что даст изображение, подобное этому:

Или, предположительно, любой из других типов графиков, которые можно создать, передав значения data/layout в plotly.js.

Особенно приятно то, что графики по умолчанию интерактивны: вы можете видеть фактические значения точек при наведении, приближать и отдалять масштаб, а также сохранять изображение в формате PNG. И, конечно же, исходные данные доступны в исходном коде сообщения.

Я ещё не развернул это в рабочей среде, поэтому могу сказать только, что оно, кажется, работает в тестовой среде; но я хотел поделиться этим заранее, особенно на случай, если кто-то захочет взять на себя поддержку проекта вместо меня… :slight_smile: (Также, если существует какой-то лучший способ сделать это, который я каким-то образом упустил, я буду рад узнать об этом, прежде чем тратить на это слишком много времени…)

(Минифицированный файл plotly.js весит более 4 МБ, поэтому, думаю, нужно увеличить настройку «максимальный размер вложения» до 5 МБ, чтобы это работало?)

Это здорово, отличная работа!

Когда будете готовы запустить это в продакшен, пожалуйста, разместите его в категории Customization > Theme component. Буду рад увидеть это рядом с компонентом mermaid. (Кстати, у нас также есть плагин graphviz, который делает что-то подобное.)

Кроме того, у plotly живое сообщество, им тоже будет интересно узнать об этом: