Wiki2html
How to generate a local copy of the documentation in html starting from the VNUML wiki
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:
- 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:
- Delete the auxiliary files httrack generates in upper directory (it seems they are not needed):
- Load the index.html file in www.dit.upm.es/vnuml directory and you will have access to the local copy of the documentation.
mkdir vnumlweb cd vnumlweb httrack http://www.dit.upm.es/vnumlwiki/ # Note: Don't forget the "/" at the end of the URL!
cd www.dit.upm.es/vnuml 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.
cd .. rm index????*.{html,css,php} opensearch_desc.php
vnuml-clean-web script
#!/bin/bash # get a list of files, excluding directories FILES=`ls -F1 | sed -e 's/.*\///'` # Options? DOCONLY="no" NODOCINTRO="no" while : do case $# in 0) break;; *) case "$1" in "--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" # Process each file for X in $FILES do echo "Filtering file $X" cp $X $X.tmp cat $X.tmp | \ awk 'BEGIN {RS="" } { gsub("<!-- BEGINMENU -->.*<!-- ENDMENU -->", "", $0); gsub("<!-- BEGINSEARCH -->.*<!-- ENDSEARCH -->", "", $0); gsub("<!-- BEGINPERSONALTOOLS -->.*<!-- ENDPERSONALTOOLS -->", "", $0); gsub("<!-- BEGINTOOLBOX -->.*<!-- ENDTOOLBOX -->", "", $0); print $0 }' | \ sed -e '/Redirected from/ d' \ > $X if [ "$DOCONLY" == "yes" ]; then # Remove navigation menu cp $X $X.tmp cat $X.tmp | \ awk 'BEGIN {RS="" } { # delete navigation sidebar gsub("<div class=\047portlet\047 id=\047p-navigation\047>.*<!-- ENDSIDEBAR p-navigation -->", "", $0); # change image link from Main_Page to Docintro.html gsub("<a href=\"Main_Page.html\" id=\"home\"><i>Home</i></a>", "<a href=\"Docintro.html\" id=\"home\"><i>Home</i></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 # get css file name CSSFILE=`ls main????.css` echo "Changing style sheet: $CSSFILE" echo ".editsection { visibility: hidden }" >> $CSSFILE cd ../../index.php