Wiki2html

Tested on Suse linux, although it should work on any distribution.



Download and install htttrack from http://www.httrack.com/ 

Get a copy of VNUML wiki: 

mkdir vnumlweb cd vnumlweb httrack http://www.dit.upm.es/vnumlwiki/ # Note: Don't forget the "/" at the end of the URL!

Create a script named vnuml-clean-web with the content shown below.

Execute that script on the directory where the main files reside, that is: 

cd www.dit.upm.es/vnumlwiki cd index.php vnuml-clean-web

Note: Use  "--doc-only"  option if you want to eliminate the "Navigation" menu on the left side of the pages; and/or  "--without-docintro"  to eliminate the "Introduction" option in "Domumentation" menu.

Delete the auxiliary files httrack generates in upper directory (it seems they are not needed): 

cd .. rm index????*.{html,css,php} opensearch_desc.php

Load the index.html file in www.dit.upm.es/vnuml directory and you will have access to the local copy of the documentation. 

If you are generating the documentation for the .tgz, then you can remove all except (put them in a html/ directory, at the same level than skin/ and images/ directories you also have got):

Tutorial.html Installation.html Reference.html Usermanual.html Howto.html Ubuntu.html Suse10-2.html Suse10.html Capture.html Livedvd-install-vmware.html Livedvd-makingoff.html Resize-rootfs.html Slc-rootfs.html Clean-rootfs.html Create-rootfs.html Tips.html FAQ.html Wiki2html.html Xen-test-debian.html Debian-packages.html Install-dyna.html Vnumlgui_Debian.html Fedora7.html Root-fs-installer.html Resize-rootfs.html N3vlr-rootfs.html Vnuml2dot.html Xterm-screenshot-capture.html Gdb-traces.html

The following script (executed in the root of the working directory) can be very useful to extract those files.

mkdir final_html cd test2/vnumlwiki/index.php/ mv Tutorial.html \ Installation.html \ Reference.html \ Usermanual.html \ Howto.html \ Ubuntu.html \ Suse10-2.html \ Suse10.html \ Capture.html \ Livedvd-install-vmware.html \ Livedvd-makingoff.html \ Resize-rootfs.html \ Slc-rootfs.html \ Clean-rootfs.html \ Create-rootfs.html \ Tips.html \ FAQ.html \ Wiki2html.html \ Xen-test-debian.html \ Debian-packages.html \ Install-dyna.html \ Vnumlgui_Debian.html \ Fedora7.html \ Root-fs-installer.html \ Resize-rootfs.html \ N3vlr-rootfs.html \ Vnuml2dot.html \ Xterm-screenshot-capture.html \ Gdb-traces.html \ ../../../final_html



Unsolved issues

 * The footnote regarding how many time the page has been visited has no sense in static HTML, so it should be removed.


 * Images links with pages that has no sense in static HTML. The image should remain in the HTML but the associated link removed.


 * In Ubuntu.html, offile references to Download.html get broken (because Download.html is not included in the HTML documentation bunch)


 * In FAQ.html, offline references to Example-update-rootfs.html get broken (because Example-update-rootfs.html is not included in the HTML documentation bunch)


 * In FAQ.html, offline references to Example-simple.html get broken (because Example-simple.html is not included in the HTML documentation bunch)


 * Some files in images/ should be cleaned up.

vnuml-clean-web script

 * 1) !/bin/bash

FILES=`ls -F1 | sed -e 's/.*\///'`
 * 1) get a list of files, excluding directories

DOCONLY="no" NODOCINTRO="no" while : do case $# in       0)      break;;        *)      case "$1" in
 * 1) Options?

"--doc-only")                       DOCONLY="yes"                        shift                        ;;

"--without-docintro")                       NODOCINTRO="yes"                        shift                        ;;

*)                       echo "Error: unknown command line option (\"$1\")"                        exit 1                        ;;

"") break;;

esac esac done

echo "DOCONLY=$DOCONLY" echo "NODOCINTRO=$NODOCINTRO"

for X in $FILES do echo "Filtering file $X" cp $X $X.tmp cat $X.tmp | \ awk 'BEGIN {RS="" } { gsub(".*", "", $0); gsub(".*", "", $0); gsub(".*", "", $0); gsub(".*", "", $0); print $0 }' | \ sed -e '/Redirected from/ d' \ > $X
 * 1) Process each file

if [ "$DOCONLY" == "yes" ]; then # Remove navigation menu cp $X $X.tmp cat $X.tmp | \ awk 'BEGIN {RS="" } { # delete navigation sidebar gsub(".*", "", $0); # change image link from Main_Page to Docintro.html gsub("<a href=\"Main_Page.html\" id=\"home\">Home</a>", "<a href=\"Docintro.html\" id=\"home\">Home</a>", $0); print $0 }' > $X fi

if [ "$NODOCINTRO" == "yes" ]; then # Removes Introduction entry in Documentation menu cp $X $X.tmp

cat $X.tmp | \ sed -e '/n-Introduction/ d' | sed -e '/n-Documentation/ d' \ > $X

fi

rm $X.tmp

done

cd ../skins/fratman_enhanced CSSFILE=`ls main????.css` echo "Changing style sheet: $CSSFILE" echo ".editsection { visibility: hidden }" >> $CSSFILE cd ../../index.php
 * 1) get css file name