Vraag betreft minifyen css

Overzicht

Sponsored by: Vacatures door Monsterboard

startende / junior Java developer

Als startende / junior Java developer krijg je een ervaren Java buddy, mag je opleidingen volgen en ga je direct in een Scrum team Java software ontwikkelen. Je wordt goed begeleid en er is veel ruimte voor innovatie. Bij deze organisatie ga je interessante tastbare maatschappelijke applicaties ontwikkelen. Miljoenen mensen zijn dagelijks afhankelijk van de software. Er zijn 8 Java Scrumteams, waarbij ieder team aan een eigen applicatie bouwt. In ieder team zijn meerdere senior, medior en junior Java developers aanwezig. Daarnaast is er minimaal 1 Tester en een vaste product owner per team. Er wordt regelmatig 'pair programming' toegepast.

Bekijk vacature »

Data Engineer

Data Engineer Utrecht Wil jij samen met onze IT experts uit verschillende disciplines samenwerken aan het digitaliseren en future-proof maken van onze betaaloplossingen? En sta je open voor internationale uitdagingen? Dan is dit de baan die bij jou past! Jouw verantwoordelijkheden Als Data Engineer maak je deel uit van ons Business Acceleration Center (BAC). Je bent verantwoordelijk voor het bouwen en onderhouden van onze databases. Tevens maak je deze klaar om Europees aan elkaar te kunnen koppelen. Je hebt contacten met alle Europese collega's om te kunnen komen tot een goede en veilige koppeling. Met jouw kennis en ervaring ben

Bekijk vacature »

Java Algorithms Developer

In the Applications Algorithms group we are responsible for the development and implementation of the common algorithms that are then used by other teams to develop applications to optimize the production process of our customers. We are a group of experts on mathematics, algorithms, numerical methods and software engineering. Functie Job Mission Collaborate with our experts developing or improving algorithms / mathematical models and contribute to the development from a software point of view; Create a solid software design for algorithms or parts of it, where speed and memory usage should be optimized; Write quality code that is easy to

Bekijk vacature »

Full Stack Developer (.NET/C#)

Full Stack Developer (C#, .NET) Als Full Stack Software Developer ben jij het innovatieve brein dat is staat is om de wensen van de klant om te zetten naar praktische, gedegen en gebruiksvriendelijke software. Je hebt hierbij visie op de functionele inhoud en levert hier graag input voor. Werken bij Be-Sync; wat houdt dat in? Hoi, mijn naam is Ruud! Voor mijn team ben ik op zoek naar een teamspeler. De persoon die met zijn/haar goede communicatie samen met de andere Developers de klus kan klaren. Dankzij de duidelijk rol- en taakverdeling zal jij, maar ook de andere Developers, voldoende

Bekijk vacature »

Traineeship Test Engineering Overheid

Traineeship Test Engineering Overheid – Start 1 Maart 2022 Functiebeschrijving: Ben jij recent afgestudeerd of studeer jij dit jaar af aan een bèta gerelateerde hbo- of wo-opleiding? En wil jij de eerste stappen zetten richting een carrière in de IT en werken aan maatschappelijk relevante projecten voor jou en 16.999.999 miljoen andere mensen in Nederland? Bij CGI bieden we jou met het Traineeship Test Engineering dé kans om je verder te ontwikkelen binnen de verschillende onderdelen van testen en de automatisering hiervan! Wat houdt het Traineeship Test Engineering in? Je bent bovengemiddeld geïnteresseerd in bedrijfsprocessen en met name de IT-componenten

Bekijk vacature »

Medior/Senior Backend Developer

IT Recruitment is voor haar klant in Rijswijk op zoek naar Backend Developer. Als software engineer ben je gedreven in het bouwen, onderhouden en verbeteren van de kernproducten en -diensten, die de oplossingssuites vormen voor de producten en applicaties van de organisatie. Uitdagingen waar je onder andere mee te maken krijgt, zijn het implementeren van business logica, het analyseren en oplossen van problemen die door de klanten worden gemeld, het begrijpen en verbeteren van het datamodel met behulp van een SQL-serverdatabase, ervoor zorgen dat onze kernproducten ook toegankelijk zijn voor webtoepassingen via API’s en het handhaven van beveiligingsprincipes. Verantwoordelijkheden Software

Bekijk vacature »

Senior SAPUI5 Developer

Our client leads the worldwide development, production and sales of high-end lithography systems for the semiconductor industry. In short, we make the machines that make computer chips, or integrated circuits. We build some of the most amazing, complex machines that you will ever see – and the software to run them – to develop smaller, faster and still more affordable chips. It is because of our machines that the world’s technology has steadily evolved. As a Senior SAPUI5 Developer your goal is to realize front-ends for our business software applications. You will work closely together with the UX specialist to

Bekijk vacature »

Java Ontwikkelaar

Wie zijn wij? Als ervaren leverancier van oplossingen voor industriële technologie wil ICT Netherlands de wereld elke dag een stap slimmer maken. Onze toegewijde technische professionals voorzien klanten van diensten op het gebied van consultancy, softwareontwikkeling, projectmatige oplossingen en managed services. In het kort Als ervaren Java ontwikkelaar binnen onze business unit Machine & Systems werk je aan complexe projecten voor de machine- en apparatenbouw, die vaak een flinke bedrijf kritische impact hebben. Je doorgrondt dan ook feilloos de consequenties van beslissingen voor de architectuur. En je bent verantwoordelijk voor de vertaling van de architectuur naar een technisch ontwerp. In

Bekijk vacature »

Microsoft Developer Technical Automation- Relocati

Who are we? ICT Netherlands is an industrial total solutions provider that wants to make the world a little smarter, safer and more sustainable every day. Our dedicated technical professionals provide services in the areas of consultancy, software development, project-based solutions and managed services. Do you want to use your knowledge of Microsoft in the field of technical automation as part of our Machine & Systems business unit? Are you on the hunt for an environment where you can share your knowledge with colleagues and learn from them? Would you like to work for a Microsoft Gold Partner? If so,

Bekijk vacature »

Ervaren front-end developer (Angular) gezocht!

Bedrijfsomschrijving Ben jij de Angular specialist die ik zoek? Onze klant is al ruim 10 jaar een gevestigde naam in de wereld van de mooie GIS projecten. Het bedrijf zit zich voor haar klanten in om de publieke ruimte veiliger te maken en tevens het verkeer soepeler te laten verlopen. Het team waarin je terecht zal komen bestaat inmiddels ruim 25 zeer technische collega's. Samen met dit team ga je werken aan grote GIS projecten voor o.a. gemeenten waterschappen en overheidsinstellingen. De systemen waarmee hier gewerkt wordt zijn opgebouwd in .NET. Naast goede .NET developers is dit bedrijf op zoek

Bekijk vacature »

Traineeship Test Engineering - Energietransitie

Traineeship Test Engineering - Energietransitie – Start 1 Maart 2022 Position Description: Ben jij recent afgestudeerd of studeer jij dit jaar af aan een bèta gerelateerde hbo- of wo-opleiding? En wil jij de eerste stappen zetten richting een carrière in de IT? Bij CGI bieden we jou met het Traineeship Test Engineering dé kans om je verder te ontwikkelen binnen de verschillende onderdelen van testen en de automatisering hiervan! Wat houdt het Traineeship Test Engineering in? Je bent bovengemiddeld geïnteresseerd in bedrijfsprocessen en met name de IT-componenten daarin. En je wilt niet wachten, maar direct beginnen aan een uitdagende baan.

Bekijk vacature »

Senior HANA Developer

Want to be part of progress? To develop, coach and guide New Product Development in a dynamic international environment? In the Program Management Office we raise the level of program management within the organization. If you want to be part of a high performing team with a focus on structural improvements, we invite you to read the job description below and let us know if you are the person we are looking for. Functie Job Mission In the Program Management Office (PMO) we are the recognized expert, that drives World-Class Program- and Project Management. In this way PMO is the

Bekijk vacature »

Senior CI/CD Engineer - Public Transport

Senior CI/CD Engineer - Public Transport Functiebeschrijving: Houd je van complexe uitdagingen in een dynamische omgeving? Ben je proactief en niet bang om uit je comfort zone te treden? Wil je belangrijk en impactvol werk doen en daarbij alle ruimte krijgen om je te ontwikkelen en je stempel te drukken? Dan zijn we op zoek naar jou! Wat ga je doen? Jij bent samen met jouw DevOps team verantwoordelijk voor een of meerdere onderdelen van het information-services platform van onze klant. Dit platform verzorgt o.a. reisinformatie, de Wifi-dienst en tal van overige toepassingen zoals diagnose op afstand, meten van reizigersaantallen

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Flexibility, autonomy and an organisation that prioritises innovation. As java developer at Randstad Groep Nederland IT, those things are the foundation of your work. As we continue to take steps in our digital transformation, our talent store team is looking for you! Who are we? RGN IT is the central IT department behind randstad, tempo-team and yacht, a department of almost 400 specialists, developing, building and maintaining the systems and solutions we use to impact the working lives of hundreds of thousands of people worldwide. What will you be working on? You will be an integral part of our

Bekijk vacature »

(junior) PLC programmeur

Sta jij klaar om een bijdrage te leveren aan de verbetering van het productieproces? Dan is dit een uitdagende en veelzijdige functie die bij je past! Functie Het team waarin je werkt is verantwoordelijk voor het project vanaf het concept tot en met de nazorg. Denk hierbij aan het maken van offertes, opstellen van schema's, doen van bestellingen en programmeren van de PLC's; Je werkt hoofdzakelijk zelfstandig, onderhoudt de communicatie met de klant, je collega's op andere projecten en met de leveranciers; Je helpt bij het verder moderniseren en automatiseren van de huidige productielijnen; Onderhouden en optimaliseren van de software;

Bekijk vacature »
Tim Dam

Tim Dam

29/10/2021 16:37:25
Anchor link
Hoi allen,

Ikzelf ben helaas nog niet voldoende thuis in PHP om een probleem op te lossen.
Hopelijk past mijn vraag hier op het forum en is iemand bereid te helpen.

Een (standaard) php script welke op een website gebruikt wordt om css te minifyen werkt niet helemaal goed.
Ik weet niet of ik het hele script zo hier kan plaatsen, dus beperkt ik mij voor nu tot een klein deel ervan, waarvan ik denk dat het probleem zit.

Het idee is dat er spaties en regeleindes uit de css gehaald worden.
Dat werkte prima, tot ik er achter kwam dat als er een bijv. een punt stond, deze niet goed ging.

Bijv. ging #test p { wel goed, maar #test .test werd door het script aan elkaar geplakt.

In het script vond ik dit, die dat afhandelde:

case ' ':
if ($this->isAlphaNum($this->b)) {
$this->action(1);
} else {
$this->action(2);
}
break;

Goed hierbij te weten dat $this de spatie zelf is.
$this->b is dan $this->next()
oftewel het teken na de spatie.

De actions verwijzen naar hoe deze af te handelen.
De action(1) behoud in dit geval de spatie en bij action(2) wordt deze vervangen/weggehaald.

Het is mij gelukt dat stukje script aan te pasen, zodat hij ok de punt, een haakje, een hash, of een dubbele punt uitsluit.
Dat heb ik zo gedaan:

case ' ':


if (strpos($this->b, ".") !== false) {
$this->action(1);
} elseif (strpos($this->b, "(") !== false) {
$this->action(1);
} elseif (strpos($this->b, "#") !== false) {
$this->action(1);
} elseif (strpos($this->b, ":") !== false) {
$this->action(1);
} elseif ($this->isAlphaNum($this->b)) {
$this->action(1);
} else {
$this->action(2);
}
break;

Dit leek goed te werken en het gewenste effect te hebben.
Tot ik er achter kwam dat als er een % of een plus-teken of een min-teken staat, deze de spaties toch aan elkaar plakt, zoals bijv in een css calc:

#test .test {
color: #000;
width: calc(100% - 30px);
}

Wordt:

#test .test{color:#000;width:calc(100%-30px);}

Dan heb ik geprobeerd om deze toe te voegen:
} elseif (strpos($this->b, "-") !== false) {
$this->action(1);

Maar dat deed niets.
Ik vermoed dan ook dat procenten, plussen en minnen (math-tekens) hierbij mis gaan.

Als ik als test het min-teken aanpas naar het word 'min', krijg ik deze output:

#test .test{color:#000;width:calc(100%min 30px);}

Het lijkt dus ook dat naast het teken erna, ook het teken ervoor (in dit geval de %) roet in het eten gooit.

Hopelijk heb ik het goed uitgelegd zo en kan iemand hier iets zinnigs over zeggen.
Misschien is het hele script nodig om goed te beoordelen..maar ik weet niet of ik die in het geheel hier kan plaatsen.

gr Tim
 
PHP hulp

PHP hulp

25/01/2022 14:55:52
 
Ivo P

Ivo P

27/11/2021 16:21:15
Anchor link
Bouw je dit als een oefening voor jezelf? of als tool om te gebruiken als je je CSS file klaar hebt?

Want hiervoor zijn toch al genoeg online oplossingen te vinden.

"minify css" in google en je vindt bijvoorbeeld al
https://www.toptal.com/developers/cssminifier/
of
https://www.cleancss.com/css-minify/

Daar hebben vast mensen al tijden op zitten ontwikkelen en met de handleiding van CSS ernaast.
Dan heb je ook vast nog een hele rij oplossingen voor opties die in jouw testbestanden niet voorkwamen, maar in de praktijk wel mogelijk zijn.

En aangezien je dit normaal gesproken niet bij elke aanroep van je CSS file opnieuw laat bouwen, maar alleen als je een keer als developer een aanpassing hebt gedaan, kun je dit gewoon even copy-paste daardoorheen halen.

Toevoeging op 27/11/2021 16:24:37:

en anders nog https://www.minifier.org/
die heeft de source op github staan:

https://github.com/matthiasmullie/minify
 
Tim Dam

Tim Dam

29/11/2021 08:18:08
Anchor link
Bedankt voor je reactie.
In dit geval werd het bestand aangeroepen vanuit een CMS-systeem, waarbij ditzeflde bestand dan ook tegelijk de javascript minified.
Deze was voor CSS dus al wel volledig werkend, met als uitzondering de calc()

Dit heb ik (met behulp van een collega) uiteindelijk opgelost door uit te lezen op 'calc', daar een replace op en die dan weer als spatie laten outputten:

$input = preg_replace_callback('/(?<=calc\().*(?=\))/', "filter_css", $input);

Dit bleek een goede oplossing.
 
- Ariën -
Beheerder

- Ariën -

02/12/2021 10:29:15
Anchor link
Fijn dat het opgelost is.
 
 

Dit topic is gesloten.



Overzicht

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.