资源图标

Add-ons/Plugins Svg Template by Xon 2.6.1

没有下载权限 登录/注册

欢迎客人!

• 开始前请阅读社区规则确保您顺利的熟悉本社区。注册用户可以提交资源,如果您有已发布资源的新版本,您可以随时更新版本!

• 文件链接损坏请在文件下方留言,我们将会及时更新来自备份服务器的新链接。如有其它问题请 提交工单 和我们联系!

• 我们拥有多账户检测系统,对于重复注册我们将采取严厉措施!

• 提示:如果您的账户超过180天处于非活动状态,系统将自动删除您的账户!

• 我们尊重我们的用户,也希望您能进行愉快的交谈.

XF versions
  1. 2.2+
  2. 2.3+
许可/License
无限制/Nulled
Depending on configuration, this add-on requires webserver URL rewrite support!

Depending on configuration, this add-on requires webserver URL rewrite support!

Allows SVG (Scalable Vector Graphics) images to be stored as templates. This creates a new svg.php file in the XF root directory.

To generate a link to an SVG template (The template must have .svg at the end of the name!) ;
Code:
{{ 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>
Rendering SVGs to PNGs requires external support, and depending on OS this may result in odd limitations or poor rendering.

It is not recommended to use Imagick if it can be helped!

Ubuntu (using launchpad.net PPA);
Code:
sudo apt install php7.4-imagick libmagickcore-6.q16-3-extra<br>sudo systemctl restart php7.4-fpm
Note; some distro's require libmagickcore-6.q16-3-extra to be installed to enable SVG support.

Older versions of Imagick have poor SVG support, on top of Imagick's poor security reputation.

This is a generic escape hatch to plug in arbitrary png conversion, using proc_open in php.

Configure Render using proc_open option with;
Code:
&lt;CLI-binary&gt; {destFile} {sourceFile}
{sourceFile} is the source SVG written as a temp file {destFile} is the destination PNG file as a temp file

Alternatively input/output can be done via pipes

Note; template names are only alpha-numeric strings, which is enforced by validation before the CLI option is called

Example using resvg v0.35.0+, configure CLI - Pipe command with;
Code:
/usr/local/bin/resvg --quiet --resources-dir=/tmp/ - -c
Example using resvg, configure CLI command with;
Code:
/usr/local/bin/resvg --quiet {sourceFile} {destFile}
Pre-compiled linux x86_64 binary has been made available here. Compiled on CentOS 7, works on Ubuntu 18.04/20.04/22.04

Compiling may bind to newer versions of glibc which can cause portability issues
Code:
curl sh.rustup.rs -sSf | sh<br>source $HOME/.cargo/env<br>cargo install resvg<br>cp ~/.cargo/bin/resvg /usr/local/bin/resvg<br>chmod +x /usr/local/bin/resvg
Note; use snap as otherwise it is likely to have too old an instance!
Code:
sudo snap install inkscape
Configure CLI PIPE command with;
Code:
inkscape --export-type=png -p
An example of conditional CSS to use the png over the svg for mobile clients
Less:
<span>.mod_interrupt--svg.mod_interrupt</span><br><span>{</span><br> <span>&amp;--stop</span><br> <span>{</span><br> <span>&amp;:before</span><br> <span>{</span><br> <span>content</span><span>:</span> url<span>(</span><span>{</span><span>{</span> getSvg<span><span>Url</span><span>(</span>'sv_bbcode_modinterrupt_stop.svg'<span>)</span></span> <span>}</span><span>}</span><span>)</span> <span>!important</span><span>;</span><br> <span>}</span><br> <span>&lt;xf:if is="$xf.svg.as.png"&gt;<br> .is-tablet &amp;:before,<br> .is-mobile &amp;:before</span><br> <span>{</span><br> <span>content</span><span>:</span> url<span>(</span><span>{</span><span>{</span> <span>getSvgUrlAs</span><span>(</span><span>'sv_bbcode_modinterrupt_stop.svg'</span><span>,</span> <span>'png'</span><span>)</span> <span>}</span><span>}</span><span>)</span> <span>!important</span><span>;</span><br> <span>}</span><br> &lt;<span>/</span><span>xf</span><span>:</span>if&gt;<br> <span>}</span><br><span>}</span>
Explicit usage in templates;
XML:
<span><span><span>&lt;</span><span>xf:</span>if</span> <span>is</span><span><span>=</span><span>"</span>$xf.svg.enabled<span>"</span></span><span>&gt;</span></span><br> <span><span><span>&lt;</span><span>xf:</span>if</span> <span>is</span><span><span>=</span><span>"</span>$xf.svg.as.png and $xf.mobileDetect and $xf.mobileDetect.isMobile()<span>"</span></span><span>&gt;</span></span><br> <span><span><span>&lt;</span>img</span> <span>src</span><span><span>=</span><span>"</span>{{ getSvgUrlAs('example.svg', 'png') }}<span>"</span></span><span>/&gt;</span></span><br> <span><span><span>&lt;</span><span>xf:</span>else</span> <span>/&gt;</span></span><br> <span><span><span>&lt;</span>img</span> <span>src</span><span><span>=</span><span>"</span>{{ getSvgUrlAs('example.svg', 'svg') }}<span>"</span></span><span>/&gt;</span></span><br> <span><span><span>&lt;/</span><span>xf:</span>if</span><span>&gt;</span></span><br><span><span><span>&lt;</span><span>xf:</span>else</span> <span>/&gt;</span></span><br> <span><span><span>&lt;</span>i</span> <span>class</span><span><span>=</span><span>"</span>fa fa-stop<span>"</span></span> <span>/&gt;</span></span><br><span><span><span>&lt;/</span><span>xf:</span>if</span><span>&gt;</span></span>
While webserver rewrite rules are recommended, this add-on supports extending XenForo's routing system to provide zero-configuration support for SVG Templates

Code:
location ^~ /data/svg/ {<br> access_log off;<br> rewrite ^/data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ /svg.php?svg=$4&amp;s=$1&amp;l=$2&amp;d=$3$args last;<br> return 403;<br>}
Add the rule before the final index.php;
Code:
RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&amp;s=$1&amp;l=$2&amp;d=$3 [B,NC,L,QSA]
ie, should look similar to;
Code:
# If you are having problems with the rewrite rules, remove the "#" from the<br> # line that begins "RewriteBase" below. You will also have to change the path<br> # of the rewrite to reflect the path to your XenForo installation.<br> #RewriteBase /xenforo<br><br><br> RewriteCond %{REQUEST_FILENAME} -f [OR]<br> RewriteCond %{REQUEST_FILENAME} -l [OR]<br> RewriteCond %{REQUEST_FILENAME} -d<br> RewriteRule ^.*$ - [NC,L]<br> RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]<br> RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&amp;s=$1&amp;l=$2&amp;d=$3 [B,NC,L,QSA]<br> RewriteRule ^.*$ index.php [NC,L]

Contributing features or bug fixes
Please create a Github Pull request via the "More Information" link.

Contributions

If you appreciate this addon, please consider a contribution via PayPal. Details will be provide via private conversation.

Please contact me if you wish for different licencing arrangements.
OzzModz - Frequently Asked Questions
Add-ons/Plugins  OzzModz - Frequently Asked Questions  2.1.2
OzzModz - Registration Spaminator
Add-ons/Plugins  OzzModz - Registration Spaminator  2.3.0
作者
oksgo
下载
0
查看
23
首次发布
最后更新

等级

0.00 星 0 星

来自oksgo的更多资源

后退
顶部