summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Hallot <olivier.hallot@libreoffice.org>2020-06-12 20:26:14 -0300
committerOlivier Hallot <olivier.hallot@libreoffice.org>2020-06-13 12:41:14 +0200
commitabdad98a45ff66fd09422920d198c2d4f3cde8bc (patch)
tree37c5edd4b60a29b67e1971bb3ad296b42782fc12
parenttdf#132643 Translate German section IDs (diff)
downloadhelp-abdad98a45ff66fd09422920d198c2d4f3cde8bc.tar.gz
help-abdad98a45ff66fd09422920d198c2d4f3cde8bc.zip
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@libreoffice.org>
-rw-r--r--AllLangPackage_html_lang.mk1
-rw-r--r--CustomTarget_html.mk30
-rw-r--r--help3xsl/brand.xsl81
-rw-r--r--help3xsl/get_bookmark.xsl63
-rw-r--r--help3xsl/get_tree.xsl65
-rw-r--r--help3xsl/noscript.xsl35
-rw-r--r--help3xsl/online_transform.xsl3
-rw-r--r--source/text/shared/help/browserhelp.xhp1
8 files changed, 152 insertions, 127 deletions
diff --git a/AllLangPackage_html_lang.mk b/AllLangPackage_html_lang.mk
index c3b25a09ce..63fe21ba65 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 7c04a9249c..f66dd95ca1 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 0000000000..af9bc0c017
--- /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 c53a559596..05121e23fa 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 df264d1b57..abdb29d3d1 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 0000000000..ed693867e4
--- /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 3a934dcb21..6df80b5405 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 1f3cba850a..18752f2a1b 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>