#! /bin/bash
#
# generateDocs - creates HTML and plaintext documentation from
# reStructuredText format files. -Geo
#
#
# Copyright (C) 2004 - 2016 Eggheads Development Team
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

echo "*** Searching for pandoc..."
PANDOC="$(which pandoc)"
if [ $? -eq 0 ]; then 
  echo "Found."
else
  echo "Not found. Pandoc can be found at pandoc.org or via apt-get install pandoc. Exiting..."
  exit 1
fi

echo "*** Searching for sphinx-build..."
SPHINX="$(which sphinx-build)"
if [ $? -eq 0 ]; then
  echo "Found."
else
  echo "Not found. Sphinx can be found at http://www.sphinx-doc.org or via apt-get install python-sphinx. Exiting..."
  exit 1
fi
  
mkdir -p tmpdocs
echo "*** Generating plaintext docs..."
for i in $( find $BASEDIR/../doc/sphinx_source/ -type f -name "*.rst" ); do
  FILENAME=$(basename "$i")
  FILENAME="${FILENAME%.*}"
  echo $FILENAME
  pandoc -f rst -t plain -o tmpdocs/$FILENAME.txt $i
done

echo "*** Generating HTML files..."
( cd $BASEDIR/../doc/sphinx_source/ && make html )

echo "*** Stupid housecleaning..."
mv tmpdocs/about.txt $BASEDIR/../doc/ABOUT
mv tmpdocs/assoc.txt $BASEDIR/../doc/settings/mod.assoc
mv tmpdocs/bans.txt $BASEDIR/../doc/BANS
mv tmpdocs/blowfish.txt $BASEDIR/../doc/settings/mod.blowfish
mv tmpdocs/botnet.txt $BASEDIR/../doc/BOTNET
mv tmpdocs/channels.txt $BASEDIR/../doc/settings/mod.channels
mv tmpdocs/compress.txt $BASEDIR/../doc/settings/mod.compress
mv tmpdocs/console.txt $BASEDIR/../doc/settings/mod.console
mv tmpdocs/core.txt $BASEDIR/../doc/settings/core.settings
mv tmpdocs/ctcp.txt $BASEDIR/../doc/settings/mod.ctcp
mv tmpdocs/dns.txt $BASEDIR/../doc/settings/mod.dns
mv tmpdocs/faq.txt $BASEDIR/../doc/FAQ
mv tmpdocs/features.txt $BASEDIR/../FEATURES
mv tmpdocs/filesys.txt $BASEDIR/../doc/settings/mod.filesys
mv tmpdocs/first-script.txt $BASEDIR/../doc/FIRST-SCRIPT
mv tmpdocs/install.txt $BASEDIR/../INSTALL
mv tmpdocs/ipv6.txt $BASEDIR/../doc/IPV6
mv tmpdocs/irc.txt $BASEDIR/../doc/settings/mod.irc
mv tmpdocs/known-probs.txt $BASEDIR/../doc/KNOWN-PROBLEMS
mv tmpdocs/modules.txt $BASEDIR/../doc/MODULES
mv tmpdocs/notes.txt $BASEDIR/../doc/settings/mod.notes
mv tmpdocs/partyline.txt $BASEDIR/../doc/PARTYLINE
mv tmpdocs/patch.txt $BASEDIR/../doc/PATCH-HOWTO
mv tmpdocs/readme.txt $BASEDIR/../README
mv tmpdocs/seen.txt $BASEDIR/../doc/settings/mod.seen
mv tmpdocs/server.txt $BASEDIR/../doc/settings/mod.server
mv tmpdocs/share.txt $BASEDIR/../doc/settings/mod.share
mv tmpdocs/tcl-commands.txt $BASEDIR/../doc/tcl-commands.doc
mv tmpdocs/text-sub.txt $BASEDIR/../doc/TEXT-SUBSTITUTIONS
mv tmpdocs/tls.txt $BASEDIR/../doc/TLS
mv tmpdocs/transfer.txt $BASEDIR/../doc/settings/mod.transfer
mv tmpdocs/tricks.txt $BASEDIR/../doc/TRICKS
mv tmpdocs/uptime.txt $BASEDIR/../doc/settings/mod.uptime
mv tmpdocs/users.txt $BASEDIR/../doc/USERS
mv tmpdocs/weird-msgs.txt $BASEDIR/../doc/WEIRD-MESSAGES
mv tmpdocs/woobie.txt $BASEDIR/../doc/settings/mod.woobie
rm -rf tmpdocs
rm -rf $BASEDIR/../doc/html/_sources

echo "Yahtzee!"
