[Libreoffice-commits] help.git: help3xsl/help.js help3xsl/index2.html help3xsl/index.html help3xsl/LOHelp.html help3xsl/online_transform.xsl help3xsl/tabs.js help3xsl/tree.css help3xsl/xhp2html.sh

Olivier Hallot olivier.hallot at libreoffice.org
Wed Aug 2 04:02:27 UTC 2017


 help3xsl/LOHelp.html          |   30 ++
 help3xsl/help.js              |   16 +
 help3xsl/index.html           |   49 ---
 help3xsl/index2.html          |   52 +++
 help3xsl/online_transform.xsl |  549 +++++++++++++++++++++---------------------
 help3xsl/tabs.js              |   53 ----
 help3xsl/tree.css             |  123 ---------
 help3xsl/xhp2html.sh          |   41 ++-
 8 files changed, 425 insertions(+), 488 deletions(-)

New commits:
commit 9f9cebab254146cbae0a093626ed78801e85b98f
Author: Olivier Hallot <olivier.hallot at libreoffice.org>
Date:   Wed Aug 2 00:49:11 2017 -0300

    tdf#97745 Handle offline browser help
    
    * Rename index.html to LOHelp.html. index.html is a bad name,
    too generic. LOHelp.html is invoked by LibreOffice and is not a
    popular file name.
    * Clean the XSLT transform, add suport for local help.
    * reposition bookmark2file.js in the target tree.
    * remove obsolete files
    * page tree now capable to be opened by file:// protocol, passing
    'online' parameter and folder address to the bash script.
    
    Change-Id: I2cf9f69de7896bd74074745993ef033bef5c3503
    Reviewed-on: https://gerrit.libreoffice.org/40661
    Reviewed-by: Olivier Hallot <olivier.hallot at edx.srv.br>
    Tested-by: Olivier Hallot <olivier.hallot at edx.srv.br>

diff --git a/help3xsl/LOHelp.html b/help3xsl/LOHelp.html
new file mode 100644
index 000000000..bd2100a7e
--- /dev/null
+++ b/help3xsl/LOHelp.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<!--
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+<html>
+<head>
+    <script type="text/javascript" src="latest/help.js"></script>
+</head>
+<body>
+<script type="text/javascript">
+    var url = window.location.href;
+    var n = url.indexOf('LOHelp.html?');
+    if (n != -1){
+    // the URL came from LibreOffice help (F1)
+    var version = getParameterByName("Version",url);
+    var rest = url.substr(n+12,url.lenght);
+    var newURL = version+'/index.html?'+rest;
+    window.open(newURL,'_self');
+    }else{
+    // URL came from elsewhere, direct access to webroot, we redirect to main Help page
+    window.open('latest/en-US/text/shared/main0108.html?&DbPAR=WRITER&System=WIN','_self');
+    }
+</script>
+</body>
+</html>
+
diff --git a/help3xsl/help.js b/help3xsl/help.js
index 6028802be..1901a96ad 100644
--- a/help3xsl/help.js
+++ b/help3xsl/help.js
@@ -37,9 +37,11 @@ function fixURL(module, system){
     var pSystem = (system == null) ? "WIN" : system;
     var pAppl = (module == null) ? "WRITER" : module;
     var n = itemlink.length;
-    var item;
-    for (var i = 0; i<n; i++) {setURLParam(itemlink[i], pSystem, pAppl)
+
+    for (var i = 0; i<n; i++) {
+        setURLParam(itemlink[i], pSystem, pAppl)
     }
+
 }
 //Set the params inside URL
 function setURLParam (itemlink, pSystem, pAppl) {
@@ -59,6 +61,16 @@ function setURLParam (itemlink, pSystem, pAppl) {
     }
 }
 
+function getSystem (){
+    var system="Unknown OS";
+    if (navigator.appVersion.indexOf("Win")!=-1) system="WIN";
+    if (navigator.appVersion.indexOf("Mac")!=-1) system="MAC";
+    if (navigator.appVersion.indexOf("X11")!=-1) system="UNIX";
+    if (navigator.appVersion.indexOf("Linux")!=-1) system="UNIX";
+    return system;
+}
+
+
 function getParameterByName(name, url) {
     if (!url) {
         url = window.location.href;
diff --git a/help3xsl/index.html b/help3xsl/index.html
index b3ee47617..47cc54b26 100644
--- a/help3xsl/index.html
+++ b/help3xsl/index.html
@@ -7,46 +7,11 @@
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 -->
 <html>
-	<head>
-	<script type="text/javascript" src="latest/help.js"></script>
-	<script type="text/javascript" src="bookmark2file.js"></script>
-	</head>
-	<body>
-        <script type="text/javascript">
-        var url = window.location.href;
-        var n = url.indexOf('index.html?');
-        if (n != -1){
-        // the URL came from LibreOffice help (F1)
-            var version = getParameterByName("Version",url);
-            var lang = getParameterByName("Language",url);
-            var system  = getParameterByName("System",url);
-            var rest= url.substr(n+11,url.lenght);
-            var module;
-            var defaultFile;
-            var smodule = rest.substr(0, rest.indexOf('/'));
-            switch (smodule) {
-            case "swriter":   {defaultFile='text/swriter/main0000.html';module="WRITER";break;}
-            case "scalc":     {defaultFile='text/scalc/main0000.html';module="CALC";break;}
-            case "simpress":  {defaultFile='text/simpress/main0000.html';module="IMPRESS";break;}
-            case "sdraw":     {defaultFile='text/sdraw/main0000.html';module="DRAW";break;}
-            case "smath":     {defaultFile='text/smath/main0000.html';module="MATH";break;}
-            case "sdatabase": {defaultFile='text/shared/explorer/database/main.html';module="BASE";break;}
-            case "sbasic":    {defaultFile='text/sbasic/shared/main0601.html';module="BASIC";break;}
-            default:          {defaultFile='text/shared/main0000.html';module="WRITER";break;}
-            }
-            var bookmark = rest.slice(rest.indexOf('/')+1, rest.indexOf('?')); 
-            var file = map[bookmark];
-            // rebuild URL
-            if (file=='undefined'){
-                file = defaultFile;
-            }
-            var newURL = '/'+version+'/'+lang+'/'+file+'?System='+system+'&DbPAR='+module;
-            window.open(newURL,'_self');
-        }else{
-        // URL came from elsewhere, direct access to webroot, we redirect to main Help page
-            window.open('latest/en-US/text/shared/main0108.html?&DbPAR=WRITER&System=WIN','_self');
-        }
-    </script>
-	</body>
+<head>
+</head>
+<body>
+<script type="text/javascript">
+    window.open('latest/en-US/text/shared/main0108.html?&DbPAR=WRITER&System=WIN','_self');
+</script>
+</body>
 </html>
-
diff --git a/help3xsl/index2.html b/help3xsl/index2.html
new file mode 100644
index 000000000..fb0cb76a4
--- /dev/null
+++ b/help3xsl/index2.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<!--
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+<html>
+	<head>
+	<script type="text/javascript" src="help.js"></script>
+	<script type="text/javascript" src="bookmark2file.js"></script>
+	</head>
+	<body>
+        <script type="text/javascript">
+        var url = window.location.href;
+        var n = url.indexOf('index.html?');
+        if (n != -1){
+        // the URL came from LibreOffice help (F1)
+            var version = getParameterByName("Version",url);
+            var lang = getParameterByName("Language",url);
+            var system  = getParameterByName("System",url);
+            var rest= url.substr(n+11,url.lenght);
+            var module;
+            var defaultFile;
+            var smodule = rest.substr(0, rest.indexOf('/'));
+            switch (smodule) {
+            case "swriter":   {defaultFile='text/swriter/main0000.html';module="WRITER";break;}
+            case "scalc":     {defaultFile='text/scalc/main0000.html';module="CALC";break;}
+            case "simpress":  {defaultFile='text/simpress/main0000.html';module="IMPRESS";break;}
+            case "sdraw":     {defaultFile='text/sdraw/main0000.html';module="DRAW";break;}
+            case "smath":     {defaultFile='text/smath/main0000.html';module="MATH";break;}
+            case "sdatabase": {defaultFile='text/shared/explorer/database/main.html';module="BASE";break;}
+            case "sbasic":    {defaultFile='text/sbasic/shared/main0601.html';module="BASIC";break;}
+            default:          {defaultFile='text/shared/main0000.html';module="WRITER";break;}
+            }
+            var bookmark = rest.slice(rest.indexOf('/')+1, rest.indexOf('?')); 
+            var file = map[bookmark];
+            // rebuild URL
+            if (file=='undefined'){
+                file = defaultFile;
+            }
+            var newURL = lang+'/'+file+'?System='+system+'&DbPAR='+module;
+            window.open(newURL,'_self');
+        }else{
+        // URL came from elsewhere, direct access to webroot, we redirect to main Help page
+            window.open('en-US/text/shared/main0108.html?&DbPAR=WRITER&System=WIN','_self');
+        }
+    </script>
+	</body>
+</html>
+
diff --git a/help3xsl/online_transform.xsl b/help3xsl/online_transform.xsl
index e9ec577e2..a267bdd14 100644
--- a/help3xsl/online_transform.xsl
+++ b/help3xsl/online_transform.xsl
@@ -29,7 +29,14 @@
 //-->
 
 <xsl:param name="productversion"/>
-
+<xsl:param name="local" />
+<xsl:param name="fileTree"/>
+<xsl:param name="productname" select="'LibreOffice'"/>
+<xsl:param name="System" select="'WIN'"/>
+<xsl:param name="imgtheme" select="''"/>
+<xsl:param name="Id" />
+<xsl:param name="Language"/>
+<xsl:param name="root"/>
 
 <!-- General Usage -->
 <xsl:variable name="am" select="'&'"/>
@@ -47,6 +54,10 @@
 <xsl:variable name="brand3" select="'%PRODUCTNAME'"/>
 <xsl:variable name="brand4" select="'%PRODUCTVERSION'"/>
 
+<!-- Installation -->
+<xsl:variable name="online" select="$local!='yes'"/>
+<xsl:variable name="install" select="concat('file://',$fileTree)"/>
+
 <!-- meta data variables from the help file -->
 <xsl:variable name="filename" select="/helpdocument/meta/topic/filename"/>
 <xsl:variable name="title" select="/helpdocument/meta/topic/title"/>
@@ -54,41 +65,22 @@
 <!-- Module and the corresponding switching values-->
 <xsl:param name="Database" select="'swriter'"/>
 <xsl:variable name="module" select="$Database"/>
-<xsl:variable name="appl">
-    <xsl:choose>
-        <xsl:when test="$module = 'swriter'"><xsl:value-of select="'WRITER'"/></xsl:when>
-        <xsl:when test="$module = 'scalc'"><xsl:value-of select="'CALC'"/></xsl:when>
-        <xsl:when test="$module = 'sdraw'"><xsl:value-of select="'DRAW'"/></xsl:when>
-        <xsl:when test="$module = 'simpress'"><xsl:value-of select="'IMPRESS'"/></xsl:when>
-        <xsl:when test="$module = 'schart'"><xsl:value-of select="'CHART'"/></xsl:when>
-        <xsl:when test="$module = 'sbasic'"><xsl:value-of select="'BASIC'"/></xsl:when>
-        <xsl:when test="$module = 'smath'"><xsl:value-of select="'MATH'"/></xsl:when>
-    </xsl:choose>
-</xsl:variable>
+<xsl:variable name="appl"/>
+
+<!-- the other parameters given by the help caller -->
 
-  <!-- the other parameters given by the help caller -->
-<xsl:param name="System" select="'WIN'"/>
-<xsl:param name="productname" select="'LibreOffice'"/>
 
 <xsl:variable name="pversion">
 	<xsl:value-of select="translate($productversion,' ','')"/>
 </xsl:variable>
 <!-- this is were the images are -->
 
-<xsl:param name="imgtheme" select="''"/>
-<xsl:param name="Id" />
-<xsl:param name="Language"/>
-<xsl:param name="root"/>
 <xsl:variable name="lang" select="$Language"/>
 <xsl:variable name="urlpre" select="$root"/>
 
 <!-- generic Icon alt text -->
 <xsl:variable name="alttext" select="concat($root,'text/shared/00/icon_alt.xhp')"/>
 
-<xsl:param name="ExtensionId" select="''"/>
-<xsl:param name="ExtensionPath" select="''"/>
-
-
   <!-- parts of help and image urls -->
 <!--<xsl:variable name="help_url_prefix" select="'vnd.sun.star.help://'"/>-->
 <xsl:variable name="help_url_prefix" select="''"/>
@@ -107,12 +99,6 @@
 <xsl:variable name="warning_img" select="concat($img_url_prefix,'helpimg/warning.png')"/>
 
 <!--
-########################
-# Schema.org variables #
-######################## 
-//-->
-
-<!--
 #############
 # Templates #
 #############
@@ -126,8 +112,14 @@
     </xsl:variable>
 <html>
     <head>
-        <!--<base href="file:///home/tdf/git/core/helpcontent2/source/html/"/> -->
-        <base href="/"/>
+        <xsl:choose>
+            <xsl:when test="$online">
+                <base href="/"/>
+            </xsl:when>
+            <xsl:otherwise>
+                 <base href="{$install}"/>
+             </xsl:otherwise>
+        </xsl:choose>
         <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
         <title><xsl:value-of select="$titleL10N"/></title>
         <link rel="shortcut icon" href="{$productversion}/media/navigation/favicon.ico" />
@@ -138,85 +130,89 @@
         <meta name="viewport" content="width=device-width,initial-scale=1"/>
     </head>
     <body lang="{$lang}" itemscope="true" itemtype="http://schema.org/TechArticle">
-    <meta itemprop="version" content="{$productversion}"/>
-    <meta itemprop="inLanguage" content="{$lang}"/>
-    <meta itemprop="datePublished" content="2017"/>
-    <meta itemprop="headline" content="{$titleL10N}"/>
+    <xsl:if test="$online">
+        <meta itemprop="version" content="{$productversion}"/>
+        <meta itemprop="inLanguage" content="{$lang}"/>
+        <meta itemprop="datePublished" content="2017"/>
+        <meta itemprop="headline" content="{$titleL10N}"/>
+    </xsl:if>
     <header>
         <a class="logo" href="https://helponline.libreoffice.org/">
             <div class="symbol"></div>
             <p>LibreOffice <xsl:value-of select="$productversion"/> Help</p>
         </a>
-        <input id="langs" name="language-menu" type="checkbox"/>
-        <label for="langs" role="button">Language ▼</label>
-        <ul>
-            <li><a href="{$productversion}/en-US{$htmlpage}">EN-US</a></li>
-            <li><a href="{$productversion}/am{$htmlpage}">AM</a></li>
-            <li><a href="{$productversion}/ar{$htmlpage}">AR</a></li>
-            <li><a href="{$productversion}/ast{$htmlpage}">AST</a></li>
-            <li><a href="{$productversion}/bg{$htmlpage}">BG</a></li>
-            <li><a href="{$productversion}/bn{$htmlpage}">BN</a></li>
-            <li><a href="{$productversion}/bn-IN{$htmlpage}">BN-IN</a></li>
-            <li><a href="{$productversion}/bo{$htmlpage}">BO</a></li>
-            <li><a href="{$productversion}/bs{$htmlpage}">BS</a></li>
-            <li><a href="{$productversion}/ca{$htmlpage}">CA</a></li>
-            <li><a href="{$productversion}/ca-valencia{$htmlpage}">CA-Valencia</a></li>
-            <li><a href="{$productversion}/cs{$htmlpage}">CS</a></li>
-            <li><a href="{$productversion}/da{$htmlpage}">DA</a></li>
-            <li><a href="{$productversion}/de{$htmlpage}">DE</a></li>
-            <li><a href="{$productversion}/dz{$htmlpage}">DZ</a></li>
-            <li><a href="{$productversion}/el{$htmlpage}">EL</a></li>
-            <li><a href="{$productversion}/en-GB{$htmlpage}">EN-GB</a></li>
-            <li><a href="{$productversion}/en-ZA{$htmlpage}">EN-ZA</a></li>
-            <li><a href="{$productversion}/eo{$htmlpage}">EO</a></li>
-            <li><a href="{$productversion}/es{$htmlpage}">ES</a></li>
-            <li><a href="{$productversion}/et{$htmlpage}">ET</a></li>
-            <li><a href="{$productversion}/eu{$htmlpage}">EU</a></li>
-            <li><a href="{$productversion}/fi{$htmlpage}">FI</a></li>
-            <li><a href="{$productversion}/fr{$htmlpage}">FR</a></li>
-            <li><a href="{$productversion}/gl{$htmlpage}">GL</a></li>
-            <li><a href="{$productversion}/gu{$htmlpage}">GU</a></li>
-            <li><a href="{$productversion}/he{$htmlpage}">HE</a></li>
-            <li><a href="{$productversion}/hi{$htmlpage}">HI</a></li>
-            <li><a href="{$productversion}/hr{$htmlpage}">HR</a></li>
-            <li><a href="{$productversion}/hu{$htmlpage}">HU</a></li>
-            <li><a href="{$productversion}/id{$htmlpage}">ID</a></li>
-            <li><a href="{$productversion}/is{$htmlpage}">IS</a></li>
-            <li><a href="{$productversion}/it{$htmlpage}">IT</a></li>
-            <li><a href="{$productversion}/ja{$htmlpage}">JA</a></li>
-            <li><a href="{$productversion}/ka{$htmlpage}">KA</a></li>
-            <li><a href="{$productversion}/km{$htmlpage}">KM</a></li>
-            <li><a href="{$productversion}/ko{$htmlpage}">KO</a></li>
-            <li><a href="{$productversion}/lo{$htmlpage}">LO</a></li>
-            <li><a href="{$productversion}/lt{$htmlpage}">LT</a></li>
-            <li><a href="{$productversion}/lv{$htmlpage}">LV</a></li>
-            <li><a href="{$productversion}/mk{$htmlpage}">MK</a></li>
-            <li><a href="{$productversion}/nb{$htmlpage}">NB</a></li>
-            <li><a href="{$productversion}/ne{$htmlpage}">NE</a></li>
-            <li><a href="{$productversion}/nl{$htmlpage}">NL</a></li>
-            <li><a href="{$productversion}/nn{$htmlpage}">NN</a></li>
-            <li><a href="{$productversion}/om{$htmlpage}">OM</a></li>
-            <li><a href="{$productversion}/pl{$htmlpage}">PL</a></li>
-            <li><a href="{$productversion}/pt{$htmlpage}">PT</a></li>
-            <li><a href="{$productversion}/pt-BR{$htmlpage}">PT-BR</a></li>
-            <li><a href="{$productversion}/ro{$htmlpage}">RO</a></li>
-            <li><a href="{$productversion}/ru{$htmlpage}">RU</a></li>
-            <li><a href="{$productversion}/sid{$htmlpage}">SID</a></li>
-            <li><a href="{$productversion}/sk{$htmlpage}">SK</a></li>
-            <li><a href="{$productversion}/sl{$htmlpage}">SL</a></li>
-            <li><a href="{$productversion}/sq{$htmlpage}">SQ</a></li>
-            <li><a href="{$productversion}/sv{$htmlpage}">SV</a></li>
-            <li><a href="{$productversion}/ta{$htmlpage}">TA</a></li>
-            <li><a href="{$productversion}/tg{$htmlpage}">TG</a></li>
-            <li><a href="{$productversion}/tr{$htmlpage}">TR</a></li>
-            <li><a href="{$productversion}/ug{$htmlpage}">UG</a></li>
-            <li><a href="{$productversion}/uk{$htmlpage}">UK</a></li>
-            <li><a href="{$productversion}/vi{$htmlpage}">VI</a></li>
-            <li><a href="{$productversion}/zh-CN{$htmlpage}">ZH-CN</a></li>
-            <li><a href="{$productversion}/zh-TW{$htmlpage}">ZH-TW</a></li>
-        </ul>
+        <xsl:if test="$online">
+            <input id="langs" name="language-menu" type="checkbox"/>
+            <label for="langs" role="button">Language ▼</label>
+            <ul>
+                <li><a href="{$productversion}/en-US{$htmlpage}">EN-US</a></li>
+                <li><a href="{$productversion}/am{$htmlpage}">AM</a></li>
+                <li><a href="{$productversion}/ar{$htmlpage}">AR</a></li>
+                <li><a href="{$productversion}/ast{$htmlpage}">AST</a></li>
+                <li><a href="{$productversion}/bg{$htmlpage}">BG</a></li>
+                <li><a href="{$productversion}/bn{$htmlpage}">BN</a></li>
+                <li><a href="{$productversion}/bn-IN{$htmlpage}">BN-IN</a></li>
+                <li><a href="{$productversion}/bo{$htmlpage}">BO</a></li>
+                <li><a href="{$productversion}/bs{$htmlpage}">BS</a></li>
+                <li><a href="{$productversion}/ca{$htmlpage}">CA</a></li>
+                <li><a href="{$productversion}/ca-valencia{$htmlpage}">CA-Valencia</a></li>
+                <li><a href="{$productversion}/cs{$htmlpage}">CS</a></li>
+                <li><a href="{$productversion}/da{$htmlpage}">DA</a></li>
+                <li><a href="{$productversion}/de{$htmlpage}">DE</a></li>
+                <li><a href="{$productversion}/dz{$htmlpage}">DZ</a></li>
+                <li><a href="{$productversion}/el{$htmlpage}">EL</a></li>
+                <li><a href="{$productversion}/en-GB{$htmlpage}">EN-GB</a></li>
+                <li><a href="{$productversion}/en-ZA{$htmlpage}">EN-ZA</a></li>
+                <li><a href="{$productversion}/eo{$htmlpage}">EO</a></li>
+                <li><a href="{$productversion}/es{$htmlpage}">ES</a></li>
+                <li><a href="{$productversion}/et{$htmlpage}">ET</a></li>
+                <li><a href="{$productversion}/eu{$htmlpage}">EU</a></li>
+                <li><a href="{$productversion}/fi{$htmlpage}">FI</a></li>
+                <li><a href="{$productversion}/fr{$htmlpage}">FR</a></li>
+                <li><a href="{$productversion}/gl{$htmlpage}">GL</a></li>
+                <li><a href="{$productversion}/gu{$htmlpage}">GU</a></li>
+                <li><a href="{$productversion}/he{$htmlpage}">HE</a></li>
+                <li><a href="{$productversion}/hi{$htmlpage}">HI</a></li>
+                <li><a href="{$productversion}/hr{$htmlpage}">HR</a></li>
+                <li><a href="{$productversion}/hu{$htmlpage}">HU</a></li>
+                <li><a href="{$productversion}/id{$htmlpage}">ID</a></li>
+                <li><a href="{$productversion}/is{$htmlpage}">IS</a></li>
+                <li><a href="{$productversion}/it{$htmlpage}">IT</a></li>
+                <li><a href="{$productversion}/ja{$htmlpage}">JA</a></li>
+                <li><a href="{$productversion}/ka{$htmlpage}">KA</a></li>
+                <li><a href="{$productversion}/km{$htmlpage}">KM</a></li>
+                <li><a href="{$productversion}/ko{$htmlpage}">KO</a></li>
+                <li><a href="{$productversion}/lo{$htmlpage}">LO</a></li>
+                <li><a href="{$productversion}/lt{$htmlpage}">LT</a></li>
+                <li><a href="{$productversion}/lv{$htmlpage}">LV</a></li>
+                <li><a href="{$productversion}/mk{$htmlpage}">MK</a></li>
+                <li><a href="{$productversion}/nb{$htmlpage}">NB</a></li>
+                <li><a href="{$productversion}/ne{$htmlpage}">NE</a></li>
+                <li><a href="{$productversion}/nl{$htmlpage}">NL</a></li>
+                <li><a href="{$productversion}/nn{$htmlpage}">NN</a></li>
+                <li><a href="{$productversion}/om{$htmlpage}">OM</a></li>
+                <li><a href="{$productversion}/pl{$htmlpage}">PL</a></li>
+                <li><a href="{$productversion}/pt{$htmlpage}">PT</a></li>
+                <li><a href="{$productversion}/pt-BR{$htmlpage}">PT-BR</a></li>
+                <li><a href="{$productversion}/ro{$htmlpage}">RO</a></li>
+                <li><a href="{$productversion}/ru{$htmlpage}">RU</a></li>
+                <li><a href="{$productversion}/sid{$htmlpage}">SID</a></li>
+                <li><a href="{$productversion}/sk{$htmlpage}">SK</a></li>
+                <li><a href="{$productversion}/sl{$htmlpage}">SL</a></li>
+                <li><a href="{$productversion}/sq{$htmlpage}">SQ</a></li>
+                <li><a href="{$productversion}/sv{$htmlpage}">SV</a></li>
+                <li><a href="{$productversion}/ta{$htmlpage}">TA</a></li>
+                <li><a href="{$productversion}/tg{$htmlpage}">TG</a></li>
+                <li><a href="{$productversion}/tr{$htmlpage}">TR</a></li>
+                <li><a href="{$productversion}/ug{$htmlpage}">UG</a></li>
+                <li><a href="{$productversion}/uk{$htmlpage}">UK</a></li>
+                <li><a href="{$productversion}/vi{$htmlpage}">VI</a></li>
+                <li><a href="{$productversion}/zh-CN{$htmlpage}">ZH-CN</a></li>
+                <li><a href="{$productversion}/zh-TW{$htmlpage}">ZH-TW</a></li>
+            </ul>
+        </xsl:if>
     </header>
-    <nav class="modules">
+    <nav id="Modules" class="modules">
         <ul>
             <li><a href="{$productversion}/{$lang}/text/scalc/main0000.html?DbPAR=CALC"><div class="calc"></div>Calc</a></li>
             <li><a href="{$productversion}/{$lang}/text/swriter/main0000.html?DbPAR=WRITER"><div class="writer"></div>Writer</a></li>
@@ -234,26 +230,28 @@
             <label for="accordion-1" role="button">Contents</label>
             <div id="Contents" class="contents-treeview"></div>
         </div>
-        <div class="acc-panel">
-            <input id="accordion-2" name="accordion-menu" type="checkbox"/>
-            <label for="accordion-2" role="button">Search</label>
-            <div id="content-2">
-                <script type="text/javascript">
-                    <![CDATA[
-                    (function() {
-                    var cx = '010161382024564278136:oejldkqc20o';
-                    var gcse = document.createElement('script');
-                    gcse.type = 'text/javascript';
-                    gcse.async = true;
-                    gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
-                    var s = document.getElementsByTagName('script')[0];
-                    s.parentNode.insertBefore(gcse, s);
-                    })();
-                    ]]>
-                </script>
-                <xsl:text disable-output-escaping="yes"><gcse:search></gcse:search></xsl:text>
+        <xsl:if test="$online">
+            <div class="acc-panel">
+                <input id="accordion-2" name="accordion-menu" type="checkbox"/>
+                <label for="accordion-2" role="button">Search</label>
+                <div id="content-2">
+                    <script type="text/javascript">
+                        <![CDATA[
+                        (function() {
+                        var cx = '010161382024564278136:oejldkqc20o';
+                        var gcse = document.createElement('script');
+                        gcse.type = 'text/javascript';
+                        gcse.async = true;
+                        gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
+                        var s = document.getElementsByTagName('script')[0];
+                        s.parentNode.insertBefore(gcse, s);
+                        })();
+                        ]]>
+                    </script>
+                    <xsl:text disable-output-escaping="yes"><gcse:search></gcse:search></xsl:text>
+                </div>
             </div>
-        </div>
+        </xsl:if>
         <div class="acc-panel">
             <input id="accordion-3" name="accordion-menu" type="checkbox"/>
             <label for="accordion-3" role="button">Index</label>
@@ -290,37 +288,59 @@
     </footer>
     <script type="text/javascript" src="{$productversion}/{$lang}/bookmarks.js"/>
     <script type="text/javascript" src="{$productversion}/{$lang}/contents.js"/>
-    <script type="text/javascript">
-        <![CDATA[
-        var module = getParameterByName("DbPAR");
-        setModule(module);
-        var system = getParameterByName("System");
-        setSystem(system);
-        fixURL(module,system);
-        var dbg = getParameterByName("Debug");
-        if (dbg == null){dbg=0}
-        document.getElementById("DEBUG").style.display = (dbg == 0) ? "none":"block";
-        document.getElementById("bm_module").innerHTML ="Module is: "+module;
-        document.getElementById("bm_system").innerHTML ="System is: "+system;
-        ]]>
-    </script>
-    <!-- Piwik -->
-    <script type="text/javascript">
-        <![CDATA[
-        var _paq = _paq || [];
-        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
-        _paq.push(['trackPageView']);
-        _paq.push(['enableLinkTracking']);
-        (function() {
-        var u="//piwik.documentfoundation.org/";
-        _paq.push(['setTrackerUrl', u+'piwik.php']);
-        _paq.push(['setSiteId', '68']);
-        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-        g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
-        })();
-        ]]>
-    </script>
-    <!-- End Piwik Code -->
+    <xsl:choose>
+        <xsl:when test="$online">
+            <script type="text/javascript">
+                <![CDATA[
+                var module = getParameterByName("DbPAR");
+                setModule(module);
+                var system = getParameterByName("System");
+                setSystem(system);
+                fixURL(module,system);
+                var dbg = getParameterByName("Debug");
+                if (dbg == null){dbg=0}
+                document.getElementById("DEBUG").style.display = (dbg == 0) ? "none":"block";
+                document.getElementById("bm_module").innerHTML ="Module is: "+module;
+                document.getElementById("bm_system").innerHTML ="System is: "+system;
+                ]]>
+            </script>
+        </xsl:when>
+        <xsl:otherwise>
+            <script type="text/javascript">
+                <![CDATA[
+                var module = getParameterByName("DbPAR");
+                setModule(module);
+                var system = getSystem();
+                setSystem(system);
+                fixURL(module,system);
+                var dbg = getParameterByName("Debug");
+                if (dbg == null){dbg=0}
+                document.getElementById("DEBUG").style.display = (dbg == 0) ? "none":"block";
+                document.getElementById("bm_module").innerHTML ="Module is: "+module;
+                document.getElementById("bm_system").innerHTML ="System is: "+system;
+                ]]>
+            </script>
+        </xsl:otherwise>
+    </xsl:choose>
+    <xsl:if test="$online">
+        <!-- Piwik -->
+        <script type="text/javascript">
+            <![CDATA[
+            var _paq = _paq || [];
+            /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+            _paq.push(['trackPageView']);
+            _paq.push(['enableLinkTracking']);
+            (function() {
+            var u="//piwik.documentfoundation.org/";
+            _paq.push(['setTrackerUrl', u+'piwik.php']);
+            _paq.push(['setSiteId', '68']);
+            var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+            g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
+            })();
+            ]]>
+        </script>
+        <!-- End Piwik Code -->
+    </xsl:if>
     </body>
 </html>
 </xsl:template>
@@ -449,20 +469,19 @@
 
 <!-- LINK -->
 <xsl:template match="link">
-	<xsl:choose> <!-- don't insert the heading link to itself -->
-		<xsl:when test="(concat('/', at href) = /helpdocument/meta/topic/filename) or (@href = /helpdocument/meta/topic/filename)">
-			<xsl:apply-templates />
-		</xsl:when>
-		<xsl:when test="contains(child::embedvar/@href,'/00/00000004.xhp#wie')"> <!-- special treatment of howtoget links -->
-
-			<xsl:call-template name="insert_howtoget">
-				<xsl:with-param name="linkhref" select="@href"/>
-			</xsl:call-template>
-		</xsl:when>
-		<xsl:otherwise>
-			<xsl:call-template name="createlink" />
-		</xsl:otherwise>
-	</xsl:choose>
+    <xsl:choose> <!-- don't insert the heading link to itself -->
+        <xsl:when test="(concat('/', at href) = /helpdocument/meta/topic/filename) or (@href = /helpdocument/meta/topic/filename)">
+            <xsl:apply-templates />
+        </xsl:when>
+        <xsl:when test="contains(child::embedvar/@href,'/00/00000004.xhp#wie')"> <!-- special treatment of howtoget links -->
+            <xsl:call-template name="insert_howtoget">
+                <xsl:with-param name="linkhref" select="@href"/>
+            </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:call-template name="createlink" />
+        </xsl:otherwise>
+    </xsl:choose>
 </xsl:template>
 <xsl:template match="link" mode="embedded">
 	<xsl:call-template name="createlink"/>
@@ -503,11 +522,11 @@
 
 <!-- LISTITEM -->
 <xsl:template match="listitem">
-	<li><xsl:apply-templates /></li>
+    <li><xsl:apply-templates /></li>
 </xsl:template>
 
 <xsl:template match="listitem" mode="embedded">
-	<li><xsl:apply-templates mode="embedded"/></li>
+    <li><xsl:apply-templates mode="embedded"/></li>
 </xsl:template>
 
 <!-- META, SEE HEADER -->
@@ -866,82 +885,82 @@
 
 <!-- Evaluate a case or caseinline switch -->
 <xsl:template name="insertcase">
-	<xsl:param name="embedded" />
-	<xsl:choose>
-		<xsl:when test="parent::switch[@select='sys'] or parent::switchinline[@select='sys']">
-				<xsl:choose>
-					<xsl:when test="$embedded = 'yes'">
-						<span hidden="true" itemprop="system" value="{@select}"><xsl:apply-templates mode="embedded"/></span>
-					</xsl:when>
-					<xsl:otherwise>
-						<span  hidden="true" itemprop="system" value="{@select}"><xsl:apply-templates /></span>
-					</xsl:otherwise>
-				</xsl:choose>
-		</xsl:when>
-		<xsl:when test="parent::switch[@select='appl'] or parent::switchinline[@select='appl']">
-				<xsl:choose>
-					<xsl:when test="$embedded = 'yes'">
-						<span  hidden="true" itemprop="appl" value="{@select}"><xsl:apply-templates mode="embedded"/></span>
-					</xsl:when>
-					<xsl:otherwise>
-						<span  hidden="true" itemprop="appl" value="{@select}"><xsl:apply-templates /></span>
-					</xsl:otherwise>
-				</xsl:choose>
-		</xsl:when>
-		<xsl:when test="parent::switch[@select='distrib'] or parent::switchinline[@select='distrib']">
-				<xsl:choose>
-					<xsl:when test="$embedded = 'yes'">
-						<span  hidden="true" itemprop="distrib" value="{@select}"><xsl:apply-templates mode="embedded"/></span>
-					</xsl:when>
-					<xsl:otherwise>
-						<span  hidden="true" itemprop="distrib" value="{@select}"><xsl:apply-templates /></span>
-					</xsl:otherwise>
-				</xsl:choose>
-		</xsl:when>
-	</xsl:choose>
+    <xsl:param name="embedded" />
+    <xsl:choose>
+        <xsl:when test="parent::switch[@select='sys'] or parent::switchinline[@select='sys']">
+            <xsl:choose>
+                <xsl:when test="$embedded = 'yes'">
+                    <span hidden="true" itemprop="system" value="{@select}"><xsl:apply-templates mode="embedded"/></span>
+                </xsl:when>
+                <xsl:otherwise>
+                    <span  hidden="true" itemprop="system" value="{@select}"><xsl:apply-templates /></span>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:when>
+        <xsl:when test="parent::switch[@select='appl'] or parent::switchinline[@select='appl']">
+            <xsl:choose>
+                <xsl:when test="$embedded = 'yes'">
+                    <span  hidden="true" itemprop="appl" value="{@select}"><xsl:apply-templates mode="embedded"/></span>
+                </xsl:when>
+                <xsl:otherwise>
+                    <span  hidden="true" itemprop="appl" value="{@select}"><xsl:apply-templates /></span>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:when>
+        <xsl:when test="parent::switch[@select='distrib'] or parent::switchinline[@select='distrib']">
+            <xsl:choose>
+                <xsl:when test="$embedded = 'yes'">
+                    <span  hidden="true" itemprop="distrib" value="{@select}"><xsl:apply-templates mode="embedded"/></span>
+                </xsl:when>
+                <xsl:otherwise>
+                    <span  hidden="true" itemprop="distrib" value="{@select}"><xsl:apply-templates /></span>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:when>
+    </xsl:choose>
 </xsl:template>
 
 <!-- Evaluate a default or defaultinline switch -->
 <xsl:template name="insertdefault">
-	<xsl:param name="embedded" />
-	<xsl:choose>
-		<xsl:when test="parent::switch[@select='sys'] or parent::switchinline[@select='sys']">
-			<xsl:if test="not(../child::case[@select=$System]) and not(../child::caseinline[@select=$System])">
-				<xsl:choose>
-					<xsl:when test="$embedded = 'yes'">
-						<span hidden="true" itemprop="system" value="WIN"><xsl:apply-templates mode="embedded"/></span>
-					</xsl:when>
-					<xsl:otherwise>
-						<span hidden="true" itemprop="system" value="WIN"><xsl:apply-templates /></span>
-					</xsl:otherwise>
-				</xsl:choose>
-			</xsl:if>
-		</xsl:when>
-		<xsl:when test="parent::switch[@select='appl'] or parent::switchinline[@select='appl']">
-			<xsl:if test="not(../child::case[@select=$appl]) and not(../child::caseinline[@select=$appl])">
-				<xsl:choose>
-					<xsl:when test="$embedded = 'yes'">
-						<span hidden="true" itemprop="appl" value="SHARED"><xsl:apply-templates mode="embedded"/></span>
-					</xsl:when>
-					<xsl:otherwise>
-						<span hidden="true" itemprop="appl" value="SHARED"><xsl:apply-templates /></span>
-					</xsl:otherwise>
-				</xsl:choose>
-			</xsl:if>
-		</xsl:when>
-		<xsl:when test="parent::switch[@select='distrib'] or parent::switchinline[@select='distrib']">
-			<xsl:if test="not(../child::case[@select=$distrib]) and not(../child::caseinline[@select=$distrib])">
-				<xsl:choose>
-					<xsl:when test="$embedded = 'yes'">
-						<span hidden="true" itemprop="distrib" value="DEFDIST"><xsl:apply-templates mode="embedded"/></span>
-					</xsl:when>
-					<xsl:otherwise>
-						<span hidden="true" itemprop="distrib" value="DEFDIST"><xsl:apply-templates /></span>
-					</xsl:otherwise>
-				</xsl:choose>
-			</xsl:if>
-		</xsl:when>
-	</xsl:choose>
+    <xsl:param name="embedded" />
+    <xsl:choose>
+        <xsl:when test="parent::switch[@select='sys'] or parent::switchinline[@select='sys']">
+            <xsl:if test="not(../child::case[@select=$System]) and not(../child::caseinline[@select=$System])">
+                <xsl:choose>
+                    <xsl:when test="$embedded = 'yes'">
+                        <span hidden="true" itemprop="system" value="WIN"><xsl:apply-templates mode="embedded"/></span>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <span hidden="true" itemprop="system" value="WIN"><xsl:apply-templates /></span>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:if>
+        </xsl:when>
+        <xsl:when test="parent::switch[@select='appl'] or parent::switchinline[@select='appl']">
+            <xsl:if test="not(../child::case[@select=$appl]) and not(../child::caseinline[@select=$appl])">
+                <xsl:choose>
+                    <xsl:when test="$embedded = 'yes'">
+                        <span hidden="true" itemprop="appl" value="SHARED"><xsl:apply-templates mode="embedded"/></span>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <span hidden="true" itemprop="appl" value="SHARED"><xsl:apply-templates /></span>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:if>
+        </xsl:when>
+        <xsl:when test="parent::switch[@select='distrib'] or parent::switchinline[@select='distrib']">
+            <xsl:if test="not(../child::case[@select=$distrib]) and not(../child::caseinline[@select=$distrib])">
+                <xsl:choose>
+                    <xsl:when test="$embedded = 'yes'">
+                        <span hidden="true" itemprop="distrib" value="DEFDIST"><xsl:apply-templates mode="embedded"/></span>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <span hidden="true" itemprop="distrib" value="DEFDIST"><xsl:apply-templates /></span>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:if>
+        </xsl:when>
+    </xsl:choose>
 </xsl:template>
 
 <!-- evaluate embeds -->
@@ -980,21 +999,21 @@
                     <xsl:variable name="tmp1" select="substring-after(@src, '/ui/')"/>
                     <xsl:variable name="tmp2" select="substring-before($tmp1,'/')"/>
                     <xsl:variable name="tmp3" select="substring-after($tmp1,'/')"/>
-                    <xsl:value-of select="concat('/',$productversion,'/', $tmp0,'/ui/', $tmp2, '/',$lang,'/',$tmp3)"/>
+                    <xsl:value-of select="concat($productversion,'/', $tmp0,'/ui/', $tmp2, '/',$lang,'/',$tmp3)"/>
                 </xsl:when>
                 <xsl:otherwise>
-                    <xsl:value-of select="concat('/',$productversion,'/', at src)"/>
+                    <xsl:value-of select="concat($productversion,'/', at src)"/>
                 </xsl:otherwise>
             </xsl:choose>
          </xsl:when>
          <xsl:when test="starts-with(@src,'media/')">
-             <xsl:value-of select="concat('/',$productversion,'/', at src)"/>
+             <xsl:value-of select="concat($productversion,'/', at src)"/>
          </xsl:when>
          <xsl:when test="not(starts-with(@src,'media/'))">
-             <xsl:value-of select="concat('/',$productversion,'/media/icon-themes/', at src)"/>
+             <xsl:value-of select="concat($productversion,'/media/icon-themes/', at src)"/>
          </xsl:when>
          <xsl:otherwise>
-             <xsl:value-of select="concat('/',$productversion, at src)"/>
+             <xsl:value-of select="concat($productversion, at src)"/>
          </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
@@ -1042,25 +1061,25 @@
 
 <!-- changing measure to pixel -->
 <xsl:template name="convert2px">
-        <xsl:param name="value"/>
-        <xsl:choose>
-                <xsl:when test="contains($value, 'cm')">
-                     <xsl:value-of select="concat(round(number(substring-before($value, 'cm')) * $dpcm),'px')"/>
-                </xsl:when>
-                <xsl:when test="contains($value, 'mm')">
-                     <xsl:value-of select="concat(round(number(substring-before($value, 'mm')) * $dpmm),'px')"/>
-                </xsl:when>
-                <xsl:when test="contains($value, 'in')">
-                     <xsl:value-of select="concat(round(number(substring-before($value, 'in')) * $dpi),'px')"/>
-                </xsl:when>
-                <xsl:when test="contains($value, 'px')">
-                     <xsl:value-of select="$value"/>
-                </xsl:when>
-                <xsl:otherwise>
+    <xsl:param name="value"/>
+    <xsl:choose>
+        <xsl:when test="contains($value, 'cm')">
+            <xsl:value-of select="concat(round(number(substring-before($value, 'cm')) * $dpcm),'px')"/>
+        </xsl:when>
+        <xsl:when test="contains($value, 'mm')">
+            <xsl:value-of select="concat(round(number(substring-before($value, 'mm')) * $dpmm),'px')"/>
+        </xsl:when>
+        <xsl:when test="contains($value, 'in')">
+            <xsl:value-of select="concat(round(number(substring-before($value, 'in')) * $dpi),'px')"/>
+        </xsl:when>
+        <xsl:when test="contains($value, 'px')">
+            <xsl:value-of select="$value"/>
+        </xsl:when>
+        <xsl:otherwise>
 <!--                      <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'px'!</xsl:message> -->
-                     <xsl:value-of select="concat($value, 'px')"/>
-                </xsl:otherwise>
-       </xsl:choose>
+            <xsl:value-of select="concat($value, 'px')"/>
+        </xsl:otherwise>
+    </xsl:choose>
 </xsl:template>
 
 <!-- Insert a Table -->
diff --git a/help3xsl/tabs.js b/help3xsl/tabs.js
deleted file mode 100644
index d9f1e246b..000000000
--- a/help3xsl/tabs.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-function tabs(a, g, j) {
-    document.body.className = "js-on";
-    var g = a.getElementsByTagName(g),
-        d = [],
-        c;
-    this.active;
-    this.total = g.length;
-    this.container = a;
-    e = a.insertBefore(document.createElement("nav"), g[0]), change = function (f) {
-        if (typeof this.active !== "undefined") {
-            d[this.active].className = g[this.active].className = ""
-        }
-        d[f].className = g[f].className = "active";
-        this.active = f
-    }, clickEvent = function (h, f) {
-        h.onclick = function () {
-            change(f);
-            return false
-        }
-    };
-    for (var b = 0; b < g.length; b++) {
-        d[b] = e.appendChild(document.createElement("a"));
-        d[b].href = "#";
-        c = [g[b].getAttribute("data-title"), g[b].getElementsByTagName(j)[0]];
-        d[b].innerHTML = c[0] !== null ? c[0] : c[1] ? c[1]["innerText" || "textContent"] : b + 1;
-        new clickEvent(d[b], b)
-    }
-    change(0)
-}
-tabs.prototype.change = function (b) {
-    change(b - 1)
-};
-tabs.prototype.next = function (b) {
-    active === this.total - 1 ? change(0) : change(active + 1)
-};
-tabs.prototype.prev = function (b) {
-    active === 0 ? change(this.total - 1) : change(active - 1)
-};
-tabs.prototype.responsive = function (d, c) {
-    nav = document.createElement("nav");
-    nav.id = "mobiles";
-    nav.innerHTML = '<a href="#" onclick="' + d + '.prev(); return false">' + c.prev + '</a><a href="#" onclick="' + d + '.next(); return false">' + c.next + "</a>";
-    this.container.insertBefore(nav, this.container.firstChild);
-    return this
-};
diff --git a/help3xsl/tree.css b/help3xsl/tree.css
deleted file mode 100644
index 0bc539f7d..000000000
--- a/help3xsl/tree.css
+++ /dev/null
@@ -1,123 +0,0 @@
-<!--
-Copyright (c) 2017 by Ty Strong (http://codepen.io/tystrong/pen/cmxaJ)
-
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--->
-
-
-.css-treeview ul,
-.css-treeview li
-{
-    padding: 0;
-    margin: 0;
-    list-style: none;
-}
- 
-.css-treeview input
-{
-    position: absolute;
-    opacity: 0;
-}
- 
-.css-treeview
-{
-    user-select: none;
-}
- 
-.css-treeview a
-{
-    color: #35d;
-    text-decoration: none;
-}
- 
-.css-treeview a:hover
-{
-    text-decoration: underline;
-}
- 
-.css-treeview input + label + ul
-{
-    margin: 0 0 0 22px;
-}
- 
-.css-treeview input ~ ul
-{
-    display: none;
-}
- 
-.css-treeview label,
-.css-treeview label::before
-{
-    cursor: pointer;
-}
- 
-.css-treeview input:disabled + label
-{
-    cursor: default;
-    opacity: .6;
-}
- 
-.css-treeview input:checked:not(:disabled) ~ ul
-{
-    display: block;
-}
- 
-.css-treeview label,
-.css-treeview label::before
-{
-    background: url("http://experiments.wemakesites.net//pages/css3-treeview/example/icons.png") no-repeat;
-}
- 
-.css-treeview label,
-.css-treeview a,
-.css-treeview label::before
-{
-    display: inline-block;
-    height: 16px;
-    line-height: 16px;
-    vertical-align: middle;
-}
- 
-.css-treeview label
-{
-    background-position: 18px 0;
-}
- 
-.css-treeview label::before
-{
-    content: "";
-    width: 16px;
-    margin: 0 22px 0 0;
-    vertical-align: middle;
-    background-position: 0 -32px;
-}
- 
-.css-treeview input:checked + label::before
-{
-    background-position: 0 -16px;
-}
-
- at media screen and (-webkit-min-device-pixel-ratio:0)
-{
-    .css-treeview 
-    {
-        -webkit-animation: webkit-adjacent-element-selector-bugfix infinite 1s;
-    }
- 
-    @-webkit-keyframes webkit-adjacent-element-selector-bugfix 
-    {
-        from 
-        { 
-            padding: 0;
-        } 
-        to 
-        { 
-            padding: 0;
-        }
-    }
-}
diff --git a/help3xsl/xhp2html.sh b/help3xsl/xhp2html.sh
index eb2696a6e..7ba59588f 100755
--- a/help3xsl/xhp2html.sh
+++ b/help3xsl/xhp2html.sh
@@ -16,14 +16,24 @@
 #
 # Note: change rootHelpex variable to your local git build
 #
+# convert2HTML $outDirLang $outDirHTML $lang $productversion $online $fileTree &
 
 function convert2HTML() {
 #outDirLang =1
 #outDirHTML =2
 #lang =3
 #productversion =4
+#online=5
+#filetree=6
+
+###########################################
+#
+# Process translated XHP files
+#
+###########################################
+
+xsltparm='--stringparam fileTree '$6' --stringparam local '$5' --stringparam Language '$3' --stringparam productversion '$4' --stringparam root '$1'/'
 
-xsltparm='--stringparam Language '$3' --stringparam productversion '$4' --stringparam root '$1'/'
 echo 'Conversion to HTML started for '$3
 for filep in `find $1/text -name "*.xhp"`
 do
@@ -33,7 +43,11 @@ outFile=$2'/text/'$name'html'
 xsltproc $xsltparm -o $outFile online_transform.xsl $filep
 done
 
+###########################################
+#
 # Process tree files
+#
+###########################################
 
 treePOFile=`mktemp`
 echo $root/translations/source/$3/helpcontent2/source/auxiliary.po > $treePOFile
@@ -69,8 +83,17 @@ rm -f $treePOFile
 echo 'Conversion to HTML finished for '$3
 }
 
+###########################################
+#
+# Start Main Process
+#
+###########################################
+
 # Change root of git core
 productversion='6.0'
+local='no'
+fileTree='/home/tdf/git/core/helpcontent2/help3xsl/html/'
+
 rootHelpex=/home/tdf/git/core
 
 ALL_LANGS='en-US am ar ast bg bn bn-IN bo bs ca ca-valencia cs da de dz el en-GB en-ZA eo es et eu fi fr gl gu he hi hr hu id is it ja ka km ko lo lt lv mk nb ne nl nn om pl pt-BR pt ro ru sid si sk sl sq sv ta tg tr ug uk vi zh-CN zh-TW'
@@ -87,6 +110,8 @@ mkdir -p $here'/html/'$productversion
 
 echo 'copy global service files'
 cp index.html $here'/html/'
+cp LOHelp.html $here'/html/'
+cp index2.html $here'/html/'$productversion'/index.html'
 cp help.js $here'/html/'$productversion'/'
 cp jquery-3.1.1.min.js $here'/html/'$productversion'/'
 cp normalize.css $here'/html/'$productversion'/'
@@ -117,10 +142,14 @@ echo "setting URE_BOOTSTRAP to: ${URE_BOOTSTRAP}"
 echo "setting search path to: ${LD_LIBRARY_PATH}"
 echo "execing: ${exedir}/helpex"
 
+###########################################
+#
 # Create the bookmark2file map
+#
+###########################################
 stub1='var map={'
 stub2='};'
-ffile='html/bookmark2file.js'
+ffile='html/'$productversion'/bookmark2file.js'
 ffile2=/tmp/tmpbkm.txt
 rm -f $ffile2 $ffile
 find $helpfiles -type f -name "*.xhp" -exec xsltproc get_url.xsl {} + > $ffile2
@@ -128,6 +157,12 @@ echo $stub1 >> $ffile
 awk 'NF' $ffile2 >> $ffile
 echo $stub2 >> $ffile
 
+###########################################
+#
+# Process languages
+#
+###########################################
+
 for lang in $ALL_LANGS
 do
 
@@ -178,7 +213,7 @@ echo 'Extracting bookmarks'
 ./get_bookmark.sh $lang $productversion &
 
 # converting to HTML
-convert2HTML $outDirLang $outDirHTML $lang $productversion &
+convert2HTML $outDirLang $outDirHTML $lang $productversion $local $fileTree &
 
 rm -f $pofiles $xhpfiles
 done


More information about the Libreoffice-commits mailing list