User:Tstaerk: Difference between revisions
Line 1: | Line 1: | ||
Here's how I draw a mindmap of this wiki: | Here's how I draw a mindmap of this wiki: | ||
=Download all pages= | =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 | duffman:~/developernew # cat ../wikimap/eigen.pl | ||
#!/usr/bin/perl | #!/usr/bin/perl | ||
Line 21: | Line 33: | ||
../wikimap/eigen.pl | grep "^/" | grep -v ":" | grep -v "?" | while read a; do wget "http://developernew.kde.org$a"; done | ../wikimap/eigen.pl | grep "^/" | grep -v ":" | grep -v "?" | while read a; do wget "http://developernew.kde.org$a"; done | ||
= Create a dot file = | = Create a dot file = |
Revision as of 17:24, 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