[Libreoffice-commits] help.git: help3xsl/online_transform.xsl
Olivier Hallot (via logerrit)
logerrit at kemper.freedesktop.org
Tue Aug 18 17:45:55 UTC 2020
help3xsl/online_transform.xsl | 131 +++++++++++++++++++++++++++---------------
1 file changed, 85 insertions(+), 46 deletions(-)
New commits:
commit e533cf2da5ca5ee26b8bd9fd5eed002509309970
Author: Olivier Hallot <olivier.hallot at libreoffice.org>
AuthorDate: Mon Aug 17 09:30:39 2020 -0300
Commit: Olivier Hallot <olivier.hallot at libreoffice.org>
CommitDate: Tue Aug 18 19:45:34 2020 +0200
Improve schema.org for online Help
Changed to schema.org/SoftwareApplication
Change-Id: Ib5457aaf237153de18a100b9604bfe7ef29dd292
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/100862
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot at libreoffice.org>
diff --git a/help3xsl/online_transform.xsl b/help3xsl/online_transform.xsl
index 21d37d1b4..c6e2ee1bb 100644
--- a/help3xsl/online_transform.xsl
+++ b/help3xsl/online_transform.xsl
@@ -157,14 +157,8 @@
<script type="text/javascript" src="help.js" defer=""></script>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
</head>
- <body itemscope="true" itemtype="http://schema.org/TechArticle">
- <xsl:if test="$online">
- <!-- help2.js checks, if meta elements exist in the body -->
- <meta itemprop="version" content="{$productversion}"/>
- <meta itemprop="inLanguage" content="{$lang}"/>
- <meta itemprop="datePublished" content="2020"/>
- <meta itemprop="headline" content="{$titleL10N}"/>
- </xsl:if>
+ <body>
+
<header id="TopLeftHeader">
<a class="symbol" href="{$lang}/text/shared/05/new_help.html">
<div></div>
@@ -213,7 +207,22 @@
</div>
</div>
</aside>
- <div id="DisplayArea" itemprop="articleBody">
+ <div id="DisplayArea" itemprop="softwareHelp" itemscope="true" itemtype="http://schema.org/SoftwareApplication">
+ <xsl:if test="$online">
+ <!-- help2.js checks, if meta elements exist in the body -->
+ <meta itemprop="applicationCategory" content="BusinessApplication"/>
+ <meta itemprop="applicationSuite" content="LibreOffice"/>
+ <meta itemprop="name" content="LibreOffice"/>
+ <meta itemprop="operatingsystem" content="Windows, Linux, MacOS"/>
+ <meta itemprop="author.name" content="The LibreOffice Documentation Team"/>
+ <meta itemprop="publisher.name" content="The Document Foundation"/>
+ <meta itemprop="softwareVersion" content="{$productversion}"/>
+ <meta itemprop="inLanguage" content="{$lang}"/>
+ <meta itemprop="datePublished" content="2020"/>
+ <meta itemprop="headline" content="{$titleL10N}"/>
+ <meta itemprop="license" content="https://www.libreoffice.org/download/license/"/>
+ <meta itemprop="image" content="media/navigation/libo-symbol-white.svg"/>
+ </xsl:if>
<xsl:apply-templates select="/helpdocument/body"/>
</div>
<div id="SearchFrame">
@@ -237,7 +246,12 @@
</div>
<footer>
<xsl:if test="$online">
- <p><a href="https://www.libreoffice.org/imprint" target="_blank">Impressum (Legal Info)</a> | <a href="https://www.libreoffice.org/privacy" target="_blank">Privacy Policy</a> | <a href="https://www.documentfoundation.org/statutes.pdf" target="_blank">Statutes (non-binding English translation)</a> - <a href="https://www.documentfoundation.org/satzung.pdf" target="_blank">Satzung (binding German version)</a> | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the <a href="https://www.libreoffice.org/download/license/" target="_blank">Mozilla Public License v2.0</a>. “LibreOffice” and “The Document Foundation” are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our <a href="https://wiki.documentfoundation.org/TradeMark_Policy"
target="_blank">trademark policy</a>. LibreOffice was based on OpenOffice.org.</p>
+ <p itemscope="true" itemtype="http://schema.org/Organization">
+ <meta itemprop="name" content="The Document Foundation"/>
+ <meta itemprop="legalName" content="The Document Foundation"/>
+ <meta itemprop="alternateName" content="TDF"/>
+ <meta itemprop="publishingPrinciples" content="https://www.libreoffice.org/imprint"/>
+ <a href="https://www.libreoffice.org/imprint" target="_blank">Impressum (Legal Info)</a> | <a href="https://www.libreoffice.org/privacy" target="_blank">Privacy Policy</a> | <a href="https://www.documentfoundation.org/statutes.pdf" target="_blank">Statutes (non-binding English translation)</a> - <a href="https://www.documentfoundation.org/satzung.pdf" target="_blank">Satzung (binding German version)</a> | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the <a href="https://www.libreoffice.org/download/license/" target="_blank">Mozilla Public License v2.0</a>. “LibreOffice” and “The Document Foundation” are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our <a href="https://wiki.documentfoundation.org/TradeMark_Policy" tar
get="_blank">trademark policy</a>. LibreOffice was based on OpenOffice.org.</p>
</xsl:if>
<div id="DEBUG" class="debug">
<h3 class="bug">Help content debug info:</h3>
@@ -416,49 +430,24 @@
</xsl:choose>
</xsl:template>
<xsl:template match="link" mode="embedded">
- <xsl:call-template name="createlink"/>
+ <xsl:call-template name="createlink"/>
</xsl:template>
<!-- LIST -->
<xsl:template match="list">
- <xsl:choose>
- <xsl:when test="@type='ordered'">
- <ol>
- <xsl:if test="@startwith">
- <xsl:attribute name="start"><xsl:value-of select="@startwith"/></xsl:attribute>
- </xsl:if>
- <xsl:apply-templates />
- </ol>
- </xsl:when>
- <xsl:otherwise>
- <ul><xsl:apply-templates /></ul>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:call-template name="insertlist"/>
</xsl:template>
<xsl:template match="list" mode="embedded">
- <xsl:choose>
- <xsl:when test="@type='ordered'">
- <ol>
- <xsl:if test="@startwith">
- <xsl:attribute name="start"><xsl:value-of select="@startwith"/></xsl:attribute>
- </xsl:if>
- <xsl:apply-templates mode="embedded"/>
- </ol>
- </xsl:when>
- <xsl:otherwise>
- <ul><xsl:apply-templates mode="embedded"/></ul>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:call-template name="insertlist"/>
</xsl:template>
<!-- LISTITEM -->
<xsl:template match="listitem">
- <li><xsl:apply-templates /></li>
+ <xsl:call-template name="insertlistitem"/>
</xsl:template>
-
<xsl:template match="listitem" mode="embedded">
- <li><xsl:apply-templates mode="embedded"/></li>
+ <xsl:call-template name="insertlistitem"/>
</xsl:template>
<!-- META, SEE HEADER -->
@@ -756,12 +745,14 @@
<!-- H1-H6 -->
<xsl:template match="h1 | h2 | h3 | h4 | h5 | h6">
<xsl:element name="{local-name()}">
- <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute><xsl:apply-templates />
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:apply-templates />
</xsl:element>
</xsl:template>
<xsl:template match="h1 | h2 | h3 | h4 | h5 | h6" mode="embedded">
<xsl:element name="{concat('h',substring-after(local-name(),'h') + 1)}">
- <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute><xsl:apply-templates mode="embedded"/>
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:apply-templates mode="embedded"/>
</xsl:element>
</xsl:template>
@@ -879,6 +870,41 @@
</xsl:template>
+<!-- Insert list item -->
+<xsl:template name="insertlistitem">
+ <xsl:choose>
+ <xsl:when test="ancestor::list[@type='ordered']">
+ <li itemprop="itemListElement" itemscope="true" itemtype="http://schema.org/HowToStep">
+ <xsl:apply-templates />
+ </li>
+ </xsl:when>
+ <xsl:otherwise>
+ <li itemprop="itemListElement" itemscope="true" itemtype="http://schema.org/ItemListUnordered">
+ <xsl:apply-templates />
+ </li>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- insert List -->
+<xsl:template name="insertlist">
+ <xsl:choose>
+ <xsl:when test="@type='ordered'">
+ <ol itemprop="HowTo" itemscope="true" itemtype="http://schema.org/HowToSection">
+ <xsl:if test="@startwith != ''">
+ <xsl:attribute name="start"><xsl:value-of select="@startwith"/></xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </ol>
+ </xsl:when>
+ <xsl:otherwise>
+ <ul itemprop="Unordered" itemscope="true" itemtype="http://schema.org/ItemList">
+ <xsl:apply-templates />
+ </ul>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
<!-- Insert Paragraph -->
<xsl:template name="insertpara">
<xsl:variable name="role">
@@ -1001,9 +1027,6 @@
<xsl:param name="level" />
<xsl:param name="embedded" />
<xsl:element name="{concat('h',$level)}">
- <xsl:if test="$level = '1' or $level='2'">
- <xsl:attribute name="itemprop"><xsl:text>articleSection</xsl:text></xsl:attribute>
- </xsl:if>
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
<xsl:choose>
<xsl:when test="$embedded = 'yes'">
@@ -1156,6 +1179,22 @@
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
+ <xsl:variable name="property">
+ <xsl:choose>
+ <xsl:when test="starts-with(@src,'media/screenshots/')">
+ <xsl:value-of select="'screenshot'"/>
+ </xsl:when>
+ <xsl:when test="starts-with(@src,'media/')">
+ <xsl:value-of select="'image'"/>
+ </xsl:when>
+ <xsl:when test="not(starts-with(@src,'media/'))">
+ <xsl:value-of select="'icon'"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="'image'"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
<xsl:variable name="alt"><xsl:value-of select="./alt"/></xsl:variable>
<xsl:variable name="width">
<xsl:if test="string-length(@width)!=0">
@@ -1167,7 +1206,7 @@
<xsl:call-template name="convert2px"><xsl:with-param name="value" select="@height"/></xsl:call-template>
</xsl:if>
</xsl:variable>
- <img src="{$src2}" class="{$imagestyle}" alt="{$alt}" title="{$alt}" style="{concat('width:',$width,';height:',$height)}"/>
+ <img src="{$src2}" class="{$imagestyle}" alt="{$alt}" title="{$alt}" style="{concat('width:',$width,';height:',$height)}" itemprop="{$property}" itemscope="true" itemtype="http://schema.org/ImageObject"/>
</xsl:template>
<!-- Insert an object -->
More information about the Libreoffice-commits
mailing list