Giter Site home page Giter Site logo

massif_minify's People

Contributors

ynamite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

massif_minify's Issues

getJSCodeFromTemplate Fehler bei compress

Ich hab da in meinem JS folgende Variable drin:

var x = $('a[href^="#"]:not(.no-scroll)');

In der compressed Ausgabe mit der Funktion massif_minify::getJSCodeFromTemplate(id, true); fehlt alles in der Zeile was nach dem Hash # kommt.

$('a[href^="

Update auf REX 5.13

AddOn massif_minify meldet: Das AddOn be_style (Version 3.0.0) entspricht nicht der geforderten Versionsbedingung ^2.9.0!

Jetzt muss ich erstmal schauen wo das be_style im massiv_minify steht...

Enhancement: add to readme

Zur Referenz:

Hi ...
Hast du ne Idee für mich?
Habe Massif minify am Laufen auf einem Webspace von mir zum Entwicklen.
Da habe ich in der htaccess das hier drin und die style.css wird dann auch gefunden. alles fein.
<IfModule mod_rewrite.c>
    # REWRITE RULE FOR JS/CSS VERSIONING
    RewriteRule ^(.*)\.[0-9]+\.(css|js)$ $1.$2 [L]
</IfModule>
Jetzt habe ich vom Kunden den "endgültigen" Webspace zur Verfügung gestellt bekommen (united-domains) und der ist irgendwie kacke.
Hier wird die CSS datei dann nciht gefunden, trotz korrekter htaccess.
Also das Problem ist das:
<IfModule mod_rewrite.c>
    # REWRITE RULE FOR JS/CSS VERSIONING
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*)\.[0-9]+\.(css|js)$ $1.$2 [L]
</IfModule>

LESS + HTML compress

Hallo
es wäre super wenn es einen LESS Compiler + LESS Komprimierung gäbe.
Außerdem wenn man eine CSV Datei generieren + zum download VIA php anbieten will, funktioniert dies nicht, weil hierbei auch eine Komprimierung statt findet. Also wäre es noch super wenn eine Komprimierung einer bestimmten Datei ausgeschlossen werden kann.

getCombinedCSSMinFile und getCSSMinFile

getCombinedCSSFile funktioniert tadellos. Ersetze ich es durch getCombinedCSSMinFile wird die Datei in einem Loop unendlich oft generiert. Dasselbe passiert bei getCSSMinFile.

mit getCombinedJSMinFile wird kein .min an den Dateinamen angehängt.
das konnte ich beheben durch hinzufügen von

$combinedFile = self::replaceFileExtension($combinedFile, 'min.js');

in Zeile 130 von class.massif_minify.php

getCSSCodeFromTemplate

Ich verwende in letzter Zeit oft inline CSS im <head>, welches ich in ein template packe.
Dafür hab ich zwei der Funktionen in massif_minify kopiert und angepasst, damit man das auch minifyen kann. Vielleicht willst Du das hinzufügen.

public static function getCSSCodeFromTemplate($templateId, $simpleMinify = true) {
		$template = new rex_template($templateId);

		return self::getCSSCode($template->getFile(), $simpleMinify);
	}

	protected static function getCSSCode($includeFileWithPath, $simpleMinify = true) {
		$interpretedPhp = '';

		// interpret css as php
		ob_start();

		@include($includeFileWithPath);
		$interpretedPhp = ob_get_contents();

		ob_end_clean();

		if ($simpleMinify) {
			$interpretedPhp = self::getMinifiedContent($interpretedPhp, 'css');
		} 

		return $interpretedPhp;
	}

Internal Server Error bei falschem Pfad

Wenn ich in den Einstellungen einen Pfad, z.B. zur CSS-Datei, eintrage, der nicht existiert, dann bekomme ich einen Fehler 500 - Internal Server Error.
edit: Bin mir jetzt nicht mehr sicher, ob es der Pfad alleine ist. Habe wieder einen 500er bekommen, diesmal bei richtigen Pfaden. Nachdem ich CSS- und JS-Komprimieren deaktiviert habe ging es wieder.
Redaxo 5.2.0 / PHP 5.6.30

getCombinedCSSMinFile Probleme mit calc und CSS variables?

habe folgendes CSS bei mir stehen:
padding: 0 calc(var(--grid-gutter-width) / 2) calc(var(--grid-gutter-width) / 2);

die Funktion getCombinedCSSMinFile macht dann das draus:
padding: 0 calc(var(--grid-gutter-width) / 2);

musste die Werte dann separat setzen um das richtige Ergebnis zu erzielen:

padding-top: 0;
padding-left: calc(var(--grid-gutter-width) / 2);
padding-right: calc(var(--grid-gutter-width) / 2);
padding-bottom: calc(var(--grid-gutter-width) / 2);

Problem mit getJSFile bzw. getFileWithVersionParam

Ich habe von bower auf npm gewechselt um JS-libraries in meine Projekte einzubauen. Jetzt taucht plötzlich das Problem auf, dass ich einen 404 Error bekomme, wenn ich files aus dem npm Ordner mit massif_minify::getJSFile($file) hole. Die files haben interessanterweise eine filetime von 1985 also zB /theme/public/resources/js/npm/node_modules/jquery/dist/jquery.499162500.js

Speichere ich das file neu ab, dann gehts problemlos. Woran könnte das liegen?

Plugin funktioniert leider nicht

Neustes Redaxo installiert, alles auf dem neusten Stand. Htaccess mehrmals angepasst und mit Base und ohne versucht. Hat leider absolut nicht funktioniert oder die Beschreibung ist unvollständig, wovon ich jetzt nicht ausgehe.

Minifier funktioniert nicht mit Search it

Da der Minifier HTML-Kommentare auch entfernt, bleibt der der Such-Index von Search it bei der Indizierung leer.

Während der Indizierung ruft Search it den jeweiligen Artikel mit dem leeren Parameter 'search_it_build_index' auf und setzt temporär HTML-Kommentare in den Quelltext für die Stellen, die aufgenommen werden .

Ich habe in 'lib > class.massif_minify.php' in Zeile 47 das ergänzt:

$search_it_indexer = rex_get('search_it_build_index','string');
		$search_it_highlighter = rex_get('search_highlighter','string');
		if($search_it_indexer == "" && $search_it_highlighter != "") {
			$search_it_indexer = 'search_it_highlighter';
			}

und aus Zeile 84 das gemacht:

if ($addon->getConfig('minify_html') && !rex::isBackend() && $search_it_indexer == "") {

Ich bin mir nicht sicher, ob das so "schön" ist, aber der Indexaufbau von Search it funktioniert jetzt und im Frontend wird trotzdem alles noch hübsch komprimiert ausgegeben.

Evtl. kannst du das bei ner neuen Version im Hinterkopf behalten :-)

Multidomainfähigkeit

Wenn man mittels YRewrite mehrere Domains betreibt und z.B. wie folgt eine SCSS zum Compilen einbindet, wird in einer "Nebendomain" ein absoluter Pfad zur "Hauptdomain" der Redaxo-Installation ausgegeben, was nicht korrekt ist.

Wenn man hier einfach
return rtrim(rex::getServer(), "/") . self::$cssOutDir . self::getFileWithVersionParam($file, self::$cssOutPath);
gegen
return self::$cssOutDir . self::getFileWithVersionParam($file, self::$cssOutPath);
austauscht, scheint es zu funktionieren. Ob der relative Pfad Nachteile hat, konnte ich noch nicht feststellen.

https://github.com/ynamite/massif_minify/blob/master/lib/class.massif_minify.php#L113

Slash nur bei Bedarf

Ich nutze gerne volle URLs und hole mir rex::getServer() (Es gibt Vorteile!)
Da ist der / Slash am Ende dabei.

In den Einstellungen von Minify habe ich die resources/css und resources/js jeweils ohne Slash zu Beginn angegeben.
Aufgerufen:
'<link rel="stylesheet" href="<?php echo rex::getServer().massif_minify::getCombinedCSSMinFile("styles_combined.css", array(....)'

Allerdings hat man in der Ausgabe dann eine URL mit https://www.domain.de//resources/css/mini_datei.css

Kann man das nicht so gestalten, dass die Einstellungen entscheidend sind?

Dank und Gruß
Ralf

Glue String

Ich habe mal PHP 7.4 versucht und lese im Error Log:

29.09.2020 15:55:50 Deprecated implode(): Passing glue string after array is deprecated. Swap the parameters redaxo/src/addons/massif_minify/vendor/minify/src/CSS.php 528

Umstellung auf PHP 8.1 erzeugt deprecated Meldungen

Moin!

Mit der Umstellung auf PHP 8.1 oder höher tauchen in den Logdateien zwei Meldungen auf:

  1. Creation of dynamic property Minify_HTML::$_html is deprecated
    redaxo/src/addons/massif_minify/vendor/Minify_HTML.php:69

  2. Use of "parent" in callables is deprecated
    redaxo/src/addons/massif_minify/vendor/minify/src/JS.php:129

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.