%% CSS-Dateien verkleinern
% Das kleine Script entfernt alle unnoetigen Leerzeichen und leere 
% CSS-Felder. Kommt nicht ganz an andere Optimierungs-Werkzeuge heran,
% erreicht aber ca. 90% von deren Wirkung und kann automatisch vom
% Website-Menue-Generator aufgerufen werden.
% 
% 29.06.2016 Nicolas


srcfile = 'D:\SVN\svnDL1DOWde\inhalt\struk\layout_orig.css';
dstfile = 'D:\SVN\svnDL1DOWde\inhalt\struk\layout.css';

css = fileread(srcfile);


%% Kommentare entfernen
rexp = '/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/';
%t = regexpi(css,rexp,'match')
css = regexprep(css,rexp,' ');

%% Mehrfache Leerzeichen entfernen
css = regexprep(css,'\s{2,}',' ');

%% Leerzeichen hinter Doppelpunkten entfernen
rexp = ':\s';
%t = regexpi(css,rexp,'match')
css = regexprep(css,rexp,':');

%% Leerzeichen vor und hinter Euterklammern entfernen
rexp = '[\s]?\{[\s]?';
%t = regexpi(css,rexp,'match')
css = regexprep(css,rexp,'{');
rexp = '\s\}';
%t = regexpi(css,rexp,'match')
css = regexprep(css,rexp,'}');

%% Leerzeichen hinter Semicolons entfernen
rexp = '\;\s';
%t = regexpi(css,rexp,'match')
css = regexprep(css,rexp,';');

%% Leere Elemente "xxx{}" entfernen
rexp = '[^}]*\{\}';
%t = regexpi(css,rexp,'match')
css = regexprep(css,rexp,' ');

%% Mehrfache Leerzeichen entfernen
% (nach dem Entfernen der leeren Elemente koennen wieder neue entstanden
% sein)
css = regexprep(css,'\s{2,}',' ');

ZIELFILE=fopen(dstfile,'w+');
Byteswritten=fwrite(ZIELFILE,css);
Success=fclose(ZIELFILE);