You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by lx...@apache.org on 2017/08/01 14:35:49 UTC

[incubator-mxnet-test] 01/28: Add

This is an automated email from the ASF dual-hosted git repository.

lxn2 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet-test.git

commit eaf95c7650652248a6501ef25e2aa3363eae5fde
Author: Wang <wa...@9801a7a9c287.ant.amazon.com>
AuthorDate: Tue Jul 25 16:57:46 2017 -0700

    Add
---
 docs/build_version_doc/AddVersion.py | 50 ++++++++++++++++++++++++++++++
 docs/build_version_doc/build_doc.sh  | 59 ++++++++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+)

diff --git a/docs/build_version_doc/AddVersion.py b/docs/build_version_doc/AddVersion.py
new file mode 100644
index 0000000..6d97415
--- /dev/null
+++ b/docs/build_version_doc/AddVersion.py
@@ -0,0 +1,50 @@
+import os
+import argparse
+from bs4 import BeautifulSoup as bs
+
+parser = argparse.ArgumentParser(description="Manipulate index page",
+                                     formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+parser.add_argument('--file_path', type=str, default='mxnet/docs/_build/html/',
+                        help='file to be modified')
+parser.add_argument('--current_version', type=str, default='master',
+                        help='Current version')
+
+if __name__ == '__main__':
+    args = parser.parse_args()
+
+    root_url = "http://localhost:8008/"#"https://mxnet.incubator.apache.org/test/"
+    tag_list = list()
+    with open('tag_list.txt', 'r') as tag_file:
+        for line in tag_file:
+            tag_list.append(line.lstrip().rstrip())
+        tag_list.append('master')
+
+    version_str = '<span id="dropdown-menu-position-anchor-version" ' \
+                  'style="position: relative">' \
+                  '<a href="#" class="main-nav-link dropdown-toggle" data-toggle="dropdown" ' \
+                  'role="button" aria-haspopup="true" aria-expanded="true">Versions(%s)<span class="caret">' \
+                  '</span></a><ul id="package-dropdown-menu" class="dropdown-menu">' % (args.current_version)
+    version_str_mobile = '<li id="dropdown-menu-position-anchor-version-mobile" class="dropdown-submenu" ' \
+                         'style="position: relative">' \
+                         '<a href="#" tabindex="-1">Versions(%s)</a><ul class="dropdown-menu">' % (args.current_version)
+    for i, tag in enumerate(tag_list):
+        url = root_url if i == 0 else root_url + 'versions/%s/index.html' % (tag)
+        version_str += '<li><a class="main-nav-link" href=%s>%s</a></li>' % (url, tag)
+        version_str_mobile += '<li><a tabindex="-1" href=%s>%s</a></li>' % (url, tag)
+    version_str += '</ul></span>'
+    version_str_mobile += '</ul><li>'
+
+    for path, subdirs, files in os.walk(args.file_path):
+        for name in files:
+            if not name.endswith('.html'):
+                continue
+            with open(os.path.join(path, name), 'r') as html_file:
+                content = bs(html_file, 'html.parser')
+            navbar = content.find(id="main-nav")
+            navbar_mobile = content.find(id="burgerMenu")
+            if navbar and navbar_mobile:
+                navbar.append(version_str)
+                navbar_mobile.append(version_str_mobile)
+                outstr = str(content).replace('&lt;', '<').replace('&gt;', '>')
+                with open(os.path.join(path, name), "w") as outf:
+                    outf.write(outstr)
\ No newline at end of file
diff --git a/docs/build_version_doc/build_doc.sh b/docs/build_version_doc/build_doc.sh
new file mode 100755
index 0000000..93d2671
--- /dev/null
+++ b/docs/build_version_doc/build_doc.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+web_url="https://github.com/kevinthesun/ApacheJenkinsWebTest"
+mxnet_url="https://github.com/kevinthesun/mxnet.git"
+web_folder="VersionedWeb"
+mxnet_folder="mxnet"
+local_build="latest"
+web_branch="static_web"
+git clone $web_url $web_folder
+git clone $mxnet_url --recursive $mxnet_folder
+cd $web_folder
+git checkout -b $web_branch "origin/$web_branch"
+cd ..
+mkdir "$local_build"
+mkdir "$local_build/versions"
+
+mkdir master
+cd "$mxnet_folder"
+git checkout VersionedDoc
+input=$("../$web_folder/tag.txt")
+tag_list=()
+while read -r line 
+do
+    tag_list+=("$line")
+done < "$input"
+latest_tag=${tag_list[0]}
+commit_id=$(git rev-parse HEAD)
+curr_tag=$(git describe --exact-match --tags "$commit_id")
+if [[ $curr_tag != fatal* ]] && [ $curr_tag != $latest_tag ]
+then
+    latest_tag=$curr_tag
+fi
+make docs || exit 1
+cd ..
+cp "$web_folder/tag.txt" tag_list.txt
+if [ $latest_tag != ${tag_list[0]} ]
+then
+    echo -e "DATA-Line-1\n$(cat tag_list.txt)" > tag_list.txt
+    cat tag_list.txt
+fi
+python AddVersion.py --file_path "$mxnet_folder/docs/_build/html/"
+cp -a "$mxnet_folder/docs/_build/html/." master
+
+if [ $latest_tag != ${tag_list[0]} ]
+then
+    python AddVersion.py --file_path "$mxnet_folder/docs/_build/html/" --current_version "$latest_tag"
+    mkdir "$mxnet_folder/docs/_build/html/versions"
+    cp -a "$mxnet_folder/docs/_build/html/." "$local_build"
+    cp tag_list.txt "$local_build/tag.txt"
+    cp -a "$web_folder/versions/." "$local_build/versions"
+    mkdir "$local_build/versions/${tag_list[0]}"
+    cp -a "$web_folder/." "$local_build/versions/${tag_list[0]}"
+    rm -rf "$local_build/versions/${tag_list[0]}/versions"
+    rm -rf "$web_folder/*"
+    cp -a "$local_build/." "$web_folder"
+fi
+
+rm -rf "$web_folder/versions/master"
+cp -R master "$web_folder/versions/master"

-- 
To stop receiving notification emails like this one, please contact
"commits@mxnet.apache.org" <co...@mxnet.apache.org>.