问题标签 [ikiwiki]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
775 浏览

perl - 文件句柄和 XML::Simple -> 内存损坏。无法隔离问题

在一个小的测试文件中,我可以运行

它工作正常。当我在一个更大的程序(使用相同的 XML 输入)中运行相同的代码时,它会以

完整的崩溃日志@pastebin.com

但是,如果我进行交换

然后它可以工作(在两个文件中),所以这对我来说更像是一个好奇的问题而不是一个真正的问题。

  1. 有没有人知道我的测试用例和更大的代码库之间的区别可能是什么?
  2. 有速度/内存/吗?不同命令调用的区别?最佳实践?

Debian Sid:Perl 5.12.4-1。

(这是我第一次遇到 Perl,所以不要过多地假设我“应该”了解该语言。我只是深入研究现有代码。)

(较大的程序是ikiwiki,所以代码不是什么秘密,但是我不知道在哪里找麻烦,出于实际原因,我不能将所有代码都包含在这篇文章中。这涉及到 Mercurial 后端。)


根据 cjm 的建议,我添加print "$_\n" for sort grep /XML/, keys %INC;了输出

在大型项目中,以及

在测试文件中。


更新:我安装了 Debian 软件包libxml-libxml-perl$XML::SAX::ParserPackage = "XML::LibXML::SAX";按照建议添加。这也崩溃了,这次有不同的消息:

完整的回溯@pastebin.com

不过,这一次它在大文件和小文件中始终如一地发生。此外,仅在使用时open,而不是在使用反引号时。

我也安装了libxml-libxml-simple-perl,但实际上这不应该是一个总是使用 XML::LibXML 作为解析器的包装器。它的行为也不同,并抱怨设置的 XMLin() 选项,所以我放弃了它。

试图显式地(并且盲目地)使程序使用 给出的每个替代方案print "$_\n" for sort grep /XML/, keys %INC;似乎都指向 XML::SAX::Expat 默认情况下使用 cjm 所说的(因为所有其他替代方案都因错误而退出,并且 XML::SAX :Expat 的行为与两个文件中的原始问题完全相同。明确要求 XML::Simple 进入分配我所有内存的循环)。

我很感谢学习了不同的 XML 解析器,并且 XML::Simple 会自动选择不同的解析器。我原来的问题的两个部分都有些保留:

  1. 为什么程序的行为不同?即使我$XML::SAX::ParserPackage = "XML::SAX::Expat"在两个程序中都明确设置,一个崩溃(使用open)而另一个工作。
  2. 我应该使用另一种方法来接收来自外部命令的输出吗?期望 XMLin() 可以使用它甚至是错误的open(但是为什么它在一种情况下可以工作呢?)?

或者它们是简单的“错误”问题(即不相关)?


更新:一个多星期过去了,这里没有一连串的活动,我现在解决它有点不同,没有问题。我将 cjm 的答案标记为正确,因为它让我在错误分析中更进一步。谢谢!

0 投票
1 回答
404 浏览

installation - 将 mathjax 支持添加到(本地)ikiwiki

有没有办法向 ikiwiki 添加 mathjax 支持?如果是这样,如何逐步进行(在linux中)来获得这个?

0 投票
1 回答
296 浏览

git - 拆分一个 ikiwiki

我正在尝试将 ikiwiki 拆分为两个 wiki。

假设我有一个名为 myiki 的 ikiwiki(比较来自 ikiwiki.info 的这个问题),其中包含页面

现在我想要两个名为myikiAand的 wiki myikiB,这样:

  • myikiA包含pageA1,pageA2,...
    历史记录myikiA应该包含那些页面的全部历史记录,但没有历史记录pageB1,pageB2,...

和:

  • myikiB包含 pageB1,pageB2,...
    的历史记录myikiB应该包含这些页面的全部历史记录,但没有历史记录pageA1,pageA2,...

在第一步中,我制作了我的副本scrdir并尝试删除一个foo这样命名的页面(请注意,其中scrdir也有调用的文件foo.mdwn和目录foo)。
为此,我执行了以下命令:

任何想法有什么问题吗?

有没有办法提供页面列表并如上所述拆分 wiki?

0 投票
1 回答
280 浏览

lighttpd - lighttpd 上的 ikiwiki

我正在尝试在运行 lighttpd 的树莓派上安装 ikiwiki。

我可以在我的用户家中创建 wiki,但是一旦我尝试在网络服务器上查看它(地址+“~/username/wikiname”),它就会返回 404。

将 wiki 目录链接到会/var/www导致 500 错误。

我做错了什么或错过了什么?

根据评论中的要求,这是我的 lighttpd.conf:

我还执行了此处突出显示的步骤:http: //ikiwiki.info/tips/dot_cgi/

0 投票
1 回答
1034 浏览

perl - 与 Encode.pm 相关的 Perl 错误

我有以下软件:

Ubuntu Linux 14.04 LTS

Perl 5.18:

和 Encode.pm 2.49:

当我使用ikiwiki时,这是一个使用 Encode.pm 的包,我收到以下错误:

Encode.pm 的第 166 - 180 行内容如下:

有没有好心人知道如何解决这个问题?

0 投票
2 回答
35 浏览

templates - 将字体链接添加到 ikiwiki 模板

我想将以下内容添加到我的 ikiwiki 中所有 HTML 页面的所有标题中。

我尝试在自定义中添加这些行,templates/page.tmpl.mdwn但每次部署 wiki 时,都不会添加这些行。

我究竟做错了什么?