#!/bin/sh -e
# -*- mode: Shell-script; tab-width: 8; fill-column: 70; -*-

PROG="${0##*/}"
DOCS_STYLESHEET="${DOCS_STYLESHEET:-http://docs.altlinux.ru/releases/xsl/current/html/html-dir.xsl}"
TUNE_STYLESHEET="${TUNE_STYLESHEET:-http://docs.altlinux.ru/releases/xsl/current/common/tuning.xsl}"

Fatal() {
  printf "$PROG: Fatal: %s\n" "$*" >&2
  exit 1
}

output_dir="$1" && shift || Fatal "more argumets required"
source_dir=doc
target_document="$1" && shift 
additional_parameters=$@

echo "General parameters: $additional_parameters"
echo "$(pwd)"

# tuning stage
/usr/bin/xsltproc \
	--output "$output_dir/tuned.xml" \
	--nonet \
	--xinclude \
	$additional_parameters \
	--param ulink.leave.duplicates.after 10 \
	--param revhistory.strip 1 \
	"$TUNE_STYLESHEET" \
	"$target_document" \
  || Fatal "Tuning stage: xsltproc failed"

  # copying images 
mkdir -p $output_dir/images
sh $output_dir/collect_images.sh $source_dir $output_dir

# HTML build stage
  /usr/bin/xsltproc \
	--output "$output_dir" \
	--nonet \
	--stringparam base.dir "$output_dir/" \
	--stringparam chunker.output.encoding UTF-8 \
	--stringparam collect.xref.targets no \
	$additional_parameters \
	"$DOCS_STYLESHEET" \
	"$output_dir/tuned.xml" \
  || Fatal "html-dir stage: xsltproc failed"

# cleanup
rm $output_dir/tuned.xml $output_dir/collect_images.sh
