你是否惊讶于我们在主发行包内放置了这么多的页面? 主要是因为我们没有一种格式能够把帮助页面在一个文件中进行分发. Or why installing a theme is not easy because you do not always know where to put the files?
包安装器是MoinMoin的一种脚本框架, 可以简化安装和扩展的分发. 从MoinMoin 1.5和DesktopEdition 1.3.4开始它已经可以使用了.
你可以用这个系统将特定的模版(比如将MoinMoin增强为CMS系统)打包. 或者你可以使你的插件/主题更容易安装. 希望我们能够依据系统页面的语言把他们分离开, 只把你想要的提供给你.
包的安装
一些维基超级用户 (比如用户名包含在配置的cfg.superuser列表中) 将从某个地方下载你的包文件, 将它上传到维基, 然后点击附件列表中的安装. 另外, 他可以使用命令行 (MoinMoin/packages.py i package.zip) 来安装包文件.
包的创建
有多种方法创建包. 你可以使用PackagePages 动作自动生成包.
你也可以手动进行: 创建一个zip文件, 其中包含你所有的文件和一个特殊文件MOIN_PACKAGE, 这是安装脚本. 脚本每行包含一个命令 (听起来复杂, 但实际并非如此, 看看下面的例子) , 从上至下顺序执行.
脚本范例:
MoinMoinPackage|1 ReplaceUnderlay|mypage.txt|HelpContents AddRevision|mypage2.txt|FrontPage InstallPlugin|myparser.py|global|parser|myparser.py
- 第一行标记本文件是脚本文件, 并设定所用语言的修订号. 目前, 它是1.
第二行用文件mypage.txt替换页面HelpContents的underlay版本.
第三行为页面FrontPage增加新的修订版, 比如更改它.
- 第四行安装新的分析插件.
实现命令
注意这些命令对大小写不敏感.
Print|text
- 将text打印到脚本输出, 用户以后可以看到输出.
IgnoreExceptions|boolean
- 设定忽略异常. 如果设置异常被忽略, 脚本执行过程中出现此类问题时不会停止.
SetThemeName|themename
- 设置下面将要被替换的主题的名字.
CopyThemeFile|filename|type|target
- 将主题相关文件 (CSS, PNG, 等) 拷贝到当前主题的目录.
- 目前只支持独立服务.
例如: CopyThemeFile|screen.css|css|screen.css
InstallPlugin|filename|visibility|plugintype|target
拷贝插件文件filename到target. Visibility 可以是local(它选择当前维基的插件目录) 或者global (它选择 MoinMoin python包的安装目录). plugintype 可以是parser, macro, 等.
例如: InstallPlugin|myparser.py|global|parser|myparser.py
AddRevision|filename|pagename|author|comment|trivial
为页面pagename增加修订(从文件filename中读入). author 指定编辑用户的名字而且是可选的. comment 指定评论的修订而且是可选的. trivial 指定该修订是否是细微的修改而且是可选的.
例如(安装新模版文件):
AddRevision|cust.tpl|CustomerTemplate AddRevision|phone.tpl|PhoneTemplate
DeletePage|pagename|comment
删除页面pagename, comment设定可选.
例如: DeletePage|FrontPage
ReplaceUnderlay|filename|pagename
- 替换页面的underlay版. 它可用于安装underlay页面或者更新它们.
EnsureVersion|version|lines
Aborts the script or skips lines if the version criteria is not met and lines is specified.
This example supplies to different parsers and installs the correct one:
EnsureVersion|1.3.3|2 InstallPlugin|myparser.py_3|global|parser|myparser.py Exit EnsureVersion|1.3.2 InstallPlugin|myparser.py_2|global|parser|myparser.py
Exit
- 停止脚本.
InstallPackage|Pagename|Filename
安装另一个包, 使它成为页面Pagename的附件Filename.
例如: InstallPackage|FrontPage|MyCoolPlugin.zip
此页的英文版本: HelpOnPackageInstaller