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