User:Tstaerk: Difference between revisions
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