mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-02-07 13:35:46 +01:00
Get rid of silly config.helpFiles.
--HG-- branch : xslt rename : common/components/chrome-data.js => common/components/protocols.js
This commit is contained in:
@@ -50,13 +50,6 @@ const configbase = { //{{{
|
||||
*/
|
||||
hostApplication: null,
|
||||
|
||||
/**
|
||||
* @property {[string]} A list of HTML help files available under
|
||||
* chrome://liberator/locale/. Used to generate help tag indexes for
|
||||
* the :help command.
|
||||
*/
|
||||
helpFiles: [],
|
||||
|
||||
/**
|
||||
* @property {function} Called on liberator startup to allow for any
|
||||
* arbitrary application-specific initialization code.
|
||||
|
||||
@@ -10,9 +10,6 @@
|
||||
|
||||
<xsl:output method="xml"/>
|
||||
|
||||
<xsl:variable name="local" select="concat('chrome://&liberator.name;/locale/', /liberator:document/@name, '.xml')"/>
|
||||
<xsl:variable name="localdoc" select="document($local)/liberator:overlay"/>
|
||||
|
||||
<xsl:template match="liberator:document">
|
||||
<html:html liberator:highlight="Help">
|
||||
<html:head>
|
||||
@@ -142,6 +139,12 @@
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<!-- This does't work. Why?
|
||||
<xsl:include href="chrome://liberator/content/overlay.xsl"/>
|
||||
-->
|
||||
<xsl:variable name="local" select="concat('chrome://&liberator.name;/locale/', /liberator:document/@name, '.xml')"/>
|
||||
<xsl:variable name="localdoc" select="document($local)/liberator:overlay"/>
|
||||
|
||||
<xsl:template name="splice-locals">
|
||||
<xsl:param name="elem"/>
|
||||
<xsl:param name="tag"/>
|
||||
|
||||
@@ -215,7 +215,7 @@ const liberator = (function () //{{{
|
||||
|
||||
options.add(["helpfile", "hf"],
|
||||
"Name of the main help file",
|
||||
"string", "intro.html");
|
||||
"string", "intro");
|
||||
|
||||
options.add(["loadplugins", "lpl"],
|
||||
"Load plugin scripts when starting up",
|
||||
@@ -1356,6 +1356,8 @@ const liberator = (function () //{{{
|
||||
*/
|
||||
findHelp: function (topic, unchunked)
|
||||
{
|
||||
if (topic in services.get("liberator:").FILE_MAP)
|
||||
return topic;
|
||||
unchunked = !!unchunked;
|
||||
let items = completion._runCompleter("help", topic, null, unchunked).items;
|
||||
let partialMatch = null;
|
||||
@@ -1388,8 +1390,8 @@ const liberator = (function () //{{{
|
||||
if (!topic && !unchunked)
|
||||
{
|
||||
let helpFile = options["helpfile"];
|
||||
if (config.helpFiles.indexOf(helpFile) != -1)
|
||||
liberator.open("liberator://help/" + helpFile.replace(/\.html$/, ""), { from: "help" });
|
||||
if (helpFile in services.get("liberator:").FILE_MAP)
|
||||
liberator.open("liberator://help/" + helpFile, { from: "help" });
|
||||
else
|
||||
liberator.echomsg("Sorry, help file " + helpFile.quote() + " not found");
|
||||
return;
|
||||
@@ -1725,7 +1727,6 @@ const liberator = (function () //{{{
|
||||
liberator.log("Initializing liberator object...", 0);
|
||||
|
||||
services.get("liberator:").helpNamespaces = [config.name.toLowerCase(), "liberator"];
|
||||
services.get("liberator:").helpFiles = config.helpFiles.map(function (f) f.replace(/\..*/, ""));
|
||||
|
||||
config.features.push(getPlatformFeature());
|
||||
|
||||
|
||||
72
common/content/overlay.xsl
Normal file
72
common/content/overlay.xsl
Normal file
@@ -0,0 +1,72 @@
|
||||
<!DOCTYPE document SYSTEM "chrome://liberator/content/liberator.dtd">
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns="http://vimperator.org/namespaces/liberator"
|
||||
xmlns:liberator="http://vimperator.org/namespaces/liberator"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:str="http://exslt.org/strings"
|
||||
extension-element-prefixes="str">
|
||||
|
||||
<xsl:variable name="local" select="concat('chrome://&liberator.name;/locale/', /liberator:document/@name, '.xml')"/>
|
||||
<xsl:variable name="localdoc" select="document($local)/liberator:overlay"/>
|
||||
|
||||
<xsl:template match="liberator:document">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="splice-locals">
|
||||
<xsl:param name="elem"/>
|
||||
<xsl:param name="tag"/>
|
||||
<xsl:for-each select="$localdoc/*[@insertbefore=$tag]">
|
||||
<xsl:apply-templates select="."/>
|
||||
</xsl:for-each>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$localdoc/*[@replace=$tag] and not($elem[@replace])">
|
||||
<xsl:for-each select="$localdoc/*[@replace=$tag]">
|
||||
<xsl:apply-templates select="." mode="pass-2"/>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$elem">
|
||||
<xsl:apply-templates select="." mode="pass-2"/>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:for-each select="$localdoc/*[@insertafter=$tag]">
|
||||
<xsl:apply-templates select="."/>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="liberator:document/liberator:tags|liberator:document/liberator:tag">
|
||||
<xsl:call-template name="splice-locals">
|
||||
<xsl:with-param name="tag" select="substring-before(concat(., ' '), ' ')"/>
|
||||
<xsl:with-param name="elem" select="self::node()"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
<xsl:template match="liberator:document/*[liberator:tags]">
|
||||
<xsl:call-template name="splice-locals">
|
||||
<xsl:with-param name="tag" select="substring-before(concat(liberator:tags, ' '), ' ')"/>
|
||||
<xsl:with-param name="elem" select="self::node()"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
<xsl:template match="liberator:*[@tag and not(@replace)]">
|
||||
<xsl:call-template name="splice-locals">
|
||||
<xsl:with-param name="tag" select="substring-before(concat(@tag, ' '), ' ')"/>
|
||||
<xsl:with-param name="elem" select="self::node()"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@*|node()" mode="pass-2">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="@*|node()">
|
||||
<xsl:apply-templates select="." mode="pass-2"/>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
<!-- vim:se ft=xslt sts=4 sw=4 et: -->
|
||||
Reference in New Issue
Block a user