Template SVG par Xon

Template SVG par Xon 2.7.0

Vous n'avez pas l'autorisation de télécharger
Compatibilité XF
  1. 2.3.x
  2. 2.2.x
Description courte
XenForo 2 SVG Template Add-on v1.12.0+: Allows storing and generating SVG templates for easy image management. Supports URL rewriting for clean URLs and rendering to PNG using CLI or pre-compiled binaries like php-imagick, resvg, and Inkscape. Compatible with XenForo 2 routing system via Nginx/Apache rewrite rules.
ExigerStandard Library By Xonv1.12.0+
Selon la configuration, ce filtre nécessite le support de l'URL rewrite du serveur web!


SVG Template​

Selon la configuration, ce filtre nécessite le support de l'URL rewrite du serveur web!
Permet aux images SVG (Graphics Scalables Vector) d'être stockées en tant que modèles. Cela crée un nouveau fichier svg.php dans le répertoire racine XF.
Pour générer une URL vers un modèle SVG (Le modèle doit avoir .svg à la fin de son nom !);
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>

Conversion en PNG​

Conversion des SVG à PNG nécessite du support externe et cela peut entraîner des limitations ou un rendu médiocre en fonction de l'OS.

php-imagick-support​

C'estnon recommandéutiliser Imagick si c'est possible !
Ubuntu (utilisant )https://launchpad.net/~ondrej/+archive/ubuntu/phpPPA); Code:
Code:
sudo apt install php7.4-imagick libmagickcore-6.q16-3-extra
sudo systemctl restart php7.4-fpm
Note; certain distro's requièrent libmagickcore-6.q16-3-extra pour être installé pour activer le support SVG. Les anciennes versions d'Imagick ont un soutien SVG médiocre, surmontant la réputation de sécurité défectueuse d'Imagick.

Support CLI​

Ceci est un accélérateur critique pour remplacer n'importe quel convertisseur de PNG en utilisant proc_open en PHP.
Configurer Render avec l'option proc_open;
<CLI-binary> {destFile} {sourceFile}
{loteSourceFile} est le fichier SVG source écrit en tant que fichier temporaire {fichierDestPNG} est le fichier PNG de destination écrit en tant que fichier temporaire
Alternativement, l'entrée/sortie peut être faite par des pipes
Note; les noms de modèles sont uniquement des chaînes alpha-numerices, ce qui est contrôlé avant qu'une option CLI ne soit appelée

support pour resvg CLI​

Exemple utilisantresvgconfigurer commande CLI avec;
Code:
/usr/local/bin/resvg --quiet {sourceFile} {destFile}

Binary précompilé​

Binary binaire pré-compiler pour Linux x86_64 est disponiblehereCompile sur CentOS 7, fonctionne sur Ubuntu 18.04/20.04


Compilation​

La compilation peut lier à des versions plus récentes de glibc ce qui peut causer des problèmes de compatibilité
Code:
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

support-cli-inscriptions-spécifications​

Note; utilisez snap plutôt, sinon il est probablement trop ancien!
Code:
sudo snap install inkscape
Configurer le commande PIPE du CLI avec;
Code:
inkscape --export-type=png -p

Caractéristiques​

Rendre conditionnellement des SVG en PNG pour la CSS/LESS​

Un exemple de CSS conditionnel pour utiliser un PNG au lieu d'un SVG pour les clients mobiles
Code:
.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>
}
}
Usage explicite dans les modèles;
Code:
<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>

routing intégration xenforo 2​

Bien que les règles de rewriting du serveur Web soient recommandées, cet ajouticiel supporte l'extension du système de routage de XenForo pour fournir un soutien en configuration zéro pour les modèles SVG


config rewrite URL Nginx​

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

Apache configuration de rewriting d'URL​

Ajouter la règle avant le final index.php;
Code:
    RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&s=$1&l=$2&d=$3 [B,NC,L,QSA]
et, devrait ressembler à;
Code:
    #    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
Features de contribution ou corrections de bugsCréez une demande de fusion via la liasse "Plus d'informations".
Auteur
anne51
Vues
633
Type d’extension
zip
Taille du fichier
37.7 Ko
Première publication
Dernière mise à jour
Évaluations 0.00 étoile(s) 0 évaluations
Lien cassé ? Envoyer un message à l’équipe NP et nous vous aiderons rapidement !
Soutenez le développeur Si vous êtes satisfait du test ou que votre projet vous a rapporté de l’argent, cliquez sur le bouton « Plus d’informations » pour soutenir le développeur en achetant.

Dernières mises à jour

  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...

Plus de ressources de anne51

Pompe Premier Pro A
solution de migration complète pour le déménagement d'un site unisé à un réseau de sites WordPress etc
Vintech - Technologies et Solutions Informatiques Thème WordPress A
un thème impressionnant, professionnel et flexible pour une société de solutions, d'ingénierie des systèmes informatiques et de services
Avancé Ads Pro A
Avancé Ads Pro 3.0.12 Nulled
Le Plugin WordPress pour Gérer les Publicités

Ressources similaires

[SVG] Sticky Threads Separation A
Etting up fixed themes. Settings in style settings.
Separate Sticky and Normal Threads (XF +2.x) by Xon A
A template modification to separate Sticky and Normal threads.
Template Parent A
adds a new template variable $xf.reply.templateParent
Haut