web: Add generate-doc.sh to generate makeinfo-based ffmpeg docs
authorTimothy Gu <timothygu99@gmail.com>
Mon, 1 Sep 2014 02:53:31 +0000 (19:53 -0700)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 1 Sep 2014 10:29:48 +0000 (12:29 +0200)
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
README
generate-doc.sh [new file with mode: 0755]

diff --git a/README b/README
index 2276820..ca70560 100644 (file)
--- a/README
+++ b/README
@@ -15,17 +15,7 @@ GENERATE THE DOCUMENTATION
 
 /!\ None of the generated versions of the website contain the documentation.
 
 
 /!\ None of the generated versions of the website contain the documentation.
 
-To generate the documentation pages:
-- Add the HTML wrappers to your environment:
-  $ export FFMPEG_HEADER1="$(cat src/template_head1 src/template_doctitle src/template_head_prod)"
-  $ export FFMPEG_HEADER2="$(cat src/template_head2 src/template_doctitle src/template_head3)"
-  $ export FFMPEG_FOOTER="$(cat src/template_footer1 src/template_footer_prod src/template_footer2)"
-- Get the main ffmpeg repo:
-  $ git clone git://source.ffmpeg.org/ffmpeg.git
-- Compile the documentation using the ffmpeg main repo Makefile:
-  $ make doc
-- Copy the generated HTML files inside the website:
-  $ cp /path/to/ffmpeg/doc/*.html /path/to/ffmpeg-web/htdocs/
+To generate the documentation pages, just `./generate-doc.sh <ffmpeg-src>`.
 
 In case of a major CSS update, please also update the `style.min.css` file in
 the main FFmpeg repo:
 
 In case of a major CSS update, please also update the `style.min.css` file in
 the main FFmpeg repo:
diff --git a/generate-doc.sh b/generate-doc.sh
new file mode 100755 (executable)
index 0000000..f953a9a
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# Copyright (c) 2014 Tiancheng "Timothy" Gu.
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+die() {
+    echo $1
+    exit 1
+}
+
+if [ $# != 1 ]; then
+    die "Usage: $0 <ffmpeg-source>"
+fi
+
+src=$1
+current_dir=$(pwd)
+
+export FFMPEG_HEADER1="$(cat src/template_head1)"
+export FFMPEG_HEADER2="$(cat src/template_head_prod src/template_head2)"
+export FFMPEG_HEADER3="$(cat src/template_head3)"
+export FFMPEG_FOOTER="$(cat src/template_footer1 src/template_footer_prod src/template_footer2)"
+
+rm -rf build-doc
+mkdir build-doc && cd build-doc
+$src/configure --enable-gpl --disable-yasm || die "configure failed"
+make doc || die "doc not made"
+cp doc/*.html ../htdocs/ || die "copy failed"
+
+cd ..
+rm -rf build-doc
\ No newline at end of file