[Libreoffice-commits] help.git: AllLangPackage_html_lang.mk CustomTarget_html.mk help3xsl/brand.xsl help3xsl/get_bookmark.xsl help3xsl/get_tree.xsl help3xsl/noscript.xsl help3xsl/online_transform.xsl source/text

Olivier Hallot (via logerrit) logerrit at kemper.freedesktop.org
Sat Jun 13 10:41:35 UTC 2020


 AllLangPackage_html_lang.mk             |    1 
 CustomTarget_html.mk                    |   30 +++++++++++
 help3xsl/brand.xsl                      |   81 ++++++++++++++++++++++++++++++++
 help3xsl/get_bookmark.xsl               |   63 ------------------------
 help3xsl/get_tree.xsl                   |   65 -------------------------
 help3xsl/noscript.xsl                   |   35 +++++++++++++
 help3xsl/online_transform.xsl           |    3 -
 source/text/shared/help/browserhelp.xhp |    1 
 8 files changed, 152 insertions(+), 127 deletions(-)

New commits:
commit abdad98a45ff66fd09422920d198c2d4f3cde8bc
Author:     Olivier Hallot <olivier.hallot at libreoffice.org>
AuthorDate: Fri Jun 12 20:26:14 2020 -0300
Commit:     Olivier Hallot <olivier.hallot at libreoffice.org>
CommitDate: Sat Jun 13 12:41:14 2020 +0200

    tdf#133928 Help need javascript enabled in browser
    
    Helpcontent2 part
    
    Also, optimize XSLT brand template
    
    Change-Id: Idfe3647306452f1f8be5632f1e1a70d642533406
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/96238
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot at libreoffice.org>

diff --git a/AllLangPackage_html_lang.mk b/AllLangPackage_html_lang.mk
index c3b25a09c..63fe21ba6 100644
--- a/AllLangPackage_html_lang.mk
+++ b/AllLangPackage_html_lang.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_AllLangPackage_add_files,helpcontent2_html_lang,$(LIBO_SHARE_HE
 		$(lang)/bookmarks.js \
 		$(lang)/contents.js \
 		$(lang)/langnames.js \
+		$(lang)/noscript.html \
 	) \
 ))
 
diff --git a/CustomTarget_html.mk b/CustomTarget_html.mk
index 7c04a9249..f66dd95ca 100644
--- a/CustomTarget_html.mk
+++ b/CustomTarget_html.mk
@@ -26,6 +26,7 @@ $(eval $(call gb_CustomTarget_register_targets,helpcontent2/help3xsl,\
 		$(foreach module,$(html_TEXT_MODULES),filelists/html-help/$(module)/$(lang).filelist) \
 		$(lang)/langnames.js \
 		$(if $(HELP_OMINDEX_PAGE),$(lang)/xap_tpl) \
+		$(lang)/noscript.html \
 	) \
 ))
 
@@ -83,6 +84,33 @@ $(call gb_CustomTarget_get_workdir,helpcontent2/help3xsl)/%/xap_tpl : \
 
 endif
 
+# Create noscript.html, when browser has no javascript enabled
+
+define html_gen_noscript_dep
+$(call gb_CustomTarget_get_workdir,helpcontent2/help3xsl)/$(1)/noscript.html : \
+	$(if $(filter en-US,$(1)),$(SRCDIR),$(call gb_HelpTranslatePartTarget_get_workdir,$(1)))/helpcontent2/source/text/shared/help/browserhelp.xhp
+
+endef
+
+$(eval $(foreach lang,$(gb_HELP_LANGS),$(call html_gen_noscript_dep,$(lang))))
+
+$(call gb_CustomTarget_get_workdir,helpcontent2/help3xsl)/%/noscript.html : \
+		$(SRCDIR)/helpcontent2/help3xsl/noscript.xsl \
+		$(SRCDIR)/helpcontent2/help3xsl/brand.xsl \
+		$(call gb_ExternalExecutable_get_dependencies,xsltproc) \
+		$(SRCDIR)/helpcontent2/CustomTarget_html.mk
+	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),NJS,1)
+	$(call gb_Helper_abbreviate_dirs,\
+		$(call gb_ExternalExecutable_get_command,xsltproc) \
+		--stringparam lang $* \
+		--stringparam productname "$(PRODUCTNAME)" \
+		--stringparam productversion "$(PRODUCTVERSION)" \
+		-o $@ \
+		$(SRCDIR)/helpcontent2/help3xsl/noscript.xsl \
+		$(if $(filter en-US,$*),$(SRCDIR),$(call gb_HelpTranslatePartTarget_get_workdir,$*))/helpcontent2/source/text/shared/help/browserhelp.xhp \
+	)
+
+
 # set of installed languages - has to be language independent
 $(call gb_CustomTarget_get_workdir,helpcontent2/help3xsl)/languages.js : \
 		$(SRCDIR)/helpcontent2/CustomTarget_html.mk
@@ -141,6 +169,7 @@ $(call gb_CustomTarget_get_workdir,helpcontent2/help3xsl)/%/contents.js :
 
 $(call gb_CustomTarget_get_workdir,helpcontent2/help3xsl)/%/contents.part : \
 		$(SRCDIR)/helpcontent2/help3xsl/get_tree.xsl \
+		$(SRCDIR)/helpcontent2/help3xsl/brand.xsl \
 		$(call gb_ExternalExecutable_get_dependencies,xsltproc)
 	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),XSL,1)
 	$(call gb_Helper_abbreviate_dirs,\
@@ -252,6 +281,7 @@ $(eval $(foreach module,$(html_BMARK_MODULES),$(call html_gen_bookmarks_deps,$(s
 # command, if any xsltproc invocation failed):
 $(call gb_CustomTarget_get_workdir,helpcontent2/help3xsl)/%/bookmarks.part : \
 		$(SRCDIR)/helpcontent2/help3xsl/get_bookmark.xsl \
+		$(SRCDIR)/helpcontent2/help3xsl/brand.xsl \
 		$(call gb_ExternalExecutable_get_dependencies,xsltproc)
 	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),XSL,1)
 	$(call gb_Helper_abbreviate_dirs,\
diff --git a/help3xsl/brand.xsl b/help3xsl/brand.xsl
new file mode 100644
index 000000000..af9bc0c01
--- /dev/null
+++ b/help3xsl/brand.xsl
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- Product brand variables used in the help files -->
+<xsl:variable name="brand1" select="'$[officename]'"/>
+<xsl:variable name="brand2" select="'$[officeversion]'"/>
+<xsl:variable name="brand3" select="'%PRODUCTNAME'"/>
+<xsl:variable name="brand4" select="'%PRODUCTVERSION'"/>
+
+<!-- Branding -->
+<xsl:template name="brand" >
+    <xsl:param name="string"/>
+    <xsl:choose>
+        <xsl:when test="contains($string,$brand1)">
+            <xsl:variable name="newstr">
+                <xsl:value-of select="substring-before($string,$brand1)"/>
+                <xsl:value-of select="$productname"/>
+                <xsl:value-of select="substring-after($string,$brand1)"/>
+            </xsl:variable>
+            <xsl:call-template name="brand">
+                <xsl:with-param name="string" select="$newstr"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when test="contains($string,$brand2)">
+            <xsl:variable name="newstr">
+                <xsl:value-of select="substring-before($string,$brand2)"/>
+                <xsl:value-of select="$pversion"/>
+                <xsl:value-of select="substring-after($string,$brand2)"/>
+            </xsl:variable>
+            <xsl:call-template name="brand">
+                <xsl:with-param name="string" select="$newstr"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when test="contains($string,$brand3)">
+            <xsl:variable name="newstr">
+                <xsl:value-of select="substring-before($string,$brand3)"/>
+                <xsl:value-of select="$productname"/>
+                <xsl:value-of select="substring-after($string,$brand3)"/>
+            </xsl:variable>
+            <xsl:call-template name="brand">
+                <xsl:with-param name="string" select="$newstr"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when test="contains($string,$brand4)">
+            <xsl:variable name="newstr">
+                <xsl:value-of select="substring-before($string,$brand4)"/>
+                <xsl:value-of select="$pversion"/>
+                <xsl:value-of select="substring-after($string,$brand4)"/>
+            </xsl:variable>
+            <xsl:call-template name="brand">
+                <xsl:with-param name="string" select="$newstr"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:otherwise>
+            <xsl:value-of select="$string"/>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+</xsl:stylesheet>
diff --git a/help3xsl/get_bookmark.xsl b/help3xsl/get_bookmark.xsl
index c53a55959..05121e23f 100644
--- a/help3xsl/get_bookmark.xsl
+++ b/help3xsl/get_bookmark.xsl
@@ -14,7 +14,7 @@ Usage:
 xsltproc get_bookmark.xsl <file.xhp>
 -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
+<xsl:include href="brand.xsl"/>
 <xsl:param name="app"/>
 <xsl:param name="local"/>
 <xsl:param name="Language"/>
@@ -39,11 +39,6 @@ xsltproc get_bookmark.xsl <file.xhp>
         </xsl:otherwise>
     </xsl:choose>
 </xsl:variable>
-<!-- Product brand variables used in the help files -->
-<xsl:variable name="brand1" select="'$[officename]'"/>
-<xsl:variable name="brand2" select="'$[officeversion]'"/>
-<xsl:variable name="brand3" select="'%PRODUCTNAME'"/>
-<xsl:variable name="brand4" select="'%PRODUCTVERSION'"/>
 <!--
 #############
 # Templates #
@@ -134,60 +129,4 @@ xsltproc get_bookmark.xsl <file.xhp>
     </xsl:choose>
 </xsl:template>
 
-<xsl:template name="brand" >
-    <xsl:param name="string"/>
-
-    <xsl:choose>
-
-        <xsl:when test="contains($string,$brand1)">
-            <xsl:variable name="newstr">
-                <xsl:value-of select="substring-before($string,$brand1)"/>
-                <xsl:value-of select="$productname"/>
-                <xsl:value-of select="substring-after($string,$brand1)"/>
-            </xsl:variable>
-            <xsl:call-template name="brand">
-                <xsl:with-param name="string" select="$newstr"/>
-            </xsl:call-template>
-        </xsl:when>
-
-        <xsl:when test="contains($string,$brand2)">
-            <xsl:variable name="newstr">
-                <xsl:value-of select="substring-before($string,$brand2)"/>
-                <xsl:value-of select="$pversion"/>
-                <xsl:value-of select="substring-after($string,$brand2)"/>
-            </xsl:variable>
-            <xsl:call-template name="brand">
-                <xsl:with-param name="string" select="$newstr"/>
-            </xsl:call-template>
-        </xsl:when>
-
-        <xsl:when test="contains($string,$brand3)">
-            <xsl:variable name="newstr">
-                <xsl:value-of select="substring-before($string,$brand3)"/>
-                <xsl:value-of select="$productname"/>
-                <xsl:value-of select="substring-after($string,$brand3)"/>
-            </xsl:variable>
-            <xsl:call-template name="brand">
-                <xsl:with-param name="string" select="$newstr"/>
-            </xsl:call-template>
-        </xsl:when>
-
-        <xsl:when test="contains($string,$brand4)">
-            <xsl:variable name="newstr">
-                <xsl:value-of select="substring-before($string,$brand4)"/>
-                <xsl:value-of select="$pversion"/>
-                <xsl:value-of select="substring-after($string,$brand4)"/>
-            </xsl:variable>
-            <xsl:call-template name="brand">
-                <xsl:with-param name="string" select="$newstr"/>
-            </xsl:call-template>
-        </xsl:when>
-
-        <xsl:otherwise>
-            <xsl:value-of select="$string"/>
-        </xsl:otherwise>
-    </xsl:choose>
-
-</xsl:template>
-
 </xsl:stylesheet>
diff --git a/help3xsl/get_tree.xsl b/help3xsl/get_tree.xsl
index df264d1b5..abdb29d3d 100644
--- a/help3xsl/get_tree.xsl
+++ b/help3xsl/get_tree.xsl
@@ -13,22 +13,13 @@ Usage:
 xsltproc get_tree.xsl <file.tree>
 -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:include href="brand.xsl"/>
 <xsl:param name="lang"/>
 <xsl:param name="local"/>
 <xsl:param name="productversion"/>
 <xsl:param name="productname"/>
 <xsl:param name="module"/>
 <xsl:output indent="no" method="text"/>
-<!--
-############################
-# Variables and Parameters #
-############################
-//-->
-<!-- Product brand variables used in the help files -->
-<xsl:variable name="brand1" select="'$[officename]'"/>
-<xsl:variable name="brand2" select="'$[officeversion]'"/>
-<xsl:variable name="brand3" select="'%PRODUCTNAME'"/>
-<xsl:variable name="brand4" select="'%PRODUCTVERSION'"/>
 
 <!--
 #############
@@ -87,58 +78,4 @@ xsltproc get_tree.xsl <file.tree>
         </xsl:otherwise>
     </xsl:choose>
 </xsl:template>
-
-<xsl:template name="brand" >
-    <xsl:param name="string"/>
-    <xsl:choose>
-
-        <xsl:when test="contains($string,$brand1)">
-            <xsl:variable name="newstr">
-                <xsl:value-of select="substring-before($string,$brand1)"/>
-                <xsl:value-of select="$productname"/>
-                <xsl:value-of select="substring-after($string,$brand1)"/>
-            </xsl:variable>
-            <xsl:call-template name="brand">
-                <xsl:with-param name="string" select="$newstr"/>
-            </xsl:call-template>
-        </xsl:when>
-
-        <xsl:when test="contains($string,$brand2)">
-            <xsl:variable name="newstr">
-                <xsl:value-of select="substring-before($string,$brand2)"/>
-                <xsl:value-of select="$pversion"/>
-                <xsl:value-of select="substring-after($string,$brand2)"/>
-            </xsl:variable>
-            <xsl:call-template name="brand">
-                <xsl:with-param name="string" select="$newstr"/>
-            </xsl:call-template>
-        </xsl:when>
-
-        <xsl:when test="contains($string,$brand3)">
-            <xsl:variable name="newstr">
-                <xsl:value-of select="substring-before($string,$brand3)"/>
-                <xsl:value-of select="$productname"/>
-                <xsl:value-of select="substring-after($string,$brand3)"/>
-            </xsl:variable>
-            <xsl:call-template name="brand">
-                <xsl:with-param name="string" select="$newstr"/>
-            </xsl:call-template>
-        </xsl:when>
-
-        <xsl:when test="contains($string,$brand4)">
-            <xsl:variable name="newstr">
-                <xsl:value-of select="substring-before($string,$brand4)"/>
-                <xsl:value-of select="$pversion"/>
-                <xsl:value-of select="substring-after($string,$brand4)"/>
-            </xsl:variable>
-            <xsl:call-template name="brand">
-                <xsl:with-param name="string" select="$newstr"/>
-            </xsl:call-template>
-        </xsl:when>
-
-        <xsl:otherwise>
-            <xsl:value-of select="$string"/>
-        </xsl:otherwise>
-    </xsl:choose>
-</xsl:template>
 </xsl:stylesheet>
diff --git a/help3xsl/noscript.xsl b/help3xsl/noscript.xsl
new file mode 100644
index 000000000..ed693867e
--- /dev/null
+++ b/help3xsl/noscript.xsl
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+* 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/.
+-->
+<!--
+Stylesheet to create the localized noscript error page.
+xsltproc noscript.xsl <browserhelp.xhp>
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:include href="brand.xsl"/>
+<xsl:output indent="yes" method="html"/>
+    <xsl:param name="productname"/>
+    <xsl:param name="productversion"/>
+
+<xsl:template match="/">
+<html>
+<head>
+</head>
+<body>
+<div style="margin: 20px">
+<h1 style="color: red;">
+<xsl:call-template name="brand">
+<xsl:with-param name="string"><xsl:value-of select="//variable[@id='noscriptmsg']"/></xsl:with-param>
+</xsl:call-template>
+</h1>
+</div>
+</body>
+</html>
+</xsl:template>
+</xsl:stylesheet>
diff --git a/help3xsl/online_transform.xsl b/help3xsl/online_transform.xsl
index 3a934dcb2..6df80b540 100644
--- a/help3xsl/online_transform.xsl
+++ b/help3xsl/online_transform.xsl
@@ -134,6 +134,7 @@
 <html lang="{$lang}">
     <head>
         <base href="{$install}"/>
+        <noscript><meta http-equiv="refresh" content="0; URL={$install}{$lang}/noscript.html"/></noscript>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
         <xsl:if test="$online">
             <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline' 'unsafe-eval' piwik.documentfoundation.org"/>
@@ -161,7 +162,7 @@
         <!-- help2.js checks, if meta elements exist in the body -->
         <meta itemprop="version" content="{$productversion}"/>
         <meta itemprop="inLanguage" content="{$lang}"/>
-        <meta itemprop="datePublished" content="2017"/>
+        <meta itemprop="datePublished" content="2020"/>
         <meta itemprop="headline" content="{$titleL10N}"/>
     </xsl:if>
     <header id="TopLeftHeader">
diff --git a/source/text/shared/help/browserhelp.xhp b/source/text/shared/help/browserhelp.xhp
index 1f3cba850..18752f2a1 100644
--- a/source/text/shared/help/browserhelp.xhp
+++ b/source/text/shared/help/browserhelp.xhp
@@ -28,6 +28,7 @@
     <paragraph role="paragraph" id="par_id31525734624833" xml-lang="en-US"><variable id="selectmodule">Select Module</variable></paragraph>
     <paragraph role="paragraph" id="par_id1001525734619670" xml-lang="en-US"><variable id="selectlanguage">Select Language</variable></paragraph>
     <paragraph role="paragraph" id="par_id91525734616233" xml-lang="en-US"><variable id="searchhelpcontents">Search help contents</variable></paragraph>
+    <paragraph role="paragraph" id="par_id211591971675557"><variable id="noscriptmsg">Enable Javascript in the browser to display %PRODUCTNAME Help pages.</variable></paragraph>
 
     <!-- The languages have to have the paragraph id in form "lang_*", not "par_*" so that they are grabbed -->
     <paragraph role="paragraph" id="lang_id811525747677263" xml-lang="en-US"><variable id="en-US">English (USA)</variable></paragraph>


More information about the Libreoffice-commits mailing list