Plantilla SVG por Xon

Plantilla SVG por Xon 2.7.0

No tiene permiso para descargar
Compatibilidad con XF
  1. 2.3.x
  2. 2.2.x
Descripción breve
Dependiendo de la configuración, este complemento requiere el soporte de reglas de enrutamiento de URL del servidor web!
Requiere Biblioteca estándar v1.12.0+
Dependiendo de la configuración, este complemento requiere el soporte de reescritura de URLs del servidor web!

Plantillas SVG​

Dependiendo de la configuración, este complemento requiere el soporte de reescritura de URLs del servidor web!
Permite que las imágenes SVG (Graphics Escalable Vector Graphics) se almacenen como plantillas. Esto crea un nuevo archivo svg.php en el directorio raíz de XF.
Para generar una URL a una plantilla SVG (La plantilla debe tener .svg al final del nombre!) ;
Código:
{{ 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>

Renderizar a PNG​

La renderización de SVG a PNG requiere soporte externo, y dependiendo del sistema operativo, esto puede resultar en limitaciones o renderizaciones pobres.

Soporte de php-imagick​

No se recomienda usar Imagick si es posible!
Ubuntu (usando https://launchpad.net/~ondrej/+archive/ubuntu/php PPA);
Código:
Código:
sudo apt install php7.4-imagick libmagickcore-6.q16-3-extra
sudo systemctl restart php7.4-fpm
Nota; algunas distros requieren la instalación de libmagickcore-6.q16-3-extra para habilitar el soporte SVG.
Las versiones antiguas de Imagick tienen un soporte SVG pobre, además de su reputación pobre en seguridad.

Soporte de línea de comando​

Este es un escape hach que se utiliza para insertar conversión de PNG arbitraria en php usando proc_open.
Configure Render usando la opción de línea de comando con;
<CLI-binary> {destFile} {sourceFile}
{sourceFile} es el SVG escrito como un archivo temporal {destFile} es el archivo de destino PNG escrito como un archivo temporal
Opcionalmente, la entrada/salida puede realizarse a través de pipes
Nota; los nombres de las plantillas solo son cadenas alfanuméricas, lo que se asegura antes de que se llame la opción de línea de comando.

Soporte de línea de comando de resvg​

Ejemplo usando resvg, configure la línea de comando con;
Código:
/usr/local/bin/resvg --quiet {sourceFile} {destFile}

Precompilado binario​

Se ha hecho disponible un binario precompilado para Linux x86_64 aquí. Compilado en CentOS 7, funciona en Ubuntu 18.04/20.04.

Compilación​

La compilación puede vincularse a versiones más recientes de glibc, lo que puede causar problemas de portabilidad.
Código:
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

Soporte de línea de comando de Inkscape​

Nota; usa snap, de lo contrario es probable que tenga una versión demasiado antigua.
Código:
sudo snap install inkscape
Configure la línea de comando de PIPE con;
Código:
inkscape --export-type=png -p

Características​

Renderizado condicional de SVG a PNG (para CSS/LESS)​

Ejemplo de uso condicional de CSS para usar el PNG en lugar del SVG para clientes móviles.
Less:
Código:
.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>
}
}
Uso explícito en las plantillas;
Código:
<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>

Int integración de rutas de XenForo 2​

Aunque las reglas de reescritura de URLs del servidor web son recomendadas, este complemento soporta la extensión de la sistema de rutas de XenForo para proporcionar soporte sin configuración para las plantillas SVG.

Configuración de rutas de URL de Nginx​

Agregue la regla antes de la final index.php;
Código:
location ^~ /data/svg/ {
   access_log off;
   rewrite ^/data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ /svg.php?svg=$4&s=$1&l=$2&d=$3$args last;
   return 403;
}
Por ejemplo, debería verse similar a;
Código:
    RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&s=$1&l=$2&d=$3 [B,NC,L,QSA]

Configuración de rutas de URL de Apache​

Agregue la regla antes de la final index.php;
Código:
    #    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 [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
    RewriteRule ^data/svg/([^/]+)/([^/]+)/([^/]+)/([^\.]+\..*)$ svg.php?svg=$4&s=$1&l=$2&d=$3 [B,NC,L,QSA]
    RewriteRule ^.*$ index.php [NC,L]
Por ejemplo, debería verse similar a;
{{P:13}}
Contribuciones de características o de errores
Por favor cree una solicitud de aprobación de GitHub a través del enlace "Más información".
Autor
anne51
Vistas
583
Tipo de extensión
zip
Tamaño de archivo
37,7 KB
Primer lanzamiento
Última actualización
Valoraciones 0,00 estrella(s) 0 valoraciones
Link was Broken? Please Enviar mensaje al equipo NP y te ayudaremos rápidamente!
Apoia al desarrollador i estás satisfecho con la prueba o tu proyecto te ha generado ganancias, haz clic en el botón «Más información» para apoyar al desarrollador comprando.

Últimas actualizaciones

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

Más recursos de anne51

WPC Share Cart for WooCommerce (Premium) A
a plugin for saving, sharing, replacing, and restoring cart via an auto-generated link
JupiterMeet Pro - Conferencia de Video Etiquetado Blanco A
jitsi, clase en vivo, reunión en vivo, reunión, en línea, en tiempo real, grabación, compartir pantalla, sfu, llamada por video

Recursos similares

[Xon] Report Centre Essentials A
Implements report queues, with auto-assignment rules and handy search links
Report Improvements by Xon A
Screenshots are still to be added, XF1 version has similar functionality and the screenshots
Superior