Темплейт SVG от Xon

Темплейт SVG от Xon 2.7.0

Нет прав на скачивание
Совместимость с XF
  1. 2.3.x
  2. 2.2.x
Краткое описание
В зависимости от конфигурации этот плагин требует поддержку URL-rewriting веб-сервера!
Требуется Стандартная библиотека версии v1.12.0+
С зависимостью от конфигурации, этот дополнение требует поддержки URL-rewriting сервера веб-сервера!

Шаблон SVG​

С зависимостью от конфигурации, этот дополнение требует поддержки URL-rewriting сервера веб-сервера!
Разрешает хранение изображений SVG (Scalable Vector Graphics) в качестве шаблонов. Это создает новый файл svg.php в корневой директории XF.
Для генерации ссылки на шаблон SVG (шаблон должен заканчиваться на .svg!);
Код:
{{ getSvgUrl('tempate.svg') }}
Under Board information, if "Use Full Friendly URLs" (useFriendlyUrls) is set the URL generated is:
Code:
/data/svg/<style_id>/<langauge_id>/<style_last_modified>/<templateName.svg>
Otherwise
Code:
svg.php?svg=<templateName>&s=<style_id>&l=<langauge_id>&d=<style_last_modified>

Визуализация в PNG​

Преобразование SVG в PNG требует внешней поддержки и, в зависимости от ОС, может привести к необычным ограничениям или кривому отображению.

Поддержка php-imagick​

Не рекомендуется использовать Imagick, если это возможно!
Ubuntu (используя https://launchpad.net/~ondrej/+archive/ubuntu/phpPPA);
Код:
Код:
sudo apt install php7.4-imagick libmagickcore-6.q16-3-extra
sudo systemctl restart php7.4-fpm
Примечание; некоторые дистрибутивы требуют установки пакета libmagickcore-6.q16-3-extra для включения поддержки SVG.
Старые версии Imagick имеют плохую поддержку SVG, а также плохую репутацию по безопасности.

Поддержка CLI​

Это универсальный хвост для подключения произвольного преобразования PNG с использованием proc_open в php.
Настройка визуализации с помощью опции proc_open, включая;
{sourceFile} — исходный SVG, записанный как временный файл {destFile} — целевой файл PNG, записанный как временный файл
Или можно использовать пайпы для ввода/выхода
Примечание; имена шаблонов ограничены только буквенно-цифровыми строками, что поддерживается валидацией перед вызовом опции CLI.

Поддержка CLI resvg​

Пример использования resvg, настройка CLI команды с;
Код:
/usr/local/bin/resvg --quiet {sourceFile} {destFile}

Предварительно скомпилированный бинарный файл​

Предварительно скомпилированный x86_64 бинарный файл для Linux доступен здесь. Скомпилирован на CentOS 7, работает на Ubuntu 18.04/20.04

Сборка​

Сборка может быть связана с более новыми версиями glibc, что может привести к проблемам с совместимостью.
Код:
curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env
cargo install resvg
cp ~/.cargo/bin/resvg /usr/local/bin/resvg
chmod +x /usr/local/bin/resvg

Поддержка CLI Inkscape​

Примечание; используйте snap, иначе версия может быть слишком старой!
Код:
sudo snap install inkscape
Настройка CLI команды PIPE с;
Код:
inkscape --export-type=png -p

Функции​

Условное преобразование SVG в PNG (для CSS/LESS)​

Пример использования условного CSS для использования PNG вместо SVG для мобильных клиентов
Less:
Код:
.mod_interrupt--svg.mod_interrupt
{
&--stop
{
&:before
{
content: url({{ getSvgUrl('sv_bbcode_modinterrupt_stop.svg') }}) !important;
}
<xf:if is="$xf.svg.as.png">
        .is-tablet &:before,
        .is-mobile &:before
{
content: url({{ getSvgUrlAs('sv_bbcode_modinterrupt_stop.svg', 'png') }}) !important;
}
</xf:if>
}
}
Прямой использований в шаблонах;
Код:
<xf:if is="$xf.svg.enabled">
<xf:if is="$xf.svg.as.png and $xf.mobileDetect and $xf.mobileDetect.isMobile()">
<img src="{{ getSvgUrlAs('example.svg', 'png') }}"/>
<xf:else />
<img src="{{ getSvgUrlAs('example.svg', 'svg') }}"/>
</xf:if>
<xf:else />
<i class="fa fa-stop" />
</xf:if>

Интеграция маршрутизации XF2​

Хотя рекомендуется использование правил URL-rewriting веб-сервера, это дополнение поддерживает расширение системы маршрутизации XF2 для предоставления нулевой-конфигурационной поддержки шаблонов SVG.

URL-rewriting конфигурация Nginx​

Код:
location ^~ /data/svg/ {
   access_log off;
   rewrite ^/data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ /svg.php?svg=$4&s=$1&l=$2&d=$3$args last;
   return 403;
}

URL-rewriting конфигурация Apache​

Добавьте правило перед финальным файлом index.php;
Пример: должно выглядеть похоже на;
Код:
    RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&s=$1&l=$2&d=$3 [B,NC,L,QSA]
Природные функции или исправления ошибок
Прошу создать запрос Pull на GitHub через ссылку "Дополнительная информация".
Автор
anne51
Просмотры
576
Тип расширения
zip
Размер файла
37.7 КБ
Первый выпуск
Последнее обновление
Оценки 0.00 звезды 0 оценок
Link was Broken? Please Отправить сообщение команде NP, и мы поможем вам очень быстро!
Поддержите разработчика Если вы довольны тестом или ваш проект приносит доход, нажмите кнопку «Больше информации», чтобы поддержать разработчика покупкой.

Последние обновления

  1. 2.7.0 - change log
    Require StandardLib v1.23.0+ php 8.4+ compatibility fixes Prevent XF2.3 injecting the template...
  2. 2.6.3 - change log
    Fix falsy template name for svg's wasn't supported (ie 0.svg) Fix style variant support for...
  3. 2.6.2 - changelog
    Provide a better error message when getSvgUrl is used to request a png of an svg when svg => png...

Больше Ресурсов от anne51

TableTrack - The Complete SaaS Restaurant Management Solution A
tailored to meet the unique branding and operational needs of any dining establishment.
Просмотры
419
Обновлено
Off POS - Retail POS and Stock Software A
Revolutionize your retail operations with Off POS, the ultimate Retail POS and Stock Software.
Просмотры
340
Обновлено

Похожие ресурсы

[CinVin] Emoji Tweaks (use SVG images for emoji instead of PNG) A
a small add-on that will change the file extension of emoji images when served from a custom CDN
Просмотры
432
Обновлено
[FF] Page Criteria for Xon Browser Detection A
Просмотры
462
Обновлено
[SVG] Adblock Detected A
Everything is the same, in principle, with minor changes.
Просмотры
320
Обновлено
Вверх