8

我想生成我们自己的 Wiki 的离线 ZIM 版本(在 Mediawiki 上运行)。Collection扩展安装起来很容易,但仅适用于选择单个页面,在下一步中可以将其组合成单个 ZIM 文件。

但是对于数百页的 wiki,这太难了,基于单页。我想要整个 wiki 的 zim-dump。我知道这是可能的,因为还有一个完整的 wikipedia的 zimfile 。

但是,我找不到这是如何完成的。有谁能帮忙吗?提前致谢!

4

3 回答 3

5

我不知道这个答案在多大程度上仍然相关,但它就在这里......</p>

经过一番努力,我终于设法从我的私人基于 MediaWiki 的 wiki 中创建了一个 ZIM 文件:

  • 我从这个页面开始:OpenZIM -构建您的 ZIM 文件
  • 我测试了所有列出的可能性,但只有mwoffliner工作(对我来说)
  • 安装在VirtualBox(版本 6.0.0)Ubuntu 18.10 桌面来宾中完成,托管在 Mac 上(macOS Mojave,与 10.14.2)
    • 请注意,我最终将访客操作系统用作无头操作系统,因此图形界面变得无用,下一步将使用服务器版本的 Ubuntu
  • 经过一番努力,我成功地完成了工作,但并非没有GitHub 上mwoffliner开发人员的宝贵帮助

请在下面找到有关我所做操作的分步说明。请注意,主要指令来自GitHub 上openZIM 的mwoffliner分支,因此这些指令的大部分功劳归于他们。

节点JS

$ sudo apt install curl
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash && source ~/.bashrc && nvm install stable && node --version

图像处理 & Redis & git & meson & gcc & g++ & pkg-config 安装

$ sudo apt install jpegoptim advancecomp gifsicle pngquant imagemagick redis-server git meson g++ pkg-config libzim-dev

libzim-dev:从版本 2.0.0 手动升级到版本 >=4.0.0

1-如果已经安装了 libzim 2.0.0 (libzim-dev),则继续卸载它,否则继续第 2 点。

$ sudo apt remove libzim-dev #removes libzim 2.0.0
$ sudo apt purge libzim-dev
$ sudo apt autoremove #removes libzim2

2- 安装 libzim 版本 >=4.0.0

$ sudo apt install cython3 liblzma-dev libgumbo-dev libicu-dev libmagic-dev libxapian-dev python-dev python-pip python-virtualenv zlib1g-dev
$ git clone https://github.com/openzim/libzim.git
$ cd libzim
$ meson . build
$ ninja -C build
$ sudo ninja -C build install
$ sudo ldconfig

ZimWriterFS 手动安装

来源

$ cd ~/Downloads/
$ sudo apt install librsvg2-bin
$ git clone https://github.com/openzim/zimwriterfs.git
$ cd zimwriterfs
$ meson . build
$ ninja -C build
$ sudo ninja -C build install
$ zimwriterfs
zimwriterfs usage page should appear

VirtualBox - 从主机操作系统访问 VirtualBox Guest

  • 来源

    1. 启动 VirtualBox 6.xx
    2. 菜单文件
    3. 选择主机网络管理器...</li>
    4. 选择选项卡 DHCP 服务器
    5. 单击创建(窗口左上角)
    6. 选择启用服务器
    7. 服务器地址:192.168.56.2
    8. 服务器掩码 255.255.255.0
    9. 下限地址:192.168.56.3
    10. 上界地址:192.168.56.254
    11. 选择选项卡适配器
    12. 验证是否选择了“手动配置适配器”,并且,
    13. IPv4 地址:192.168.56.1
    14. IPv4 网络掩码:255.255.255.0
    15. 点击关闭
    16. 右键单击客户机
    17. 选择设置...(或直接按 cmd-s)
    18. 选择选项卡网络
    19. 选择选项卡适配器 2
    20. 单击启用网络适配器
    21. 附加到:选择仅主机适配器
    22. 名称:vboxnet0
    23. 点击确定
    24. 启动访客机器

发出 mwoffliner 命令

此命令假定:

  • MediaWiki wiki 已启动并运行,
  • VirtualBox 将 IP 地址归因于192.168.56.5来宾操作系统(请参阅上面的VirtualBox - 从主机操作系统访问 VirtualBox 来宾部分下的说明)(使用 检查操作系统的 IP 地址ifconfig
  • LocalSettings.php's $wgServer = "http://192.168.56.5";(检查操作系统的IP地址ifconfig)
  • 您的 wiki 名称是YourWiki
  • 包含您的 wiki 的 MediaWiki 文件夹位于/var/www/html/(即/var/www/html/YourWiki

实际命令

mwoffliner --mwUrl=http://192.168.56.5/YourWiki --adminEmail=foo@bar.net --verbose --redis=redis://127.0.0.1:6379 --mwWikiPath=/ --mwApiPath=api.php --localParsoid

于 2019-01-13T17:52:19.223 回答
1

是的,你可以,但这并不容易。Kiwix 开发人员现在正在研究基于 Parsoid 的解决方案:http: //sourceforge.net/p/kiwix/other/ci/master/tree/mwoffliner/ Parsoid 是 MediaWiki VisualEditor 的后端,它处理wikitext 到 HTML 的翻译,反之亦然。它有一个可用于此类内容的 HTML 版本缓存。https://www.mediawiki.org/wiki/Parsoid应该提供一些关于如何设置它的信息......

于 2013-12-19T10:02:44.163 回答
0

您可能想要测试一些工具。有些已被删除,但其中大部分都在开发中。

这里有一些关于如何准备材料和使用的注意事项 zimwriterfs。这些笔记不完整,因为它们基于我使用该工具的有限经验(取自http://www.openzim.org/wiki/Build_your_ZIM_file

这是从现有 HTML 内容创建 ZIM 文件的链接“有关概述,请参阅http://www.openzim.org/wiki/Zimwriterfs_instructions ,并阅读下面有关 zimwriterfs 的部分以了解更多上下文”

我尝试了另一个名为Zim 的 Windows 程序 - 桌面 Wiki http://zim-wiki.org/是有限的,但您可以尝试一下。相反,它会将 ZIM 转换为 HTML。

不管怎样,让我们​​知道进展如何,我也有兴趣建立自己的 zim 文件。祝你好运。

于 2018-12-05T02:36:13.683 回答