Willkommen, Gast ( Anmelden | Registrierung )
18.02.2005 - 11:53
Beitrag
#1
|
|
|
____________________ Gruppe: Admin Beiträge: 1.220 Mitglied seit: 20.10.2001 Mitglieds-Nr.: 3 |
Hi,
wie das so ist. Man bastelt jahrelang an einer Site und die wächst und wächst und irgendwann weiß man nicht mehr, welche Klasse aus dem Stylesheet man noch benutzt und welche nicht - gleiches gilt für Bilder aus dem "zentralen" Grafiken Ordner ... Ich benutze TopStyle 3.11 und dort gibt es einen Sitereport, der zumindest für die CSS Klassen das gewünschte erledigt. Das Programm findet unbenutzte Klassen (orphan classes). Die Sache hat nur einen Haken: benutzt man multiple Klassen (class="button rechts klein") erkennt TopStyle das (noch!) nicht :-( Also leider nicht zu gebrauchen. Kennt jemand ein Tool, welches genau das erledigt? CSS Datei nehmen, gucken wo die innerhalb der Site überall verlinkt ist und die nicht benutzten Klassen anzeigen? Ähnliches sollte ja auch für Bilder funktionieren: Bildordner auswählen, und Site durchsuchen, welche der im Ordner enthaltenen Bilder/Dateien nicht irgendwo in der Site benutzt wird. Das würde mich gewaltig nach vorne bringen *g* Viele Grüße Andreas |
|
|
|
![]() |
19.02.2005 - 19:13
Beitrag
#2
|
|
|
Weiss zuviel!! Gruppe: Mods Beiträge: 668 Mitglied seit: 19.04.2002 Wohnort: Grimmen Mitglieds-Nr.: 385 |
Hallo,
nun das ist mir jetzt vollkommen unverständlich. Die Fehlermeldung sagt, dass das Modul stickt.pm nicht gefunden wird, das hab ich aber nicht benutzt, weil es das gar nicht gibt. Also mach wir das folgende: Du nimmst den foldenden Code und ersetzt damit den in Deiner Perldatei. Dann passt Du noch die beiden Verzeichnisse an und veruchst es noch einmal. QUELLTEXT #!c:/perl/bin/perl # finde nicht verwendete bilder use strict; use warnings; use File::Find; my $home; my $picture_dir; my $picture; my @picture_files; my @html_files; my $html; my $scan_result; my $not_used=0; # hier das standardverzeichnis eintragen, aus dem die dateien gescannt werden sollen $home = 'c:/home/ingo/html/interpro_neu'; # hier das standardverzeichnis der bilder eintragen $picture_dir = 'c:/home/ingo/html/interpro_neu'; if ($ARGV[0]) {$home = $ARGV[0];} $home =~ s/\\/\//g; if ($ARGV[1]) {$picture_dir = $ARGV[1];} else {$picture_dir = $home;} $picture_dir =~ s/\\/\//g; # zu scannende dateien suchen find(\&find_html, $home); # bilder suchen find(\&find_picture, $picture_dir); print 1+$#html_files." HTML- und CSS-Dateien in $home gefunden.\n"; print 1+$#picture_files." Bilder in $picture_dir gefunden!\nDavon werden nicht verwendet:\n"; # zu scannende dateien sortieren @html_files = sort {uc($a) cmp uc($b)} @html_files; # bilder sortieren @picture_files = sort {uc($a) cmp uc($b)} @picture_files; foreach $picture (@picture_files) { foreach $html (@html_files) { #hier wird der scanner gerufen $scan_result = &scan($html, $picture); # wenn ein treffer gefunden, dann naechstes bild hernehmen if ($scan_result) { last; } } # wenn kein treffer, ausgeben und zählen unless ($scan_result) { print "$picture \n"; $not_used ++; } } print "Insgesamt werden $not_used Bilder nicht verwendet!\n"; # bilder finder --------------------------------------------------------------- sub find_picture { my $akt_file = $File::Find::name; push @picture_files,$akt_file if ($akt_file =~ /\.(jpg|gif|png)$/i); } # zu scannende dateien finden ------------------------------------------------- sub find_html { my $akt_file = $File::Find::name; push @html_files,$akt_file if ($akt_file =~ /\.(.?htm.?|css)$/i); } # löschen der gemeinsamen teile in den pfadangaben ---------------------------- sub del_common { my ($html, $picture_dir) = @_; my @html_dir; @html_dir = split('/', $html); foreach (@html_dir) { $picture_dir =~ s/^$_\///i; } return $picture_dir; } # aktuelle datei scannen ------------------------------------------------------ sub scan { my ($html,$picture)=@_; my $html_content; my $found; undef $/; $picture = del_common($html, $picture); open (IN,"< $html"); $html_content=<IN>; close IN; $found = $html_content =~ /$picture/; return $found; } Das ist bei mir ohne Fehler durchgelaufen und arbeitet jetzt richtig gut. Es ist jetzt auch möglich, dass man der Batch zwei Parameter übergibt: pic_find.bat c:\home\html\interpro\schulen c:\home\html\interpro\bilder Dafür muss die Batch noch so geändert werden: QUELLTEXT @echo off c:\perl\bin\perl.exe c:\programme\perlen\pic_find.pl %1 %2 > c:\programme\perlen\bilder_not_used.txt notepad c:\programme\perlen\bilder_not_used.txt Wenn man den zweiten Parameter weglässt geht das Script davon aus, dass er wie der erste heißen soll. Wird nichts übergeben, werden die Standardverzeichnisse genommen wie sie im Script angegeben sind. (siehe Kommentare) Gibt es eigentlich eine Möglichlkeit, dass ich das Script hier irgendwie hochladen kann, damit ich nicht immer alles posten muss? Ich mach aber erst mal Schluss für heute. Es gibt einen guten Südtiroler Lagrein (Rotwein) und eine lecker "Weib" die auf mich warten Der Beitrag wurde von i.b.g bearbeitet: 19.02.2005 - 19:16 |
|
|
|
Andreas Unbenutzte CSS Klassen finden ... 18.02.2005 - 11:53
Conny Hallo Andreas,
mir geht es genau so!
Ich ... 18.02.2005 - 14:42
i.b.g Hallo,
es geht sicher auch mit PHP, aber ich bin ... 18.02.2005 - 17:23
Andreas Hi Ingo,
sowas schwebte mir im Kopf auch schon vo... 18.02.2005 - 19:02
hondocrx eventuell könnte das Script bei den Class-Problem ... 18.02.2005 - 21:43
i.b.g Hallo,
ZITAT(Andreas @ 18.02.2005 - 19:02)Ha... 19.02.2005 - 10:56
Conny Öhm, Ingo.....
wie und wo wird denn dieses Scri... 19.02.2005 - 12:43
i.b.g Hallo,
von Einbinden kann man nicht sprechen.
E... 19.02.2005 - 14:39
i.b.g Hallo,
nun hat mich doch ein wenig der Ehrgeiz ge... 19.02.2005 - 15:55
Conny Hi,
ich habe die Datei mal auf'm Server im Ord... 19.02.2005 - 16:52
i.b.g Hallo Conny,
nun, da gibt es nichts zu lachen. Es... 19.02.2005 - 17:19
Conny Hi Ingo,
Klar ist es kein CGI-Script, aber der Ser... 19.02.2005 - 17:27
Conny So, da bin ich wieder.
*.bat gemacht, geschrieben,... 19.02.2005 - 17:47
i.b.g Hallo,
wenn man einen Link auf eine Batch-Datei a... 20.02.2005 - 10:04
Conny Moin Ingo,
ohne Dich jetzt -am Sonntagmorgen- auf... 20.02.2005 - 10:59
i.b.g Hallo,
ZITAT(Conny @ 20.02.2005 - 10:59)ohne ... 20.02.2005 - 11:24
Conny Hi Ingo,
ZITAT(i.b.g @ 20.02.2005 - 11:24)...... 20.02.2005 - 13:26
i.b.g Hallo Conny,
das ist ja wie verhext. Ob das an d... 20.02.2005 - 15:54
Andreas ZITAT(i.b.g @ 20.02.2005 - 15:54)Ich hatte au... 20.02.2005 - 20:50
Conny Hi Ingo,
langsam kommen wir die Sache näher.
So wi... 20.02.2005 - 17:29
i.b.g Hallo Conny,
ZITAT(Conny @ 20.02.2005 - 17:2... 20.02.2005 - 17:50
Conny Hi Ingo,
auf AktiveState war ich auch schon, ich ... 20.02.2005 - 18:43
Conny Hi,
also, bei mir läuft es nun wohl so wie es soll... 20.02.2005 - 21:20
Andreas ZITAT(Conny @ 20.02.2005 - 21:20)Das es sovie... 20.02.2005 - 21:41
hondocrx Vielleicht hat ja jemand lust die Online-Version z... 20.02.2005 - 23:45

Conny Hallo Hondocrx,
ZITAT(hondocrx @ 20.02.2005 ... 21.02.2005 - 12:33

hondocrx An dem Ordnerproblem wird gearbeitet. Hier stellt ... 21.02.2005 - 13:43
i.b.g Hallo,
ZITAT(Andreas @ 20.02.2005 - 21:41)we... 21.02.2005 - 7:29
Andreas ZITAT(i.b.g @ 21.02.2005 - 7:29)Ja die werden... 21.02.2005 - 7:53
Conny Hallo,
eine Seite wo so'ne Slideshow zu finden... 21.02.2005 - 14:02
hondocrx Ich geh mal davon aus das mein Script den Code für... 21.02.2005 - 14:55
Conny Hi,
Ja, das Script ist extern eingebunden der Pfa... 21.02.2005 - 14:58
hondocrx Wenn Du das Script jetzt noch einal testest sollte... 21.02.2005 - 15:40
Conny Hi,
nö, hat sich nicht gebessert:
Unused Pics
All... 21.02.2005 - 16:05
hondocrx Das Script findet alle Dateien welche im gleichen ... 21.02.2005 - 19:37
Conny Hallo,
ZITAT...Warum das Script bei Dir nicht geh... 21.02.2005 - 19:56
Andreas Oh Gott, Conny!
Hast Du der Fledermaus die Fl... 21.02.2005 - 21:15
Conny Na, hör mal!
Das ist mein persönlicher Beschüt... 21.02.2005 - 21:21
i.b.g Hallo,
ich hab da in den letzten Tagen nicht so v... 26.02.2005 - 19:04
Conny Hi Ingo,
es scheint zu funktionieren!
Mich bef... 27.02.2005 - 1:22
Conny Hallo Ingo,
bin in der Sache ein kleinen Schritt w... 27.02.2005 - 14:38
i.b.g Hallo Conny,
melde mich jetzt erst, weil ich mit ... 27.02.2005 - 18:54
i.b.g Hallo,
so kleinen Bug behoben. Problem war die sp... 27.02.2005 - 19:35
Conny Hallo Ingo,
herzlichen Glückwunsch
DasScript ar... 27.02.2005 - 23:17
i.b.g Hallo Andreas, Hallo Conny und alle anderen,
habe... 05.03.2005 - 14:05
Conny Hallo Ingo,
hab' die neue Version gerade mal d... 06.03.2005 - 17:21![]() ![]() |
|
Vereinfachte Darstellung | Aktuelles Datum: 15.12.2025 - 9:10 |