diff garcon/documentation.py @ 642:79aefe82c6b6

cm: Move all scripts into a `garcon` package with `invoke` support.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 14 Feb 2016 22:11:24 -0800
parents
children 3060a6f26330
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/garcon/documentation.py	Sun Feb 14 22:11:24 2016 -0800
@@ -0,0 +1,41 @@
+import os
+import os.path
+from invoke import task, run
+
+
+@task
+def gendocs(tmp_dir=None, out_dir=None):
+    if not tmp_dir:
+        tmp_dir = '_docs-counter'
+
+    print("Updating virtual environment")
+    run("pip install -r requirements.txt --upgrade")
+
+    print("Update Bower packages")
+    run("bower update")
+
+    print("Generate PieCrust version")
+    run('python setup.py version')
+    from piecrust.__version__ import APP_VERSION
+    version = APP_VERSION
+
+    print("Baking documentation for version: %s" % version)
+    args = [
+            'python', 'chef.py',
+            '--root', 'docs',
+            '--config', 'dist',
+            '--config-set', 'site/root', '/piecrust/en/%s' % version,
+            'bake',
+            '-o', tmp_dir
+            ]
+    run(' '.join(args))
+
+    if out_dir:
+        print("Synchronizing %s" % out_dir)
+        if not os.path.isdir(out_dir):
+            os.makedirs(out_dir)
+
+        tmp_dir = tmp_dir.rstrip('/') + '/'
+        out_dir = out_dir.rstrip('/') + '/'
+        run('rsync -av --delete %s %s' % (tmp_dir, out_dir))
+