![]() |
Willkommen, Gast ( Anmelden | Registrierung )
![]() |
![]()
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 |
|
|
![]() |
![]()
Beitrag
#2
|
|
____________________ ![]() Gruppe: Admin Beiträge: 1.220 Mitglied seit: 20.10.2001 Mitglieds-Nr.: 3 ![]() |
Hi Ingo,
sowas schwebte mir im Kopf auch schon vor ... nur faul wie ich bin ... ![]() Habe das Script mal ausprobiert. Funktioniert leider nicht so ganz wie erhofft. Ich weiß allerdings noch nicht warum ... ich musste die Pfade ein wenig umbiegen und nun findet er alle Bilder als unbenutzt. Meine Bilder liegen ziemlich woanders, als der Ordner, den ich durchsuchen möchte. d:\www\filmf1\film\kritiken wird durchsucht und d:\www\filmf1\grafic\jpeg ist der abzugleichende Bilderordner. Also benutze ich QUELLTEXT $home = 'd:/www/filmf1/film/kritiken'; und das Script läuft auch (fast - bei S geht es in den Timeout $picture_dir = 'd:/www/filmf1/grafic/jpeg'; ![]() Mit QUELLTEXT $home = 'd:/www/filmf1/film/kritiken'; übrigens das gleiche Ergebnis.$picture_subdir = '../../grafic/jpeg'; $picture_dir = $home.'/'.$picture_subdir; Und die Bilder erkennt er offensichtlich, denn die findet er alle :-o Grüße Andreas - noch bastelnd |
|
|
![]()
Beitrag
#3
|
|
Weiss zuviel!! ![]() Gruppe: Mods Beiträge: 668 Mitglied seit: 19.04.2002 Wohnort: Grimmen Mitglieds-Nr.: 385 ![]() |
Hallo,
ZITAT(Andreas @ 18.02.2005 - 19:02) Habe das Script mal ausprobiert. Funktioniert leider nicht so ganz wie erhofft. Ich weiß allerdings noch nicht warum ... Nun das ist leicht zu erklären, denn ich hab es erst mal so geschrieben, dass das Grafikverzeichnis ein Unterverzeichnis der Homepage ist. Ich hab es noch ein wenig angepasst, und nun sollte es eigentlich wie erwartet laufen. Man muss jetzt die beiden Verzeichnisse komplett eingeben, so dass sie unabhängig von einander sind. bei den HTML-dateien werden alle Dateien gefunden, die htm in der Dateiergänzung haben, htm html shtm shtml phtm phtml usw. Dateien mit php werden nicht gefunden. Kann man aber leicht im Filter anpassen. zurzeit QUELLTEXT $akt_file =~ /\..?htm.?$/i ändern in z.B. QUELLTEXT $akt_file =~ /\.(.?htm.?|php)$/i Versuch einfach mal das hier: QUELLTEXT #!c:/perl/bin/perl # finde nicht verwendete bilder use strict; use warnings; use File::Find; my $home; my $picture_subdir; my $picture_dir; my $picture; my @picture_files; my @html_files; my $html; my $scan_result; my $not_used=0; # hier das stammverzeichnis der homepage eintragen $home = 'c:/home/ingo/html/interpro_neu'; # hier das verzeichnis der bilder eintragen $picture_dir = 'c:/home/ingo/html/interpro_neu/bilder'; find(\&find_picture, $picture_dir); @picture_files = sort @picture_files; print $#picture_files." Bilder in $picture_dir gefunden!\nDavon werden nicht verwendet:\n"; find(\&find_html, $home); foreach $picture (@picture_files) { foreach $html (@html_files) { $scan_result = &scan($html, $picture); if ($scan_result) { last; } } unless ($scan_result) { print "$picture_dir/$picture \n"; $not_used ++ } } print "Insgesamt werden $not_used Bilder nicht verwendet!\n"; sub find_picture { my $akt_file = $File::Find::name; push @picture_files,$akt_file if ($akt_file =~ /\.(jpg|gif|png)$/i); foreach (@picture_files) { s/$picture_dir\///; } } sub find_html { my $akt_file = $File::Find::name; push @html_files,$akt_file if ($akt_file =~ /\..?htm.?$/i); } sub scan { my ($html,$picture)=@_; my $html_content; my $found; undef $/; open (IN,"< $html"); $html_content=<IN>; close IN; $found = $html_content =~ /$picture/; return $found; } Ich werd da mal sporadisch dran bleiben, mal sehen was noch so geht. Man hat ja sonst nichts zu tun ![]() Der Beitrag wurde von i.b.g bearbeitet: 19.02.2005 - 11:04 |
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 02.07.2025 - 19:19 |