Pentadactyl:通过一个命令搜索多个站点

Pentadactyl:通过一个命令搜索多个站点

考虑一下使用一个命令搜索多个 wiki 的问题。这是一个可能的解决方案。如果将以下内容添加到.pentadactylrc

javascript <<EOF
    dactyl.searchWikis = function (selection) {
        let parsedSelection = selection.replace(/^\s*/, "" ).replace(/\s*$/, "" ).replace(/\s+/g, "+" );
        dactyl.execute( ":tabopen http://www.scholarpedia.org/wiki/index.php?title=Special:Search&search=" + selection);
        dactyl.execute( ":tabopen http://en.citizendium.org/wiki?title=Special:Search&search=" + selection);
    };
EOF

:command wikiSearch -nargs=* -js dactyl.searchWikis(<args>)

这应该已经解决了 - 但问题是 - 这样 Pentadactyl 就看不到 JS 代码了。也就是说,新命令 wikiSearch 没有出现。你能修复它吗?

答案1

userContext我相信您需要在而不是 在 上添加您的功能dactyl

例如

javascript <<EOF
    userContext.searchWikis = function (selection) {
        commands.execute("tabopen http://www.scholarpedia.org/wiki/index.php?title=Special:Search&search=" + selection);
        commands.execute("tabopen http://en.citizendium.org/wiki?title=Special:Search&search=" + selection);
    };
EOF

我把这parsedSelection行删掉了,因为选择似乎不是以字符串的形式出现的。

还可以尝试删除尖括号<args>

command wikiSearch -nargs=* -js userContext.searchWikis(args)

相关内容