SVG-Template-von-Xon

SVG-Template-von-Xon 2.7.0

Keine Berechtigung zum Herunterladen
XF-Kompatibilität
  1. 2.3.x
  2. 2.2.x
Kurzbeschreibung
XenForo 2 SVG Template Add-on v1.12.0+: Erlaubt die Speicherung und Generierung von SVG-Dateien für eine einfache Bildverwaltung. Unterstützt URL-Rewriting für saubere URLs und Rendering zu PNG mittels CLI oder vorbereiteten Binärdateien wie php-imagick, resvg und Inkscape. Kompatibel mit dem XenForo 2 Routing-System über Nginx/Apache Rewritungsregeln.
ErfordertStandard Library By Xonv1.12.0+
Abhängig von der Konfiguration benötigt dieses Add-on die Unterstützung für URL-Rewrite auf dem Webserver!


SVG-Template​

Abhängig von der Konfiguration benötigt dieses Add-on die Unterstützung für URL-Rewrite auf dem Webserver!
Erlaubt SVG-Bilder (Scalable Vector Graphics) als Templates zu speichern. Dies erstellt ein neues svg.php-Datei im XF-Hauptverzeichnis.
Um einen Link zu einem SVG-Templat zu generieren (Der Template muss eine .svg am Ende haben!);
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>

Render zu PNG​

Rendering SVGs to PNGs benötigt externe Unterstützung und abhängig von der Betriebssystem kann dies zu ungleichen Einschränkungen oder schlechter Rendering führen.


php-imagick Unterstützung​

Es istnicht empfohlen,Imagick zu verwenden, wenn es anders geht!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
Notiz; einige Distro's benötigen libmagickcore-6.q16-3-extra installiert zu haben, um SVG Unterstützung zu aktivieren.
Ältere Versionen von Imagick haben schlechte SVG Unterstützung, auf dem Fuße gebunden von Imagicks schlechtem Sicherheitsbewertungssystem.

CLI Unterstützung​

Dies ist ein generischer Ausfallschacht zum Einstecken einer beliebigen PNG-Konvertierung, indem man proc_open in PHP verwendet.
Konfiguriere Render mit der Option proc_open.
<CLI-binary> {destFile} {sourceFile}
{sourceFile} ist der Quell-SVG als temporärer Datei {destFile} ist die Ziel-PNG-Datei als temporärer Datei
Alternativ können Eingabe/Ausgabe über Pipelines erfolgen
Hinweis: Template-Namen sind nur alphanumerische Strings, was durch Validierung vor der CLI-Option aufgefordert wird

resvg-cli-support​

Beispiel mit verwendenresvgkonfigurieren Sie CLI-Befehl mit;
Code:
/usr/local/bin/resvg --quiet {sourceFile} {destFile}

Vorbereiteter Binärdatei​

Vorbereiteter Linux x86_64-Binär wurde bereitgestellthereKompiliert auf CentOS 7, funktioniert auf Ubuntu 18.04/20.04


Kompilieren​

Kompilieren kann an neue Versionen von glibc gebunden werden, was Portabilitätprobleme verursachen kann
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

Inkscape_CLI_Suporte​

Notiere; verwende Snap, sonst ist es wahrscheinlich zu alt!
Code:
sudo snap install inkscape
Konfigurieren Sie CLI PIPE-Befehl mit;
Code:
inkscape --export-type=png -p

Funktionen​

Bedingtes Rendering von SVG zu PNG (für CSS/LESS)​

Ein Beispiel für bedingtes CSS, das den PNG über dem SVG für Mobilanwendungen verwendet
Less:
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>
}
}
Explizites Verwendung in Vorlagen;
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>

XenForo 2 Routing Integration​

Wähle Webserver-Rewrite-Spezifizierungen empfohlen, unterstützt dieses Add-On die Erweiterung des Routingsystems von XenForo zur Bereitstellung ohne Konfiguration für SVG-Templates.

Nginx-URL-Rewrite-Konfiguration​

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 URL-rewrite-Konfiguration​

Add the rule before <?php;
Code:
    RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&s=$1&l=$2&d=$3 [B,NC,L,QSA]
und sollte ähnlich sein;
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
Zusätzliche Funktionen oder FehlerbehebungenBitte erstelle einen GitHub Pull Request über die "Weitere Informationen"-Link.
Autor
anne51
Ansichten
667
Erweiterungstyp
zip
Dateigröße
37.7 KB
Erste Veröffentlichung
Letzte Aktualisierung
Bewertungen 0.00 Sterne 0 Bewertungen
Link defekt? Nachricht senden an das NP-Team – wir helfen dir schnell!
Unterstütze den Entwickler Wenn du mit dem Test zufrieden bist oder mit deinem Projekt erfolgreich Geld verdient hast, klicke auf den Button Mehr Informationen, um den Entwickler durch einen Kauf zu unterstützen.

Neueste Aktualisierungen

  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

Weitere Ressourcen von anne51

Literatur - Buchladen, Verlag und Buchhandlung WordPress-Thema A
Literatur ist ein stark und ansprechendes Bookstore WordPress-Thema.
Fluent Community Pro A
Fluent Community Pro 2.7.0 Nulled
Bereite eine schnelle und ansprechende Gemeinschaft ohne deinem Server zu schaden – kein Blei, nur Leistung
Realar - Real Estate WordPress Theme A
that is perfect for Renting or Selling your Apartment, House, Villa, Farm House and Raw House

Ähnliche Ressourcen

[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
Ansichten
499
Aktualisiert
[FF] Page Criteria for Xon Browser Detection A
dd a new set of criterion to the Page criteria
Ansichten
590
Aktualisiert
[MMO] Allow Template Modification A
As you know, the developers decided to take the opportunity in 2.1.8
Ansichten
295
Aktualisiert
Zurück
Oben