Skip to content

fix(packages): render Markdown on provider View Details - #10

Open
Ibochkarev wants to merge 2 commits into
3.xfrom
fix/15329-package-details-markdown
Open

fix(packages): render Markdown on provider View Details#10
Ibochkarev wants to merge 2 commits into
3.xfrom
fix/15329-package-details-markdown

Conversation

@Ibochkarev

@Ibochkarev Ibochkarev commented Aug 21, 2026

Copy link
Copy Markdown
Member

Что сделано

Экстра на modx.com отдают Markdown в description, instructions и changelog. В Package Manager → View Details эти поля приходили как сырой текст, поэтому Omise показывал ссылки [Omise](…) и заголовки ## Setup вместо форматированного HTML.

Добавил PackageMarkdown (Parsedown с safeMode) и запускаю его в Workspace/Packages/Rest/GetList для payload списка/деталей провайдера. Локальный GetAttribute переиспользует тот же хелпер для транспортных атрибутов. license провайдера остаётся plain text для блока Information. CSS для code / pre / img теперь также применяется под #modx-package-browser-details-main.

Как проверить

  1. Manager → Extras → Installer → Download Extras (modx.com).
  2. Найдите Omise, откройте View Details.
  3. Description должен показывать реальную ссылку на omise.co, а не [Omise](https://www.omise.co).
  4. Instructions должен показывать заголовки (Setup, Customising the Payment Form) и стилизованный блок кода.
  5. Блок License должен оставаться короткой plain-строкой (например GPLv2), без обёртки в <p>.
  6. Поток установки: откройте вкладки Readme / Changelog / License на локальном пакете и подтвердите, что Markdown по-прежнему рендерится.
php -l core/src/Revolution/Transport/PackageMarkdown.php
php -l core/src/Revolution/Processors/Workspace/Packages/GetAttribute.php
php -l core/src/Revolution/Processors/Workspace/Packages/Rest/GetList.php
# exit 0

core/vendor/bin/phpcs --standard=phpcs.xml \
  core/src/Revolution/Transport/PackageMarkdown.php \
  core/src/Revolution/Processors/Workspace/Packages/GetAttribute.php \
  core/src/Revolution/Processors/Workspace/Packages/Rest/GetList.php \
  _build/test/Tests/Model/Transport/PackageMarkdownTest.php
# exit 0

core/vendor/bin/phpunit -c _build/test/phpunit.xml --filter PackageMarkdownTest
# exit 0 (4 теста, 12 assertions)

Связанные

Refs modxcms#15329
Связанные: Markdown для локальных атрибутов пакета пришёл в modxcms#13853 / modxcms#16829; это расширяет ту же идею на provider View Details.

Совместимость

Менеджер Package Management + провайдеры modx.com (или другие). PHP 8.1+. Использует существующую зависимость erusev/parsedown. CSS дефолтной темы обновлён из _package-management.scss.

Оригинал: modxcms#17001

Provider package description/instructions/changelog were shown as raw
Markdown (e.g. Omise). Parse those fields with Parsedown safeMode and
reuse the helper for local GetAttribute attributes.
Source SCSS stays; theme CSS is rebuilt at release, not in this PR.
@Ibochkarev Ibochkarev changed the title fix(packages): рендер Markdown в provider View Details fix(packages): render Markdown on provider View Details Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant