![]() |
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
|
|
Weiss zuviel!! ![]() Gruppe: Mods Beiträge: 668 Mitglied seit: 19.04.2002 Wohnort: Grimmen Mitglieds-Nr.: 385 ![]() |
Hallo,
es geht sicher auch mit PHP, aber ich bin nur mit Perl vertraut: 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; # hier das stammverzeichnis der homepage eintragen $home = 'c:/home/ingo/html/interpro_neu'; # hier das unterverzeichnis der bilder eintragen $picture_subdir = 'bilder'; $picture_dir = $home.'/'.$picture_subdir; find(\&find_picture, $picture_dir); @picture_files = sort @picture_files; 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 "\nDas Bild : $picture wird zurzeit 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 komme damit ziemlich gut klar. Man könnte, wenn man Zeit und Lust hätte, noch ein Formular und eine Ausgabe über CGI dazu tun. Mir reichts so. Der Beitrag wurde von i.b.g bearbeitet: 18.02.2005 - 17:25 |
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 02.07.2025 - 12:19 |