User:Tstaerk: Difference between revisions

From KDE TechBase
Line 5: Line 5:
  #!/usr/bin/perl
  #!/usr/bin/perl
  require HTML::LinkExtor;
  require HTML::LinkExtor;
  $p = HTML::LinkExtor->new(\&parse, "");
  \$p = HTML::LinkExtor->new(\&parse, "");
  sub parse {
  sub parse {
     my($tag, %links) = @_;
     my(\$tag, %links) = @_;
     my ($att, $url) = @{[%links]};
     my (\$att, \$url) = @{[%links]};
     print "$url\n";
     print "\$url\n";
  }
  }
  $p->parse_file($ARGV[0]);
  \$p->parse_file(\$ARGV[0]);
  EOF
  EOF
  chmod 777 spider
  chmod 777 spider

Revision as of 18:50, 28 January 2007

Here's how I draw a mindmap of this wiki:

Download all pages

wget http://developernew.kde.org/Special:Allpages
cat >spider<<EOF
#!/usr/bin/perl
require HTML::LinkExtor;
\$p = HTML::LinkExtor->new(\&parse, "");
sub parse {
    my(\$tag, %links) = @_;
    my (\$att, \$url) = @{[%links]};
    print "\$url\n";
}
\$p->parse_file(\$ARGV[0]);
EOF
chmod 777 spider
./spider Special\:Allpages | \
grep "^/" | \
grep -v ":" | \
grep -v "?" | \
while read a
  do wget "http://developernew.kde.org$a"
done

Create a dot file

for file in $(ls --ignore="*:*"); do /bin/spider $file | grep "^/" | grep -v ":" | grep -v "?" | grep -v "Main_Page" | grep -v "Getting_Started$" | grep -v "/Contribute$" | grep -v "^/Projects$" | grep -v "^/Development$" | grep -v "^/Policies$" | grep -v "^/Projects$" | grep -v "^/Projects/NamingTheWiki$" | grep -v "^/Schedules$" | grep -v "^/favicon.ico$" | grep -v "/opensearch_desc.php$" | grep -v "^/$" | grep -v ".png$" | grep -v "^/Development/Tutorials$" | sed "s;^/.*/;;" | while read file2; do echo "$file -> $file2" ; done; done >datei


duffman:~/developernew # echo "# to create a ps file use 'dot -Tps -o graph.ps graph.dot' (dot it part of the graphviz package)" > graph.dot
duffman:~/developernew #   echo "digraph \"Wikimap\" { " >> graph.dot
duffman:~/developernew #  cat datei >>graph.dot
duffman:~/developernew # echo "}" >> graph.dot

Create a ps file

dot -Tps -o graph.ps graph.dot