User:Tstaerk: Difference between revisions

    From KDE TechBase
    Line 38: Line 38:




    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 "# 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 #  echo "digraph \"Wikimap\" { " >> graph.dot
    duffman:~/developernew #  cat datei >>graph.dot
    duffman:~/developernew #  cat datei >>graph.dot
    duffman:~/developernew # echo "}" >> graph.dot
    duffman:~/developernew # echo "}" >> graph.dot


    = Create a ps file =
    = Create a ps file =
      dot -Tps -o graph.ps graph.dot
      dot -Tps -o graph.ps graph.dot

    Revision as of 17:25, 27 January 2007

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

    Download all pages

    duffman:~/developernew # cat /bin/spider
    #!/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]);
    duffman:~/developernew #        
    
    duffman:~/developernew # cat ../wikimap/eigen.pl
    #!/usr/bin/perl
    require HTML::LinkExtor;
    use LWP::Simple; 
    
    $p = HTML::LinkExtor->new(\&parse, "");
    sub parse {
        my($tag, %links) = @_;
        my ($att, $url) = @{[%links]};
        print "$url\n";
    }
    my $content = get("http://developernew.kde.org/Special:Allpages"); #Get web page in content 
    die "get failed" if (!defined $content);
    my $parser = HTML::LinkExtor->new(); #create LinkExtor object with no callbacks
    $p->parse($content); #parse content
    
    duffman:~/developernew #
    


    ../wikimap/eigen.pl | 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