SVG Template by Xon

SVG Template by Xon 2.7.0

Нет прав на скачивание
Совместимость с XF
  1. 2.3.x
  2. 2.2.x
Краткое описание
XenForo 2 SVG Template Add-on v1.12.0+: Разрешает хранить и генерировать шаблоны SVG для легкой управления изображениями. 支持 URL 重写以获得干净的 URLs 并使用 CLI 或预编译二进制文件如 php-imagick, resvg 和 Inkscape 渲染为 PNG。通过 Nginx/Apache 重写规则与 XenForo 2 路由系统兼容。
НеобходимоStandard Library By Xonv1.12.0+
В зависимости от настройки, этот плагин требует поддержку URL-rewriting веб-сервера!


SVG шаблон​

В зависимости от настройки, этот плагин требует поддержку URL-rewiting веб-сервера!
Разрешает хранить 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​

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

php-imagick-support​

Этонедопустимоеиспользовать Imagick если можно! Ubuntu (используя )https://launchpad.net/~ondrej/+archive/ubuntu/phpPPA); Code:
Код:
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.
Настроить Render с использованием опции proc_open;
<CLI-binary> {destFile} {sourceFile}
{sourceFile} является исходным SVG и записан как временный файл {destFile} - это конечный PNG-файл как временный файл
Или вход/выход можно сделать через потоки данных
Примечание: Имена шаблонов только алphanumerические строки, которые фиксируются перед вызовом командной строки

resvg cli поддержка​

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

Подготовленный бинарник​

Предварительно скомпилированный линукс x86_64 бинарник доступенhereСкомпилировано на 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 для клиентов мобильных устройств
Код:
.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>

XenForo 2 маршрутизация интеграция​

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


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

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

Apache URL rewrite config​

Добавить правило перед final index.php;
Код:
    RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&s=$1&l=$2&d=$3 [B,NC,L,QSA]
и, должен выглядеть похожим на;
Код:
    #    If you are having problems with the rewrite rules, remove the "#" from the
    #    line that begins "RewriteBase" below. You will also have to change the path
    #    of the rewrite to reflect the path to your XenForo installation.
    #RewriteBase /xenforo
    RewriteCond %{REQUEST_FILENAME} -f 
    RewriteCond %{REQUEST_FILENAME} -l 
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - 
    RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - 
    RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&s=$1&l=$2&d=$3 [B,NC,L,QSA]
    RewriteRule ^.*$ index.php
Приносящие функции или исправления баговСоздайте запрос наpullvia ссылкой "Дополнительная информация".
Автор
anne51
Просмотры
667
Тип расширения
zip
Размер файла
37.7 КБ
Первый выпуск
Последнее обновление
Оценки 0.00 звезды 0 оценок
Ссылка не работает? Отправить сообщение команде NP, и мы поможем вам очень быстро!
Поддержите разработчика Если вы довольны тестом или ваш проект приносит доход, нажмите кнопку «Больше информации», чтобы поддержать разработчика покупкой.

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

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

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

Литература - Библиотека, Издательство и Книжный магазин для WordPress Темы A
Литература - это мощный и привлекательный Тема Буквоед на WordPress.
Просмотры
153
Обновлено
Fluent Community Pro A
Fluent Community Pro 2.7.0 Nulled
Создайте быструю и отзывчивуюcommunity без замедления вашего сервера – никакого излишеств, только производительность
Просмотры
443
Обновлено
Realar - Real Estate WordPress Theme A
that is perfect for Renting or Selling your Apartment, House, Villa, Farm House and Raw House
Просмотры
237
Обновлено

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

[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
Просмотры
499
Обновлено
[FF] Page Criteria for Xon Browser Detection A
dd a new set of criterion to the Page criteria
Просмотры
590
Обновлено
[MMO] Allow Template Modification A
As you know, the developers decided to take the opportunity in 2.1.8
Просмотры
295
Обновлено
Назад
Вверх