diff options
Diffstat (limited to 'ml/dlib/docs/makedocs')
-rwxr-xr-x | ml/dlib/docs/makedocs | 282 |
1 files changed, 0 insertions, 282 deletions
diff --git a/ml/dlib/docs/makedocs b/ml/dlib/docs/makedocs deleted file mode 100755 index e38b75a73..000000000 --- a/ml/dlib/docs/makedocs +++ /dev/null @@ -1,282 +0,0 @@ -#!/bin/bash -. bash_helper_functions - -report_failure () -{ - echo " **** failed to complete **** " - exit 1 -} - -htmlify_python_file () -{ - pygmentize -f html -O full,style=vs $1 > $1.html -} - - -add_links_between_example_programs() -{ - EXT=$3 - # Get the list of example program filenames - pushd $1 > /dev/null - FILES=`ls *.$EXT` - popd > /dev/null - - # Now run sed on all the htmlified example programs to add the links between them. - for f in $FILES - do - #escape the . in the filename - escaped_name=`echo $f | sed -e 's/\./\\\./g'` - pushd $1 > /dev/null - # get a list of all the html example files that contain the name - matching_html_files=`grep -e "\b$escaped_name\b" -l *.$EXT | sed -e "s/\.$EXT\b/.$EXT.html/g"` - popd > /dev/null - - # now actually run sed to add the links - pushd $2 > /dev/null - if [ -n "$matching_html_files" ] - then - sed -i -e "s/\b$escaped_name\b/<a href=\"$escaped_name.html\">$escaped_name<\/a>/g" $matching_html_files - fi - popd > /dev/null - done - -} - -htmlify_cmake () -{ - echo "<html><head><title>" > $1.html; - echo $1 >> $1.html; - echo "</title></head><body bgcolor='white'><pre>" >> $1.html; - - # line 1: make comments green - # line 2: add links into the add_subdirectory directives - # line 3: make literal quotes red - # line 4: make the directives show up blue - # line 5: make variable names show up purple - sed -e "s/^\([ ]*#.*\)/<font color='#009900'>\1<\/font>/" \ - -e "s/add_subdirectory\([ ]*\)(\([ ]*\)\([^ ]*\)\([ ]*\)\([^ )]*\)/add_subdirectory\1(\2\3\4<a href='\3\/CMakeLists.txt.html'>\5<\/a>/" \ - -e "s/\"\([^\"]*\)\"/\"<font color='#CC0000'>\1<\/font>\"/g" \ - -e "s/^\([ ]*[^( ]*[ ]*\)(/<font color='blue'>\1<\/font>(/" \ - -e "s/{\([^}]*\)}/\{<font color='#BB00BB'>\1<\/font>}/g" \ - $1 >> $1.html; - - echo "</pre></body></html>" >> $1.html; -} - -htmlify_python() -{ - FILES=`\ls $1/*.py` - for i in $FILES - do - htmlify_python_file ${i} - rm ${i} - done -} - - -makedocs () -{ - - REVNUM_FILE=.logger_revnum - - - - # figure out the short number that identifies this particular changeset - get_short_revision_number `cat $REVNUM_FILE` - LOGGER_REVNUM=$RESULT - - XSLT_OPTIONS="--nodtdattr --nonet --novalid" - DATE_TODAY=`date --date= "+%b %d, %Y"`; - - - - - # The revision number we are currently at - CHANGESET_ID=`hg id -i | sed -e 's/\+//'` - get_short_revision_number $CHANGESET_ID - REVISION=$RESULT - - - if [ "$1" = "makerel" ] - then - RELEASE=${MAJOR_NUM}.${MINOR_NUM} - else - RELEASE=${MAJOR_NUM}.${MINOR_NUM}.${PATCH_NUM} - fi; - - # get XML versions of the change logs - BASE_LOGGER_REVNUM=`echo $LOGGER_REVNUM - 1000 | bc` - NEXT_LOGGER_REVNUM=`echo $LOGGER_REVNUM + 1 | bc` - echo Getting the mercurial change logs for revisions $NEXT_LOGGER_REVNUM:$REVISION - hg log -v ../dlib ../examples ../tools ../python_examples --style=xml -r$NEXT_LOGGER_REVNUM:$REVISION > docs/log.txt || report_failure - echo Getting the mercurial change logs for revisions $BASE_LOGGER_REVNUM:$LOGGER_REVNUM - hg log -v ../dlib ../examples ../tools ../python_examples --style=xml -r$BASE_LOGGER_REVNUM:$LOGGER_REVNUM > docs/old_log.txt || report_failure - - # grab a clean copy of the repository - rm -rf docs/cache - rm -rf docs/web - rm -rf docs/chm/docs - hg archive docs/cache || report_failure - # Don't need the docs folder in the cache, moreover, deleting it here avoids letting the makerel script include it in the dlib tar balls. - rm -rf docs/cache/docs - - echo "#ifndef DLIB_REVISION_H" > docs/cache/dlib/revision.h - echo "// Version: " $RELEASE >> docs/cache/dlib/revision.h - echo "// Date: " `date` >> docs/cache/dlib/revision.h - echo "// Mercurial Revision ID: " $CHANGESET_ID >> docs/cache/dlib/revision.h - echo "#define DLIB_MAJOR_VERSION " $MAJOR_NUM >> docs/cache/dlib/revision.h - echo "#define DLIB_MINOR_VERSION " $MINOR_NUM >> docs/cache/dlib/revision.h - echo "#define DLIB_PATCH_VERSION " $PATCH_NUM >> docs/cache/dlib/revision.h - echo "#endif" >> docs/cache/dlib/revision.h - - - rm -rf docs/web - rm -rf docs/chm/docs - mkdir docs/web - mkdir docs/chm/docs - - echo Creating HTML version of the source - htmlify --title "dlib C++ Library - " -i docs/cache -o htmltemp.$$ - add_links_between_example_programs docs/cache/examples htmltemp.$$/examples cpp - - echo Copying files around... - cp -r htmltemp.$$/dlib docs/web - cp -r htmltemp.$$/dlib docs/chm/docs - cp -r htmltemp.$$/examples/* docs/web - cp -r htmltemp.$$/examples/* docs/chm/docs - rm -rf htmltemp.$$ - - # create python docs unless you say ./makedocs fast - if [ "$1" != "fast" ] - then - cd .. - python setup.py build || report_failure - python setup.py build_sphinx -c docs/docs/python --build-dir docs/sphinx.$$ || report_failure - cd docs - cp -r sphinx.$$/html docs/web/python - mv sphinx.$$/html docs/chm/docs/python - rm -rf sphinx.$$ - fi; - - - cp docs/cache/dlib/test/makefile docs/web/dlib/test - cp docs/cache/dlib/test/makefile docs/chm/docs/dlib/test - - cp docs/cache/dlib/test/CMakeLists.txt docs/web/dlib/test - cp docs/cache/dlib/test/CMakeLists.txt docs/chm/docs/dlib/test - cp docs/cache/dlib/CMakeLists.txt docs/web/dlib - cp docs/cache/dlib/CMakeLists.txt docs/chm/docs/dlib - mkdir docs/web/examples || report_failure - cp docs/cache/examples/CMakeLists.txt docs/web/examples - mkdir docs/chm/docs/examples || report_failure - cp docs/cache/examples/CMakeLists.txt docs/chm/docs/examples - cp docs/cache/python_examples/*.py docs/chm/docs/ - cp docs/cache/python_examples/*.py docs/web/ - - htmlify_python docs/chm/docs/ - htmlify_python docs/web/ - add_links_between_example_programs docs/cache/python_examples docs/chm/docs py - add_links_between_example_programs docs/cache/python_examples docs/web py - - cp docs/*.gif docs/web - cp docs/*.gif docs/chm/docs - cp docs/ml_guide.svg docs/web - cp docs/ml_guide.svg docs/chm/docs - cp -r docs/guipics docs/web - cp -r docs/guipics docs/chm/docs - cp docs/*.html docs/web - cp docs/*.html docs/chm/docs - cp docs/*.css docs/web - cp docs/*.css docs/chm/docs - cp docs/*.js docs/web - cp docs/*.js docs/chm/docs - cp docs/*.png docs/web - cp docs/*.jpg docs/web - cp docs/*.webm docs/web - cp docs/*.ico docs/web - cp docs/*.png docs/chm/docs - cp docs/*.jpg docs/chm/docs - cp docs/*.webm docs/chm/docs - cp docs/*.ico docs/chm/docs - - cd docs/chm/docs || report_failure - htmlify_cmake dlib/CMakeLists.txt; - htmlify_cmake examples/CMakeLists.txt; - htmlify_cmake dlib/test/CMakeLists.txt; - cd ../../.. || report_failure - cd docs/web || report_failure - htmlify_cmake dlib/CMakeLists.txt; - htmlify_cmake examples/CMakeLists.txt; - htmlify_cmake dlib/test/CMakeLists.txt; - cd ../.. || report_failure - - find docs/web docs/chm -name "CMakeLists.txt" | xargs rm - - - - # generate the HTML docs - echo Generate HTML docs from XML and XSLT style sheet - FILES=`\ls docs/*.xml | grep -v main_menu.xml` - for i in $FILES - do - - # The last modified date for these files should always be the release date (regardless of when the actual xml files were modified). - if [ "${i}" = "docs/release_notes.xml" -o ${i} = "docs/old_release_notes.xml" \ - -o ${i} = "docs/change_log.xml" -o ${i} = "docs/old_change_log.xml" \ - -o ${i} = "docs/index.xml" ] - then - DATE=$DATE_TODAY - else - get_last_modified_date ${i} - DATE=$RESULT - fi; - - #make web version - cat docs/stylesheet.xsl | sed -e 's/"is_chm">[^<]*/"is_chm">false/' -e "s/_CURRENT_RELEASE_/$RELEASE/" -e "s/_LAST_MODIFIED_DATE_/$DATE/" \ - > docs/stylesheet.$$.xsl - OUT_FILE=$(echo ${i} | sed -e "s/\.xml/\.html/" | sed -e "s/docs\//docs\/web\//") - xsltproc $XSLT_OPTIONS -o $OUT_FILE docs/stylesheet.$$.xsl ${i} - - #make chm version - cat docs/stylesheet.xsl | sed -e 's/"is_chm">[^<]*/"is_chm">true/' -e "s/_CURRENT_RELEASE_/$RELEASE/" -e "s/_LAST_MODIFIED_DATE_/$DATE/" \ - > docs/stylesheet.$$.xsl - OUT_FILE=$(echo ${i} | sed -e "s/\.xml/\.html/" | sed -e "s/docs\//docs\/chm\/docs\//") - xsltproc $XSLT_OPTIONS -o $OUT_FILE docs/stylesheet.$$.xsl ${i} - - rm docs/stylesheet.$$.xsl - done - -# Delete doc type header stuff -# FILES=`find docs/chm docs/web -iname "*.html" -type f` -# for i in $FILES -# do -# sed -e '/<!DOCTYPE/d' ${i} > temp.$$; -# mv temp.$$ ${i}; -# done - - - echo Generating sitemap - cd docs/web || report_failure - find . -name "*.html" | awk '{ print "http://dlib.net" substr($1,2)}' > sitemap.txt - - # make the main index have a 301 redirect. Use php to do this - echo '<?php if ($_SERVER["SERVER_NAME"] != "dlib.net") { header("Location: http://dlib.net/", true, 301); exit; } ?>' > index.php - cat index.html >> index.php - rm index.html - - cd ../.. -} - - -./testenv || report_failure - - - - -# build all the html documentation -makedocs $1 - -# now make the table of contents for the chm file -echo Generating the table of contents for the chm file -xsltproc -o docs/chm/Table\ of\ Contents.hhc docs/chm/htmlhelp_stylesheet.xsl docs/chm/toc.xml - |