From df448df813fdeb2b854bc71a89de8b63376f22d1 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Thu, 19 Feb 2015 16:00:21 +0000 Subject: [PATCH] Redo gendoc script. --- .gitignore | 1 + scripts/gendoc.py | 53 +++++++++++++++++++++++++++++++++++++ scripts/gendoc.sh | 23 ---------------- scripts/matrx-org-gendoc.sh | 21 +++++++++++++++ 4 files changed, 75 insertions(+), 23 deletions(-) create mode 100644 .gitignore create mode 100755 scripts/gendoc.py delete mode 100755 scripts/gendoc.sh create mode 100755 scripts/matrx-org-gendoc.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..c838ab29 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +scripts/gen diff --git a/scripts/gendoc.py b/scripts/gendoc.py new file mode 100755 index 00000000..c5a7aae0 --- /dev/null +++ b/scripts/gendoc.py @@ -0,0 +1,53 @@ +#! /usr/bin/env python + +from docutils.core import publish_file +import glob +import os +import shutil +import sys + +stylesheets = { + "stylesheet_path": ["basic.css", "nature.css"] +} + +def glob_spec(out_file_name): + with open(out_file_name, "wb") as outfile: + for f in sorted(glob.glob("../specification/*.rst")): + with open(f, "rb") as infile: + outfile.write(infile.read()) + + +def rst2html(i, o): + with open(i, "r") as in_file: + with open(o, "w") as out_file: + publish_file( + source=in_file, + destination=out_file, + reader_name="standalone", + parser_name="restructuredtext", + writer_name="html", + settings_overrides=stylesheets + ) + +def prepare_env(): + try: + os.makedirs("./gen") + except OSError: + pass + try: + os.makedirs("./tmp") + except OSError: + pass + +def cleanup_env(): + shutil.rmtree("./tmp") + +def main(): + prepare_env() + glob_spec("tmp/full_spec.rst") + rst2html("tmp/full_spec.rst", "gen/specification.html") + rst2html("../howtos/client-server.rst", "gen/howtos.html") + cleanup_env() + +if __name__ == '__main__': + main() diff --git a/scripts/gendoc.sh b/scripts/gendoc.sh deleted file mode 100755 index 4a92f681..00000000 --- a/scripts/gendoc.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -MATRIXDOTORG=$HOME/workspace/matrix.org - -# list of places we mess with the template: -# -# docs/*/*.html -# mailman -# alpha -# swagger -# blog - -cat ../specification/*.rst > /tmp/spec.rst -rst2html-2.7.py --stylesheet=basic.css,nature.css /tmp/spec.rst > $MATRIXDOTORG/docs/spec/index.html -rst2html-2.7.py --stylesheet=basic.css,nature.css ../howtos/client-server.rst > $MATRIXDOTORG/docs/howtos/client-server.html - -perl -pi -e 's###' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html - -perl -MFile::Slurp -pi -e 'BEGIN { $nav = read_file("'$MATRIXDOTORG'/includes/nav.html") } s##
[matrix]
#' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html - -perl -pi -e 's##
#' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html - -scp -r $MATRIXDOTORG/docs matrix@ldc-prd-matrix-001:/sites/matrix diff --git a/scripts/matrx-org-gendoc.sh b/scripts/matrx-org-gendoc.sh new file mode 100755 index 00000000..18961046 --- /dev/null +++ b/scripts/matrx-org-gendoc.sh @@ -0,0 +1,21 @@ +#! /bin/bash + +if [ -z "$1" ]; then + echo "Expected /includes/nav.html file as arg." + exit 1 +fi + +NAV_BAR=$1 + +if [ ! -f $NAV_BAR ]; then + echo $NAV_BAR " does not exist" + exit 1 +fi + +python gendoc.py + +perl -pi -e 's###' gen/specification.html gen/howtos.html + +perl -MFile::Slurp -pi -e 'BEGIN { $nav = read_file("'$NAV_BAR'") } s##
[matrix]
#' gen/specification.html gen/howtos.html + +perl -pi -e 's##
#' gen/specification.html gen/howtos.html