This properly separtes out the python build process (theoretically portable and useable for different sites) and the xslt (custom to the fsfe sites, not really portable as a whole) It also moves some thirdparty tooling around to make it clearer its thirdparty and unify xslt sources. Co-authored-by: Darragh Elliott <me@delliott.net> Reviewed-on: #5299 Reviewed-by: tobiasd <tobiasd@fsfe.org> Co-authored-by: delliott <delliott@fsfe.org> Co-committed-by: delliott <delliott@fsfe.org>
This commit was merged in pull request #5299.
This commit is contained in:
@@ -39,9 +39,9 @@ This repository also contains the source files of other websites the FSFE hosts:
|
||||
|
||||
Notable top level directories are:
|
||||
|
||||
- `build`: Mostly custom Bash and XSL scripts to build the website
|
||||
- `global`: Globally used data files and modules, also the static translated strings.
|
||||
- `tools`: Contains miscellaneous XML, XSL, and SH files.
|
||||
- `build`: Python build tooling.
|
||||
- `global`: Globally used data files, modules, XSl, also the static translated strings. Generally contains data used in multiple sites, but not suitable to place in build process.
|
||||
- `tools`: Contains miscellaneous scripts and tools, usually not used as part of the build process. Rather for contributor use.
|
||||
|
||||
And of course the different website folders.
|
||||
|
||||
|
||||
@@ -110,12 +110,9 @@ def get_version(file: Path) -> int:
|
||||
"""
|
||||
Get the version tag of an xhtml|xml file
|
||||
"""
|
||||
xslt_tree = etree.parse(Path("build/xslt/get_version.xsl"))
|
||||
transform = etree.XSLT(xslt_tree)
|
||||
result_tree = transform(etree.parse(file))
|
||||
result = str(result_tree).strip()
|
||||
if result == "":
|
||||
result = str(0)
|
||||
xml = etree.parse(file)
|
||||
result_list = xml.xpath("/*/version")
|
||||
result = result_list[0].text if result_list else str(0)
|
||||
logger.debug("Got version: %s", result)
|
||||
return int(result)
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Extract the content of <version> element from an XML file -->
|
||||
<!-- ====================================================================== -->
|
||||
<!-- This XSL script processes the <version> elements of an XML file and -->
|
||||
<!-- outputs its content. It is used to check for outdated translations. -->
|
||||
<!-- ====================================================================== -->
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output doctype-system="about:legacy-compat" encoding="utf-8" indent="no" method="text" omit-xml-declaration="yes"/>
|
||||
<xsl:template match="version">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<!-- Suppress output of text nodes, which would be the default -->
|
||||
<xsl:template match="text()"/>
|
||||
</xsl:stylesheet>
|
||||
@@ -3,6 +3,6 @@
|
||||
<xsl:import href="xslt/drm_info_head.xsl"/>
|
||||
<xsl:import href="xslt/drm_info_body.xsl"/>
|
||||
<xsl:output doctype-system="about:legacy-compat" encoding="utf-8" indent="no" method="html" omit-xml-declaration="yes"/>
|
||||
<xsl:include href="../build/xslt/fsfe_document.xsl"/>
|
||||
<xsl:include href="../build/xslt/fsfe_nolocal.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_document.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_nolocal.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<!-- Prefix for links to FSFE's main website -->
|
||||
<xsl:variable name="urlprefix">https://fsfe.org</xsl:variable>
|
||||
<xsl:include href="../../build/xslt/notifications.xsl"/>
|
||||
<xsl:include href="../../build/xslt/translation_list.xsl"/>
|
||||
<xsl:include href="../../build/xslt/gettext.xsl"/>
|
||||
<xsl:include href="../../build/xslt/static-elements.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/notifications.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/translation_list.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/gettext.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/static-elements.xsl"/>
|
||||
<xsl:template name="page-body">
|
||||
<xsl:element name="body">
|
||||
<xsl:element name="header">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../fsfe.xsl"/>
|
||||
<xsl:import href="../../build/xslt/people.xsl"/>
|
||||
<xsl:import href="../../global/xslt/internal/people.xsl"/>
|
||||
<!-- All people with council tag -->
|
||||
<xsl:template match="care-team-list">
|
||||
<xsl:call-template name="country-people-list">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../../fsfe.xsl"/>
|
||||
<xsl:import href="../../../build/xslt/people.xsl"/>
|
||||
<xsl:import href="../../../global/xslt/internal/people.xsl"/>
|
||||
<!-- Fill dynamic content -->
|
||||
<!-- All people with council tag -->
|
||||
<xsl:template match="council-members">
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
- /about/people/index.xsl: In this file, tags like <council-members /> are defined.
|
||||
- /about/people/index.sources: Where to look for people-files, translations of functions/activities/countries and so on
|
||||
- /about/people/avatars/: Place for all avatar pictures
|
||||
- /build/xslt/people.xsl: The building of the team lists itself: Links, Background colors, inclusion of avatars etc
|
||||
- /xslt/internal/people.xsl: The building of the team lists itself: Links, Background colors, inclusion of avatars etc
|
||||
-->
|
||||
<!--
|
||||
Improvement ideas:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../../fsfe.xsl"/>
|
||||
<xsl:import href="../../../build/xslt/countries.xsl"/>
|
||||
<xsl:import href="../../../global/xslt/internal/countries.xsl"/>
|
||||
<xsl:template match="/buildinfo/document/body/include-signatures">
|
||||
<xsl:apply-templates/>
|
||||
<h3 id="organisations"><xsl:call-template name="fsfe-gettext"><xsl:with-param name="id" select="'osig'"/></xsl:call-template>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../../fsfe.xsl"/>
|
||||
<xsl:import href="../../../build/xslt/countries.xsl"/>
|
||||
<xsl:import href="../../../global/xslt/internal/countries.xsl"/>
|
||||
<xsl:template match="sigtable">
|
||||
<xsl:copy-of select="document('sigtable.en.xml')"/>
|
||||
</xsl:template>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../../fsfe.xsl"/>
|
||||
<xsl:import href="../../../build/xslt/countries.xsl"/>
|
||||
<xsl:import href="../../../global/xslt/internal/countries.xsl"/>
|
||||
<!-- Dropdown list of countries requiring a choice -->
|
||||
<!-- when copying this, remember importing the xsl, and editing the .source file -->
|
||||
<xsl:template match="country-list">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../fsfe.xsl"/>
|
||||
<xsl:import href="../../build/xslt/countries.xsl"/>
|
||||
<xsl:import href="../../global/xslt/internal/countries.xsl"/>
|
||||
<!-- Fill dynamic content -->
|
||||
<xsl:template match="dynamic-content">
|
||||
<xsl:variable name="type">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../../fsfe.xsl"/>
|
||||
<xsl:import href="../../../build/xslt/people.xsl"/>
|
||||
<xsl:import href="../../../global/xslt/internal/people.xsl"/>
|
||||
<xsl:template match="translation-coordinators-list">
|
||||
<xsl:call-template name="country-people-list">
|
||||
<xsl:with-param name="team" select="'translation-coordinators'"/>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../../fsfe.xsl"/>
|
||||
<xsl:import href="../../../build/xslt/countries.xsl"/>
|
||||
<xsl:import href="../../../global/xslt/internal/countries.xsl"/>
|
||||
<!-- Dropdown list of countries requiring a choice -->
|
||||
<!-- when copying this, remember importing the xsl, and editing the .source file -->
|
||||
<xsl:template match="country-list">
|
||||
|
||||
+13
-13
@@ -4,15 +4,15 @@
|
||||
<xsl:variable name="urlprefix">
|
||||
<xsl:if test="/buildinfo/document/@external">https://fsfe.org</xsl:if>
|
||||
</xsl:variable>
|
||||
<xsl:include href="../build/xslt/fsfe_head.xsl"/>
|
||||
<xsl:include href="../build/xslt/fsfe_body.xsl"/>
|
||||
<xsl:include href="../build/xslt/gettext.xsl"/>
|
||||
<xsl:include href="../build/xslt/static-elements.xsl"/>
|
||||
<xsl:include href="../build/xslt/fsfe-cd.xsl"/>
|
||||
<xsl:include href="../build/xslt/module.xsl"/>
|
||||
<xsl:include href="../build/xslt/related.xsl"/>
|
||||
<xsl:include href="../build/xslt/email-obfuscate.xsl"/>
|
||||
<xsl:include href="../build/xslt/peertube.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_head.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_body.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/gettext.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/static-elements.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe-cd.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/module.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/related.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/email-obfuscate.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/peertube.xsl"/>
|
||||
<!-- HTML 5 compatibility doctype, since our XSLT parser doesn't support disabling output escaping -->
|
||||
<xsl:output doctype-system="about:legacy-compat" encoding="utf-8" indent="no" method="html" omit-xml-declaration="yes"/>
|
||||
<!-- EXTRACT / DESCRIPTION of each page -->
|
||||
@@ -63,9 +63,9 @@
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:include href="../build/xslt/fsfe_document.xsl"/>
|
||||
<xsl:include href="../build/xslt/fsfe_headings.xsl"/>
|
||||
<xsl:include href="../build/xslt/fsfe_localmenu.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_document.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_headings.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_localmenu.xsl"/>
|
||||
<!-- Do not copy non-HTML elements to output -->
|
||||
<xsl:include href="../build/xslt/fsfe_nolocal.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_nolocal.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../fsfe.xsl"/>
|
||||
<xsl:import href="../../build/xslt/static-elements.xsl"/>
|
||||
<xsl:import href="../../global/xslt/internal/static-elements.xsl"/>
|
||||
<xsl:template match="/buildinfo/document/body/include-newsletter">
|
||||
<xsl:apply-templates/>
|
||||
<xsl:for-each select="/buildinfo/document/set/news[ translate(@date, '-', '') <= translate(/buildinfo/@date, '-', '') ]">
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- XSL stylesheet for generating podcast RSS feeds -->
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dt="http://xsltsl.org/date-time" xmlns:weekdays="." xmlns:months="." xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:psc="http://podlove.org/simple-chapters" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:podcast="https://podcastindex.org/namespace/1.0" version="1.0">
|
||||
<xsl:import href="../../build/xslt/gettext.xsl"/>
|
||||
<xsl:import href="../../build/xslt/fsfe-cd.xsl"/>
|
||||
<xsl:import href="../../global/xslt/internal/gettext.xsl"/>
|
||||
<xsl:import href="../../global/xslt/internal/fsfe-cd.xsl"/>
|
||||
<xsl:output doctype-system="about:legacy-compat" encoding="utf-8" indent="no" method="xml" omit-xml-declaration="yes"/>
|
||||
<!-- ====== -->
|
||||
<!-- Months -->
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import href="../fsfe.xsl"/>
|
||||
<xsl:import href="../../build/xslt/countries.xsl"/>
|
||||
<xsl:import href="../../global/xslt/internal/countries.xsl"/>
|
||||
<!-- Fill dynamic content -->
|
||||
<xsl:template match="dynamic-content">
|
||||
<xsl:variable name="type">
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Global folder
|
||||
|
||||
This folder contains stuff common to all sites, but that is not necessarily portable for use for sites outside of the FSFE.
|
||||
@@ -0,0 +1,3 @@
|
||||
# XSLT
|
||||
|
||||
This folder contains xslt used in multiple sites, both inhouse and thirdparty
|
||||
@@ -1,5 +1,4 @@
|
||||
this directory is reserved for xls files, that were developed for the fsfe page in particular
|
||||
if you download xslt libraries from external sources, put them into
|
||||
|
||||
tools/xsltsl/ (deprecated)
|
||||
build/xsltlib/
|
||||
../thirdparty
|
||||
@@ -3,7 +3,7 @@
|
||||
<!-- XML tag for obfuscating an email address against scaper bots -->
|
||||
<!-- ====================================================================== -->
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" version="1.0">
|
||||
<xsl:import href="../../tools/xsltsl/tokenize.xsl"/>
|
||||
<xsl:import href="../thirdparty/tokenize.xsl"/>
|
||||
<!-- plain email is the input -->
|
||||
<xsl:template name="email" match="email">
|
||||
<xsl:param name="email" select="."/>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dt="http://xsltsl.org/date-time" version="1.0" exclude-result-prefixes="dt">
|
||||
<xsl:import href="../../tools/xsltsl/date-time.xsl"/>
|
||||
<xsl:import href="../thirdparty/date-time.xsl"/>
|
||||
<!-- ==================================================================== -->
|
||||
<!-- Event title with or without link -->
|
||||
<!-- ==================================================================== -->
|
||||
@@ -124,8 +124,8 @@
|
||||
<xsl:attribute name="name">author</xsl:attribute>
|
||||
<xsl:attribute name="content">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id and document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]">
|
||||
<xsl:value-of select="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/name"/>
|
||||
<xsl:when test="@id and document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]">
|
||||
<xsl:value-of select="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/name"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="name"/>
|
||||
@@ -65,36 +65,36 @@
|
||||
<xsl:value-of select="@id"/>
|
||||
</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id and document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]">
|
||||
<xsl:when test="@id and document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]">
|
||||
<!-- if the author is in fsfe's people.xml then we take information from there -->
|
||||
<xsl:choose>
|
||||
<!-- person has a link -->
|
||||
<xsl:when test="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/link">
|
||||
<xsl:when test="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/link">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="class">author p-author h-card</xsl:attribute>
|
||||
<xsl:attribute name="rel">author</xsl:attribute>
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/link"/>
|
||||
<xsl:value-of select="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/link"/>
|
||||
</xsl:attribute>
|
||||
<xsl:if test="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/avatar">
|
||||
<xsl:if test="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/avatar">
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="alt"/>
|
||||
<xsl:attribute name="src">/about/people/avatars/<xsl:value-of select="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/avatar"/></xsl:attribute>
|
||||
<xsl:attribute name="src">/about/people/avatars/<xsl:value-of select="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/avatar"/></xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/name"/>
|
||||
<xsl:value-of select="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/name"/>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<!-- person has no link -->
|
||||
<xsl:otherwise>
|
||||
<xsl:if test="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/avatar">
|
||||
<xsl:if test="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/avatar">
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="alt"/>
|
||||
<xsl:attribute name="src">/about/people/avatars/<xsl:value-of select="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/avatar"/></xsl:attribute>
|
||||
<xsl:attribute name="src">/about/people/avatars/<xsl:value-of select="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/avatar"/></xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:if>
|
||||
<span class="author p-author">
|
||||
<xsl:value-of select="document('../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/name"/>
|
||||
<xsl:value-of select="document('../../../fsfe.org/about/people/people.en.xml')/personset/person[@id=$id]/name"/>
|
||||
</span>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dt="http://xsltsl.org/date-time" xmlns:str="http://xsltsl.org/string" version="1.0" exclude-result-prefixes="dt">
|
||||
<xsl:import href="../../tools/xsltsl/date-time.xsl"/>
|
||||
<xsl:import href="../../tools/xsltsl/string.xsl"/>
|
||||
<xsl:import href="../thirdparty/date-time.xsl"/>
|
||||
<xsl:import href="../thirdparty/string.xsl"/>
|
||||
<!-- ==================================================================== -->
|
||||
<!-- News image with or without link -->
|
||||
<!-- ==================================================================== -->
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dt="http://xsltsl.org/date-time" xmlns:weekdays="." xmlns:months="." xmlns:nl="." xmlns:str="http://xsltsl.org/string" version="1.0" exclude-result-prefixes="dt weekdays months nl str">
|
||||
<xsl:import href="../../tools/xsltsl/string.xsl"/>
|
||||
<xsl:import href="../thirdparty/string.xsl"/>
|
||||
<xsl:template name="subscribe-nl">
|
||||
<xsl:variable name="lang">
|
||||
<xsl:value-of select="/buildinfo/document/@language"/>
|
||||
@@ -3,7 +3,7 @@
|
||||
<xsl:import href="xslt/pdfreaders_head.xsl"/>
|
||||
<xsl:import href="xslt/pdfreaders_body.xsl"/>
|
||||
<xsl:output doctype-system="about:legacy-compat" encoding="utf-8" indent="no" method="html" omit-xml-declaration="yes"/>
|
||||
<xsl:include href="../build/xslt/fsfe_document.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_document.xsl"/>
|
||||
<xsl:include href="xslt/pdfreaders_list.xsl"/>
|
||||
<xsl:include href="../build/xslt/fsfe_nolocal.xsl"/>
|
||||
<xsl:include href="../global/xslt/internal/fsfe_nolocal.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<!-- Prefix for links to FSFE's main website -->
|
||||
<xsl:variable name="urlprefix">https://fsfe.org</xsl:variable>
|
||||
<xsl:include href="../../build/xslt/notifications.xsl"/>
|
||||
<xsl:include href="../../build/xslt/translation_list.xsl"/>
|
||||
<xsl:include href="../../build/xslt/fsfe_pagefooter.xsl"/>
|
||||
<xsl:include href="../../build/xslt/gettext.xsl"/>
|
||||
<xsl:include href="../../build/xslt/static-elements.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/notifications.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/translation_list.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/fsfe_pagefooter.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/gettext.xsl"/>
|
||||
<xsl:include href="../../global/xslt/internal/static-elements.xsl"/>
|
||||
<xsl:template name="page-body">
|
||||
<xsl:element name="body">
|
||||
<xsl:element name="header">
|
||||
|
||||
Reference in New Issue
Block a user