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

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


The following commit(s) were added to refs/heads/master by this push:
     new de5948b  Version switching user experience improvements (#13921)
de5948b is described below

commit de5948b1af7d479cae0dc993e88e95c5738fc543
Author: Aaron Markham <markh...@amazon.com>
AuthorDate: Fri Jan 18 14:41:53 2019 -0800

    Version switching user experience improvements (#13921)
    
    * fix version switching for anchors and search
    
    * improved redirects
    
    * fix bug for dev previews; remove hardcoded protocol
---
 docs/_static/js/docversion.js              | 13 ++++++++-----
 docs/_static/searchtools_custom.js         |  4 ++--
 docs/build_version_doc/artifacts/.htaccess | 10 +++-------
 3 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/docs/_static/js/docversion.js b/docs/_static/js/docversion.js
index 1119f4e..3201798 100644
--- a/docs/_static/js/docversion.js
+++ b/docs/_static/js/docversion.js
@@ -18,16 +18,19 @@
  */
 
 /* Set the version of the website */
-function setVersion(){
-        let doc = window.location.pathname.match(/^\/(api\/.*)$/) || 
window.location.pathname.match(/^\/versions\/[^*]+\/(api\/.*)$/);
+function setVersion(anchor){
+        if (arguments.length==0) {
+            anchor = window.location.hash
+        };
+        let doc = 
window.location.pathname.match(/^\/versions\/[^\/]+\/([^*]+.*)$/);
         if (doc) {
             if 
(document.getElementById('dropdown-menu-position-anchor-version')) {
                     versionNav = $('#dropdown-menu-position-anchor-version 
a.main-nav-link');
                     $(versionNav).each( function( index, el ) {
                             currLink = $( el ).attr('href');
-                            version = 
currLink.match(/\/versions\/([0-9.master]+)\//);
+                            version = currLink.match(/\/versions\/([^\/]+)\//);
                             if (version) {
-                                    versionedDoc = '/versions/' + version[1] + 
'/' + doc[1] + (window.location.hash || '');
+                                    versionedDoc = '/versions/' + version[1] + 
'/' + doc[1] + (anchor || '') + (window.location.search || '');
                                     $( el ).attr('href', versionedDoc);
                             }
                     });
@@ -40,5 +43,5 @@ $(document).ready(function () {
 });
 
 $('a.reference.internal').click(function(){
-    setVersion();
+    setVersion($(this).attr("href"));
 });
diff --git a/docs/_static/searchtools_custom.js 
b/docs/_static/searchtools_custom.js
index 5f8c30a..adeb0c2 100644
--- a/docs/_static/searchtools_custom.js
+++ b/docs/_static/searchtools_custom.js
@@ -457,7 +457,7 @@ var Search = {
                 highlightstring + item[2]).html(item[1]));
             } else {
                 // normal html builders
-                var baseURL = 'https://' + window.location.hostname + '/';
+                var baseURL = window.location.protocol + '//' + 
window.location.hostname + '/';
                 var urlHref = window.location.href;
                 let urlSplits = urlHref.split("/");
                 let versionString = '';
@@ -570,7 +570,7 @@ var Search = {
         }
         Search.title.text(_('Search Results'));
         if (!resultCount)
-          Search.status.text(_('Your search did not match any documents. 
Please make sure that all words are spelled correctly and that you\'ve selected 
enough categories.'));
+          Search.status.text(_('Your search did not match any documents in 
this version of the documentation. You can use the dropdown selector in the 
navigation bar to try another version. Please make sure that all words are 
spelled correctly and that you\'ve selected enough categories.'));
         else
             Search.status.text(_('Search finished, found %s page(s) matching 
the search query.').replace('%s', resultCount));
         Search.status.fadeIn(500);
diff --git a/docs/build_version_doc/artifacts/.htaccess 
b/docs/build_version_doc/artifacts/.htaccess
index 6bf3a65..798fe92 100644
--- a/docs/build_version_doc/artifacts/.htaccess
+++ b/docs/build_version_doc/artifacts/.htaccess
@@ -4,15 +4,11 @@ RewriteRule ^get_started/why_mxnet.html$ 
%{ENV:default_version}/faq/why_mxnet.ht
 RewriteRule ^get_started.*$ %{ENV:default_version}/install/ [R=301,L]
 RewriteRule ^how_to.*$ %{ENV:default_version}/faq/ [R=301,L]
 RewriteRule ^api/python/symbol.html$ 
%{ENV:default_version}/api/python/symbol/symbol.html [R=301,L]
-RewriteRule ^community/index.html$ 
%{ENV:default_version}/community/contribute.html [R=301,L]
+RewriteRule ^(?:versions\/[^\/]+\/)?community/index.html$ 
%{ENV:default_version}/community/contribute.html [R=301,L]
 
 # Navigation bar redirects to latest info
-RewriteRule ^versions\/[0-9.]+\/architecture/(.*)$ 
%{ENV:default_version}/architecture/$1 [R=301,L]
-RewriteRule ^versions\/[0-9.]+\/community/(.*)$ 
%{ENV:default_version}/community/$1 [R=301,L]
-RewriteRule ^versions\/[0-9.]+\/faq/(.*)$ %{ENV:default_version}/faq/$1 
[R=301,L]
-RewriteRule ^versions\/[0-9.]+\/gluon/(.*)$ %{ENV:default_version}/gluon/$1 
[R=301,L]
-RewriteRule ^versions\/[0-9.]+\/install/(.*)$ 
%{ENV:default_version}/install/$1 [R=301,L]
-RewriteRule ^versions\/[0-9.]+\/tutorials/(.*)$ 
%{ENV:default_version}/tutorials/$1 [R=301,L]
+RewriteCond %{ENV:default_version}#\/$1 !^([^#]+)#\1$
+RewriteRule 
^(versions\/[^\/]+)?(?:\/)?(faq|community|install|gluon|tutorials|architecture)(.*)?$
 %{ENV:default_version}/$2$3 [R=301,L]
 
 # Redirect navbar APIs that did not exist
 RewriteRule ^versions/0.11.0/api/python/contrib/onnx.html 
%{ENV:default_version}/error/api.html [R=301,L]

Reply via email to