Difference between revisions of "Wiki2html"

From VNUML-WIKI
Jump to: navigation, search
(added new files to the list (because there are new howtos since the last time))
(added a script to "extract" the relevant html for VNUML packages)
Line 66: Line 66:
 
   Vnuml2dot.html
 
   Vnuml2dot.html
 
   Xterm-screenshot-capture.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
 +
 
</ol>
 
</ol>
  

Revision as of 00:40, 24 September 2008

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.

  1. Download and install htttrack from http://www.httrack.com/
  2. Get a copy of VNUML wiki:
  3.  mkdir vnumlweb
     cd vnumlweb
     httrack http://www.dit.upm.es/vnumlwiki/   
     # Note: Don't forget the  "/" at the end of the URL!
    
  4. Create a script named vnuml-clean-web with the content shown below.
  5. Execute that script on the directory where the main files reside, that is:
  6.  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.

  7. Delete the auxiliary files httrack generates in upper directory (it seems they are not needed):
  8.  cd ..
     rm index????*.{html,css,php} opensearch_desc.php 
    
  9. Load the index.html file in www.dit.upm.es/vnuml directory and you will have access to the local copy of the documentation.
  10. 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):
  11.   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

#!/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